Linux常用的命令可以分為以下幾類:安裝和登錄命令、文件處理命令、系統管理相關命令、網路操作命令、系統安全相關命令、其它命令。
安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統管理相關命令:df、top、free、quota、at、lp、adser、groupadd、kill、crontab。
網路操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux簡介
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX的多用戶、多任務、支持多線程和多CPU的操作系統。伴隨著互聯網的發展,Linux得到了來自全世界軟體愛好者、組織、公司的支持。
它除了在伺服器方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統的實現機制,而且可以根據自身的需要來修改完善Linux,使其最大化地適應用戶的需要。
Linux不僅系統性能穩定,而且是開源軟體。其核心防火牆組件性能高效、配置簡單,保證了系統的安全。在很多企業網路中,為了追求速度和安全,Linux不僅僅是被網路運維人員當作伺服器使用,甚至當作網路防火牆,這是Linux的一大亮點。
❷ linux常用命令
1.列出文件清單命令:ls
ls命令能夠列出當前目錄下的所有內容。ls 命令的執行方式為:
# ls [-選項] [文件名或者目錄名]
進入到Linux命令行中後,我們至少要知道當前所處的位置有哪些內容,這些信息就可以使用ls命令來獲得。
在Linux中,ls命令是最常使用的命令之一,因為在命令行下要隨時查看目錄內容。如果不加任何選項的話,ls命令僅列出當前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內容,可以使用下列命令:
# ls /etc
如果想要列出當前目錄下所有文件,則可以使用下列命令:
# ls -a
2、cat命令
功能:在標准輸出上顯示文件。
語法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 > file2
3、more命令
功能:在終端屏幕按屏顯示文本文件。
語法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c
4、less命令
less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在於less命令在顯示文件時允許用戶既
可以向前又可以向後翻閱文件。
5、head命令
功能:顯示指定文件的前若干行。預設設置為顯示10行
語法:head [-n] 文件
例子: head example.c
head -3 example.c
6、tail命令
功能:顯示指定文件的末尾若干行。預設設置為顯示10行
語法:tail [+ / - num ] [參數] 文件
+num 從第num行以後開始顯示。- num 從距文件尾num行處開始顯示。
例子: tail example.c
tail -4 example.c
7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,並通知用戶在什麼文件中搜索到與指定的模式匹配的字元串,並列印出所有包含該字元串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字元串,它不識別正則表達式,是快速搜索命令。
語法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項] [查找模式] [文件名1,文件名2,……]
fgrep [選項] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c
❸ Linux常用命令詳解 | find
find 命令的基本結構如下:
find 命令手冊 : man find
find 命令中的 -name 選項可以根據文件名稱進行檢索( 區分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個字元的文件
例3:查以大寫字母開頭的文件
例4:查以兩個小寫字母和兩個數字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項。
例1:如查找 /usr 下所有文件名以 .txt 結尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
例2:在當前目錄除aa之外的子目錄內搜索 txt文件
例3:在當前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時出現在結果中。可以使用 -type 選項指定文件類型。
-type 選項最常用的參數如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄。空文件即文件里沒有任何內容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當前的匹配條件進行 「反義」 (類似於 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為後綴的文件。可以使用以下命令:
也可以「翻轉」任何其他的篩選條件,如:檢索 /usr 下所有內容不為空的文件
為了檢索歸屬於特定用戶的文件或目錄,可以使用 -user 選項。
例:檢索根目錄下所有屬主為 starky 的文件
類似於 -user 選項, -group 選項則可以根據文件或目錄的 屬組 進行檢索。
有些時候,需要根據文件創建或修改的時間進行檢索。
Linux 系統中,與文件相關聯的時間參數有以下三種:
與此對應的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項允許用戶通過文件大小進行搜索(只適用於文件,目錄沒有大小……)。
表示文件大小的單位由以下字元組成:
另外,還可以使用 + 或 - 符號表示 大於 或 小於 當前條件。
檢索文件大小高於 1 GB 的文件
find 命令可以使用 -perm 選項以文件許可權為依據進行搜索。
9.1使用符號形式
例1:如需要檢索 /usr 目錄下許可權為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有許可權為 r-xr-xr-x (即系統中的所有用戶都只有讀寫許可權)的文件和目錄,可以使用以下命令:
很多時候,我們只想匹配文件許可權的一個 子集 。比如,檢索可以直接被任何用戶執行的文件,即只關心文件的執行許可權,而不用管其讀寫許可權是什麼。
上述的需求可以通過以下命令實現:
其中 a=x 前面的 / 符號即用來表示只匹配許可權的某個子集(執行許可權),而不用關心其他許可權的具體設置。
9.2使用數字形式
例如:搜索 /usr 目錄下許可權為 644 (即 rwxr-xr-x )的文件
find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結果數量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數。
例如:搜索時向下遞歸的層數最大為 3
在之前的例子中有出現多個搜索條件的 組合 以及對某個搜索條件的 反轉 。
實際上 find 命令支持 「and」 和 「or」 兩種邏輯運算,對應的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復雜的組合。
此外還可以使用 小括弧 對搜索條件進行 分組 。注意 find 命令中的小括弧常需要用 單引號 包裹起來。因小括弧在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
該命令等同於:
更復雜的組合形式如:
例4:在除dir0及子目錄以外的目錄下查找txt後綴文件
說明:-a 應該是and的縮寫,意思是邏輯運算符『與』(&&); -o應該是or的縮寫,意思是邏輯運算符『或』(||), -not 表示非.
命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,『與』邏輯表達式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個目錄以外的目錄下查找txt後綴文件並列印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,『與』邏輯表達式為假,則在當前目錄下查找所有txt後綴文件。
-delete 選項可以用來刪除搜索到的文件和目錄。
例如:刪除 home 目錄下所有的空目錄:
-exec 選項可以對搜索到的結果執行執行該參數所給出的shell命令。形式為 command {} ; ,注意{}與;之間有空格 。每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然後執行 -exec 後面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復制到移動存儲設備(假設路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括弧 ( {} )作為檢索到的文件的 佔位符 ,而分號( ; )作為命令結束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉義符 。
例2:查看當前目錄下的所有普通文件,並在 - exec 選項中使用 ls -l 命令將它們列出
例3:在多個文件中檢索某個指定的字元串。如在用戶主目錄下的所有文件中檢索字元串 hello ,可以使用如下命令:
創建 Gzip 格式的壓縮文件的命令為:
現在假設需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應為如下形式:
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發現一個音頻文件,都會再執行一次 -exec 選項後面的壓縮命令。導致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給後面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細信息(如許可權和大小等),可以直接使用 -ls 選項。
例如:瀏覽所有 1G 以上大小的文件的詳細信息
與exec作用相同,區別在於,在執行命令之前,都會給出提示,讓用戶確認是否執行
與 exec 作用相同 ,起承接作用。區別在於 |xargs 主要用於承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數大於2的文件或目錄
例3:查找含特定字元串的文件。查找當前目錄下含有"the string you want find…"字元串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現:
A Guide to the Linux 「Find」 Command
https://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html
https://blog.csdn.net/l_liangkk/article/details/81294260
https://blog.csdn.net/hetoto/article/details/84101745
http://c.biancheng.net/view/779.html
http://blog.chinaunix.net/uid-24648486-id-2998767
https://www.runoob.com/linux/linux-comm-find.html
https://www.jb51.net/article/147275.htm
❹ linux常用命令有哪些
linux 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的當前工作目錄(文件夾)的路徑。該命令將返回一個絕對(完整)路徑,該路徑基本上是所有以 / 開頭的目錄的路徑。絕對路徑的一個示例是 /home/username。
cd 命令
要瀏覽 Linux 文件和目錄,請使用 cd 命令。根據您所在的當前工作目錄,它需要目錄的完整路徑或名稱。假設您位於 /home/username / Documents 中,並且想要轉到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然後輸入目錄的絕對路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導航:cd ..(帶有兩個點)將一個目錄向上移動 cd 直接轉到主文件夾 cd-(帶連字元)移動到上一個目錄附帶說明一下,Linux 的 shell 是區分大小寫的。因此,您必須准確輸入名稱的目錄。
ls 命令
LS 命令用於查看目錄的內容。默認情況下,此命令將顯示當前工作目錄的內容。如果要查看其他目錄的內容,請鍵入 ls,然後鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細信息,例如許可權,大小,所有者等。
cat 命令
cat(連接的縮寫)是 Linux 中最常用的命令之一。它用於在標准輸出(sdout)上列出文件的內容。要運行此命令,請鍵入 cat,然後輸入文件名及其擴展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat> filename 創建一個新文件 cat filename1 filename2> filename3 連接兩個文件(1 和 2),並將它們的輸出存儲在新文件中(3)將文件轉換為大寫或小寫使用,cat filename | tr a-z A-Z >output.txt
cp 命令
使用 cp 命令將文件從當前目錄復制到另一個目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創建一個 Scene.jpg 副本(來自當前目錄)。
mv 命令
mv 命令的主要用途是移動文件,盡管它也可以用於重命名文件。mv 中的參數類似於 cp 命令。您需要輸入 mv,文件名和目標目錄。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令創建一個新目錄 - 如果鍵入 mkdir Music,它將創建一個名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個目錄中生成新目錄,請使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級)選項在兩個現有目錄之間創建一個目錄。例如,mkdir -p Music / 2022 / Newfile 將創建新的 「2022」 文件。
rmdir 命令
如果需要刪除目錄,請使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。
rm 命令
該 RM 命令用於刪除目錄以及其中的內容。如果只想刪除目錄(作為 rmdir 的替代方法),請使用 rm -r。注意:使用此命令時要格外小心,並仔細檢查您所在的目錄。這將刪除所有內容,並且沒有撤消操作。
touch 命令
該觸摸命令允許您創建通過 Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創建一個名為 Web 的 HTML 文件。
locate 命令
您可以使用此命令來定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數與該命令一起使用將使其不區分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個或多個單詞的文件,請使用星號(*)。例如,locate -i school * note 命令將搜索包含單詞 「school」 和 「 note」 的任何文件,無論它是大寫還是小寫。
find 命令
在類似定位命令,使用 查找也搜索文件和目錄。區別在於,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時的其他變化 是:要查找當前目錄中使用的文件,請使用 find . -name notes.txt 要查找目錄,請使用 /-type d -name notes. txt13. grep 命令無疑對日常使用很有幫助的另一個基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說明這一點,grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。
sudo 命令
該命令是 「SuperUser Do」 的縮寫,使您能夠執行需要管理或超級用戶許可權的任務。但是,建議不要將此命令用於日常使用,因為如果您做錯了一些事情,很容易發生錯誤。
df 命令
使用 df 命令可獲取有關系統磁碟空間使用情況的報告,以百分比和 KB 表示。如果要以兆位元組為單位查看報告,請輸入 df -m。
命令
如果要檢查文件或目錄佔用了多少空間,答案是 (磁碟使用情況)命令。但是,磁碟使用情況摘要將顯示磁碟塊號,而不是通常的大小格式。如果要以位元組,千位元組和兆位元組為單位查看它,請在命令行中添加 - h 參數。
head 命令
所述頭命令用於查看任何文本文件的第一行。默認情況下,它將顯示前十行,但是您可以根據自己的喜好更改此數字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。
tail 命令
該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最後十行,而不是顯示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差異的縮寫,diff 命令逐行比較兩個文件的內容。分析文件後,它將輸出不匹配的行。程序員在需要進行程序更改時經常使用此命令,而不是重寫整個源代碼。此命令最簡單的形式是 diff file1.ext file2.ext
tar 命令
該 tar 命令是最常用的命令歸檔多個文件到一個壓縮包。類似於 zip 格式常見的 Linux 文件格式,壓縮是可選的。該命令具有很長的功能列表,非常復雜,例如將新文件添加到現有檔案中,列出檔案內容,從檔案中提取內容等等。查看一些實際示例,以了解有關其他功能的更多信息。
chmod 命令
chmod 是另一個 Linux 命令,用於更改文件和目錄的讀取,寫入和執行許可權。由於此命令相當復雜,因此您可以閱讀完整的教程以正確執行它。
chown 命令
在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權轉讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。
Jobs 命令
jobs 命令將顯示所有當前作業及其狀態。作業基本上是由 Shell 啟動的進程。
kill 命令
如果您的程序無響應,則可以使用 kill 命令手動終止它。它將向運行異常的應用發送特定信號,並指示該應用自行終止。您總共可以使用 64 個信號,但是人們通常只使用兩個信號:SIGTERM(15) — 請求程序停止運行,並給它一些時間來保存其所有進度。如果在輸入 kill 命令時未指定信號,則將使用此信號。SIGKILL(9) - 強製程序立即停止。未保存的進度將丟失。除了知道信號之外,您還需要知道要殺死的程序的進程標識號(PID)。如果您不知道 PID,只需運行命令 ps ux。在知道您要使用什麼信號以及程序的 PID 之後,輸入以下語法:kill [signal option] PID.
ping 命令
使用 ping 命令檢查與伺服器的連接狀態。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 並測量響應時間。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然後輸入下載鏈接即可。
uname 命令
該 UNAME 命令,短期對於 Unix 名,將列印您的 Linux 系統,如計算機名稱的詳細信息,操作系統,內核,等等。
top 命令
作為與 Windows 中的任務管理器等效的終端,top 命令將顯示正在運行的進程的列表以及每個進程使用的 CPU 數量。監視系統資源使用情況非常有用,尤其是知道哪個進程由於消耗太多資源而需要終止時。
history 命令
當您使用 Linux 一段時間後,您會很快注意到每天可以運行數百個命令。因此,如果您想查看之前輸入的命令,運行歷史記錄命令特別有用。
man 命令
對某些 Linux 命令的功能感到困惑嗎?不用擔心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學習如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動指令。
echo 命令
此命令用於將一些數據移到文件中。例如,如果要將文本 「Hello,我的名字叫 John」 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John >> name.txt
zip,unzip 命令
使用 zip 命令將文件壓縮到 zip 歸檔文件中,然後使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。
hostname 命令
如果您想知道主機 / 網路的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網路的 IP 地址。
useradd,userdel 命令
❺ linux命令主要有哪幾種
文件管理命令
cat chattr chgrp chmod chown cksum cmp
diff diffstat file find git gitview indent
cut ln less locate isattr mattrib mc
mdel mdir mktemp more mmove mread mren
mtools mtoolstest mv od paste patch rcp
rm slocate split tee tmpwatch touch umask
which cp in m mshowfat rhmask whereis
目錄磁碟管理命令
cd df dirs edquota eject
mcd mdeltree m mkdir mlabel mmd
mrd mzip pwd quota mount mmount
rmdir rmt stat tree umount ls
quotacheck quotaoff lndir repquota quotaon
文檔編輯命令
col colrm comm csplit ed egrep ex fgrep
fmt fold grep ispell jed joe join look
mtype pico rgrep sed sort spell tr expr
uniq wc
文件傳輸列印命令
lprm lpr lpq lpd bye ftp
uuto uupick uucp uucico tftp ncftp
ftpshut ftpwho ftpcount
磁碟維護命令
badblocks cfdisk dd e2fsck ext2ed
fsck fsck fsconf fdformat hdparm
mformat mkbootdisk mkdosfs mke2fs mkfs.ext2
mkfs.msdos mkinitrd mkisofts mkswap mpartition
swapon symlinks sync mbadblocks mkfs
fsck.ext2 fdisk losetup mkfs sfdisk
swapoff
網路通信命令
apachectl arpwatch dip getty mingetty uux
telnet uulog uustat ppp-off netconfig nc
httpd ifconfig minicom mesg dnsconf wall
netstat ping pppstats samba setserial talk
traceroute tty newaliases uuname netconf write
statserial efax pppsetup tcpmp ytalk cu
smbd testparm smbd smbclient shapecfg
系統管理命令
adser chfn useradd date exit finger
fwhois sleep suspend groupdel groupmod halt
kill last lastb login logname logout
ps nice procinfo top pstree reboot
rlogin rsh sliplogin screen shutdown rwho
sudo gitps swatch tload logrotate kill
uname chsh userconf userdel usermod vlock
who whoami whois newgrp renice su
skill w id free
系統設置命令
reset clear alias dircolors aumix bind
chroot clock crontab declare depmod dmesg
enable eval export pwunconv grpconv rpm
insmod kbdconfig lilo liloconfig lsmod minfo
set modprobe ntsysv moouseconfig passwd pwconv
rdate resize rmmod grpunconv modinfo time
setup sndconfig setenv setconsole timeconfig ulimit
unset chkconfig apmd hwclock mkkickstart fbset
unalias SVGAText Mode
備份壓縮命令
ar bunzip2 bzip2 bzip2recover gunzip unarj
compress cpio mp uuencode gzexe gzip
lha restore tar uudecode unzip zip
zipinfo
設備管理命令
setleds loadkeys rdev mpkeys MAKEDEV
❻ Linux 命令行展開介紹及示例
在Linux bash中可以使用命令行展開特性一步完成需要分開成多步完成的操作,達到事半功倍的效果。在Linux指令參數位置使用"{}" 將相應的參數括起來,括弧中的參數以逗號分隔,然後bash在執行這一指令時會自動將括弧中的內容進行展開。
示例1:
同時創建多個目錄,在/tmp目錄下創建a_c,a_d,b_c,b_d等目錄,只需要在命令行中執行如下命令即可,無須單個創建:
執行結果如下:
示例2:
需要在/tmp/mylinux 目錄下創建如下目錄樹。
創建命令如下:
執行結果如下:
在這里可以使用指令tree來查看目錄的層級結構,以更直觀的方式將目錄樹顯示出來:
❼ Linux文件系統操作命令
Linux文件系統操作命令大全
Linux命令有很多,那麼Linux文件系統操作命令又有哪些呢?下面我為你介紹!
文件系統操作命令:
1. cat:可以顯示文件的內容(經常和more搭配使用),或將多個文件合並成一個文件。
2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變該文件的所屬組。
3. chmod:用於改變文件或目錄的訪問許可權,該命令有兩種用法:一種是使用圖形化的方法,另一種是數字設置法。
4. chown:用來將指定用戶或組為特定的所有者。用戶可以設置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變許可權的文件列表,文件名支持通配符。
5. clear:用來清除終端屏幕。
6. cmp:用來比較兩個文件的大小。
7. cp:()可以將文件或目錄復制到其他目錄中,就如同Dos下的命令一樣,功能非常強大。在使用cp命令時,只需要指定源文件名或目標目錄即可。
8. cut:用來移除文件的部分內容。
9. diff:用來找出兩個文件的不同之處。
10. : 用來顯示磁碟的剩餘空間的大小。
11. file:用來顯示文件的類型。
12. find:用來在目錄中搜索文件,並執行指定的操作。
13. head:只查看文件的頭幾行內容,而不必瀏覽整個文件。
14. ln:可以在文件之間創建鏈接,實際上是給某個文件指定一個訪問它的別名。
15. less:用法與more類似,可以查看超過一屏的文件內容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動顯示文件,要結束瀏覽,只要在less的提示符“:”後按Q即可。
16. locate:可用於查找文件,且比find命令的搜索速度快。
17. ls(list):用來顯示當前目錄中的文件和子目錄列表。
18. mkdir(make directory):建立子目錄。
19. more:用於顯示內容超過一屏的文件,為了避免文件內容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏時暫停,在按下任意鍵的時候繼續顯示下一屏的內容。
20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。
21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。
22. pico:可指定文本的編輯方式。
23. pwd(print working directory):可顯示用戶當前所在的目錄。
24. rm:用來刪除系統中過時或無用的文件,可以刪除目錄中的文件或目錄本身,對於鏈接文件,原有文件保持不變。
25. sort:將文本文件自動分類。
26. stat:用於顯示文件或文件系統的狀態。
27. Strings:顯示文件中要列印的字元串。
28. tail:輸出文件的結尾。
29. touch:改變文件的時間戳。
30. umask:用於啟動bash shell。
31. uniq:移除已分類文件中的重復文本行。
32. vi:啟動vi文本編輯器。
33. wc:顯示文件中位元組、片語合文本行的數目。
34. whereis:查找特定目錄下的原始程序,二進製程序或用戶手冊等文件的位置。
35. man:如果用戶對某個命令想了解更詳細的話,可使用此命令。
36. dd:復制一個文件。
37. df:查看一個文件系統的磁碟空間使用情況。
38. edquoat:設置用戶與用戶組的磁碟空間限制,即Windows系統中的配額。
39. fdformat:格式化軟盤。
40. fdisk:執行Linux下的`磁碟分區。
41. mkfs:建立一個Linux文件系統。
42. mkswap:創建一個Linux交換分區。
43. mount:掛載一個文件系統。
44. quota:限制和顯示用戶可用的磁碟空間。
45. swapon,swapoff:啟用或取消設備和文件的交換頁。
46. quotaon,quotaoff:啟用或取消quota限制。
47. umount:取消文件系統的裝備。
系統管理命令
1. finger:查詢用戶信息,也能查看默認的用戶環境。
2. ftp:標準的文件傳輸協議的用戶介面,是在網路上傳輸文件最簡單有效的方法。
3. host:用於DNS查詢。
4. hostname:用於顯示或設置系統的主機名。
5. ifconfig:用於配置網卡介面。(可以使用down或up參數來禁用或啟用某個網卡介面)
6. mail:發送和接收郵件。
7. netstat:顯示網路連接、路由表和網路介面信息,用戶可以知道目前那些網路連接正在運行。
8. ping:此命令用於測試本計算機和網路上其它的計算機是否相連。
9. rlogin:遠程登陸命令,該命令與telnet命令很相似,允許用戶啟動遠程系統的交互會話。
10. rcp:rcp(remote file )命令是遠程文件復制命令,該命令用於在計算機之間復制文件,有兩中格式,一種格式用於文件動文件的復制,另一種用於把文件或目錄復制到其他文件目錄中。
11. route:此命令用於顯示或設置IP路由表。
12. tcpmp:此命令用於測試網路的通信量。
13. talk:此命令可用於事項網路用戶的適時交談,但是必須將雙方系統的信息加入各自的/etc/hosts文件中,以相互識別。
14. telnet:此命令用於通過網路登陸遠程計算機,如同操作本地計算機一樣。
15. wall:wall(write all)命令可以用於發送消息給登陸本機的用戶。在發送消息時,可直接輸入要發送的消息,也可以把文件當成消息發送。
16. wget:此命令用於Linux環境下從Internet上下載文件,支持http和ftp協議,支持代理伺服器和斷點連續傳功能,能夠遞歸遠程主機上的目錄,查找合乎要求的的文件並下載到本地硬碟上。Wget命令可以在後台運行,截獲並忽略hantfup信號,因此用戶退出登陸後,仍可繼續運行。
17. &,bg:&,bg命令是後台執行命令,有時候用戶執行的程序可能要話很多時間,如果放在前台執行,可能無法繼續其他操作,最好將他放在後台執行。
18. fg:fg命令是前台執行命令,如果用戶有程序在後台運行,可以通過fg命令將程序從後台移到前台執行。
19. jobs:此命令用於顯示正在後台執行的任務清單。Bg,fg,jobs命令都屬於bash命令,
20. kill:此命令用於終止一個程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用於顯示程序的狀態。
22. top:此命令用於顯示當前CPU進程。
23. at batch atp atrm:這些命令用於排序,檢查或刪除後台運行的任務。
Linux與用戶有關的命令:
1. passwd命令:更改用戶口令。
格式:passwd [用戶名]
2. su命令:可以讓一個普通用戶擁有超級用戶或其他用戶的許可權,也可以讓超級擁護以普通用戶的身份做一些事情。
格式:su[選項][?][使用者賬號]
說明:若沒有指定的使用者賬號,則系統預設值為超級用戶root。該命令中個選項的含義分別為:
-c:執行一個命令後就結束。
-:加了這個減號的目的是使環境變數和欲轉換的用戶相同。
-m:保留環境變數不變。
Linux系統管理命令:
1. wall命令:對全部以登陸的用戶發送信息。
2. write命令:向系統中某一用戶發送信息。
格式:write 用戶賬號 [終端名稱]
3. mesg命令:設定是否允許其他用戶用write命令給自己發送信息。
如果允許輸入命令:mesg y
如果不允許輸入命令:mesg n
4. sync命令:在關閉Linux系統是使用的。Sync是強制把內存中的數據寫回硬碟,以免數據丟失。
5. shutdown命令:可以安全的關閉或重啟Linux它在系統關閉之前給系統上的所有登陸用戶提示一條警告信息。
格式:shutdown [選項][時間][警告信息]
命令中選項的含義:
-k:並不真正關機,而只是發出警告信息給所有用戶。
-r:關機後立即重新啟動。
-h:關機後不重新啟動。
-f快速關機,重新啟動時跳過fsck。
-n:快速關機,不經過init程序。
-c:取消一個已經運行的shutdown。
6. free命令:查看當前系統內存的使用情況,它顯示系統中剩餘及已用的物理內存和交換內存,以及共享內存和被核心使用的緩沖區。
格式:free [-b | -k |-m]
命令中各個選項的含義:
-b:以位元組為單位顯示。
-k:以K位元組為單位顯示。
-m:以兆位元組為單位顯示。
7. uptime命令:顯示系統已經運行了多長時間,它依次顯示下列信息:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。
8. df命令:檢查文件系統的磁碟空間佔用情況。
格式:df [選項]
說明:df命令可顯示所有文件系統對I節點和磁碟塊的使用情況。
命令中各個選項的含義:
-a:顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統。
-k:以k位元組為單位顯示。
-i:顯示i節點信息,而不是磁碟塊。
-t:顯示各指定類型的文件系統的磁碟空間使用情況。
-x:列出不是某一指定類型文件系統的磁碟空間使用情況。
-T:顯示文件系統類型。
9. 命令:顯示磁碟空間的使用情況。統計目錄(或文件)所佔磁碟的大小。
格式: [選項] [Names…]
說明:該命令逐級進入指定目錄的每一個子目錄並顯示該目錄佔用文件系統數據塊(1024位元組)的情況。若沒有給出Names,則對當前目錄進行統計。
命令中各個選項的含義:
-s:對每個Names參數只給出佔用的數據塊總數。
-a:遞歸的顯示指定目錄中各文件及子孫目錄中個文件佔用的數據塊數。若既不指定-s,也不指定-a,則顯示Names中的每一個目錄及其中的各子目錄所佔的磁碟塊數。
-b:以位元組為單位列出磁碟空間使用情況(系統預設以k位元組為單位)。
-k:以1024位元組為單位列出磁碟空間的使用情況。
-c:最後再加上一個總計(系統預設設置)。
-l:計算所有的文件大小,對硬鏈接文件,則計算多次。
-x:跳過在不同文件系統上的目錄不予統計。
10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝過程中可以進行格式轉換。
格式:dd [選項]
命令中各個選項的含義:
if = 輸入文件(或設備名稱)。
of = 輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes位元組,及讀入緩沖區的位元組數。
skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes位元組,及寫入緩沖區的位元組數。
bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置ibs和obs).
cbs = byte 一次轉換bytes位元組。
count = blocks 只拷貝輸入的block塊。
conv = ASCⅡ 把EBCDIC碼轉換為ASCⅡ。
conv = ebcdic 把ASCⅡ碼轉換為EBCDIC碼。
conv = ibm ibm把ASCⅡ碼轉換為alternate EBCDIC碼。
conv = block 把變動位轉換成固定字元。
conv = ublock 把固定位轉換成變動位。
conv = ucase 把字母由小寫轉換為大寫。
conv = lcase 把字母由大寫轉換為小寫。
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入位元組。
conv = noerror 出錯是不停止處理。
conv = sync 把每個輸入記錄的大小都調到ibs的大小(用NUL填充)。
11. fdformat命令:低級格式化軟盤。
格式:format [-n] device
說明:-n 軟盤格式化後不作檢驗。
12. echo命令:在顯示器上顯示一段文字,一般起到一個提示作用。
格式:echo [-n] 字元串
13. cal命令:顯示某年某月的日歷。
格式:cal [選項] [月 [年]]
命令中各個選項的含義:
-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。
-y:顯示出整年的日歷。
14. date命令:顯示和設置系統日期和時間。
格式:date [選項] 顯示時間格式 (以 + 開頭,後面接格式)
date [選項] 設置時間格式
命令中各個選項的含義:
15. clear命令:清除屏幕上的信息。
Vi的基本命令:
1. 移動游標:
Ctrl + b:上滾一屏
Ctrl + f:下滾一屏
Ctrl + d:下滾半屏
Ctrl + u:上滾半屏
G: 移到文件最後
W:移到下個字的開頭
B:跳至上個字的開頭
2. 刪除
x:刪除當前游標所在後面一個字元
#x:刪除當前游標所在後面#個字元。例如,5x表示刪除5個字元。
dd:刪除當前游標所在行
#dd:刪除當前游標所在後面#行。例如,5dd表示刪除字游標算起的5行。
:l,#d:例如,:1,12d表示刪除自行1至行12的文字
X:刪當前游標的左字元
D:刪至行尾
3. 更改
cw:更改游標處的字到此單字的字尾處
c#w:例如,c3w表示更改3個字
cc:修改行
c:替換到行尾
4. 取代
r:取代游標處的字元
R:取代字元直到按ESC為止
5. 復制
yw:拷貝游標處的字到字尾只緩沖區
P:把緩沖區的資料貼上來
yy:拷貝游標所在之行至緩沖區
#yy:例如:5yy,拷貝游標所在之處以下5行至緩沖區
Linux文件的復制,刪除和移動命令
1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強大。
語法:cp[選項]源文件或目錄,目標文件或目錄
說明該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
該命令的各項選項含義如下:
-a:該選項通常在拷貝目錄是使用。他保留鏈接,文件屬性,並遞歸地拷貝目錄,其作用等於dpr選項的組合。
-d:拷貝是保留鏈接
-f:刪除已經存在的目標文件而不提示。
-I:和 f選項相反,在覆蓋目標文件之前將給出提示要求擁護確認。回答y時目標文件將被覆蓋,是互動式拷貝。
-p:此時cp除復制源文件的內容外,還將把其修改時間和反問許可權也復制到新文件中。
-r;若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
-L:不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp 命令拷貝文件後,這個文件酒會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用I選項。
2.mv命令:用戶可以使用mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令如同MS-DOS下的ren 和 move 的組合。
語法:mv[選項]源文件或目錄 目標文件或目錄。
說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參加參數可以有很多個,mv命令將個參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項的含義為:
-I:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。在mv操作要覆蓋某已有的目標文件是不給任何指示,指定此選項後,I選項將不再起作用。
如果所給目標文件(不是目錄)已存在,此時該文件的內容將後備新文件覆蓋,為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用I選項。
3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個目錄中的一個或多個文件或目錄,他也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是斷開了鏈接,源文件保持不變。
Rm命令的一般形式為:
Rm [選項]文件……
如果沒有使用-r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
-f:忽略不存在的文件,從不給出提示。
-r:指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-I:進行互動式刪除。
使用rm命令要小心。因為一旦文件被刪除,他是不能被恢復的。為了防止這種情況的發生可以使用I選項倆逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
Linux目錄的創建與刪除命令:
1. mkdir命令
功能:創建一個目錄(類似MS-DOS下的md命令)。
語法:mkdir[選項]dir-name
說明:該命令創建由dir-name命名的目錄。要求創建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫許可權,並且dirname不能是當前目錄中已有的目錄或文件名稱。
命令中個選項的含義為:
-m:對新建目錄設置存取許可權。也可以用chmod命令設置。
-p:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
2. rmdir命令
功能:刪除空目錄。
語法:rmdir[選項]dir-name。/
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險性。刪除某目錄時也必須具有對父目錄的、寫許可權。
命令中個選項的含義為:
-p遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標准輸出上顯示相應的信息。
3. cd命令
功能:改變工作目錄。
語法:cd[directory]
說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執行和讀許可權。
該命令可以使用通配符(如”*,_”這樣的通配符號)。
4. pwd命令
在Linux層次結構中,用戶可以在被授權的任意目錄下利用mkdir命令創建新目錄,也可以利用cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用戶目前處於哪一個目錄中。想要知道當前所處的目錄,可以用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當前工作目錄的絕對路徑。
5. ls命令
ls是list的簡寫,其功能為列出目錄的內容。這是擁護最常用的一個命令之一,因為用戶需要不時地查看某個目錄的內容,該命令類似於DOS下的dir命令
語法:ls[選項][目錄或是文件]
對於每個目錄,該命令將列出其中的所有子目錄與文件。對於每個文件,ls將輸出其文件名以及所要求的其他信息。默認情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時,就顯示當前目錄的信息。
命令中各個選項的含義:
-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。
-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.
-b:對文件名中的不可顯示字元用把禁止
linux中所有設備都是以文件的形式顯示
linux下文件的後綴名無實際意義
命令
pwd 顯示路徑
man +命令 列出操作說明
ls -l/-help列出 文件目錄
cd / 目錄做實驗
安裝步驟 configure make make install?
rm -r dl 遞歸刪除目錄
rm -rf 刪除所有目錄
rm -f 加文件名 刪除文件
rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多
touch 加名字 創建新文件
cp 復制 mv 移動 rm 刪除
vi 文本編輯器 輸入a將從命令格式變成輸入格式
head tail 查看前面和後面
find 加位置 加文件名 查找
echo $PATH 查詢路徑
useradd 加名字 添加用戶
userdel 加名字 刪除用戶
su 加用戶名 切換用戶
chmod +x/-x 加文件名 修改文件許可權
chmod 755 加文件名 改變許可權在安裝程序時
grep 加文本字元 加在那個文件 查找字元存在那行
fdisk -l 查看磁碟信息
命令1|命令2|命令三... 管道
ps -ef查看進程
ifconfig linux查看ip
重定向
linux和其它機器之間共享文件vsftp Windows和linux傳輸文件15-17
putty遠程登錄軟體ssh
gzip 壓縮和解壓縮 -d解壓 21
service iptables off防火牆關閉
tar -xvf 第二層解壓縮
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(註:tar是打包,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz ./DirName
壓縮:tar zcvf FileName.tar.gz DirName
.tar.bz2
解壓:tar xjf FileName.tar.bz2 ./DirName
壓縮:tar cjf FileName.tar.bz2 DirName
rpm -ivh 加.rpm文件 安裝
安裝sudo apt-get install 軟體名
;❽ Linux簡要命令
所有命令的參數都是使用空格分隔的,例如 ls -l 。在這里ls即為命令名, -l 為此命令的參數,在 ls 與 -l 之間有一個空格,但是在 -l 內部不能有空格。
由於Linux繼承於Unix,而Unix操作系統在當初設計的時候,鍵盤並不可靠,而且敲鍵盤比較費勁(比如容易卡住),因此大部分命令都非常簡短,一般是完整的英文單詞去掉母音字母(aeiou)後的縮寫,這是一個歷史問題。
整個操作系統的磁碟都被劃分為很多個目錄(directory)或稱文件夾(folder),還有文件(file)。每個目錄下還可以有子目錄(sub direcotory)與文件,這樣就形成了一個樹狀結構,樹根為 / ,被稱為根目錄(root directory)。
在 任何時候 ,你都有一個 當前目錄 (Working Directory),你所有的操作都是相對於當前目錄做出的,以當前目錄為基準的目錄名或者文件名叫做相對目錄。例如若你的當前目錄是/home/alex,在/home/alex目錄下有一個叫Public的子目錄,還有一個叫log.txt的文件,則Public與log.txt就是相對目錄名與相對文件名。
每個目錄與文件都有一個全路徑(full path)名,這個全路徑以/開頭,遍歷整個目錄,直到最終的目錄名或者文件名為止。例如在Linux中,/下有etc、home、usr、lib等子目錄,而home目錄下有alex目錄,alex目錄下有Public目錄。則在這里Public的全路徑名就是 /home/alex/Public ,注意在這里必須大小寫一致。
當然也有可能在其它的名叫Public的目錄或者文件,但是它們的全路徑肯定是不一樣的。就像在中國有一個叫Alex的人,在美國也有一個叫Alex的人,他們可以分別稱為中國的Alex與美國的Alex,這就是他們的全路徑 ;)。全路徑又叫絕對路徑(absolute path)。
在Linux里,每個用戶都有一個家目錄(home directory),一般情況下用戶的家目錄就是/home目錄下相應的用戶名,例如alex用戶的家目錄就是/home/alex。
大部分文件都有擴展名(extension name),擴展名即為文件名最後一個點號(.)後面的文字,擴展名一般都表示了文件的類型。例如在log.txt這個文件名中,txt是擴展名,表示這個文件是一個文本文件(TeXT file),而文本文件一般都是可以直接查看內容的。而在house.1.jpg這個文件名中,其擴展名為jpg,表示這個文件是一個JPG格式的圖形文件,而圖形文件一般都是需要使用圖形軟體打開才能看到其內容的。
pwd 是Pring Working Directory的縮寫,此命令的作用是列印(print)當前的(working)目錄(directory)的全路徑名。
當你打開終端或者切換目錄之後,你最好運行一下 pwd 命令,確認當前的目錄是不是你想要切換的目錄。
pwd 命令一般不需要參數。
ls 是LiSt的縮寫,此命令的作用是列舉目錄下的文件與子目錄。
當你不帶參數運行 ls 命令時,此命令將列舉出當前目錄下的文件與子目錄的名稱。
當你加上-l參數運行 ls 命令時,此命令將列舉出當前目錄下的文件與子目錄的名稱,以及它們的修改時間、大小等信息。
你也可以使用 ls 命令列舉其它目錄下的文件與子目錄的名稱,例如,運行 ls / 即可列舉出根目錄下的文件與子目錄名,運行 ls -l / 即可列舉出根目錄下的文件與子目錄名,以及它們的修改時間、大小等信息。
cd 是Change Directory的縮寫,此命令的作用是切換當前的工作目錄。
例如,運行 cd /home/alex 將把當前目錄切換為 /home/alex 。當然,cd後面的參數也可以是相對目錄。例如若當前目錄為 /home/alex ,而 /home/alex 目錄下有一個目錄叫Public,則運行 cd Public 則會將當前目錄變為 /home/alex/Public 。
如果cd命令後面不接任何參數,則將把當前目錄設置為用戶的家目錄。
cp 是CoPy的縮寫,此命令的作用是復制文件或者文件夾。
例如,運行 cp 1.txt 2.txt 將把當前目錄下的 1.txt 文件復製成 2.txt 文件。運行 cp 1.txt /tmp/2.txt 將把當前目錄下的 1.txt 復製成 /tmp/2.txt 文件,運行 cp 1.txt /home/alex/ 將把 1.txt 文件復制到 /home/alex/ 目錄下。
rm 是ReMove的縮寫,此命令的作用是刪除文件或者文件夾。
例如,運行 rm 2.txt 將刪除當前目錄下的 2.txt 文件,運行 rm /tmp/2.txt 將刪除 /tmp/2.txt 文件。
你也可以使用 rm 來刪除目錄,此時需要帶上-R參數(recursive,即遞歸的意思),例如 rm -R /tmp/abc 將刪除整個 /tmp/abc 目錄。
刪除時一般都會詢問你讓你確認是否要刪除,如果你不需要被提問確認,可以加上-f參數,例如 rm -f /tmp/1.txt 。
mv 是MoVe的縮寫,此命令的作用是移動文件或者文件夾,或說是為文件或者文件夾改名。注意,一旦移動成功,則原來的文件或者文件夾就不存在了。
例如,運行 mv 1.txt 2.txt 將把當前目錄下的 1.txt 改名為 2.txt ,運行 mv 1.txt /tmp/2.txt 將把當前目錄下的 1.txt 移動成為 /tmp/2.txt 文件。
mkdir 是MaKe DIRectory的縮寫,此命令的作用是創建目錄。
例如 mkdir abc 將在當前目錄下創建一個名為 abc 的目錄, mkdir /tmp/xyz123 將在 /tmp 目錄下創建一個名為 xyz123 的目錄。
mkdir 可以帶-p參數,這樣即可同時創建多層目錄,例如 mkdir -p a/b/c/123 將在當前目錄下創建a目錄,在a目錄下創建b目錄,在b目錄下創建c目錄,在c目錄下創建123目錄。
在Linux下還有幾個特殊的目錄,它們分別是:
有一個特殊的符號表示文件名匹配,即 * 。例如 cp *.txt /tmp/ 將把當前目錄下的以 .txt 結尾的文件名都復制到 /tmp/ 目錄下, ls a*.txt 將列舉出當前目錄下所有以 a 開頭,以 .txt 結尾的文件名與目錄, rm /tmp/1*log 將刪除 /tmp 目錄下所有文件名以 1 開頭,以 log 結尾的文件。
所有以 . 開頭的文件與目錄都表示是隱藏文件 / 目錄,例如 .vimrc ,例如 .. ,在 ls 時一般是看不到這些文件與目錄的,如果想要看到,需要使用 ls 的 -a 參數,例如 ls -al 。
Linux下有大量命令/軟體,在此我們僅列舉幾個可能會用到的,可以在使用過程中慢慢熟悉。
❾ Linux find 命令詳解
find 命令的基本結構如下:
find [paths] [expression] [actions]
find 命令接受一個或多個 路徑 ( paths )作為搜索范圍,並在該路徑下 遞歸 地搜索。即檢索完指定的目錄後,還會對該目錄下的子目錄進行檢索,以及子目錄下的子目錄。。。直到到達目錄樹底部。
默認情況下(不帶任何搜索條件),find 命令會返回指定目錄下的 所有文件 ,所以常常需要通過特定的 expression 對結果進行 篩選 。
find 命令默認的 action 是將所有檢索結果列印至標准輸出。可以通過自定義 action ,讓 find 命令對搜索到的結果執行特定的操作。
這里先不做詳細解釋,簡單地測試下 find 命令:
find 命令中的 -name 選項可以根據文件名稱進行檢索( 區分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
find /usr -name '*.txt' 查找 /usr 目錄下所有文件名以 .txt 結尾的文件
find /usr -name '????' 查找 /usr 目錄下所有文件名剛好為 4 個字元的文件
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項。
如查找 /usr 下所有文件名以 .txt 結尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
find /usr -path '*/src/*.txt'
如果只想搜索得到文件 或 目錄,即不想它們同時出現在結果中。可以使用 -type 選項指定文件類型。
-type 選項最常用的參數如下:
find /usr -type d -name 'python*' 檢索 /usr 下所有文件名以 python 開頭的 目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄。空文件即文件里沒有任何內容,空目錄即目錄中沒有任何文件或子目錄。
find ~ -type d -empty 檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當前的匹配條件進行 「反義」 (類似於 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為後綴的文件。可以使用以下命令:
find /usr -type f ! -name '*.txt'
也可以「翻轉」任何其他的篩選條件,如:
find /usr -type f ! -empty 檢索 /usr 下所有內容不為空的文件
為了檢索歸屬於特定用戶的文件或目錄,可以使用 -user 選項。
find / -type f -user starky 檢索根目錄下所有屬主為 starky 的文件
類似於 -user 選項, -group 選項則可以根據文件或目錄的 屬組 進行檢索。
有些時候,需要根據文件創建或修改的時間進行檢索。
Linux 系統中,與文件相關聯的時間參數有以下三種:
與此對應的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規則:
find /usr -type f -mtime 2 檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項:
find /usr -type f -mtime +50 -mtime -100 檢索 /usr 下 50 到 100 天之前修改過的文件
find /usr -type f -mtime 2 -amin 5 檢索 /usr 下兩天前被修改過且 5 分鍾前又讀取過的文件
-size 選項允許用戶通過文件大小進行搜索(只適用於文件,目錄沒有大小……)。
表示文件大小的單位由以下字元組成:
另外,還可以使用 + 或 - 符號表示 大於 或 小於 當前條件。
find / -size +1G 檢索文件大小高於 1 GB 的文件
find 命令可以使用 -perm 選項以文件許可權為依據進行搜索。
如需要檢索 /usr 目錄下許可權為 rwxr-xr-x 的文件,可以使用以下命令:
find /usr -perm u=rwx,g=rx,o=rx
搜索 /usr 目錄下所有許可權為 r-xr-xr-x (即系統中的所有用戶都只有讀寫許可權)的文件和目錄,可以使用以下命令:
find /usr -perm a=rx
很多時候,我們只想匹配文件許可權的一個 子集 。比如,檢索可以直接被任何用戶執行的文件,即只關心文件的執行許可權,而不用管其讀寫許可權是什麼。
上述的需求可以通過以下命令實現: find / -type f -perm /a=x
其中 a=x 前面的 / 符號即用來表示只匹配許可權的某個子集(執行許可權),而不用關心其他許可權的具體設置。
-perm 選項也支持數字形式的文件許可權標記。
find /usr -perm 644 搜索 /usr 目錄下許可權為 644 (即 rwxr-xr-x )的文件
find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結果數量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數。
find / -maxdepth 3 搜索時向下遞歸的層數最大為 3
在之前的例子中有出現多個搜索條件的 組合 以及對某個搜索條件的 反轉 。
實際上 find 命令支持 「and」 和 「or」 兩種邏輯運算,對應的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復雜的組合。
此外還可以使用 小括弧 對搜索條件進行 分組 。注意 find 命令中的小括弧常需要用 單引號 包裹起來。因小括弧在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
find /usr -type d -name 'python*'
該命令等同於:
find /usr -type d -a -name 'python*'
更復雜的組合形式如:
find / '(' -mmin -5 -o -mtime +50 ')' -a -type f
-delete 選項可以用來刪除搜索到的文件和目錄。
如刪除 home 目錄下所有的空目錄:
find ~ -type d -empty -delete
-exec 選項可以對搜索到的結果執行特定的命令。
如需要將 home 目錄下所有的 MP3 音頻文件復制到移動存儲設備(假設路徑是 /media/MyDrive ),可使用下面的命令:
find ~ -type f -name '*.mp3' -exec cp {} /media/MyDrive ''
其中的 大括弧 ( {} )作為檢索到的文件的 佔位符 ,而分號( ; )作為命令結束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來。
每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然後執行 -exec 後面的命令一次。
另一個很重要的用法是,在多個文件中檢索某個指定的字元串。
如在用戶主目錄下的所有文件中檢索字元串 hello ,可以使用如下命令:
find ~ -type f -exec grep -l hello {} ''
創建 Gzip 格式的壓縮文件的命令為: tar -czvf filename.tar.gz <list of files>
現在假設需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應為如下形式:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ''
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。
原因是 find 命令 每次 發現一個音頻文件,都會再執行一次 -exec 選項後面的壓縮命令。導致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給後面的壓縮命令。完整的命令如下:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} +
如果想瀏覽搜索到的文件(目錄)的詳細信息(如許可權和大小等),可以直接使用 -ls 選項。
find / -type file -size +1G -ls 瀏覽所有 1G 以上大小的文件的詳細信息
A Guide to the Linux 「Find」 Command
find 命令手冊 : man find