歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux常用命令(二)

01

ls [選項] [目錄名 | 列出相關目錄下的所有目錄和文件

-a  列出包括.a開頭的隱藏文件的所有文件
-A  通-a,但不列出"."和".."
-l  列出文件的詳細信息
-c  根據ctime排序顯示
-t  根據文件修改時間排序
---color[=WHEN] 用色彩辨別文件類型 WHEN 可以是’never’、’always’或’auto’其中之一
    白色:表示普通文件
    藍色:表示目錄
    綠色:表示可執行文件
    紅色:表示壓縮文件
    淺藍色:鏈接文件
    紅色閃爍:表示鏈接的文件有問題
    黃色:表示設備文件
    灰色:表示其它文件
02

mv [選項] 源文件或目錄 目錄或多個源文件 | 移動或重命名文件

-b  覆蓋前做備份
-f  如存在不詢問而強制覆蓋
-i  如存在則詢問是否覆蓋
-u  較新才覆蓋
-t  將多個源文件移動到統一目錄下,目錄參數在前,文件參數在後
eg:
    mv a /tmp/ 將文件a移動到 /tmp目錄下
    mv a b 將a命名為b
    mv /home/zenghao test1.txt test2.txt test3.txt
03

cp [選項] 源文件或目錄 目錄或多個源文件 | 將源文件復制至目標文件,或將多個源文件復制至目標目錄。

-r -R 遞歸復制該目錄及其子目錄內容
-p  連同檔案屬性一起復制過去
-f  不詢問而強制復制
-s  生成快捷方式
-a  將檔案的所有特性都一起復制
04

scp [參數] [原路徑] [目標路徑] | 在Linux服務器之間復制文件和目錄

-v  詳細顯示輸出的具體情況
-r  遞歸復制整個目錄
(1) 復制文件:  
命令格式:  
scp local_file remote_username@remote_ip:remote_folder  
或者  
scp local_file remote_username@remote_ip:remote_file  
或者  
scp local_file remote_ip:remote_folder  
或者  
scp local_file remote_ip:remote_file  
第1,2個指定了用戶名,命令執行後需要輸入用戶密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名  
第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名   
(2) 復制目錄:  
命令格式:  
scp -r local_folder remote_username@remote_ip:remote_folder  
或者  
scp -r local_folder remote_ip:remote_folder  
第1個指定了用戶名,命令執行後需要輸入用戶密碼;  
第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;
eg:
    從 本地 復制到 遠程
    scp /home/daisy/full.tar.gz [email protected]:/home/root 
    從 遠程 復制到 本地
    scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
05

rm [選項] 文件 | 刪除文件

-r  刪除文件夾
-f  刪除不提示
-i  刪除提示
-v  詳細顯示進行步驟
06

touch [選項] 文件 | 創建空文件或更新文件時間

-a  只修改存取時間
-m  值修改變動時間
-r  eg:touch -r a b ,使b的時間和a相同
-t  指定特定的時間 eg:touch -t 201211142234.50 log.log 
    -t time [[CC]YY]MMDDhhmm[.SS],C:年前兩位
07

pwd 查看當前所在路徑

08

cd 改變當前目錄

- :返回上層目錄
.. :返回上層目錄
回車  :返回主目錄
/   :根目錄
09

mkdir [選項] 目錄… | 創建新目錄

-p  遞歸創建目錄,若父目錄不存在則依次創建
-m  自定義創建目錄的權限  eg:mkdir -m 777 hehe
-v  顯示創建目錄的詳細信息
10

rmdir 刪除空目錄

-v  顯示執行過程
-p  若自父母刪除後父目錄為空則一並刪除
11

rm [選項] 文件… | 一個或多個文件或目錄

-f  忽略不存在的文件,不給出提示
-i  交互式刪除
-r  將列出的目錄及其子目錄遞歸刪除
-v  列出詳細信息
12

echo:顯示內容

-n  輸出後不換行
-e  遇到轉義字符特殊處理  
    eg:
        echo "he\nhe"   顯示he\nhe
        ehco -e "he\nhe"    顯示he(換行了)he
13

cat [選項] [文件]..| 一次顯示整個文件或從鍵盤創建一個文件或將幾個文件合並成一個文件

-n  編號文件內容再輸出
-E  在結束行提示$
14

tac | 反向顯示

15

more | 按頁查看文章內容,從前向後讀取文件,因此在啟動時就加載整個文件

+n  從第n行開始顯示
-n  每次查看n行數據
+/String    搜尋String字符串位置,從其前兩行開始查看
-c  清屏再顯示
-p  換頁時清屏
16

less | 可前後移動地逐屏查看文章內容,在查看前不會加載整個文件

-m  顯示類似於more命令的百分比
-N  顯示行號
/   字符串:向下搜索“字符串”的功能
?   字符串:向上搜索“字符串”的功能
n   重復前一個搜索(與 / 或 ? 有關)
N   反向重復前一個搜索(與 / 或 ? 有關)
b   向後翻一頁
d   向後翻半頁
17

nl [選項]… [文件]… | 將輸出內容自動加上行號

-b

-b a 不論是否有空行,都列出行號(類似 cat -n)

-b t 空行則不列行號(默認)

-n 有ln rn rz三個參數,分別為再最左方顯示,最右方顯示不加0,最右方顯示加0

18

head [參數]… [文件]… | 顯示檔案開頭,默認開頭10行

-v  顯示文件名
-c number   顯示前number個字符,若number為負數,則顯示除最後number個字符的所有內容
-number/n (+)number     顯示前number行內容,
-n number   若number為負數,則顯示除最後number行數據的所有內容
19

tail [必要參數] [選擇參數] [文件] | 顯示文件結尾內容

-v  顯示詳細的處理信息
-q  不顯示處理信息
-num/-n (-)num      顯示最後num行內容
-n +num 從第num行開始顯示後面的數據
-c  顯示最後c個字符
-f  循環讀取
20

vi 編輯文件

:w filename 將文章以指定的文件名保存起來  
:wq 保存並退出
:q! 不保存而強制退出
命令行模式功能鍵
1)插入模式
    按「i」切換進入插入模式「insert mode」,按"i"進入插入模式後是從光標當前位置開始輸入文件;
    按「a」進入插入模式後,是從目前光標所在位置的下一個位置開始輸入文字;
    按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。

