linux文件管理命令

一、Linux上文件管理命令

1.文件管理類命令

(1)mkdir:創建目錄

 -p:自動按需創建目錄

 -v:顯示詳細過程

(2)rmdir(remove empty directory):刪除空目錄

 -p:刪除某目錄後,如果其父目錄爲空,則一併刪除之

 -v:顯示詳細過程

2.文件查看類命令

(1)分屏查看命令:

  more:more FILE 翻屏到文件尾部後自動退出

  less:less FILE

  head:head [OPTIONS] FILE

  tail:tail  [OPTIONS] FILE
  stat:查詢文件的詳細信息

3.文件管理工具:

(1)cp:copy 源文件 目標文件

單源複製:cp [OPTION]. . . [-T] SOURCE DEST

                  如果DEST不存在,則事先創建此文件,並複製源文件的數據流至DEST中;如果DEST存在(DEST是非目錄文件則覆蓋目標文件,DEST是目錄文件則先在DEST目錄下創建一個與源文件同名的文件並複製其數據流。)

多源複製:cp [OPTION]. . . SOURCE. . . DIRECTORY
cp [OPTION]. . . -t DIRECTORY SOURCE. . .

                  如果DEST不存在,錯誤;如果DEST存在(DEST是非目錄文件則錯誤;DEST是目錄文件則分別複製每個文件到目標目錄中並保持原名。)   

常用選項: -i:交互式複製,覆蓋之前提醒用戶確認

                -f:強制複製

                -r,-R:遞歸複製

                -d:複製符號鏈接本身

                -a:-dR 用於實現歸檔

(2)mv命令:mv [OPTION]. . . [-T] SOURCE DEST
mv [OPTION]. . . SOURCE. . . DIRECTORY

mv [OPTION]. . . -t DIRECTORY SOURCE. . .

常用選項: -i:交互式複製,覆蓋之前提醒用戶確認

                -f:強制複製

(3)rm命令:remove [OPTION]. . .FILE. . .
常用選項: -i:交互式複製,覆蓋之前提醒用戶確認

                -f:強制複製

                -r,-R:遞歸複製

二、bash的工作特性

命令行展開:

    ~:自動展開爲用戶的家目錄,或指定的用戶的家目錄

    {}:可承載一個以逗號分隔的路徑列表,並能夠將其展開爲多個路徑。例如:/tmp/{a,b}相當於/tmp/a  /tmp/b

命令執行狀態返回值:

    即命令執行的狀態結果:bash通過狀態返回值來輸出此結果(成功:0;失敗:1-255),

    命令執行完成後,其狀態返回值保存於bash的特殊變量$?中,

    命令正常執行時,有的還會有命令返回值,

    根據命令及其功能不同,結果各不相同

    引用命令的執行結果:$(COMMAND)或`COMMAND`

三、使用命令行展開功能完成

(1)mkdir -v /tmp{a,b}_{c,d}

(2)mkdir -pv /tmp/mylinux{bin,dev,lib64,proc,sbin,sys,boot/grub,etc{rc,d/init.d,sysconfig/network-scrips},lib/modules}

四、文件的元數據和修改文件時間戳

1.文件的兩類數據

   元數據:文件名、大小、類型、權限、屬主屬組、文件的時間戳(非文件的組成部分)...

   數據:文件裏的內容(文件的組成部分)

2.修改文件時間戳:touch 命令

   touch [OPTION]. . . FILE. ..

          -c:指定的文件路徑不存在時不予創建
          -a:僅修改access times

          -m:僅修改modify times

五、定義命令別名和引用另一個命令的執行結果

1.定義命令別名

    # alias  NAME=`COMMAND`(僅對當前shell進程有效)

2.引用命令執行結果

    強引用:' '

    弱引用:" "

    命令引用:` `

六、練習

(6)顯示/var目錄下所有以1開頭,以一個小寫字母結尾且中間至少出現一個數字(可以有其他字符)的文件或目錄
ls -d /var/1?[[ : lower : ]]

(7)顯示/etc目錄下,以任意一個數字開頭且以非數字結尾的文件或目錄
ls -d /etc/[0-9]*[^0-9]

(8)顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄
ls -d /etc/[^a-z][a-z]*

(9)在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09:32-22
ls -d /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
(10)複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

cp -r /etc/p*[^0-9] /tmp/mytest1

(11)複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

cp -r /etc/*.d/tmp/mytest2

(12)複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

cp -r /etc/{l,m,n}*.conf/tmp/mytest3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章