馬哥教育網絡班20期+第2周課程練習

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

    1、cat:用于連接文件并打印到標準輸出設備上,常用來顯示文件的內容

        命令使用格式

        cat [OPTION]… [FILE]…

    2、more:以全屏的方式顯示文本內容

        命令使用格式

        more [OPTIONS…] FILE…

            -d: 顯示翻頁及退出提示

    3、less:類似more使用,但less能向前向后翻頁瀏覽

        命令使用格式

        less [OPTIONS…] FILE…

    4、head:顯示文件開頭內容,默認顯示前十行

        命令使用格式

        head [OPTION]… [FILE]…

        -c #: 指定獲取前#字節

            -n #: 指定獲取前#行

    5、tail:顯示文件尾部內容,默認顯示末十行

        命令使用格式

        tail [OPTION]… [FILE]…

            -c #: 指定獲取后#字節

            -n #: 指定獲取后#行

            -f: 跟蹤顯示文件新追加的內容;

    6、復制命令cp

        命令使用格式:

        cp [OPTION]… [-T] SOURCE DEST

        cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

            -i:交互式

            -r, -R: 遞歸復制目錄及內部的所有內容;

            -a: 歸檔,相當于-dR,–preserv=all

                -d:–no-dereference –preserv=links

                –preserv[=ATTR_LIST]保留源文件所選取的屬性進行保留

                    mode: 權限————-

                    ownership: 屬主屬組—默認三個屬性

                    timestamp: ————

                    links

                    xattr

                    context

                    all

            -p: –preserv=mode,ownership,timestamp

            -v: –verbose

            -f: –force

    7、mv:移動文件

        命令使用格式

        mv [OPTION]… [-T] SOURCE DEST

        mv [OPTION]… SOURCE… DIRECTORY

        mv [OPTION]… -t DIRECTORY SOURCE…

        常用選項:

               -i: 交互式

               -f: 強制

    8、rm:刪除文件和目錄

        命令使用格式

        rm [OPTION]… FILE…                                    

        常用選項:

            -i: 交互式

            -f: 強制刪除(不會交互式)

            -r: 遞歸

            rm -rf (能刪除目錄以及其下面的文件)

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

    1、bash使用特殊變量$?保存最近一條命令的執行狀態結果:

            0:成功

            1-255:失敗

        例如:

            [root@Andder77 ~]# ls /var
            account  crash  db     games  lib    lock  mail  opt       run    tmp  yp
            cache    cvs    empty  gdm    local  log   nis   preserve  spool  www
            [root@Andder77 ~]# echo $?
            0
            [root@Andder77 ~]# ls /vvar
            ls: 無法訪問/vvar: 沒有那個文件或目錄
            [root@Andder77 ~]# echo $?
            2

    2、命令行展開

    ~: 展開為用戶的主目錄

        ~USERNAME:展開為指定用戶的主目錄

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

            /tmp/{a,b} = /tmp/a, /tmp/b

            /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

        例如

[root@localhost ~]# touch /tmp/test2.{1,2,3}
[root@localhost ~]# ls /tmp | grep "^test2."
test2.1
test2.2
test2.3

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

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

[root@localhost ~]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已創建目錄 "/tmp/a_c"
mkdir: 已創建目錄 "/tmp/a_d"
mkdir: 已創建目錄 "/tmp/b_c"
mkdir: 已創建目錄 "/tmp/b_d"

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

