1. ctrl+A 返回最前邊的字元。
2. ctrl+R 查詢history時,提示用過的command
3. vi中移動到行頭,按 數字0 ,移動到行尾按 $ 即可!
4. wget httpd://afdasfd.com 或者 svn co httpd.//name.com 或者 svn export url都可以下載
5. vi&vim
copy: :1,6yàEnter (複製1-6行) y=yank
delete: :1:6dàEnter (刪除1-6行)
paste: 複製後直接按p來進行粘貼即可
顯示行數: :set nu
/keyword 進行搜尋,n為next.
6. More閱讀命令:
More +20 file 從第二十行開始顯示file內容
More -20file 一次顯示20行
7. cp file1 file2 複製檔案
cp –r file file2 複製目錄
scp file1 se1.asc.cnz.alimama.com:~/bok/ 拷貝到其它機器
rsync –r file se1.asc.cnz.alimama.com:~/bok/ 拷貝到其它機器
rm file 刪除檔案
rm –rf directory 刪除目錄
rm –rf {a,b,c} 刪除多個目錄
8. less 閱讀命令
9. cat 閱讀命令
cat file
cat file1 file2> file 合并內容
10. >file 清空檔案內容
11. mv file file2 修改檔案名稱
12. mv file ../file 修改檔案路徑
13. find ./ -iname ‘file’
尋找檔案名稱為file的路徑,不區分大小寫
14. find ./ -name ‘file’ 尋找檔案名稱為file的路徑,區分大小寫
15. head -20 file 取前30行並瀏覽
16. tail -30 file
取末30行
17. history曆史命令
18. 修改已建立檔案的時間 touch -c -t 0906270730file
19. mkdir file 建立新檔案
20. wc –l file 統計行數
21. 中文亂碼的問題解決:
ExportLC_ALL=zh_CN.GBK
ExportLC_LANG=zh_CN.GBK
22. crontab –l 查看crontab命令列
crontab –e 編輯crontab命令列
10 6 * * * /home/a.sh 每天6點10分執行a.sh
*/2 * * * * a.sh 每2分鐘執行一次
23. 重新導向
Ø 或者 | tee
Eg: cat file>file2 or cat file | tee file2
24. ps –eaf | grep httpd 尋找httpd進程
25. kill -9 PID 強制停止進程
26. rpm –ivh a.rpm 安裝rpm包
rpm –q a.rpm 檢查 a.rpm是否安裝
rpm -e a.rpm 卸載a.rpm
27. chmod 111(可執行)/222(可讀)/444(可寫) file 許可權
28. 修改linux顏色 在vim .bash_profile裡添加exportPS1="[\[\033[1;32m\]\u\[\033[1;33m\]@\[\033[1;31m\]\h\[\033[1;35m\]\W\[\033[0m\]]\\$"
29. syntax off可以vi下取消高亮顯示文法。Syntax on可以顯示
30. su – username 切換使用者帳號
31. top 顯示進程完整路徑和名稱。
32. hostname 顯示系統當前主機名稱和網域名稱
33. date系統時間
34. cal日曆
35. pwd 絕對路徑
36. diff file1 file2
比較兩檔案
37. vimdiff file1 file2
38. du file –k
顯示檔案大小
39. tail –f file 動態查看檔案內容
40. grep ‘title’ file 在檔案file中搜尋帶title的行
41. grep ‘title’ file -10在檔案file中搜尋帶title的行,並列印出上下10行內容
42. sed –e ‘s/a/b/g’ file >file2修改file中的a為b並匯入file2中
43. ls [a-z]*.conf 列出a到z開標頭檔,conf結尾的所有檔案
44. yum search packagename 搜尋package
yum install packagename 安裝package
45. tar –zxvf file.tar 解壓縮
tar –cvf file.tar file 打包
46. ps –x 自己的進程
ps aux 所有人的進程
47. grep ’test’ file | head -5
48. grep ‘test’ file –n 顯示出匹配的行號
49. du –h –max-depth=/home/liuyongb查看空間大小
50. ln –s ~/file ~/bin/file 軟串連
51. find ./ -name ‘test’ | xargs rm–rf 本地尋找後,進行刪除
52. df –hl 查看空間剩餘
53. du –sh file 查看目錄總大小
54. ls | sort –n 按數字排序
55. ifconfig 顯示機器ip地址
56. 改變檔案使用者的組和使用者用chown。 比如file原來所屬的組和使用者為admin users,想改成yahoo users,則用sudo chown yahoo:users file即可
57. find ./|xargs grep 'Eragon' 在目前的目錄及子目錄下的檔案中找到包含某單詞的檔案?
另附上機器打通方法:
如果打通1,2兩台機器。 第一步,在1的機器下,cd ./ssh,然後ssh-keygen -t rsa,斷行符號再斷行符號,產生id_rsa.pub, 第二步,mv id_rsa.pub 1.pub 第三部,cat 1.pub>>authorized_keys.
然後到機器2操作,相同的方法在2機器上產生pub檔案取名為2.pub,然後copy到1機器中的.ssh中,然後cat 2.pub》authorized.keys.,最後,copy authorized.keys. 到2機器中。到此就打通了
如果還是不行則: 1. chmod 644 authorized_keys
2. /etc/hosts底下加入要打通的機器IP
50 rz 可以直接從windows機器傳東西
51 sz file 可以將linux的檔案拷貝到windows.
52. 將命令重新命名: alias fid=’find ./ -name test’
52. mail –s “標題” bin.liuyb@hotmail.com<file 發送file內容給郵箱
(uuencode file1 file1&& cat file2)|mail-s "標題"
bin.liuyb@alibaba-inc.com 發送帶附件的file1給郵箱,同時發送file2的內容給郵箱。
52,expect的安裝
1、 首先,準備好所需的兩個安裝包
tcl8.4.13-src.tar.gz
expect-5.43.0.tar.gz
2、 安裝tcl8.4.13
Tcl 的configure 指令碼有一個語法錯誤,下面的命令可以糾正它:
sed -i"s/relid'/relid/" configure (8.4.13不再有這樣的錯誤了)
編譯tcl
cd unix
./configure--prefix=/expect
make
make install
mkdir -p /tools/lib
需要的內容都拷貝到/tools/lib目錄
cp tclConfig.sh/tools/lib/
安裝完畢完先不要刪除源碼,以會安裝expect還要用到
將/tools/bin目錄export到環境變數,vim .bashrc然後輸入export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3、 安裝expect
./configure--prefix=/tools --with-tcl=/tools/lib --with-x=no
如果報
checking for Tclprivate headers... checking for tclInt.h... no
configure: error:Can't find Tcl private headers
就再添加一個標頭檔目錄參數
--with-tclinclude=../tcl8.4.13/generic,即:
./configure--prefix=/tools --with-tcl=/tools/lib --with-x=no --with-tclinclude=../tcl8.4.13/generic
指令碼運行正常,進行執行make進行編譯
make
編譯過程中未出現錯誤,執行安裝:
make install
sudo cp /tool/bin/expect /usr/bin/
53 把檔案中的數字0-9替換為a-j
# cat file | tr [0-9] [a-j]
54、刪除檔案file中出現的"Snail"字元
# cat file | tr -d "Snail" > new_file
【注意】這裡,凡是在file檔案中出現的'S','n','a','i','l'字元都會被刪除!而不是緊緊刪除出現的"Snail”字串。
55、刪除檔案file中出現的換行'\n'、製表'\t'字元
# cat file | tr -d "\n\t" > new_file
不可見字元都得用逸出字元來表示的,這個都是統一的。
56. 刪除連續著的字母 只保留第一個
# cat file | tr -s [a-zA-Z] >new_file
57. nl file 跟cat file 一樣 只不過會加上行號
58. shell中echo輸出改變顏色
格式: echo"\033[字背景顏色;字型顏色m字串\033[0m"
例如:
echo –en "\033[41;36msomething here \033[0m"
其中41的位置代表底色, 36的位置是代表字的顏色
字背景色彩範圍:40----49
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
字顏色:30-----------39
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
===============================================ANSI控制碼的說明
\33[0m 關閉所有屬性
\33[1m 設定高亮度
\33[4m 底線
\33[5m 閃爍
\33[7m 反顯
\33[8m 消隱
\33[30m -- \33[37m 設定前景色彩
\33[40m -- \33[47m 設定背景色
\33[nA 游標上移n行
\33[nB 游標下移n行
\33[nC 游標右移n行
\33[nD 游標左移n行
\33[y;xH設定游標位置
\33[2J 清屏
\33[K 清除從游標到行尾的內容
\33[s 儲存游標位置
\33[u 恢複游標位置
\33[?25l 隱藏游標
\33[?25h 顯示光線標
60. 如果在執行指令碼時報錯 bash: ./1.sh : bad interpreter:Nosuch file or directory
錯誤分析:
因為作業系統是windows,在windows下編輯的指令碼,所以有可能有不可見字元。
從你的指令碼及報告的錯誤看來, 很有可能是你的指令檔是DOS格式的, 即每一行的行尾以\r\n來標識, 其ASCII碼分別是0x0D, 0x0A.
可以有很多種辦法看這個檔案是DOS格式的還是UNIX格式的, 還是MAC格式的
(1). vi filename
然後用命令
:set ff?
可以看到dos或unix的字樣. 如果的確是dos格式的, 那麼你可以用set ff=unix把它強製為unix格式的, 然後存檔退出. 再運行一遍看.
v Screen命令 可以切換畫面登陸一台常用的伺服器(該機器最好常年開著,且很少restart),運行screen命令
v 接下來關於screen的示範
§ ctrl + A C 建立新視窗
§ ctrl + A ctrl + A 兩個視窗來回切
§ ctrl + A n 下一個視窗
§ ctrl + A p 前一個視窗
§ ctrl + A <num> (num is 1, 2, ...) 到某個視窗
§ ctrl + A ‘ 輸入視窗id
§ ctrl + A “ 上下鍵選擇視窗
§ ctrl + A shift + A 改變視窗名稱
§ ctrl + A W 顯示所有視窗
v 晚上下班回家了,工作還沒做完,怎麼辦?
§ 輸入ctrl +A D將screen掛起
§ 第二天來上班了,運行screen –rd恢複視窗繼續工作
§ 將screen掛起後,跑在screen裡的各個命令仍然會繼續執行著,因此一些長時間跑的任務最好放在screen裡,就不用nohup了
vi 編輯
vi進入編輯介面後,執行vsp即可分屏顯示 :vsp ~/file即可另外一個屏開啟file。
grep –r ‘admin’ * 遞迴尋找檔案夾下的匹配項。
grep –v ‘admin’ file 匹配file下 不是admin的行
vi下查看檔案編碼格式
:set encoding
Vi下修改編碼格式
:set encoding=utf-8
查看歸屬使用者組groups
建立使用者組 groupadd test
修改使用者組 groupmod test2 test 將test改為tese1
建立使用者 useradd test
修改密碼 passwd
CTRL+Z可以終止正在編輯的文本,但不儲存。 FG可以恢複