N22-Dexter-第二周博客作業

1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示?

   Linux上的文件管理類命令有cp,rm,mv

   cp命令:copy

   常用選項:

      -i:交互式復制,即覆蓋之前提醒用戶確認;

      [root@Dexter_Centos7 tmp]# alias 

            alias cp='cp -i'

      [root@Dexter_Centos7 tmp]# cp -i /etc/passwd /tmp/

            cp: overwrite ‘/tmp/passwd’? 

      -f:強制覆蓋目標文件;      

      -r, -R:遞歸復制目錄;

      [root@Dexter_Centos7 tmp]# cp /etc /tmp

            cp: omitting directory ‘/etc’

            [root@Dexter_Centos7 tmp]# cp -r /etc /tmp

            [root@Dexter_Centos7 tmp]# 

      -d:復制符號鏈接文件本身,而非其指向的源文件;

      [root@Dexter_Centos7 tmp]# ll /etc/system-release

            lrwxrwxrwx. 1 root root 14 Aug 14 14:43 /etc/system-release -> centos-release

            [root@Dexter_Centos7 tmp]# cp /etc/system-release /tmp

            [root@Dexter_Centos7 tmp]# ll                                            

            total 4                                                                  

            -rw-r–r–. 1 root root 38 Aug 22 12:19 system-release                   

            [root@Dexter_Centos7 tmp]# cp -d /etc/system-release /tmp                

            cp: overwrite ‘/tmp/system-release’? y                                 

            [root@Dexter_Centos7 tmp]# ll                                            

            total 0                                                                  

            lrwxrwxrwx. 1 root root 14 Aug 22 12:20 system-release -> centos-release 

      -a:-dR –preserve=all, archive,用于實現歸檔;

      –preserv=

      mode:權限

      ownership:屬主和屬組

      timestamps: 時間戳

      context:安全標簽

      xattr:擴展屬性

      links:符號鏈接

      all:上述所有屬性

mv命令:move

      mv [OPTION]… [-T] SOURCE DEST

      mv [OPTION]… SOURCE… DIRECTORY

      mv [OPTION]… -t DIRECTORY SOURCE..    

      常用選項:

      -i:交互式;

      -f:force

rm命令:remove

    rm [OPTION]… FILE…

    常用選項:

    -i:interactive

    [root@Dexter_Centos7 tmp]# rm -i dexter1

          rm: remove regular empty file ‘dexter1’? y

    -f:force

    [root@Dexter_Centos7 tmp]# rm  dexter1 

          rm: remove regular empty file ‘dexter1’? n    

          [root@Dexter_Centos7 tmp]# ll                   

          total 0                                         

          -rw-r–r–. 1 root root 0 Aug 22 12:26 dexter1  

          [root@Dexter_Centos7 tmp]# rm -f  dexter1       

          [root@Dexter_Centos7 tmp]# ll                   

          total 0                                         

    -r: recursive    

    [root@Dexter_Centos7 tmp]# rm -f /tmp/*

          rm: cannot remove ‘/tmp/abrt’: Is a directory            

          rm: cannot remove ‘/tmp/alsa’: Is a directory            

          rm: cannot remove ‘/tmp/alternatives’: Is a directory    

          rm: cannot remove ‘/tmp/at-spi2’: Is a directory         

                                                                     

          [root@Dexter_Centos7 tmp]# rm -rf /tmp/*                   

          [root@Dexter_Centos7 tmp]# ll                                 

          total 0                      

   

2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示?

   命令執行的狀態結果:                       

bash通過狀態返回值來輸出此結果:             

成功:0                         

失敗:1-255                     

                                 

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

[root@Dexter_Centos7 tmp]# ll /tmp

   total 0                                

   [root@Dexter_Centos7 tmp]# echo $?     

   0                                      

   [root@Dexter_Centos7 tmp]# lless /tmp  

   bash: lless: command not found…      

   Similar command is: 'less'             

   [root@Dexter_Centos7 tmp]# echo $?     

   127            

   命令行展開

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

