1. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
狀態返回值:
0表示成功執行 1-255則表示失敗
命令行展開:
~:自動展開用戶或指定用戶的家目錄,
{}:可承載以逗號分隔的路徑列表并將其展開為多個路徑
練習:
請使用命令行展開功能來完成以下練習:
(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
(1).mkdir -pv /tmp/{a_{c,d},b_{c,d}} (2).mkdir -pv /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}}
2.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的數據分兩種:一種元數據,既屬性數據;一種就是數據本身;可使用stat命令查看文件的元數據
我們可以使用touch命令來修改文件的時間戳,常用的選項有以下:
-c:指定的文件路徑不存在時不予創建
-a:僅修改access time
-m:僅修改modify time
-t:使用指定的日期時間,而非現在的時間;[[CC]YY]MMDDhhmm[.ss];
3.如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
可以使用alias來定義別名,使用unalias來取消別名
引用可使用 $(COMMAND)
練習:
4、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/[0-9]*[^0-9] -d
5、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文[]件或目錄。
ls /etc/[^[:alpha:]][[:alpha:]]* -d
6、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:
tfile-2016-11-06-15-21-22。
touch /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S)
7、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^[:digit:]] /tmp/mytest1/
8、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
mkdir /tmp/mytest2 ;cp -ri /etc/*.d /tmp/mytest2
9、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp /etc/[mn]*.conf /tmp/mytest3
原創文章,作者:N24_JJP,如若轉載,請注明出處:http://www.www58058.com/57960
幾個練習都完成的不錯~~上面的幾張圖片能換成markdown會更好點~~繼續加油~