常用命令: ls:是list的簡稱。預設情況下用來列印出當前目錄的列表。使用命令:ls [選項] [文件目錄] -a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件。-A同-a,但不列出“.”(表示當前目錄)和“..”(表示當前目錄的父目錄)。-c 配合 -lt:根據 ctime 排序 ...
常用命令:
ls:是list的簡稱。預設情況下用來列印出當前目錄的列表。使用命令:ls [選項] [文件目錄]
-a
, –all
列出目錄下的所有文件,包括以 .
開頭的隱含文件。-A
同-a
,但不列出“.
”(表示當前目錄)和“..
”(表示當前目錄的父目錄)。-c
配合 -lt
:根據 ctime
排序及顯示 ctime
(文件狀態最後更改的時間)配合 -l
:顯示 ctime
但根據名稱排序否則:根據 ctime
排序-C
每欄由上至下列出項目–color[=WHEN]
控制是否使用色彩分辨文件。WHEN 可以是’never’、’always’或’auto’其中之一-d
, –directory
將目錄象文件一樣顯示,而不是顯示其下的文件。-D
, –dired
產生適合 Emacs 的 dired 模式使用的結果-f
對輸出的文件不進行排序,-aU
選項生效,-lst
選項失效-g
類似-l
,但不列出所有者-G
, –no-group
不列出任何有關組的信息-h
, –human-readable
以容易理解的格式列出文件大小 (例如 1K 234M 2G)–si
類似 -h,但文件大小取 1000 的次方而不是 1024-H
, –dereference-command-line
使用命令列中的符號鏈接指示的真正目的地–indicator-style=
方式 指定在每個項目名稱後加上指示符號<方式>:none
(預設),classify (-F),file-type (-p)-i
, –inode
印出每個文件的 inode
號-I
, –ignore=
樣式 不印出任何符合 shell 萬用字元<樣式>的項目-k
即 –block-size=1K
,以 k
位元組的形式表示文件的大小。-l
除了文件名之外,還將文件的許可權、所有者、文件大小等信息詳細列出來。-L
, –dereference
當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象而並非符號鏈接本身的信息-m
所有項目以逗號分隔,並填滿整行行寬-o
類似 -l
,顯示文件的除組信息外的詳細信息。-r
, –reverse
依相反次序排列-R
, –recursive
同時列出所有子目錄層-s
, –size
以塊大小為單位列出所有文件的大小-S
根據文件大小排序
-t
以文件修改時間排序-u
配合 -lt
:顯示訪問時間而且依訪問時間排序
-U
不進行排序;依文件系統原有的次序列出項目-v
根據版本進行排序-w
, –width=COLS
自行指定屏幕寬度而不使用目前的數值-x
逐行列出項目而不是逐欄列出-X
根據擴展名排序-1
每行只列出一個文件–help
顯示此幫助信息並離開–version
顯示版本信息並離開
cd:Linux中最基礎的命令。用於切換當前目錄至dirName。使用命令:cd [目錄名]
*Linux中使用“\”進入根目錄。
pwd:查看當前工作目錄的完整路徑。使用命令:pwd[選項]
-L
目錄連接鏈接時,輸出連接路徑
-P
輸出物理路徑
mkdir:用於在指定位置創建文件夾或目錄。使用命令:mkdir [選項] [目錄]
-m
, —mode=模式,設定許可權<模式> (類似 chmod),而不是 rwxrwxrwx
減 umask
-p
, --parents
可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;
-v
, --verbose
- 每次創建新目錄都顯示信息
rm:刪除文件和目錄。使用命令:rm [選項] 文件名
-f
, --force
忽略不存在的文件,從不給出提示。
-i
, --interactive
進行互動式刪除
-r
, -R
, --recursive
指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-v
, --verbose
詳細顯示進行的步驟
rmdir :刪除空目錄,即與rm項目,其差別在於刪除的目錄必須是空的。使用命令:rmdir [選項] 目錄名。
- p
遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的信息。
-v
, --verbose
顯示指令執行過程
mv:move的縮寫。移動文件或者給文件改名。使用命令:mv [選項] 源文件或目錄 目標文件或目錄。
-b
:若需覆蓋文件,則覆蓋前先行備份。
-f
:force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i
:若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u
:若目標文件已經存在,且 source 比較新,才會更新(update)
-t
: —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。
cp:命令用來複制文件或者目錄,是Linux系統中最常用的命令之一。一般情況下,shell會設置一個別名,在命令行下複製文件時,如果目標文件已經存在,就會詢問是否覆蓋,不管你是否使用-i
參數
使用命令:cp [選項] ...[-T] 源 目的 或 cp [選項] ...源...目錄 或 cp[選項] -t 目錄 源...
-a
, --archive
- 等於-dR --preserve=all
,--backup[=CONTROL
為每個已存在的目標文件創建備份
-b
- 類似 --backup
但不接受參數 --copy-contents
在遞歸處理是複製特殊文件內容
-d
- 等於--no-dereference --preserve=links
-f
, --force
- 如果目標文件無法打開則將其移除並重試(當 -n
選項 存在時則不需再選此項)
-i
, --interactive
- 覆蓋前詢問(使前面的 -n
選項失效)
-H
- 跟隨源文件中的命令行符號鏈接
-l
, --link
- 鏈接文件而不複製
-L
, --dereference
- 總是跟隨符號鏈接
-n
, --no-clobber
- 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-P
, --no-dereference
- 不跟隨源文件中的符號鏈接
-p
- 等於--preserve=
模式,所有權,時間戳
--preserve
[=屬性列表 保持指定的屬性(預設:模式,所有權,時間戳)
-R
, -r
, --recursive
複製目錄及目錄內的所有項目
不常用命令:
touch:用於修改文件時間戳,或者新建一個不存在的文件。 使用命令:touch [選項] 文件
-a
,--time=atime
,--time=access
或--time=use
只更改存取時間。
-c
或--no-create
不建立任何文檔。
-d
使用指定的日期時間,而非現在的時間。
-f
此參數將忽略不予處理,僅負責解決BSD版本touch
指令的相容性問題。
-m
或--time=mtime
或--time=modify
只更改變動時間。
-r
把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。
-t
使用指定的日期時間,而非現在的時間。
cat:鏈接文件或標準輸入並列印。常用於顯示文件內容,或者將幾個問價連接起來顯示,或者從標準輸入讀取內容並顯示,常與重定向符配合使用。使用命令:cat [選項] [文件]
三大功能:
- 一次顯示整個文件:
cat filename
- 從鍵盤創建一個文件:
cat > filename
只能創建新文件,不能編輯已有文件. - 將幾個文件合併為一個文件:
cat file1 file2 > file
選項:
-A
,--show-all
等價於-vET
-b
,--number-nonblank
對非空輸出行編號-e
等價於-vE
-E
,--show-ends
在每行結束處顯示$
-n
,--number
對輸出的所有行編號,由1開始對所有輸出的行數編號-s
,--squeeze-blank
有連續兩行以上的空白行,就代換為一行的空白行-t
與-vT
等價-T
,--show-tabs
將跳格字元顯示為^I
-u
(被忽略)-v
,--show-nonprinting
使用^
和M-
引用,除了LFD
和TAB
之外
nl:用於計算文件中的行號。nl可以將輸出的文件內容自動加上行號,預設的結果與cat -n不太一樣。nl可以對行號做比較多的顯示設計,包括位數是否自動補齊0等等的功能。使用命令:nl [選項] [文件]
-b
:指定行號指定的方式,主要有兩種:
-b a
:表示不論是否為空行,也同樣列出行號(類似 cat -n
);
-b t
:如果有空行,空的那一行不要列出行號(預設值);
-n
:列出行號表示的方法,主要有三種:
-n ln
:行號在螢幕的最左方顯示;
-n rn
:行號在自己欄位的最右方顯示,且不加 0 ;
-n rz
:行號在自己欄位的最右方顯示,且加 0 ;
-w
:行號欄位的占用的位數。
-p
在邏輯定界符處不重新開始計算。
more:功能類似 cat
,cat
命令是整個文件的內容從上到下顯示在屏幕上。more
會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space
)就往下一頁顯示,按 b
鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more
命令從前向後讀取文件,因此在啟動時就載入整個文件。使用命令:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
+n
從笫n行開始顯示
-n
定義屏幕大小為n
行
+/pattern
在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c
從頂部清屏,然後顯示
-d
提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能
-l
忽略Ctrl+l
(換頁)字元
-p
通過清除視窗而不是滾屏來對文件進行換頁,與-c選項相似
-s
把連續的多個空行顯示為一行
-u
把文件內容中的下畫線去掉
操作命令:
Enter
向下n
行,需要定義。預設為1
行
Ctrl+F
向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B
返回上一屏
=
輸出當前行的行號
:f
輸出文件名和當前行的行號
V
調用vi
編輯器
!
命令, 調用Shell,並執行命令
q
退出more
less:less
命令也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大。less
的用法比起 more
更加的有彈性。在 more
的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less
時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看文件,更容易用來查看一個文件的內容!除此之外,在 less
裡頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。使用命令:less [參數] 文件
-b <緩衝區大小> 設置緩衝區的大小
-e 當文件顯示結束後,自動離開
-f 強迫打開特殊文件,例如外圍設備代號、目錄和二進位文件
-g 只標誌最後搜索的關鍵詞
-i 忽略搜索時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-Q 不使用警告音
-s 顯示連續空行為一行
-S 行過長時間將超出部分捨棄
-x <數字> 將“tab”鍵顯示為規定的數字空格
/字元串:向下搜索“字元串”的功能
?字元串:向上搜索“字元串”的功能
n:重覆前一個搜索(與 / 或 ? 有關)
N:反向重覆前一個搜索(與 / 或 ? 有關)
b 向後翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
附加備註:
全屏導航:
ctrl + F - 向前移動一屏
ctrl + B - 向後移動一屏
ctrl + D - 向前移動半屏
ctrl + U - 向後移動半屏
單行導航:
j - 向前移動一行
k - 向後移動一行
其它導航:
G - 移動到最後一行
g - 移動到第一行
q / ZZ - 退出 less 命令
其它有用的命令:
v - 使用配置的編輯器編輯當前文件
h - 顯示 less 的幫助文檔
&pattern - 僅顯示匹配模式的行,而不是整個文件
標記導航:
當使用 less 查看大文件時,可以在任何一個位置作標記,可以通過命令導航到標有特定標記的文本位置:
ma - 使用 a 標記文本的當前位置
‘a - 導航到標記 a 處
head:用於顯示文件開頭某個數量的文字區塊。使用命令:head [參數] [文件]
-q 隱藏文件名
-v 顯示文件名
-c<位元組> 顯示位元組數
-n<行數> 顯示的行數
tail:從指定點開始將文件寫到標準輸出。使用命令:tail [必要參數] [選擇參數] [文件]
-f
迴圈讀取
-q
不顯示處理信息
-v
顯示詳細的處理信息
-c
<數目> 顯示的位元組數
-n
<行數> 顯示行數
--pid=PID
與-f
合用,表示在進程ID
,PID
死掉之後結束。
-q
, --quiet
, --silent
從不輸出給出文件名的首部。
-s
, --sleep-interval=S
與-f
合用,表示在每次反覆的間隔休眠S秒
文件查找命令:
which:查看可執行文件的位置。在PATH
變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。使用命令:which 可執行文件名稱。
-n
- 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
-p
- 與-n
參數相同,但此處的包括了文件的路徑。
-w
- 指定輸出時欄位的寬度。
-V
- 顯示版本信息
whiereis:whereis
命令只能用於程式名的搜索,而且只搜索二進位文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。使用命令:whieris [-bmsu] [BMS -目錄名 -f] 文件名
-b
- 定位可執行文件。
-m
- 定位幫助文件。
-s
- 定位源代碼文件。
-u
- 搜索預設路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
-B
- 指定搜索可執行文件的路徑。
-M
- 指定搜索幫助文件的路徑。
-S
- 指定搜索源代碼文件的路徑。
locate:locate
讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,資料庫的建立都被放在 crontab 中自動執行。locate [選擇參數] [樣式]
-e
- 將排除在尋找的範圍之外。
-1
- 如果是1
。則啟動安全模式。在安全模式下,使用者不會看到許可權無法看到的檔案。這會始速度減慢,因為 locate
必須至實際的檔案系統中取得檔案的許可權資料。
-f
- 將特定的檔案系統排除在外,例如沒有到理要把 proc
檔案系統中的檔案放在資料庫中。
-q
安靜模式,不會顯示任何錯誤訊息。
-n
至多顯示 n
個輸出。
-r
使用正規運算式 做尋找的條件。
-o
指定資料庫存的名稱。
-d
指定資料庫的路徑
-h
顯示輔助訊息
-V
顯示程式的版本訊息
find:在文件樹中查找文件,並做出相應的處理。語法:find pathname -options [-print -exec -ok]
命令參數
pathname
- find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。-print
- find命令將匹配的文件輸出到標準輸出。-exec
- find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為’command’ { } \;,註意{ }和\;之間的空格。-ok
- 和-exec
的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
命令選項
-name
按照文件名查找文件。-perm
按照文件許可權來查找文件。-prune
使用這一選項可以使find
命令不在當前指定的目錄中查找,如果同時使用-depth
選項,那麼-prune
將被find
命令忽略。-user
按照文件屬主來查找文件。-group
按照文件所屬的組來查找文件。-mtime -n +n
按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find
命令還有-atime
和-ctime
選項,但它們都和-m time
選項。-nogroup
查找無有效所屬組的文件,即該文件所屬的組在/etc/groups
中不存在。-nouser
查找無有效屬主的文件,即該文件的屬主在/etc/passwd
中不存在。-newer file1 ! file2
查找更改時間比文件file1
新但比文件file2
舊的文件。-type
查找某一類型的文件,諸如:b
- 塊設備文件。d
- 目錄。c
- 字元設備文件。p
- 管道文件。l
- 符號鏈接文件。f
- 普通文件。-size n:[c]
查找文件長度為n
塊的文件,帶有c
時表示文件長度以位元組計。-depth
:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。-fstype
:查找位於某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab
中找到,該配置文件中包含了本系統中有關文件系統的信息。-mount
:在查找文件時不跨越文件系統mount
點。-follow
:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。-cpio
:對匹配的文件使用cpio
命令,將這些文件備份到磁帶設備中。
另外,下麵三個的區別:
-amin n
查找系統中最後N
分鐘訪問的文件- -
atime n
查找系統中最後n*24
小時訪問的文件 -cmin n
查找系統中最後N
分鐘被改變文件狀態的文件-ctime n
查找系統中最後n*24
小時被改變文件狀態的文件-mmin n
查找系統中最後N
分鐘被改變文件數據的文件-mtime n
查找系統中最後n*24
小時被改變文件數據的文件