2)從插入模式切換為命令行模式
  按「ESC」鍵。
3)移動光標
  vi可以直接用鍵盤上的光標來上下左右移動,但正規的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格。
  按「ctrl」+「b」:屏幕往"後"移動一頁。
  按「ctrl」+「f」:屏幕往"前"移動一頁。
  按「ctrl」+「u」:屏幕往"後"移動半頁。
  按「ctrl」+「d」:屏幕往"前"移動半頁。
  按數字「0」:移到文章的開頭。
  按「G」:移動到文章的最後。
  按「$」:移動到光標所在行的"行尾"。
  按「^」:移動到光標所在行的"行首"
  按「w」:光標跳到下個字的開頭
  按「e」:光標跳到下個字的字尾
  按「b」:光標回到上個字的開頭
  按「#l」:光標移到該行的第#個位置,如:5l,56l。

4)刪除文字
  「x」:每按一次,刪除光標所在位置的"後面"一個字符。
  「#x」:例如,「6x」表示刪除光標所在位置的"後面"6個字符。
  「X」:大寫的X,每按一次,刪除光標所在位置的"前面"一個字符。
  「#X」:例如,「20X」表示刪除光標所在位置的"前面"20個字符。
  「dd」:刪除光標所在行。
  「#dd」:從光標所在行開始刪除#行

