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

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

cat, more, less, tail, head
cat  一般用于查看文本,可以通過管道結合more或者less等命令一起使用
more 功能類似cat命令是整個文件的內容從上到下顯示在屏幕上,more會以一頁一頁的顯示方便使用者逐頁閱讀.
less 對文件或其它輸出進行分頁顯示的工具,用法比起 more 更加的有彈性,在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看,但若使用了less時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看文件,更容易用來查看一個文件的內容!
tail 查看文件從最后的部分看起,默認不帶參數表示查看最后10行. 例如: taii -100 /etc/passwd  查看文件最后100行(做個演示,其實沒有100行之多.默認不帶參數,就是相當于 tail -10 /etc/passwd)
head 和tail命令相反,一般用于查看文件.默認不帶參數,只是查看文件的前10行.此處就不寫例子.

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

bash的工作特性:
  (1)history
   可以通過history查看歷史命令
   可以通過命令的前面的數字,來調用命令等. 如: #!99     調用history的第99條命令
  (2)命令補全
   在shell命令行,可以通過TAB鍵補全命令.
  (3)路徑補全
   在shell命令行,可以通過TAB鍵補全命令.
  (4)命令行展開
   {}:可承載一個以逗號分隔的列表,并將其展開為多個路徑
   例如:mkdir  /tmp/a/{b,c}    其實就等價于 mkdir /tmp/a/b  和 mkdir /tmp/a/c
  (5)命令的執行結果狀態
   可以通過 echo $? 查看上條命令的執行狀態,返回0-255隨機的一個數字
   0:成功
   1-255:失敗

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

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

mkdir /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

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

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

使用stat命令查看
[root@hx5 tmp]# stat yum_save_tx-2016-02-29-21-19OtAjO2.yumtx 
 File: `yum_save_tx-2016-02-29-21-19OtAjO2.yumtx'
 Size: 4654        Blocks: 16         IO Block: 4096   regular file
 Device: fd00h/64768d    Inode: 915645      Links: 1
 Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
 Access: 2016-02-29 21:19:25.694405867 +0800
 Modify: 2016-02-29 21:19:25.699405868 +0800
 Change: 2016-02-29 21:19:25.699405868 +0800
三個時間戳:
 access time:訪問時間,簡寫為atime,讀取文件內容
 modify time: 修改時間, mtime,改變文件內容(數據)
 change time: 改變時間, ctime,元數據發生改變
可使用touch命令修改時間戳信息

    

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

[root@localhost tmp]# alias la='ls -la'
name=`COMMAND`, name=$(COMMAND)

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

ls -d /var/l*[0-9]*[[:lower:]]

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

ls -d /etc/[0-9]*[^0-9]

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

ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

[root@hx5 ~]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
[root@hx5 ~]# ls tfile-2016-03-01-15-11-04 
    tfile-2016-03-01-15-11-04

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

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

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

[root@hx5 ~]# cp -a /etc/*.d /tmp/mytest2

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

[root@hx5 ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3

原創文章,作者:Net20_赤羽,如若轉載,請注明出處:http://www.www58058.com/18809

(0)
Net20_赤羽Net20_赤羽
上一篇 2016-06-22 16:15
下一篇 2016-06-22 18:10

相關推薦

  • Ubuntu之apt-get光盤源配置小結

    Ubuntu配置本地apt源的方法:    1. 命令自動配置:        mount    /dev/cdrom   /mnt/cdrom        apt-cdrom   ident   &nbsp…

    Linux干貨 2016-03-09
  • Linux救援模式

        學習了Linux的啟動流程,為了加深理解,今天做了如下的實驗:刪除掉Linux系統在啟動過程中比較重要的幾個文件,查看啟動時出現的現象。加深對知識的理解。學習機器因為某些文件的缺失的修復方式。     一、刪除grub.conf    &nb…

    Linux干貨 2016-11-23
  • Linux文件層級結構標準(FHS)

    Linux文件層級結構標準(FHS) 設計FHS(Filesystem Hierarchy Standard)的目的主要是為了給Unix-like系統的管理員提供一個管理系統以及目錄結構的一個參考。 由于利用Linux源碼開發產品和發行版的企業或組織眾多,如果每個組織都按照自己的喜好來組織系統中的文件結構,網絡上必然出現各種各樣的文件結構。這些產品的用戶就不…

    2016-12-05
  • Zabbix-3.2.3實現微信(WeChat)告警

    Zabbix-3.2.3實現微信(WeChat)告警 zabbix Zabbix可以通過多種方式把告警信息發送到指定人,常用的有郵件,短信報警方式,但是越來越多的企業開始使用zabbix結合微信作為主要的告警方式,這樣可以及時有效的把告警信息推送到接收人,方便告警的及時處理。 關于郵件報警可以參考:Zabbix Web 郵件報警 一、微信企業號申請 地址: …

    2017-04-21
  • Bash Shell中的for循環和運算表達式應用

    Bash Shell中的for循環和運算表達式應用 1、寫一個腳本 實現以下功能: 接受一個以上文件路徑作為參數, 顯示每個文件擁有的行數,總結說明本次共為幾個文件統計了其行數。設定此腳本至少需要一個參數并給出提示,$#表示參數的個數。將腳本提供的所有參數組成一個列表放入for語句依次進行循環執行echo "$i has $(wc -l $i | …

    Linux干貨 2016-12-13
欧美性久久久久