Linux常用命令總結——檔案管理 Linux中的目錄路徑:也就是linux中的目錄(檔案夾)有絕對路徑和相對路徑根目錄:/使用者主目錄(home directory):位於/home目錄下,使用者登入時工作目錄(working directory):目前的目錄目前的目錄查看命令:pwd (print working directory)目前的目錄:./目前的目錄的上一級目錄:../或..返回到上一級目錄:cd ..進入目前的目錄下的dirfile目錄:cd dirfilecd ~ :進入使用者主目錄(帳號所在目錄) 或者直接cd斷行符號cd - :(回到先前的目錄)建立、刪除查看和顯示目錄1.建立目錄格式:mkdir [選項] 目錄功能:建立目錄常用選項說明: -m 建立目錄的同時設定存取權限-p 一次性建立多級目錄【例】:在rootfile檔案夾下建立test檔案夾,並在test檔案夾下建立file檔案夾。[cpp] [root@localhost rootfile]# mkdir -p test/file [root@localhost rootfile]# ls test [root@localhost rootfile]# cd test [root@localhost test]# ls file [root@localhost test]# 【例】:在rootfile檔案夾下建立test2檔案夾,並設定test2的許可權為766[cpp] [root@localhost rootfile]# mkdir -m 766 test2 [root@localhost rootfile]# ls test test2 [root@localhost rootfile]# ls -l total 16 drwxr-xr-x 3 root root 4096 Jul 21 21:27 test drwxrw-rw- 2 root root 4096 Jul 21 21:30 test2 注釋:rwxrw-rw-分別對應三種不同使用者的許可權,分別有三們二進位表示,766對應111 110 1102.刪除目錄格式:rmdir [選項] 目錄功能:刪除目錄常用選項說明:-p 遞迴刪除目錄,當子目錄刪除後其父目錄為空白時,也一同刪除【例】:刪除test下的file目錄(檔案夾),同時test也一併刪除[cpp] [root@localhost rootfile]# ls test test2 [root@localhost rootfile]# rmdir -p test/file [root@localhost rootfile]# ls test2 3.查看目前的目錄格式:pwd功能:pwd (print working directory),查看目前的目錄.常用選項說明:【例】:查看目前的目錄[cpp] [root@localhost rootfile]# pwd /home/rootfile 5.顯示目錄內容格式:ls [選項] [檔案目錄]功能:顯示指定目錄中的檔案和了目錄資訊,當不指定目錄時,顯示目前的目錄下的檔案和子目錄資訊常用選項說明:-a 顯示所有檔案和子目錄,包括隱藏檔案和主目錄-l 顯示檔案和子目錄的詳細資料,包括檔案類型、許可權、所有者和所屬群組、檔案大小、最後修改時間、檔案名稱-d 如果參數是目錄,則只顯示目錄資訊,而不顯示其中所包含的檔案資訊-t 按時間順序顯示-R 不僅顯示指定目錄下的檔案和子目錄資訊,而且還遞迴地顯示子目錄下的檔案和子目錄資訊建立和查看檔案建立檔案格式:touch filename功能:建立檔案常用選項說明:【例】:在rootfile下建立檔案file.txt和test2/file2.txt[cpp] [root@localhost rootfile]# touch file.txt [root@localhost rootfile]# touch test2/file2.txt [root@localhost rootfile]# ls file.txt test2 [root@localhost rootfile]# cd tes* [root@localhost test2]# ls file2.txt cat命令格式:cat [選項] filename功能:依次讀取filename中的內容常用選項說明:【例】:讀取rootfile下Test.java和file中的檔案內容[cpp] [root@localhost rootfile]# ls file.txt test2 Test.class Test.java [root@localhost rootfile]# vi test2 [root@localhost rootfile]# vi file* [root@localhost rootfile]# cat Test.java public class Test { public static void main(String args[]) { System.out.println("Hello Linux!"); } } [root@localhost rootfile]# cat Test.java file.txt public class Test { public static void main(String args[]) { System.out.println("Hello Linux!"); } } this is a file test. 【例】:把Test.java和file.txt檔案合并到combine.txt檔案中[cpp] [root@localhost rootfile]# cat Test.java file.txt > combine.txt [root@localhost rootfile]# cat comb* public class Test { public static void main(String args[]) { System.out.println("Hello Linux!"); } } this is a file test. more命令格式:more [選項] filename功能:依次讀取filename中的內容,該命令與cat的不同是可以逐屏往下翻頁顯示,按q退出。常用選項說明:-p 顯示下一屏之前先清屏-s 檔案中連續的空白行壓縮成一個空白行顯示【例】:顯示file.txt的內容[cpp] [root@localhost rootfile]# more file.txt this is a file test. 【例】:顯示Test.java和file.txt的內容[cpp] [root@localhost rootfile]# more Test.java file.txt :::::::::::::: Test.java :::::::::::::: public class Test { public static void main(String args[]) { System.out.println("Hello Linux!"); } } :::::::::::::: file.txt :::::::::::::: this is a file test. less命令格式:less [選項] filename功能:依次讀取filename中的內容,該命令與more的不同是不僅可以向下翻頁,還可以向上翻頁,使用上下鍵、Enter、空格、pageDown、pageUp可以實現前後翻頁,按q退出。常用選項說明:【例】:顯示Test.java的內容[cpp] [root@localhost rootfile]# less Test.java public class Test { public static void main(String args[]) { System.out.println("Hello Linux!"); } } head命令格式:head [選項] filename功能:顯示檔案的頭幾行常用選項說明:-n 顯示檔案的前n行,如果沒有n值,預設為10行【例】:顯示Test.java的前3行[cpp] [root@localhost rootfile]# head -3 Test.java public class Test { public static void main(String args[]) { System.out.println("Hello Linux!"); tail命令格式:tail [選項] filename功能:顯示檔案的末尾幾行常用選項說明:+n 從第n行開始顯示-n 顯示檔案的最後n行,如果沒有n值,預設為最後10行【例】:顯示Test.java的最後3行[cpp] [root@localhost rootfile]# tail -3 Test.java System.out.println("Hello Linux!"); } } 檔案尋找格式:find [選項] filename功能:從指定的目錄開始,遞迴地搜尋其子目錄,尋找滿足條件的檔案並對之採取相關的操作常用選項說明:-name ‘字串’ 要尋找的檔案名稱,可以用萬用字元*、?、[]-group ‘字串’ 檔案所屬的使用者組名-user 檔案所屬的使用者名稱find命令提供的查詢條件可以是一個用邏輯符and、or、not組成的複合條件-a 邏輯與-o 邏輯或-! 邏輯非【例】:尋找目前的目錄下檔案名稱含有Test的檔案[root@localhost rootfile]# find -name 'Test*'./Test.class./Test.java【例】:在根目錄下尋找檔案名稱為’temp’或是匹配’install*’的所有檔案[java] [root@localhost rootfile]# find / -name 'temp' -o -name 'instal*' /etc/rhgb/temp /etc/yum/pluginconf.d/installonlyn.conf /etc/vmware-tools/installer.sh /software/tomcat5/webapps/docs/appdev/installation.html /software/tomcat5/temp /sbin/install-info /sbin/installkernel /usr/share/aclocal-1.9/install-sh.m4 /usr/share/icons/Bluecurve/96x96/mimetypes/install.png /usr/share/icons/Bluecurve/24x24/mimetypes/install.png /usr/share/icons/Bluecurve/16x16/mimetypes/install.png /usr/share/icons/Bluecurve/48x48/mimetypes/install.png /usr/share/aclocal-1.7/install-sh.m4 /usr/share/doc/cyrus-sasl-lib-2.1.22/install.html /usr/share/doc/sgml-common-0.6.3/html/install-catalog.html /usr/share/doc/m2crypto-0.16/demo/Zope27/install_dir /usr/share/doc/m2crypto-0.16/demo/ZopeX3/install_dir /usr/share/doc/libstdc++-devel-4.1.1/html/install.html …… 【例】:在rootfile下尋找不含Test*的檔案[java] [root@localhost rootfile]# find ! -name 'Test*' . ./.Test2.swp ./1q ./.Test.java.swp ./test2 ./test2/file2.txt ./combine.txt ./file.txt 文字統計命令格式:wc [選項] filename功能:統計檔案的位元組數、字數、行數常用選項說明:-c 統計位元組數-l 統計行數-w 統計字數【例】:統計Test.java的位元組數、行數、字數[java] [root@localhost rootfile]# wc Test.java 5 14 105 Test.java [root@localhost rootfile]# wc -wcl Test.java 5 14 105 Test.java 複製、移動和刪除檔案或檔案夾cp 命令格式:cp [選項] 來源目錄或檔案 目標目錄或檔案功能:將給出的檔案或目錄複寫到另一個檔案或目錄中常用選項說明:-b 若存在同名檔案,則覆蓋前備份原來的檔案-f 強制覆蓋同名檔案-r或R 按遞迴方式,保留原目錄結構複製檔案【例】:複製file.txt檔案到file2,若file2已經存在,則備份file2.[java] [root@localhost rootfile]# ls 1q combine.txt file.txt test2 Test.class Test.java [root@localhost rootfile]# cp -b file.txt file2 [root@localhost rootfile]# ls 1q combine.txt file2 file.txt test2 Test.class Test.java [root@localhost rootfile]# cp -b file.txt file2 cp: overwrite `file2'? n [root@localhost rootfile]# ls 1q combine.txt file2 file.txt test2 Test.class Test.java [root@localhost rootfile]# cp -b file.txt file2 cp: overwrite `file2'? y [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt test2 Test.class Test.java 【例】:把test2檔案複製到test3檔案夾[java] [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt test2 Test.class Test.java [root@localhost rootfile]# [root@localhost rootfile]# cp -r test2 test3 [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt test2 test3 Test.class Test.java mv命令格式:mv [選項] 來源目錄或檔案 目標目錄或檔案功能:移動或重新命名檔案或目錄常用選項說明:-b 若存在同名檔案,則覆蓋前備份原來的檔案-f 強制覆蓋同名檔案【例】:將/home/rootfile下的Test.java移動到/home/rootfile /test2下[java] [root@localhost rootfile]# mv Test.java test2/Test [root@localhost rootfile]# ls -R .: 1q combine.txt file2 file2~ file.txt test2 test3 Test.class ./test2: file2.txt Test ./test3: file2.txt rm 命令格式:rm [選項] 檔案夾或目錄功能:刪除檔案夾或目錄常用選項說明:-f 強制移除檔案,不出現確認提示-r或R 按遞迴方式刪除目錄,預設只刪除檔案【例】:刪除目前的目錄下的test3檔案夾[java] [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt test2 test3 Test.class [root@localhost rootfile]# ls test3 file2.txt [root@localhost rootfile]# rm -r test3 rm: descend into directory `test3'? y rm: remove regular empty file `test3/file2.txt'? y rm: remove directory `test3'? y [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt test2 Test.class 【例】: 強制移除目前的目錄下的test2檔案夾[java] [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt test2 Test.class [root@localhost rootfile]# rm -rf test2 [root@localhost rootfile]# ls 1q combine.txt file2 file2~ file.txt Test.class