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

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

練習題:

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


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

1)文件查看命令:cat、tacmoreless、head、tail

2)文件類型查看命令:file

3)文件的時間戳管理工具:touch

4)查看文件狀態:stat

5)復制命令:cp

6)移動文件

7)刪除

1文件查看命令:cat、tac、more、lesshead、tail

1cat

cat [OPTION]… [FILE]

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

-E 顯示行結束符$

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

-n 對顯示出的每一行進行編號

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

(2)tac

    相當于cat查看的命令反向排序

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

(3)more

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

如:

    more /etc/rc.d/rc.sysinit
    more -d /etc/rc.d/rc.sysinit

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

 按空格鍵:向后翻屏 

             b :向前翻屏

             q  :退出

(4)less

man里面的相同,因為man是通過less打開的。

(5)head

head [選項] 文件名

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

 – # -n # :指定獲取前#

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

(6)tail

tail [選項] 文件

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

 – # -n # :指定獲取后#

       -f :跟蹤顯示文件新追加的內容 (ctrl+c才能退出)

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

2)文件內容類型查看命令:file

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

3文件的時間戳管理工具:touch

touch 選項 文件

             -aonly atime(access time:訪問時間)

 僅更新Access time(同時更新Changecurrent time

               -monly mtime(modify time:修改時間)只改變修改時間

 僅更新Modify time(同時更新Changecurrent time

  –c:不創建新文件

  -t使用指定的時間更新時間戳

(僅更改Access timeModify time,Change time更新為current time

                    例:

      touch -t  [[CC]YY]MMDDhhmm[.ss] filename

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

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

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

4)查看文件狀態:stat

可以查看文件名稱、大小、訪問時間、修改時間、改變時間等信息。

文件訪問時間:(Access time)讀取文件內容會變化

文件修改時間:(Modify time)改變文件內容或數據時會變化

文件改變時間:(Change time)元數據發生改變時會變化

5)復制命令:cp

cp 文件 –> 文件 : 覆蓋

cp 文件 –> 目錄 :新建

 

cp 多個文件 –> 目錄 : 新建

 

cp 目錄 –> 目錄 : 創建

cp 目錄 –> 文件 :報錯

 

常用選項:

-i:交互式

-a:相當于-dR –preserv=all,歸檔,復制時必須把文件保留為原來的樣子

–preserv [=ATTR_LIST]

mode : 權限

ownweship :屬主屬組  

timestamp : 時間戳

links : 鏈接

xattr : 擴展屬性

context : 安全上下文

all : 以上所有

-d–no-dereference

–preserv=links 不追蹤符號鏈接

-p–preserv=mode,ownership,timestamp

-v:顯示復制過程 –verbose

-f–force強制,如果存在覆蓋

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

6)移動文件:mv

-i : 交互式

-f : 強制

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

7)刪除:rm

rm 選項 文件

-i :交互式

-f :強制刪除

-r :遞歸

rm -rf

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

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

1)命令執行狀態返回值:

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

0:成功,1-255:失敗

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

2)命令行展開:

        ~:展開為用戶的主目錄

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

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

        如:

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

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

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

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

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

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

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

(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

  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}}

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

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

1)通過stat命令可以查看文件的元數據信息

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

2)文件的元數據信息有:

    Access文件訪問時間:(Access time)讀取文件內容會變化

    Modify文件修改時間:(Modify time)改變文件內容或數據時會變化

    Change文件改變時間:(Change time)元數據發生改變時會變化

3)通過touch可以修改文件的時間戳信息

touch 選項 文件

          -aonly atime(access time:訪問時間)

 僅更新Access time(同時更新Changecurrent time

             -monly mtime(modify time:修改時間)只改變修改時間

 僅更新Modify time(同時更新Changecurrent time

  –c:不創建新文件

  -t使用指定的時間更新時間戳

(僅更改Access timeModify timeChange time更新為current time

touch -t  [[CC]YY]MMDDhhmm[.ss] filename

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

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

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

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

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

1)定義一個命令的別名:alias

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

PS:在命令行中定義的別名,僅對當前shell進程有效,

如果想長久有效,需要在配置文件中添加此別名定義:

~/.bashrc:僅對當前用戶  /etc/bashrc:對所有用戶有效

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

(1)`反引號,上分隔符(在鍵盤的左上角,~的下面)

反引號括起來的字符串被shell解釋為命令行,在執行時,shell首先執行該命令行,

并以它的標準輸出結果取代整個反引號(包括兩個反引號)部分.

如:

echo `date`

(2)$( )

如:

echo $(date)

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

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

ls /var | grep '1.*[[:digit:]]\+.*[[:lower:]]$'

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

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

ls /etc | grep '^[[:digit:]].*[^[:digit:]]$'

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

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

ls /etc | grep '^[^[:alpha:]][:alpha:].*'

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

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

mkdir /tmp/tfile-`date +%F-%H-%M-%S`

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

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

法一  (太復雜了)

cp -a /etc/$(ls /etc | grep '^p.*[^[:digit:]$]') /tmp/mytest1

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

法二  (這個比較簡潔)

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

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

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

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

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

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

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

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

原創文章,作者:二極管,如若轉載,請注明出處:http://www.www58058.com/18471

(0)
二極管二極管
上一篇 2016-06-23
下一篇 2016-06-23

相關推薦

  • CentOS安裝本地 YUM源 產生的問題和解決過程

    本人剛剛踏入Linux的神秘殿堂就被如何安裝軟件這樣的問題難倒了,經過Google大神的指點,終于找到了如何配置YUM源的方法,其中也不是一帆風順,也產生了一些小問題,這些都是基礎知識,希望能夠幫到剛剛學習Linux的朋友。     由于VMware的終端不好用,所以想換成XShell,過程中又需要配置網絡屬性,橋接到…

    Linux干貨 2016-01-05
  • Linux系統分區管理

    管理分區     查看系統中的分區4種方式 [root@localhost ~]# ls /dev/sd* [來自內存] [root@localhost ~]# cat /proc/partitions [root@localhost ~]# lsblk /dev/sda ?/dev/sda1 ?/dev/sda2 ?/dev/sda3 …

    Linux干貨 2017-12-02
  • Mogilefs使用Nginx實現代理訪問

    MogileFS介紹:  MogileFS是一個開源的分布式文件存儲系統,由LiveJournal旗下的DangaInteracitve公司研發??芍С治募詣觽浞堑墓δ?,提供高可用性和高可擴展性。 MogileFS組件:  trackers:   MoglieFS的調度器,是mogileFS的核心,訪問入口。  功能…

    Linux干貨 2015-08-06
  • linux 3.26 第一課

    setup app

    2018-03-26
  • week2

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 常用工具cp mv rm cat tac head tail more less stat cp   cp SRC…DEST A. 如果SRC是文件: a. 如果目標不存在:新建DEST,并將SRC中的內容填充至DEST中。 b. 如果目標存在: (1). 如…

    Linux干貨 2016-11-06
  • 103-corosync-pacemaker-crmsh

    一、概述: 1.1 什么是AIS和OpenAIS?

    2016-11-26

評論列表(1條)

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

    寫的很棒,有的題目還有多種解題思路,但是好像10題的方法二有點小瑕疵吧,在測試一下,加油

欧美性久久久久