第二周作業

1. Linux上文件管理類命令總結及示例

文件管理命令主要由查看類命令和管理類命令組成

查看類命令

  • cat:顯示文本

    cat [OPTION]… [FILE]..

  • tac:倒序查看文件內容

    tac [OPTION]… [FILE]..

  • head:顯示文件前幾行內容

  • head [OPTION]… [FILE]..

    -n#:指定獲取前#行,也可直接使用-#

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

  • tail:顯示文本后#行

    tail [OPTION]… [FILE]..

    -n#:指定獲取后#行,也可直接使用-#

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

    -f:動態顯示文件新內容,如要退出使用ctrl+c

  • more:顯示文本,到達文本行尾自動退出

    more [options] file […]

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

  • less:顯示文本,到達行尾必須q退出

  • stat:查看文件元數據

    access time:訪問時間,即atime

    modify time:修改時間,即mtime

    change time:改變時間,即ctime

管理類命令

  • touch:改變文件時間戳

    touch [OPTION]… FILE…

    -c: 指定的文件路徑不存在時不予創建;

    -a: 僅修改access time;

    -m:僅修改modify time;

    -t STAMP [[CC]YY]MMDDhhmm[.ss]

  • cp:復制文件

    單源復制:

    cp [OPTION]… [-T] SOURCE DEST

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

    如果DEST存在:

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

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

    多源復制:

    cp [OPTION]… SOURCE… DIRECTORY

    cp [OPTION]… -t DIRECTORY SOURCE…

    如果DEST不存在:錯誤;

    如果DEST存在:

    如果DEST是非目錄文件:錯誤;

    如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原名;

    常用選項:

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

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

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

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

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

    –preserv=

    mode:權限

    ownership:屬主和屬組

    Timestamps: 時間戳

    context:安全標簽

    xattr:擴展屬性

    links:符號鏈接

    all:上述所有屬性

2. bash特性命令執行返回值和展開

在bash中根據命令執行后的返回值可以判斷命令是否成功執行,對于命令的展開也有其特定的語法格式
  • 命令狀態執行返回值 
    成功:0 
    失?。?-255 
    命令執行完成后,其狀態返回值保存于bash的特殊變量?使echo?中查看使用echo?

  • 命令行展開 
    ~:用戶的家目錄; 
    {}:可有展開為以逗號分隔的路徑列表,并能夠將其展開為多個路徑; 
    如:/tmp/{a,b} 
    等同于:/tmp/a和/tmp/b

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

使用{}命令行語法格式可以一次行執行多個命令

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

touch {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 -pv {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. 文件元數據有哪些,分別表示什么含義? 如何查看?如何修改文件時間戳信息?

一個數據文件包括元數據和數據本身,元數據描述了文件本身的多個屬性

文件元數據有:

  • 名稱

  • 大小

  • 塊數量

  • IO塊數量

  • 文件類型

  • Inode

  • 鏈接

  • Uid

  • Gid

  • atime

  • mtime

  • ctime

使用stat命令查看

stat FILE

使用touch命令修改

touch [OPTION] FILE
-a:修改atime
-m:修改mtime
-t [[CC]YY]MMDDhhmm[.ss]:以指定時間修改時間戳

5. 如何定義一個命令的別名?如何在一個命令中應用另一個命令的結果?

shell使用者可以按照自己的習慣定義命令別名,方便調用各命令的同時也提高效率

使用alias命令查看和定義別名

alias [-p] [name[=value] ... ]
alias 查看
alias cls='clear' 設置名利別名

注:此別名只有在當前shell中有效,重啟后無效。要長久保存需在bashrc中 
使用$(COMMAD)在一個命令中應用另一個命令的結果

echo "$(date +"%F %T")"

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

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

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

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

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

ls -d /etc/[^a-z][a-z]*

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

touch /tmp/tfile-$(date +%F-%H-%M-%S)

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

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

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

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

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

cp -f /etc/[lmn]*.conf /tmp/mytest3

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

(0)
allenallen
上一篇 2016-12-10 01:41
下一篇 2016-12-10 14:48

相關推薦

  • 20160808作業

    ?1、刪除/etc/grub2.conf文件中所有以空白開頭的行行首的空白字符      ?2、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空白字符的行的行首的#和空白字符      ?3、在/root/install.log每一行行首增加#號  &nbs…

    Linux干貨 2016-08-11
  • Linux學習總結01—操作系統與硬件介紹(原創)

      在計算機中,分為以下結構,運算器,控制器,存儲器,輸入、輸出設備,運算器和控制起的整個就形成了中央處理器(稱作為CPU),而cpu的功能就是提供運算,運算的數據都是經由控制器而來,控制器其實是往主存儲器中取得數據,內存中的數據是由用戶來輸入的,其運算的結果通過控制器存儲在內存當中,之后可以根據用戶的指令輸出在一個設備當中(例如顯示器),我們都知…

    Linux干貨 2016-10-29
  • Linux文件系統管理

    一、什么是文件系統     我理解的文件系統就是管理磁盤分區上數據的索引信息,其實文件系統就是一種應用程序,只不過是用來維護和管理分區上的數據而已,就跟操作系統是用來管理底層硬件一樣。不同的分區可以有不同的文件系統。 二、文件系統類型     在linux系統上主要有如下類型的文件系統: &nbsp…

    Linux干貨 2016-03-03
  • 第一周博客作業-Linux發行版歷史、哲學思想、FHS、命令格式、幫助等

    All + All – 第一周作業 1.計算機組成及功能 計算機組成 硬件 馮諾依曼體系 CPU 運算器 對數據做算暖蘇運算和邏輯運算 控制器 寄存器等 程序的運行,是CPU通過調用硬盤中的程序至內存中執行來實現的 存儲器 內存 ROM RAM 外存 硬盤 光盤 輸入設備 鼠標、麥克風等 實現指令和參數的輸入 輸出設備 顯示器、打印機等 實現結果…

    Linux干貨 2017-07-02
  • Mariadb的主從復制實驗和半同步的實現

    1,主服務器需要開啟二進制日志記錄,并且授權一個用戶給從節點。 主服務器的主配置文件[mysqld]內容如下。 [mysqld] port=?3306 socket=?/tmp/mysql.sock skip-external-locking key_buffer_size?=?256M max_allowed_packet?=?1M table_open_…

    2017-09-18
  • N22第六周作業

    VIM編輯器介紹 什么是VIM? Vim是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是純粹的自由軟件。 Vim是從 vi 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用,和Emacs并列成為類Unix系統用戶最喜歡的文本編輯器。 VIM的使用 &nbsp…

    Linux干貨 2016-10-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 15:19

    贊~閱讀起來很順~建議將查看類的命令適當展開進行描述會更好~~繼續加油~

欧美性久久久久