{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;

例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b                        

    [root@Dexter_Centos7 tmp]# mkdir -pv /tmp/{a,b}

    mkdir: created directory ‘/tmp/a’            

    mkdir: created directory ‘/tmp/b’                     

    [root@Dexter_Centos7 tmp]# ll                  

    total 0                                        

    drwxr-xr-x. 2 root root 6 Aug 22 12:49 a       

    drwxr-xr-x. 2 root root 6 Aug 22 12:49 b       

    

3、請使用命令行展開功能來完成以下練習?

  (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d

      mkdir -pv /tmp/{a,b}_{c,d}

  (2)、創建/tmp/mylinux目錄下的:

  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

        

   [root@Dexter_Centos7 tmp]#  mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,etc/sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}                                                                                      

   mkdir: created directory ‘/tmp/mylinux’                                      

   mkdir: created directory ‘/tmp/mylinux/bin’                                  

   mkdir: created directory ‘/tmp/mylinux/boot’                                 

   mkdir: created directory ‘/tmp/mylinux/boot/grub’                            

   mkdir: created directory ‘/tmp/mylinux/dev’                                  

   mkdir: created directory ‘/tmp/mylinux/etc’                                  

   mkdir: created directory ‘/tmp/mylinux/etc/rc.d’                             

   mkdir: created directory ‘/tmp/mylinux/etc/rc.d/init.d’                      

   mkdir: created directory ‘/tmp/mylinux/etc/etc’                              

   mkdir: created directory ‘/tmp/mylinux/etc/etc/sysconfig’                    

   mkdir: created directory ‘/tmp/mylinux/etc/etc/sysconfig/network-scripts’    

   mkdir: created directory ‘/tmp/mylinux/lib’                                  

   mkdir: created directory ‘/tmp/mylinux/lib/modules’                          

   mkdir: created directory ‘/tmp/mylinux/lib64’                                

   mkdir: created directory ‘/tmp/mylinux/proc’                                 

   mkdir: created directory ‘/tmp/mylinux/sbin’                                 

   mkdir: created directory ‘/tmp/mylinux/sys’                                  

   mkdir: created directory ‘/tmp/mylinux/tmp’                                  

   mkdir: created directory ‘/tmp/mylinux/usr’                                  

   mkdir: created directory ‘/tmp/mylinux/usr/local’                            

   mkdir: created directory ‘/tmp/mylinux/usr/local/bin’                        

   mkdir: created directory ‘/tmp/mylinux/usr/local/sbin’                       

   mkdir: created directory ‘/tmp/mylinux/var’                                  

   mkdir: created directory ‘/tmp/mylinux/var/lock’                             

   mkdir: created directory ‘/tmp/mylinux/var/log’                              

   mkdir: created directory ‘/tmp/mylinux/var/run’                              

   [root@Dexter_Centos7 tmp]# tree /tmp/mylinux                                   

   /tmp/mylinux                                                                   

   |– bin                                                                        

   |– boot                                                                       

   |   `– grub                                                                   

   |– dev                                                                        

   |– etc                                                                        

   |   |– etc                                                                    

   |   |   `– sysconfig                                                          

   |   |       `– network-scripts                                                

   |   `– rc.d                                                                   

   |       `– init.d                                                             

   |– lib                                                                        

   |   `– modules                                                                

   |– lib64                                                                      

   |– proc                                                                       

   |– sbin                                                                       

   |– sys                                                                        

   |– tmp                                                                        

   |– usr                                                                        

   |   `– local                                                                  

   |       |– bin                                                                

   |       `– sbin                                                               

   `– var                                                                        

       |– lock                                                                   

       |– log                                                                    

       `– run                                                                    

4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?

   元數據:包括文件的權限,屬主、屬組信息,inode信息,數據大小,時間信息(atime,mtime,ctime)等

   [root@Dexter_Centos7 tmp]# ll -i

   total 0

   35123168 drwxr-xr-x. 2 root root 6 Aug 22 12:49 a

   69412032 drwxr-xr-x. 2 root root 6 Aug 22 12:49 b

   時間

   

   modification time (mtime):                                                                                                       

   當該檔案的內容數據變更時,就會更新這個時間!內容數據指的是檔案的內容,而不是檔案的屬性或權限                                      

   status time (ctime):                                                                                                             

   當該檔案的狀態(status)改變時,就會更新這個時間,舉例來說,像是權限與屬性被更改了,都會更新這個時間。                              

   access time (atime):                                                                                                             

   當該檔案的內容被取用時,就會更新這個讀取時間 (access)。舉例來說,我們使用 cat 去讀取 /etc/man.config 就會更新該檔案的atime 了。

  [root@Dexter_Centos7 tmp]# stat /tmp

   File: ‘/tmp’

   Size: 4096       Blocks: 8          IO Block: 4096   directory

  Device: 803h/2051d Inode: 100663425   Links: 10                          

  Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)  

  Context: system_u:object_r:tmp_t:s0                                       

  Access: 2016-08-22 12:49:53.892349320 +0800                               

  Modify: 2016-08-22 12:49:22.714025306 +0800                               

  Change: 2016-08-22 12:49:22.714025306 +0800                               

   Birth: –   

   

   修改文件的時間戳信息用touch命令

   -a :僅修訂 access time;                                                   

   -c :僅修改檔案的時間,若該檔案不存在則不建立新檔案;                       

   -d :后面可以接欲修訂得日期而不用目前的日期,也可以使用 –date="日期或時間" 

   -m :僅修改 mtime ;                                                        

   -t :后面可以接欲修訂的時間而不用目前的時間,格式為[YYMMDDhhmm]             

                                                 

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

   alias NAME="VALUE"

   注意:此種設置方式至對當前Shell有效!如果需要全局有效,可以在/etc/bashrc(全局)、~/.bashrc(用戶個人)文件創建別名命令。

   引用命令的執行結果

   $(COMMAND)或`COMMAND`

6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄?

   [root@Dexter_Centos7 ~]# ls -d /var/l?[[:lower:]]

   /var/lib  /var/log

7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄?

   [root@Dexter_Centos7 ~]# ls -d /etc/[0-9]*[^0-9]

   /etc/5bcc

8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄?

    [root@Dexter_Centos7 ~]# ls -d /etc/[^a-z][a-z]*

    /etc/5bcc

9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22?

   [root@Dexter_Centos7 tmp]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

   [root@Dexter_Centos7 tmp]# ll

   total 0

   -rw-r–r–. 1 root root 0 Aug 22 17:24 tfile-2016-08-22-17-24-31

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/[lmn]*.conf /tmp/mytest3

原創文章,作者:N22-昆山-Dexter_Wang,如若轉載,請注明出處:http://www.www58058.com/38949

(0)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • WEB 常見故障與處理

    一、應用故障 HTTP 502 故障 502 Bad Gateway 故障檢測: 首先定位到前端故障服務器節點,在前端服務器(Telnet)上訪問后端服務端口響應時間。如發現響應時間超時>10s。說明后端應用程序出現故障。需要到后端服務器查看,并查明情況。 PS:HTTP 502 Bad Gateway 故障一般分為以下2種情況: 網絡問題:前端無法連…

    2016-06-03
  • ArchSummit 2017全球架構師峰會100余位國內外技術專家北京等你!

    ArchSummit全球架構師峰會是InfoQ中國團隊推出的面向高端技術管理者、架構師的技術大會,參會者中超過50%擁有8年以上的工作經驗。

    2017-11-13
  • 文件權限

    淺談文件權限 Linux系統中的每個文件和目錄都有訪問許可權限,用他來確定誰能通過何種方式對文件和目錄進行訪問和操作。  文件權限: 文件或目錄的訪問權限分為只讀,只寫和可執行三種。  文件的權限主要針對三類對象進行定義:          owne…

    Linux干貨 2016-08-07
  • 整型、浮點型在內存中的存儲方式

      在學習C語言的過程中,有時候會想,數據到底是以什么樣的方式在內存中存儲的呢?經過一段時間的查閱資料,小編終于整理了一些…… 以VC6.0編譯器為測試環境(int型為4Byte) 先簡介一下大小端模式,具體資料可參考 http://blog.csdn.net/ce123_zhouwei/article/details/6971544  …

    Linux干貨 2016-01-14
  • 【26期】Linux第八周學習小總結

        前言     本周的學習已經過去了,雖然本周學習中老師一直都有說,哎呀,這個不重要,以后有網絡管理員給你們來做,了解一下就行,然而話鋒一轉就又說,其實小公司沒有網絡管理員,如果你們不好好學,以后就會做得更多更雜的工作,這一周的知識點基本上都是在一個pdf上的,大概有200…

    2017-09-02
  • CentOS6.6上編譯安裝httpd2.4

    簡介    現在apache軟件基金會正在維護的httpd項目有三個版本,分別為Version 2.4,Version 2.2與Version 2.0。    三個版本的區別暫不一一介紹,有興趣的可以去httpd.apache.org了解,下面著重介紹httpd 2.4版本。新特性 &nb…

    Linux干貨 2015-06-26
欧美性久久久久