N23-第二周博客作業

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

文件管理工具:cp,mv,rm

   cp命令:cope

      源文件:目標文件

      單源復制:cp [OPTION]… [-T] SOURCE DEST

      多源復制:cp [OPTION]… SOURCE… DIRECTORY

            cp [OPTION]… -t DIRECTORY SOURCE…

      單源復制:cp [OPTION]… [-T] SOURCE DEST

        如果DEST不存在,則事先創建此文件,并復制源文件的數據流至DEST中;

        如果DEST存在:

        如果DEST是非目錄文件:則覆蓋目標文件;

        如果DEST是目錄文件,則現在DEST目錄下創建一個與源文件同名的文件,并復制其數據流;

        常用選項:

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

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

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

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

           -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

       重命名示例:

       [root@localhost ~]# cd /tmp/x

       [root@localhost x]# ls

       hi.text  y1  y2

       [root@localhost x]# mv hi.text hello.text

       [root@localhost x]# ls

       hello.text  y1  y2

    

   rm命令:remove

     -i:interactive 交互式

     -f:force   強制進行

     -r:recursive   遞歸,用戶刪除目錄及其包含的所有內容

    

     示例:[root@localhost ~]# rm -rf /tmp/x

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

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

      成功:0

      失敗:1-255

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

        示例:

            [root@localhost tmp]# ls

            a_c  b_c  conf.d     

            [root@localhost tmp]# echo $?

            0

            [root@localhost tmp]#

        

    bash的基礎特性:命令行展開

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

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

         示例:

            [root@localhost ~]# mkdir -pv /tmp/x/{y1/{a,b},y2}

            意:

              創建: /tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y2/b

    

    

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

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

            [root@localhost ~]# mkdir -v /tmp/{a,b}_{c,d}

            mkdir: created directory ‘/tmp/a_c’

            mkdir: created directory ‘/tmp/a_d’

            mkdir: created directory ‘/tmp/b_c’

            mkdir: created directory ‘/tmp/b_d’

            [root@localhost ~]# ls /tmp

            a_c  a_d  b_c  b_d  conf.d  functions  gelv  magedu.com  man  mysysroot  x

    

    

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

            mylinux/

                –bin

                –boot

                    –grub

                –dev

                –etc

                    –rc.d

                        –init.d

                    –sysconfig

                        network-scripts

                –lib

                    –modules

                –lib64

                –proc

                –sbin

                –sys

                –tmp

                –user

                    –local

                        –bin

                        –sbin

                –var

                    –lock

                    –log

                    –run

                    

            

            答:

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

                [root@localhost ~]# tree /tmp/mylinux

                /tmp/mylinux

                ├── bin

                ├── boot

                │   └── grub

                ├── dev

                ├── etc

                │   ├── rc.d

                │   │   └── init.d

                │   └── sysconfig

                │       └── network-scripts

                ├── lib

                │   └── modules

                ├── lib64

                ├── proc

                ├── sbin

                ├── sys

                ├── tmp

                ├── user

                │   └── local

                │       ├── bin

                │       └── sbin

                └── var

                    ├── lock

                    ├── log

                    └── run

                24 directories, 0 files

                [root@localhost ~]#             

            

            

            

            

            

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

    (1)文件的元數據信息有:

        File:文件的名字

        Size:文件的大小

        Blocks:文件使用的塊的大小

        IO Blocks:文件使用的IO塊的大小

        regular file:標識文件的性質(此處文件為普通文件)

        Device:該文件所在的設備的設備號

        Inode:索引節點號

        Access:使用權限

        Uid:屬主

        Gid:屬組

        以及時間戳等信息

    

    (2)如何查看?

        使用stat命令查看。

        示例:[root@localhost ~]# stat functions

    (3)如何修改文件的時間戳信息?

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

        示例:

            [root@localhost ~]# touch -m -t 200601030303.03 /tmp/functions

            意:將/tmp目錄下的functions文件的modify time修改為2006年1月3日3點3分3秒

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

    (1)使用alias命令定義一個命令的別名。

      示例:

      [root@localhost ~]# alias giveip=giveip='ip addr list'

      

    (2)在命令中引用另一個命令的執行結果。  

      [root@localhost ~]# mkdir /tmp/$(date +%H-%M-%S) 

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

    [root@localhost ~]# ls /var/l*[0-9]*[[:lower:]]

            

            

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

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

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

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

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

    [root@localhost tmp]# touch tfile-$(date +%F-%H-%M-%S)

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

    [root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1/

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

    [root@localhost ~]# cp -r /etc/*.d /tmp/mytest2/

12、復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中

    [root@localhost ~]# cp /etc/[lmn]*.conf /tmp/mytest3/

原創文章,作者:hotpoint,如若轉載,請注明出處:http://www.www58058.com/48733

(0)
hotpointhotpoint
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相關推薦

  • 淺談Linux中的用戶和組

    又到了周六,日常寫博客的日子。 上周模模糊糊的寫了第一篇博客,大概知道了怎么寫,但是這周就比以往不同了,腦子中已經有了思路,那寫起來就會更加詳細易懂。 這周學了很多知識點,但是我想對Linux 用戶和組進行詳細的描述。 一、用戶(Username/UID) 用戶分為兩種:管理員和普通用戶     管理員root  UI…

    2017-07-22
  • iptables

    iptables簡介 netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防火墻,與大多數的Linux軟件一樣,這個包過濾防火墻是免費的,它可以代替昂貴的商業防火墻解決方案,完成封包過濾、封包重定向和網絡地址轉換(NAT)等功能。 iptables基礎 規則(rules)其實就是網絡管理員預定義的條件,規則一般的定義為“…

    2017-05-02
  • linux中軟鏈接和硬鏈接簡單說明

    linux鏈接文件 在 Linux 上文件系統被分成兩個部分:數據 (user data) 與元數據 (metadata)。數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如:文件大小、創建時間、所有者等信息。在 Linux 中,元數據中的 inode 號(inode 是文件元數據的一部分但其并不包含…

    Linux干貨 2016-12-05
  • DNS的基本配置、子域授權與bind編譯(第十八九天)

        DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網絡服務命名系統,它用于TCP/IP網絡,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。     DNS利用類似于樹形目錄的結構,將主機名的管理分配在不同層…

    Linux干貨 2016-06-12
  • 馬哥教育第20期-第二周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cp:復制命令 用法: cp [源文件] [目標地址]           cp  vimrc /tmp/         cp [源文件1] [源文件2] ……

    Linux干貨 2016-06-27
  • Linux磁盤和文件系統管理

    磁盤相關概念 設備類型: 塊設備(block):存取單位為塊,典型設備磁盤 字符設備(char):存取單位為字符,典型設備為鍵盤 設備文件: 關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信。 如果存在兩個相同型號設備,使用兩個設備文件,但可能還會關聯到同一個驅動程序 設備文件只有元數據即屬性,沒有數據內容,屬于特殊文件類型 設備號碼: 主設備號:…

    Linux干貨 2016-06-09
欧美性久久久久