5)復制
  「yw」:將光標所在之處到字尾的字符復制到緩沖區中。
  「#yw」:復制#個字到緩沖區
  「yy」:復制光標所在行到緩沖區。
  「#yy」:例如,「6yy」表示拷貝從光標所在的該行"往下數"6行文字。
  「p」:將緩沖區內的字符貼到光標所在位置。注意:所有與"y"有關的復制命令都必須與"p"配合才能完成復制與粘貼功能。

6)替換
  「r」:替換光標所在處的字符。
  「R」:替換光標所到之處的字符,直到按下「ESC」鍵為止。

7)回復上一次操作
  「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次"u"可以執行多次回復。

8)更改
  「cw」:更改光標所在處的字到字尾處
  「c#w」:例如,「c3w」表示更改3個字

9)跳至指定的行
  「ctrl」+「g」列出光標所在行的行號。
  「#G」:例如,「15G」,表示移動光標至文章的第15行行首。
21

which 可執行文件名稱 | 查看可執行文件的位置,在PATH變量指定的路徑中查看系統命令是否存在及其位置

22

whereis [-bmsu] [BMS 目錄名 -f ] 文件名| 定位可執行文件、源代碼文件、幫助文件在文件系統中的位置

-b   定位可執行文件。
-m   定位幫助文件。
-s   定位源代碼文件。
-u   搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
-B   指定搜索可執行文件的路徑。
-M   指定搜索幫助文件的路徑。
-S   指定搜索源代碼文件的路徑。
23

locate | 通過搜尋數據庫快速搜尋檔案

-r  使用正規運算式做尋找的條件
24

find find [PATH] [option] [action] | 在文件樹種查找文件,並作出相應的處理

選項與參數:
1. 與時間有關的選項:共有 -atime, -ctime 與 -mtime 和-amin,-cmin與-mmin,以 -mtime 說明
    -mtime n :n 為數字,意義為在 n 天之前的『一天之內』被更動過內容的檔案;
    -mtime +n :列出在 n 天之前(不含 n 天本身)被更動過內容的檔案檔名;
    -mtime -n :列出在 n 天之內(含 n 天本身)被更動過內容的檔案檔名。
    -newer file :file 為一個存在的檔案,列出比 file 還要新的檔案檔名

2. 與使用者或組名有關的參數:
    -uid n :n 為數字,這個數字是用戶的賬號 ID,亦即 UID
    -gid n :n 為數字,這個數字是組名的 ID,亦即 GID
    -user name :name 為使用者賬號名稱!例如 dmtsai
    -group name:name 為組名,例如 users ;
    -nouser :尋找檔案的擁有者不存在 /etc/passwd 的人!
    -nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案!

3. 與檔案權限及名稱有關的參數:
    -name filename:搜尋文件名為 filename 的檔案(可使用通配符)
    -size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
        c: 代表 byte
        k: 代表 1024bytes。所以,要找比 50KB還要大的檔案,就是『 -size +50k 』
    -type TYPE :搜尋檔案的類型為 TYPE 的,類型主要有:
        一般正規檔案 (f)
        裝置檔案 (b, c)
        目錄 (d)
        連結檔 (l)
        socket (s)
        FIFO (p)
    -perm mode :搜尋檔案權限『剛好等於』 mode的檔案,這個mode為類似chmod的屬性值,舉例來說,-rwsr-xr-x 的屬性為4755!
    -perm -mode :搜尋檔案權限『必須要全部囊括 mode 的權限』的檔案,舉例來說,
        我們要搜尋-rwxr--r-- 亦即 0744 的檔案,使用-perm -0744,當一個檔案的權限為 -rwsr-xr-x ,亦即 4755 時,也會被列出來,因為 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
    -perm +mode :搜尋檔案權限『包含任一 mode 的權限』的檔案,舉例來
        說,我們搜尋-rwxr-xr-x ,亦即 -perm +755 時,但一個文件屬性為 -rw-------也會被列出來,因為他有 -rw.... 的屬性存在!
