shell 常見命令

來源:互聯網
上載者:User

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可以恢複

    

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.