參考網址:電腦玩物-替代 goo.gl 的 8 種短網址服務
Google 短網址即將關閉,但已經建立的 goo.gl 將永久有效
Bit.ly 這個短網址服務,它的功能非常完整,有後台統計數據,最大特色就是可以自訂中文短網址。
參考網址:電腦玩物-替代 goo.gl 的 8 種短網址服務
Google 短網址即將關閉,但已經建立的 goo.gl 將永久有效
Bit.ly 這個短網址服務,它的功能非常完整,有後台統計數據,最大特色就是可以自訂中文短網址。
參考網址:gtwang
scp
指令的語法跟一般的 cp
類似,只不過 scp
可以在不同的 Linux 主機之間複製檔案,其語法為:
scp [帳號@來源主機]:來源檔案 [帳號@目的主機]:目的檔案
這裡的帳號就是登入主機上的帳號(類似 ssh
指令的用法),如果省略帳號與主機,只寫一般的檔案路徑的話,就是代表本機的檔案。
例如將本地端的 /path/file1
複製到 192.168.0.1
這台主機上的 /path/file2
,而登入 192.168.0.1
這台主機時,是以 myuser
這個帳號登入:
# 從本地端複製到遠端 scp /path/file1 myuser@192.168.0.1:/path/file2
也可以把遠端的檔案複製到本地端:
# 從遠端複製到本地端 scp myuser@192.168.0.1:/path/file2 /path/file1
這樣就會用 myuser
這個帳號登入 192.168.0.1
,將遠端主機上的 /path/file2
複製到 /path/file1
。
如果本地端的使用者帳號名稱剛好跟遠端的使用者帳號一樣,也可以將使用者帳號省略,例如:
# 從本地端複製到遠端 scp /path/file1 192.168.0.1:/path/file2
反過來也是類似:
# 從遠端複製到本地端 scp 192.168.0.1:/path/file2 /path/file1
若要複製整個目錄以及其下的所有檔案,則加上 -r
參數:
# 複製目錄 scp -r /path/folder1 myuser@192.168.0.1:/path/folder2
若要讓檔案在複製之後,還可保留原本的修改時間、存取時間與權限,可以加上 -p
參數:
# 保留檔案時間與權限 scp -p /path/file1 myuser@192.168.0.1:/path/file2
若要將資料壓縮之後再傳送,減少網路頻寬的使用量,可以加上 -C
參數:
# 資料壓縮 scp -C /path/file1 myuser@192.168.0.1:/path/file2
若要限制網路的使用頻寬,可以用 -l
指定可用的網路頻寬上限值(單位為 Kbit/s):
# 限制傳輸速度為 400 Kbit/s scp -l 400 /path/file1 myuser@192.168.0.1:/path/file2
這樣就會限制 scp
只能使用 400
Kbit/s,也就是 400 / 8 = 50
KB/s。
一般 SSH 伺服器的連接埠號為 22,如果遇到使用非標準埠號的伺服器,可以用 -P
來指定埠號。若遠端的 SSH 伺服器使用 2222
這個連接埠,我們就可以這樣複製檔案:
# 使用 2222 連接埠 scp -P 2222 /path/file1 myuser@192.168.0.1:/path/file2
-4
與 -6
兩個參數分別可以讓 scp
使用 IPv4 與 IPv6 來傳輸資料:
# 使用 IPv4 scp -4 /path/file1 myuser@192.168.0.1:/path/file2 # 使用 IPv6 scp -6 /path/file1 myuser@192.168.0.1:/path/file2
參考網址:CSDN
UBUNTU 16.04的samba用的是4.3.11版,使用起來似乎有些問題,一直無法搞定windows端的連線
net use z: \\192.168.1.114\homes
會發生 「系統發生53錯誤 找不到網路路徑」 錯誤
參考文件:SAMBA 4 – Misc Development Topics
於是就打算用編譯的方式來安裝samba3.6.25版
移除原先的samba
apt autoremove samba
到這兒下載3.6.25版
https://download.samba.org/pub/samba/
安裝過程參考https://blog.csdn.net/cupidove/article/details/47756225
1、解壓、編譯、安裝
#tar xzvf samba-3.6.25.tar.gz
#cd samba-3.6.25/source3
#./configure
#make
#make install
沒用路徑參數,因為預設是/usr/local/samba
2、配置smb.conf,比較關鍵的一步
預設情況下,samba套裝軟體會被安裝到目錄/usr/local/samba/下,但是現在還不能啟動它。
samba的進程在啟動的時候需要一些庫檔的支援,這些庫檔就在/usr/local/samba/lib/目錄下,需要把這個目錄加入系統搜索庫檔的路徑中。
可以在/etc/ld.so.conf.d/目錄裡創建一個名為samba.conf的檔(檔案名尾碼必須為.conf,名稱隨意),這個檔的內容就是/usr/local/samba/lib/,最後執行ldconfig命令使之生效。
在 /etc/ld.so.conf.d/ 目錄下創建 samba.conf 檔(檔只要以conf結尾即可),並輸入所安裝的 samba 庫位置的絕對路徑(/usr/local/samba/lib)即可;之後執行命令 #ldconfig 重新讀取 /etc/ld.so.conf.d 目錄下的設定檔。
ldconfig命令的用途,主要是在預設搜尋目錄(/lib、/lib64和 /usr/lib)以及動態庫配置目錄 /etc/ld.so.conf內的檔,搜索出可共用的動態連結程式庫(lib*.so*),進而創建出動態裝入程式(ld.so)所需的連接和快取檔案。
注意:這一步必須要做,否則 smbd 不能啟動。
#cp ./samba-3.6.25/examples/smb.conf.default /usr/local/samba/lib
3、配置smb.conf (只列重點)
[global]
workgroup = WORKGROUP
security = USER
[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No
[share]
comment = Share files
public = yes
browseable = yes
locking = no
path=/opt/samba
writable=yes
create mask = 0644
directory mask = 0755
# 載入 檔案存取記錄及資源回收筒 模組
vfs object = audit recycle
# 在將檔案移入 資源回收筒 時,要建立相對應的目錄結構
recycle: keeptree = yes
# 資源回收筒 之相對路徑。後面的 %u 則為使用者帳號。
recycle: repository = Recycle/%u
# 不進行 資源回收 的檔案類型
recycle: exclude = .tmp|.temp|.o|.obj
# 若有相同檔案名稱時,則加以編號識別
recycle: versions = yes
/usr/local/samba/bin/testparm可以測試smb.conf檔案是否設定正確
也可以知道smb.conf放在哪兒
4、增加smb用戶
比如有一個用戶名是,那麼:
/usr/local/samba/bin/smbpasswd -a kitty,就把kitty增加為smb用戶了。
/usr/local/samba/bin/pdbedit -L 可以得知目前有哪些使用者。
5、關閉防火牆
systemctl stop firewalld
6、啟動smb服務
#/usr/local/samba/sbin/smbd -D
#/usr/local/samba/sbin/nmbd -D
#netstat -tlunp | grep mbd
#netstat -tlunp | grep smbd
查看是否啟動成功
7、最後一步,需要做的就是把smb服務設為開機啟動。
#vi /etc/rc.d/rc.local
加入
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
就可以了。
8.更改$PATH
個別的PATH
在/root下新增.bash_profile內容為
export PATH=/usr/local/samba/bin:$PATH
馬上啟用
source ./bash_profile
整體的PATH
/etc/profile
9.在/etc/samba 中建立symbolic link smb.conf
cd /etc/samba
ln -s /usr/local/samba/lib/smb.conf smb.conf
在本機測試連線
/usr/local/samba/bin/smbclient '//192.168.1.114/homes' -U sa
smbstatus可以知道目前samba的版本
[供參]
Windows 10 無法登入 Samba (NAS)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
在 Parameters 上按右鍵 → 新增 → DWORD (32-bit) 值(D) → AllowInsecureGuestAuth
AllowInsecureGuestAuth 數值資料填入 1
參考網址:ExcelHome
運動會系統中計時決賽需另加一場附加預賽,以方便成績輸入,在EXCEL中重覆的動作就交給巨集處理吧。
先用[以相對位置錄製] [錄製巨集],完成操作後再細部修改程式
需要修改的應該只有把場次名稱+"A" 這一行
ActiveCell.FormulaR1C1 = ActiveCell.Offset(1, 0).Value & "A"
Sub 巨集1() ' ' 巨集1 巨集 ' 將計時決賽分成預賽與決賽 ' ' 快速鍵: Ctrl+a ' ActiveCell.Rows("1:1").EntireRow.Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select Selection.Copy ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select ActiveSheet.Paste ActiveCell.Offset(0, 1).Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = ActiveCell.Offset(1, 0).Value & "A" ActiveCell.Offset(0, 4).Range("A1").Select ActiveCell.FormulaR1C1 = "預賽" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "決賽" ActiveCell.Offset(1, 0).Range("A1").Select End Sub
使用方法:在欲增加附加預賽的場次上按[ctrl+a]
就可以增加一場附加預賽
參考網址:mysql
先用以下指令,創建一個登入帳號
mysql_config_editor set --login-path=mysqldump --host=localhost --user=root --password
查詢帳號
mysql_config_editor print --all
再用以下指令備份資料庫
mysqldump -c sport10710 > sport10710.sql
cat ~/.mylogin.cnf
移除
mysql_config_editor remove --login-path=mypath
參考網址:
寫PHP程式時常會用到PHP手冊,使用比較習慣的是林義祥先生整理的PHP4手冊
但http://www.php5.idv.tw/documents/mou/網站最近一直連不進去
google了一下,在這個網站http://cc2.savs.hcc.edu.tw/~chuavv/php/php-zh-tw/down.html找到了備份
用wget備份下來了
wget -r -l 2 http://cc2.savs.hcc.edu.tw/~chuavv/php/php-zh-tw/down.html
參考網址:itsmw
grep
– r : 指定的目錄下的所有檔案和目錄
– i : 搜尋字串不分大小寫
範例一 : 找出有 "John" 關鍵字不分大小寫的所有檔案
$ grep -r -i "John" . <. 指在當前路徑下找尋> ./test2.txt:Long time no see, John ./test1.txt:Hi John
範例二 :
grep -r --include='*.php' substr .
替換檔案的字串, 可以用 sed 完成, 例如:
sed -i 's/substr/mb_substr/g' filename.txt
資料夾內所有檔案之檔名轉碼
指令
convmv -f big5 -t utf8 –notest *
Linux 下要查看檔案的編碼有多種方法, 以下會用 file 指令查看檔案的編碼。例如查看 php.ini 檔案的編碼:
$ file -i php.ini php.ini: text/plain; charset=us-ascii
參考網址:精讚部落格
瀏覽器對於網頁的語系判斷,網路上一堆文章在討論,不過我覺得不太正確,似是而非,所以我寫了這篇文章。
首先,大家都知道網頁的HEADER這行可以決定編碼方式,這個稱之為 META
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
html5
<meta charset="utf-8" />
大部分的瀏覽器如果編碼設成「自動偵測」時都能正確的分析,並以 utf-8 輸出。但世界並不會這麼平順完美,明明我這樣設定時,他就是用 big5 丟出來,或是我明明設定 META 為 big5,但是他丟出來卻是 utf-8,是不是我的瀏覽器不好,所以換了瀏覽器,也許仍不正常(或者是正常後開始罵不正常的瀏覽器爛)。
為何會如此?先來研究一下,在 APACHE 的 httpd.conf 及 php.ini 中都有指定編碼語系的方式,例如:
[httpd.conf]
AddDefaultCharset Big5
[php.ini]
default_charset = "iso-8859-1"
這個萬不得已是不應該去指定的,因為一旦指定,也許能解決一時的問題,但是未來接手管理的人,會毫無頭緒,不知道為什麼編碼怎麼設都不正確,找不出原因;或是同網站不同編碼的網頁,怎麼試都不正確。此外,如果在共用的空間中,更沒有辦法去修改 httpd.conf 或是 php.ini 的 charset,常會一個頭兩個大。
接下來我們來研究..
先來看看,如果在 httpd.conf 中或是php.ini 已經預設了編碼,瀏覽器取得網頁有什麼不同。這裡我們就要回到 http 這個協定一開始的定義點來看
Hypertext Transfer Protocol — HTTP/1.1 rfc 2612
瀏覽器在取得網頁內容之前,無論有無讀取過,都會進行一個 HEAD method 以檢查網頁是否有更新,以決定是否要 refresh。所以我們來看一下有定義 charset 和未定義 charset 時取回的 head 有何不同,特別注意,這個 HEAD 不是網頁裡的 < head></head>標籤中的東西,別搞錯了。
# telnet kt.example.com 80 Trying 114.33.4.124... Connected to example.com. Escape character is '^]'. HEAD / HTTP/1.1 Host:kt.example.com Connection: close HTTP/1.1 200 OK Date: Sat, 24 Apr 2010 06:44:14 GMT Server: Apache/2.2.9 (FreeBSD) mod_ssl/2.2.9 OpenSSL/0.9.8e DAV/2 PHP/5.2.6 with Suhosin-Patch X-Powered-By: PHP/5.2.6 Set-Cookie: PHPSESSID=v8hrfte7qvlhs8vmfeu4fgcch3; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Connection: close Content-Type: text/html; charset=Big5 <== 注意看,多出這一行 Connection closed by foreign host.
由此可知,瀏覽器在 HEAD method 完畢後,就自動會切換成 Big5 的編碼,這時就算你在 <META> 中怎麼設定,瀏覽器全都視而不見啦,這和什麼 BOM 一點關係也沒有。
因為瀏覽器使用http的method,如GET、POST、HEAD…等方法去取回資料時,伺服器早就偷偷的寫說要「指定」什麼編碼來顯示,瀏覽器根本就不再理會你html中的meta指定編碼的那行。就算你怎麼設定,他就只會聽伺服器說的…