Bash的變量類型主要有:本地變量、局部變量、環境變量、位置變量和特殊變量,其中特殊變量中的 $? 這個變量隨時在變化,其中保存的數據就是剛剛執行過的命令執行狀態返回值
執行狀態返回值$?的數字含義爲:
0:成功執行;
1-255:執行失敗
請使用命令行展開功能來完成以下練習:
(1)、創建/testdir目錄下的:a_c, a_d, b_c, b_d
(2)、創建/tmp/mylinux目錄
(3)、文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息
文件的時間戳管理工具:
touch
文件:metadata, data
查看文件狀態:stat
三個時間戳:
access time:訪問時間,簡寫爲atime,讀取文件內容
modify time: 修改時間, mtime,改變文件內容(數據)
change time: 改變時間, ctime,元數據發生改變
touch命令:
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,則不予創建
(4)、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令別名(alias)
通過alias命令實現:
(1) alias
顯示當前shell進程所有可用的命令別名;
(2) alias NAME='VALUE'
定義別名NAME,其相當於執行命令VALUE;
注意:在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中;
僅對當前用戶:~/.bashrc
對所有用戶有效:/etc/bashrc
Note: 編輯配置給出的新配置不會立即生效;
bash進程重新讀取配置文件:
source /path/to/config_file
. /path/to/config_file
撤消別名:unalias
unalias [-a] name [name …]
Note: 如果別名同原命令的名稱,則如果要執行原命令,可使用"\COMMAND";
引用另一個命令的執行結果——管道:
COMMAND1 | COMMAND2 | COMMAND3 |…
Note:最後一個命令會在當前shell進程的子shell進程中執行;
(5)、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄
(6)、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
(7)、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄
(8)、在/testdir目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
(9)、複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/testdir/list02目錄中
(10)、複製/etc目錄下所有以.d結尾的文件或目錄至/testdir/list01目錄中
(11)、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/testdir/list03目錄中