LInux系統上的文件管理類型以及bash的基礎特性

LInux系統上的文件管理類型以及bash的基礎特性

  1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示
  2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
  3. 文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
  4. 如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
  5. 顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
  6. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
  7. 顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
  8. 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
  9. 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
  10. 復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
  11. 復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

Linux上的文件管理類命令

cp命令:copy
  • 源文件–>目標文件
命令格式:
  • 單源復制:cp [OPTION]… [-T] SOURCE DEST
  • 多源復制:cp [OPTION]… SOURCE… DIRECTORY
  • 多源復制:cp [OPTION]… -t DIRECTORY SOURCE…
單源復制:
  • 如果DEST不存在,則事先創建此文件,并復制源文件的數據流填充到目標目錄中
  • 如果DEST不存在,如果DEST是飛目錄文件,則覆蓋目標文件
  • 如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流
  • 多源復制:
  • 如果DEST不存在:錯誤
  • 如果DEST存在:
  • 如果DEST是非目錄文件:錯誤
  • 如果DEST是目錄文件:分別復制每一個文件至目標目錄中,并保持原名
參數:
  • -i:交互式復制,覆蓋之前提醒用戶確認
  • -f:強制覆蓋目標文件
  • -r/-R:遞歸復制目錄,復制目錄及目錄中的內容到目標位置
  • -d:復制符號鏈接文件本身,而非其志祥的源文件
  • -a:遞歸復制目錄,=dr,用語實現歸檔
  • –preserv=
  1. mode:權限
  2. owership:屬主和屬組
  3. timestamps:時間戳
  4. context:安全標簽
  5. xattr:擴展屬性
  6. links:符號連接
  7. all:上述所有屬性
mv命令:move
命令格式:
  • mv [OPTION]… [-T] SOURCE DEST
  • mv [OPTION]… SOURCE… DIRECTORY
  • mv [OPTION]… -t DIRECTORY SOURCE…
參數:
  • -i:交互式復制
  • -f:強制覆蓋
rm命令:remove
命令格式:
  • rm [OPTION]… FILE…
參數:
  • -i:交互式刪除,提醒是否刪除
  • -r:遞歸刪除目錄,并交互式刪除
  • -f:強制刪除
刪除目錄: rm-rf /PATH/TO/DIR
危險操作:rm -rf /(在centos6、7上默認是禁止操作)
注意:所有不用的文件建議不要直接刪除,二十移動到某個專用目錄;(模擬回收站)

命令執行狀態返回值

bash通過狀態返回值來輸出此結果:
  • 成功:0
  • 失敗:非0值(1~255)
  • 命令執行完成之后其狀態返回值保存于bash的特殊變量$?中,可通過echo $?查看狀態,但是不能隔命令,必須執行完后第一時間查詢
  • 命令正常執行時,有的還有命令返回值:
  • 根據命令及其功能不能同,結果各不相同
  • 引用命令的執行結果:
  • $(COMMAND)或反引號 `COMMAND`

例如以當前時間作為目錄名稱創建名稱

  • ~]# mkdir $(date +%T-%H-%M)

命令行展開

  • ~:自動展開為用戶的家目錄?;蛑付ǖ挠脩舻募夷夸?/li>
  • {}:可以承載一個以逗號分割的路徑列表,并能夠將其展開為多個路徑

創建/tmp目錄下的:a_c,a_d,b_c,b_d

20171212141134

  • ~]#mkdir? /tmp/{a,b}_{c,d}

創建/tmp/mylinux目錄結構

20171212141019

  • ~]#mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
文件的元數據信息有哪些
文件:兩類數據
  • 元數據:metadata
  1. access time:最近訪問:2017-12-12 12:21:38.432021736 +0800
  2. modify time:最近更改:2017-12-12 12:21:38.432021736 +0800
  • 數據:data

查看文件元數據

stat FILENAME

修改時間戳的方式

touch [-amt] FILENAME
  • -a:僅修改access time
  • -m:僅修改 modify time
  • -t:修改時間
  • YYMMDDhhmm.ss
定義別名:
  • ~]# alias NAME=’COMMAND’
注意:只對當前shell進程有效
在命令中引用另一個命令的執行結果
  • 例如想在/tmp下創建一個以當前系統時間為名稱的目錄
  • ~]#mkdir /tmp/$(date +%T-%H-%M)
顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
  • ~]#ls -d /var/l*[0-9]*[[:lower:]]
顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
  • ~]#ls -d /etc/[0-9]*[^0-9]
顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
  • ~]#ls -d /etc/[^a-z][a-z]*
在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
  • ?~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
  • ?~]#?cp -R /etc/p*[^0-9] /tmp/mytest1 $(mkdir -p /tmp/mytest1)
復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
  • ~]# cp -R /etc/*.d /tmp/mytest2 $(mkdir -p /tmp/mytest2)
復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

  • ?~]# cp /etc/[l-n]*.conf /tmp/mytest3 $(mkdir -p /tmp/mytest3)

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/89966

(1)
N28_北京_張鵬N28_北京_張鵬
上一篇 2017-12-11 22:55
下一篇 2017-12-12

相關推薦

  • 計算機的組成部分

    運算器:負責數據的運算和邏輯運算。 存儲器:實現記憶功能的部件用來存放計算程序及參與運算的各種數據。 控制器:負責對程序規定的控制信息進行分析,控制并協調輸入,輸出操作或內存訪問。 輸入設備:實現計算程序和原始數據的輸入。 輸出設備:實現計算結果輸出。

    Linux干貨 2017-08-19
  • 早安

    既來之,則安之。好好學習,努力奮斗?。?!#linux#

    Linux干貨 2017-07-11
  • linux grep manual

    名稱    grep – 打印匹配的行語法:     grep [option] pattern [file…]     grep [option] [-e pattern]…

    Linux干貨 2015-08-31
  • 馬哥教育網絡20期+第四周練習博客

    1、  復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cd /home/ [root@localhost home]# mkdir tuser1 [root@localhost home]# cp -a /etc/skel&…

    Linux干貨 2016-08-02
  • N25-第六周

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;      cp /etc/rc.d/rc.sysinit /tmp     &nbsp…

    Linux干貨 2017-03-08
  • N22-第五周博客作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@bogon ~]# grep -E  "^(root|fedora|user1)" /etc/passwd  | cut -d: -f1,7r…

    Linux干貨 2016-09-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-01-02 21:26

    很好,每一題都很用心。將題中涉及的知識點在日常運維中多加應用,爭取盡快做到得心應手。

欧美性久久久久