4. 額外可進行的動作:
    -exec command :command 為其他指令,-exec 後面可再接額外的指令來處理搜尋到的結果。
    -print :將結果打印到屏幕上,這個動作是預設動作!
    eg:
        find / -perm +7000 -exec ls -l {} \; ,額外指令以-exec開頭,以\;結尾{}代替前面找到的內容
    | xargs 
        -i  默認的前面輸出用{}代替 
        eg:
            find . -name "*.log" | xargs -i mv {} test4
25

grep ‘正則表達式’ 文件名 | 用正則表達式搜索文本,並把匹配的行打印出來

-c  只輸出匹配行的計數。
-I  不區分大小寫(只適用於單字符)。
-l  只顯示文件名
-v  顯示不包含匹配文本的所有行。
-n  顯示匹配行數據及其行號
26

file | 判斷文件類型

27

gzip [-cdtv#] 檔名 | 壓縮、解壓縮,源文件都不再存在

-d  進行解壓縮
-c  將壓縮的數據輸出到屏幕上
-v  :顯示原檔案/壓縮文件案的壓縮比等信息
-#  :壓縮等級,-1最快,但壓縮比最差,=9最慢,但壓縮比最好
28

gunzip | 解壓縮

29

bzip2 | 壓縮、解壓縮

-d  :解壓
-z  :壓縮
-k  :保留源文件
-c :將壓縮的過程產生的數據輸出到屏幕上!
-v :可以顯示出原檔案/壓縮文件案的壓縮比等信息;
-# :與 gzip 同樣的,都是在計算壓縮比的參數, -9 最佳, -1 最快!
30

bzcat 讀取數據而無需解壓

31

tar [主選項+輔選項] 文件或者目錄 | 多個目錄或檔案打包、壓縮成一個大檔案

主選項:
    -c  建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename)
    -t  察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了;
    -x  解打包或解壓縮的功能,可以搭配 -C (大寫) 在特定目錄解開
輔選項:
    -j  透過 bzip2 的支持進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2
    -z  透過 gzip 的支持進行壓縮/解壓縮:此時檔名最好為 *.tar.gz
    -v  在壓縮/解壓縮的過程中,將正在處理的文件名顯示出來!
    -f filename -f 後面要立刻接要被處理的檔名!
    -C 目錄   這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。
    --exclude FILE:在壓縮打包過程中忽略某文件 eg: tar --exclude /home/zenghao -zcvf myfile.tar.gz /home/* /etc
    -p  保留備份數據的原本權限與屬性,常用於備份(-c)重要的配置文件
    -P(大寫)  保留絕對路徑,亦即允許備份數據中含有根目錄存在之意;
eg:
    壓 縮:tar -jcvf filename.tar.bz2 要被壓縮的檔案或目錄名稱
    查 詢:tar -jtvf filename.tar.bz2
    解壓縮:tar -jxvf filename.tar.bz2 -C 欲解壓縮的目錄
32

exit 退出當前shell

33

logout 退出登錄shell

34

shutdown -h now

35

users 顯示當前登錄系統地用戶

36

who 登錄在本機的用戶與來源

-H或--heading  顯示各欄位的標題信息列。
37

w 登錄在本機的用戶及其運行的程序

-s  使用簡潔格式列表,不顯示用戶登入時間,終端機階段作業和程序所耗費的CPU時間。
-h  不顯示各欄位的標題信息列。
38

write 給當前聯機的用戶發消息

39

wall 給所有登錄再本機的用戶發消息

40

last 查看用戶的登陸日志

41

lastlog 查看每個用戶最後的登陸時間

42

finger [選項] [使用者] [用戶@主機] | 查看用戶信息

-s 顯示用戶的注冊名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息
-l 除了用-s選項顯示的信息外,還顯示用戶主目錄、登錄shell、郵件狀態等信息,以及用戶主目錄下的.plan、.project和.forward文件的內容。
-p 除了不顯示.plan文件和.project文件以外,與-l選項相同
43

hostname 查看主機名

44

alias ii = “ls -l” | 添加別名

45

unalias ii | 清除別名

Copyright © Linux教程網 All Rights Reserved