1. bash中的$相關引數
shell**
$0 - 表示當前檔名
$* - 以空格分離所有引數,形成乙個字串
$@ - 以空格分離所有引數,形成乙個字串組合。與$*的不同表現在被""引用時,"$*"是乙個字串,而"$@"則包含多個字串
$# - 傳遞給程序的引數數目
$? - 上一條命令的執行結果,沒有錯誤時為0
$$ - 本條命令的pid
2. bash技巧,由變數的內容來組合為另乙個變數的變數名
example:
shell**
a_b_c_d="something"
t1="b"
t2="_d"
eval echo \$a_$_c$;
3. ubuntu(12.04, 12.10)下,thinkpad x220指點杆設定,分別設定靈敏度和速度
shell**
echo -n 225 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
echo -n 115 > /sys/devices/platform/i8042/serio1/serio2/speed
4. 備份主引導扇區(bootsector)
如果啟動檔案隨壞,可以通過恢復主引導扇區來檢視修復:
備份 shell**
dd if=/dev/hda of=bootsector.img bs=512 count=1
恢復 shell**
dd if=bootsector.img of=/dev/hda
上面兩步只是恢復了主引導扇區,很可能還需要把/boot裡面的內容全都恢復才能正常啟動,所以也可以備份一下/boot下面的檔案。
5. bash命令列輸入技巧:
使用ctrl+r來搜尋以前用過的命令
使用ctrl+w刪除當前單次
使用ctrl+u刪除當前行
6. xargs很強大,用 -l{} 可以指定引數的位置:
example
shell**
cat hosts | xargs -i{} ssh root@{} hostname
7. 寫安全的bash指令碼:
set -e,當有錯誤發生時,指令碼會退出
set -u,當bash發現有沒有初始化的變數時就退出
更多可參考:
《寫出健壯的bash指令碼》
8. tar打包指定列表中列出的檔案:
shell**
cat yourlist.lst
/etc/fstab
/home/admin/bin/somefile.sh
/home/mysql/somefile
...
tar cvzf ***.tar.gz -t yourlist.lst
9. 指定乙個dns伺服器查詢網域名稱記錄
shell**
dig @8.8.8.8 www.google.com
10. sort命令最需要注意的引數是-k和-s:
shell**
-s, --stable
stabilize sort by disabling last-resort comparison
stable表示最終的順序依賴於原來的順序。
example
shell**
$ cat a.txt
a a
b b
$ sort -f a.txt
a a
b b
$ sort -f -s a.txt
a a
b b
例子中,-f表示不區分大小寫,-s表示順序依賴於原來檔案的順序
shell**
-k, --key=pos1[,pos2]
start a key at pos1 (origin 1), end it at pos2 (default end of line).
所以只以第二列來排序應該寫:
shell**
sort -k1,1
玩Linux這些年積累的技巧
1.bash中的 相關引數 shell 0 表示當前檔名 以空格分離所有引數,形成乙個字串 以空格分離所有引數,形成乙個字串組合。與 的不同表現在被 引用時,是乙個字串,而 則包含多個字串 傳遞給程序的引數數目 上一條命令的執行結果,沒有錯誤時為0 本條命令的pid 2.bash技巧,由變數的內容來...
玩Linux五年積累的技巧
1.bash中的 相關引數 shell 0 表示當前檔名 以空格分離所有引數,形成乙個字串 以空格分離所有引數,形成乙個字串組合。與 的不同表現在被 引用時,是乙個字串,而 則包含多個字串 傳遞給程序的引數數目 上一條命令的執行結果,沒有錯誤時為0 本條命令的pid 2.bash技巧,由變數的內容來...
玩Linux五年積累的技巧 4 軟體
本文主要介紹了linux軟體方面的一些技巧。作者 jh gao 從最開始接觸linux到現在已經有5年了,和所有人一樣,少不了折騰。折騰後偶爾我會把方法記錄下來,現在簡單總結一下。所以的命令功能通過man都能找到具體用法,我只把自己覺得常用的列舉出來。1.nautilus的技巧 開啟乙個位置 ctr...