使用Linux五年積累的一些經(jīng)驗(yàn)技巧
更新時(shí)間:2013年06月20日 15:49:17 作者:
本篇文章是小編使用Linux五年積累的一些經(jīng)驗(yàn)和技巧,需要的朋友參考下
1. bash中的$相關(guān)參數(shù)
$0 - 表示當(dāng)前文件名
$* - 以空格分離所有參數(shù),形成一個(gè)字符串
$@ - 以空格分離所有參數(shù),形成一個(gè)字符串組合。與$*的不同表現(xiàn)在被""引用時(shí),"$*"是一個(gè)字符串,而"$@"則包含多個(gè)字符串
$# - 傳遞給進(jìn)程的參數(shù)數(shù)目
$? - 上一條命令的執(zhí)行結(jié)果,沒(méi)有錯(cuò)誤時(shí)為0
$$ - 本條命令的PID
2. bash技巧,由變量的內(nèi)容來(lái)組合為另一個(gè)變量的變量名
EXAMPLE:
A_B_C_D="something"
t1="B"
t2="_D"
eval echo \$A_${t1}_C${t2};
3. Ubuntu(12.04, 12.10)下,ThinkPad X220指點(diǎn)桿設(shè)置,分別設(shè)置靈敏度和速度
echo -n 225 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
echo -n 115 > /sys/devices/platform/i8042/serio1/serio2/speed
4. 備份主引導(dǎo)扇區(qū)(bootsector)
如果啟動(dòng)文件隨壞,可以通過(guò)恢復(fù)主引導(dǎo)扇區(qū)來(lái)視圖修復(fù):
備份
dd if=/dev/hda of=bootsector.img bs=512 count=1
恢復(fù)
dd if=bootsector.img of=/dev/hda
上面兩步只是恢復(fù)了主引導(dǎo)扇區(qū),很可能還需要把/boot里面的內(nèi)容全都恢復(fù)才能正常啟動(dòng),所以也可以備份一下/boot下面的文件。
5. bash命令行輸入技巧:
使用Ctrl+R來(lái)搜索以前用過(guò)的命令
使用Ctrl+W刪除當(dāng)前單次
使用Ctrl+U刪除當(dāng)前行
6. xargs很強(qiáng)大,用 -l{} 可以指定參數(shù)的位置:
EXAMPLE
cat hosts | xargs -I{} ssh root@{} hostname
7. 寫(xiě)安全的bash腳本:
set -e,當(dāng)有錯(cuò)誤發(fā)生時(shí),腳本會(huì)退出
set -u,當(dāng)bash發(fā)現(xiàn)有沒(méi)有初始化的變量時(shí)就退出
更多可參考:《寫(xiě)出健壯的Bash腳本》
8. tar打包指定列表中列出的文件:
cat yourlist.lst
/etc/fstab
/home/admin/bin/somefile.sh
/home/mysql/somefile
...
tar cvzf xxx.tar.gz -T yourlist.lst
9. 指定一個(gè)DNS服務(wù)器查詢(xún)域名記錄
dig @8.8.8.8 www.google.com
10. sort命令最需要注意的參數(shù)是-k和-s:
-s, --stable
stabilize sort by disabling last-resort comparison
stable表示最終的順序依賴(lài)于原來(lái)的順序。
EXAMPLE
$ cat a.txt
a
A
b
$ sort -f a.txt
a
A
B
$ sort -f -s a.txt
a
A
b
例子中,-f表示不區(qū)分大小寫(xiě),-s表示順序依賴(lài)于原來(lái)文件的順序
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line).
所以只以第二列來(lái)排序應(yīng)該寫(xiě):
sort -k1,1
復(fù)制代碼 代碼如下:
$0 - 表示當(dāng)前文件名
$* - 以空格分離所有參數(shù),形成一個(gè)字符串
$@ - 以空格分離所有參數(shù),形成一個(gè)字符串組合。與$*的不同表現(xiàn)在被""引用時(shí),"$*"是一個(gè)字符串,而"$@"則包含多個(gè)字符串
$# - 傳遞給進(jìn)程的參數(shù)數(shù)目
$? - 上一條命令的執(zhí)行結(jié)果,沒(méi)有錯(cuò)誤時(shí)為0
$$ - 本條命令的PID
2. bash技巧,由變量的內(nèi)容來(lái)組合為另一個(gè)變量的變量名
EXAMPLE:
復(fù)制代碼 代碼如下:
A_B_C_D="something"
t1="B"
t2="_D"
eval echo \$A_${t1}_C${t2};
3. Ubuntu(12.04, 12.10)下,ThinkPad X220指點(diǎn)桿設(shè)置,分別設(shè)置靈敏度和速度
復(fù)制代碼 代碼如下:
echo -n 225 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
echo -n 115 > /sys/devices/platform/i8042/serio1/serio2/speed
4. 備份主引導(dǎo)扇區(qū)(bootsector)
如果啟動(dòng)文件隨壞,可以通過(guò)恢復(fù)主引導(dǎo)扇區(qū)來(lái)視圖修復(fù):
備份
復(fù)制代碼 代碼如下:
dd if=/dev/hda of=bootsector.img bs=512 count=1
恢復(fù)
復(fù)制代碼 代碼如下:
dd if=bootsector.img of=/dev/hda
上面兩步只是恢復(fù)了主引導(dǎo)扇區(qū),很可能還需要把/boot里面的內(nèi)容全都恢復(fù)才能正常啟動(dòng),所以也可以備份一下/boot下面的文件。
5. bash命令行輸入技巧:
使用Ctrl+R來(lái)搜索以前用過(guò)的命令
使用Ctrl+W刪除當(dāng)前單次
使用Ctrl+U刪除當(dāng)前行
6. xargs很強(qiáng)大,用 -l{} 可以指定參數(shù)的位置:
EXAMPLE
復(fù)制代碼 代碼如下:
cat hosts | xargs -I{} ssh root@{} hostname
7. 寫(xiě)安全的bash腳本:
set -e,當(dāng)有錯(cuò)誤發(fā)生時(shí),腳本會(huì)退出
set -u,當(dāng)bash發(fā)現(xiàn)有沒(méi)有初始化的變量時(shí)就退出
更多可參考:《寫(xiě)出健壯的Bash腳本》
8. tar打包指定列表中列出的文件:
復(fù)制代碼 代碼如下:
cat yourlist.lst
/etc/fstab
/home/admin/bin/somefile.sh
/home/mysql/somefile
...
tar cvzf xxx.tar.gz -T yourlist.lst
9. 指定一個(gè)DNS服務(wù)器查詢(xún)域名記錄
復(fù)制代碼 代碼如下:
dig @8.8.8.8 www.google.com
10. sort命令最需要注意的參數(shù)是-k和-s:
復(fù)制代碼 代碼如下:
-s, --stable
stabilize sort by disabling last-resort comparison
stable表示最終的順序依賴(lài)于原來(lái)的順序。
EXAMPLE
復(fù)制代碼 代碼如下:
$ cat a.txt
a
A
b
$ sort -f a.txt
a
A
B
$ sort -f -s a.txt
a
A
b
例子中,-f表示不區(qū)分大小寫(xiě),-s表示順序依賴(lài)于原來(lái)文件的順序
復(fù)制代碼 代碼如下:
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line).
所以只以第二列來(lái)排序應(yīng)該寫(xiě):
復(fù)制代碼 代碼如下:
sort -k1,1
相關(guān)文章
PHP7新特性之抽象語(yǔ)法樹(shù)(AST)帶來(lái)的變化詳解
這篇文章主要介紹了PHP7新特性之抽象語(yǔ)法樹(shù)(AST)帶來(lái)的變化,結(jié)合實(shí)例形式分析了PHP7抽象語(yǔ)法樹(shù)的相關(guān)概念、功能、特性、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-07-07
PHP生成Flash動(dòng)畫(huà)的實(shí)現(xiàn)代碼
使用 Flash 動(dòng)畫(huà)的第一種方法是使用 Ming 庫(kù)動(dòng)態(tài)生成它們。Ming 庫(kù)是一個(gè) PHP 庫(kù),在wamp我看到已經(jīng)帶了這個(gè)庫(kù),只是沒(méi)有啟用。2010-03-03
php函數(shù)serialize()與unserialize()用法實(shí)例
這篇文章主要介紹了php函數(shù)serialize()與unserialize()用法,以實(shí)例形式詳細(xì)講述了php函數(shù)serialize()與unserialize()的適用情況與使用方法,具有很好的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11

