工作中常用的Linux命令
1.從其他機器拷貝文件夾
格式: scp -r 文件夾名 用戶名@機器名:/路徑
範例: scp -rsearch work@zjm-testing-ps23.zjm.baidu.com:/home/work/
2.查看哪個程序在用特定端口
格式: netstat-nap | grep 端口號
範例: netstat -nap| grep 8080
3.實時監控日誌文件內容
格式: tail -f 日誌文件名
範例: tail -fui.log
說明:這顯示ui.log文件的最後十行。tail 命令繼續顯示添加到ui.log文件中的行。顯示會一直繼續,直到您按下 Ctrl-C 按鍵順序來停止
4.查看指定用戶擁有的進程
格式: pstree 用戶id
範例: pstreework
說明:顯示work用戶正在運行的各進程之間的繼承關係,以樹狀結構方式列出
5.查看磁盤空間使用情況
格式: df -h
6.查找某文件中出現指定字符串的行
格式: grep 指定字符串 文件名
範例: grep 電視劇夏天的味道 ui.log
說明: 找出日誌文件ui.log中包含“電視劇夏天的味道”的行
7.查看內存使用情況
格式: free
8.查看本機係統內核
格式: uname -a
9.查看當前路徑下的文件/文件夾大小
格式: du -hs 文件名/文件夾名
10.變更為其它使用者的身份
格式: su 使用者帳號
範例: su work
11.遠程登陸
格式: ssh 用戶名@機器名
範例: sshrd@build01
12.不掛斷地運行命令
格式:nohup command &
範例:nohup ./build_index.sh -d../newdbi/ &
13.查看文件的行數
格式: wc -l 文件名
範例: wc -l as.conf
14.比較兩個文件的不同之處
格式: vimdiff 文件1 文件2
範例: vimdiff 1.txt2.txt
15.殺死進程
格式: killall-9 進程名
範例: killall-9 bs.se
16.在SecureCRT中把文件傳給本機的SecureCRT安裝目錄的download目錄下
格式: sz 文件名
範例: sz 1.txt
17.把本機文件傳給SecureCRT中當前機器的當前目錄
格式: rz
18.Vi文本編輯器
格式:vi [選項]文件名
參數:
+n 從第n行開始編輯文件
+/exp 從文件中匹配字符串exp的第一行開始編輯
Vi中的操作主要有兩類:命令模式和插入模式,模式之間的轉換為:
i/I
命令模式 插入模式
ESC
Vi命令模式下的一些重要命令:
u 撤銷最近一次編輯動作
:q! 放棄緩衝區的內容,並推出vi
:wq 保存緩衝區的內容,並推出vi
範例:vi txt1
Vi中更多有用的命令:
l cw。用於刪除掉一行中從某個字開始到結束的部分,並進入編輯狀態。
l 例如:一個文件中有這樣一行:aabbccddeeffgg
l 我想把eeffgg刪除,那麼,我就可以在非編輯狀態下,將光標的位置放在第一個“e”處,使用cw命令,那麼,eeffgg就都被刪除了,並且可以開始編輯。
l set nu。用於顯示行號。在非編輯狀態下,使用“:setnu”回車即可。
l 0。非編輯狀態下,該命令用於移動到行首。
l $。非編輯狀態下,該命令用於移動到行尾。
l ~。大小寫轉換。在非編輯狀態下,將光標移至某個字符,使用~命令,那麼小寫的字母會變成大寫,大寫的字母會變成小寫。
l p。係統會在緩衝區保留最後9個被刪除的行。因此,如果想恢複最後一次被刪除的行則在非編輯狀態下使用“"1p”命令。如果想恢複倒數第2次被刪除的行則在非編輯狀態下使用“"2p”命令。
l 滾動屏幕的命令:
l ^F 向前滾動一屏
l ^B 向後滾動一屏
l ^D 向前滾動半屏
l ^U 向後滾動半屏
l 在屏幕內移動
l H 移動到起始點----屏幕首行
l M 移動到屏幕的中間行
l L 移動到屏幕的末行
l nH 移動到屏幕首行下麵的第n行
l nL 移動到屏幕末上上麵的第n行
l 搜索
l n 同向重複搜索
l N 反向重複搜索
l /回車 向前重複搜索
l ?回車 向後重複搜索
l 將腳本中第1-10行注釋掉:使用:“:1,10s/^/#”。
19.察看文件類型
格式:file 文件名
20.文本抽取
格式:awk [-F 域分割符] ‘命令’ 輸入文件名
說明:awk用以從文本文件和字符串中抽取信息,為獲得信息,文本必須格式化,意即用域分割符劃分抽取域,分割符可以使任意字符。Commands由模式和動作兩部分組成,模式部分決定動作語句何時觸發,模式可以使任何條件語句或複合語句或正則表達式,實際動作在打括號{}內指名,動作大多用來打印,如果不指明動作,awk將打印出所有瀏覽出來的紀錄。
awk執行時,其瀏覽的域標記為$1,$2,$3…..$n,$0為所有域
awk 的一些內置變量:
NF 瀏覽記錄的域個數
NR 已讀的記錄數
FIILENAME awk瀏覽的文件名
範例:
awk ‘END {print NR}’grade.txt
awk ‘{if ($4==”Yellow”|| $4~/Brown/)print $0}’ grade.txt
21.非交互性文本流編輯器
格式:sed [選項] ‘命令’ 輸入文件名
參數:
-n 不打印,sed不寫編輯行到標準輸出,缺省為打印所有行
-c 下一命令是編輯命令,使用多項編輯時加入此選項。如果隻用到一條sed命令,
此選項無用,但指定它也沒有關係。
-f 如果正在調用sed腳本文件,使用此選項。此選項通知sed一個腳本文件支持所有的sed命令,例如:sed -f myscript.sed input_file,這裏myscript.sed即為支持sed命令的文件。
範例:
sed –n ‘2p’ quota.txt 打印文本的第二行
sed –n ‘/Neave/’pquota.txt 匹配單詞Neave,並打印此行
sed ‘1d’quota.txt 刪除文本的第一行
22.將文件中的記錄分類
格式:sort [選項] –o 輸出文件名 [其他選項] +pos1 +pos2 輸入文件名
參數:
-c 測試文件是否已經分類
-m 合並兩個分類文件
-u 刪除所有複製行
-o 存儲sort結果的輸出文件名
其它參數有:
-b 使用域進行分類時,忽略第一個空格。
-n 指定分類是域上的數字分類。
-t 域分隔符;用非空格或t a b鍵分隔域。
-r 對分類次序或比較求逆。
+n n為域號。使用此域號開始分類。
n n為域號。在分類比較時忽略此域,一般與+ n一起使用。
pos1,pos2 傳遞到m,n。m為域號,n為開始分類字符數;例如4,6意即以第5域分類,從第7個字符開始。
範例:sort -t:+2n video.txt 以“:”為域分割符,按第三個域數字分類video.txt
23.去除文本文件的重複行
格式:uniq [選項] 輸入文件 [輸出文件]
參數:
-u 隻顯示不重複行。
-d 隻顯示有重複數據行,每種重複行隻顯示其中一行
-c 打印每一重複行出現次數。
-f n為數字,前n個域被忽略。一些係統不識別- f選項,這時替代使用-n。
範例:uniq –n2parts.txt
24.連接兩個文本文件
格式:join [選項] 文件1文件2
說明:join用來將來自兩個文本文件的行連在一起,兩個輸入文件必須已經分過類,每個文件裏都有一些元素與另一個文件相關,由於這種關係,join將兩個文件連在一起。
參數:
-an n為一數字,用於連接時從文件n中顯示不匹配行。例如, - a 1顯示第一個文件的不匹配行,- a 2為從第二個文件中顯示不匹配行。
-o n.m n為文件號,m為域號。1. 3表示隻顯示文件1第三域,每個n,m必須用逗號分隔,如1 . 3,2 . 1。
-j n mn為文件號,m為域號。使用其他域做連接域。
-t 域分隔符。用來設置非空格或t a b鍵的域分隔符。例如,指定冒號做域分隔符- t:
範例: join –o1.1,2.2 names.txt town.txt
25.從文本文件中剪切列或域
格式:cut [選項] 文件名
參數:
-c list 指定剪切字符數。
-ffield 指定剪切域數。
-d 指定與空格和tab鍵不同的域分隔符。
- c用來指定剪切範圍,如下所示:
- c 1,5-7 剪切第1個字符,然後是第5到第7個字符。
-f 格式與- c相同。
-f 1,5 剪切第1域,第5域。
範例: cut –d:-f3 pers
26.將兩個文本文件粘貼在一起
格式:paste[options] file1 file2
說明:粘貼兩個不同來源的數據時,首先需將其分類,並確保兩個文件行數相同。paste將按行將不同文件行信息放在一行。缺省情況下, paste連接時,用空格或tab鍵分隔新行中不同文本,除非指定-d選項,它將成為域分隔符。
參數:
-d 指定不同於空格或t a b鍵的域分隔符。例如用@分隔域,使用-d @。
-s 將每個文件合並成行而不是按行粘貼。
範例: paste –d:pas2 pas1 用冒號作分割符
27.將大文件進行分割
格式:split [選項] 輸入文件名 輸出文件名前綴
參數:-a 指定後綴的長度(缺省為2)
-b 每個輸出文件的字節大小
-l 每個輸出文件的行數
範例:split –l 1000 bigfile.txtoutfile
最後更新:2017-04-03 12:54:04