[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,usr/lobal/{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
├── usr
│   └── lobal
│       ├── bin
│       └── sbin
└── var
    ├── lock
    ├── log
    └── run23 directories, 0 files

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

    1、使用stat命令來查看文件的元數據

[root@localhost etc]# stat passwd
  File: ‘passwd’
  Size: 1259      	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 134995767   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2016-06-17 08:13:54.651633356 +0800
Modify: 2016-06-17 08:12:07.106634433 +0800
Change: 2016-06-17 08:12:07.106634433 +0800

    2、元數據信息:

        File:文件名    

        Size:文件大小

        Blocks:文件所占塊數量

        IO Block:系統IO塊大小

        Device:文件所在設備ID

        INode:節點號

        Links:鏈向此文件的文件數量

        Access:文件類型及其權限

        Uid:文件的屬主及其ID

        Gid:文件的屬組及其ID

        Access:文件最近的訪問時間

        Modify:文件最近的修改時間

        Change:文件最近的改變時間

    

    3、使用touch命令修改文件的時間戳:

        touch [OPTION]… FILE…

                -a: only atime

                -m: only mtime

                -t STAMP:

                     [[CC]YY]MMDDhhmm[.ss]

        例如改變/tmp/cptest1文件的訪問時間戳

[root@localhost tmp]# touch -at201501010101.12 cptest1
[root@localhost tmp]# stat cptest1
  File: ‘cptest1’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 457901      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2015-01-01 01:01:12.000000000 +0800
Modify: 2016-06-17 13:22:40.968447858 +0800
Change: 2016-06-17 14:02:31.978423918 +0800

    

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

[root@localhost ~]# alias test1="cd /etc/sysconfig/network-scripts"
[root@localhost ~]# test=$(cut -d: -f1 /etc/passwd)
[root@localhost ~]# echo $testroot bin daemon adm lp sync shutdown halt 
mail uucp operator games gopher ftp nobody dbus usbmuxd vcsa rpc rtkit avahi-autoipd 
abrt rpcuser nfsnobody haldaemon gdm ntp apache saslauth postfix pulse sshd tcpdump

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

[root@localhost ~]# ls /var | grep "^l.*[0-9]\+.*[a-z]$"

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

[root@localhost etc]# ls /etc | grep "^[0-9].*[^[:digit:]]$"

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

[root@localhost etc]# ls /etc | grep "^[^[:alpha:]][[:alpha:]],*"

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

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

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

[root@localhost ~]# find /etc -maxdepth 1 -name 'p*' -exec cp -r {} /tmp/mytest1/ \;

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

[root@localhost ~]# find /etc -maxdepth 1 -name '*.d' -exec cp -r {} /tmp/mytest2/ \;

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

[root@localhost ~]# find /etc -maxdepth 1 -name '[lmn]*.conf' -exec cp -r {} /tmp/mytest3/ \;

 

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

(0)
mouse015110mouse015110
上一篇 2016-06-23 10:58
下一篇 2016-06-23 10:58

相關推薦

  • awk與systemd

    GNU awkGNU awk 文本處理三工具:grep,sed,awk    grep,egrep,fgrep:文本過濾工具    sed:行(流)編輯器    awk:報告生成器,格式化文本輸出 awk awk: Aho, Weinberger, Kerni…

    Linux干貨 2016-09-22
  • LVM2 邏輯卷管理工具

    LVM2:  LVM: Logical Volume Manager, Version: 2  dm: device mapper,將一個或多個底層塊設備組織成一個邏輯設備的模塊; /dev/dm-#  /dev/mapper/VG_NAME-LV_NAME /dev/mapper/vol0-root /dev/VG_NAME/…

    Linux干貨 2015-09-19
  • Hello World, Hello Linux.

    文筆不好,請見諒。

    2018-03-26
  • 簡述linux文件系統的層次結構

       盡管LINUX有諸多的發行版,但是所有的版本都遵從同樣的文件目錄層次結構,即FHS(Filesystem Hierarchy Standard)。有了這個統一的標準,我們在使用不同版本的LINUX時就不會由于版本的不同而找不到相關系統文件的位置,了解FHS有助于我們更好的掌握LINUX的基礎構架和文件系統管理。   &nb…

    Linux干貨 2015-12-19
  • 8.5_Linux習題練習和作業

    課堂練習題 1、找出ifconfig命令結果中本機的所有IPv4地址 # ifconfig | grep -oE "([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|2…

    Linux干貨 2016-08-10
  • rpm數據庫損壞 不能使用正常使用yum的處理方法

           不知道有沒有跟我一樣的小伙伴,在使用yum安裝軟件時,發現無法正常使用yum安裝軟件包,下面出現幾句英語提示。在使用rpm時也無法正常的使用。其實 是rpm數據庫崩潰導致的 下面就簡單的介紹一下怎么回復,讓其正常的工作,很簡單幾個命了即可。 1. 出現錯誤提示,這時我們需要認真的閱讀下面的提示,不要亂找原…

    Linux干貨 2017-06-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 13:57

    寫的很棒,排版也很好,最后幾個題有過測試嗎?

欧美性久久久久