一、Shell:命令行編輯的功能(快捷鍵技巧)

Ctrl+a光標(biāo)移到行首

按ctrl+a后其結(jié)果如下:

 

Ctrl+e光標(biāo)移到行尾

Ctrl+u刪除光標(biāo)處到行首的內(nèi)容

Ctrl+k刪除光標(biāo)處到行尾的內(nèi)容

Ctrl+arrow(左右箭頭)

二、globbing:文件名通配

 通配符有:

*:任意長度的任意字符

如:a*b:表示以a開頭并以b結(jié)尾中間含有N個(gè)字符的求解,aab,abc,ab

?:任意單個(gè)字符

a?b,表示以a開頭并以b結(jié)尾中間有且僅含有一個(gè)任意字符的求解,aab,ayb,abc,ab

[]:指定范圍內(nèi)的任意字符:[abc],[0-9],[a-z],[A-Z]

[:lower:]所有小寫字母

[:upper:]所有大寫字母

[:digit:]所有數(shù)字

如:a[a-z]b,aab,ayb,abc,ab

 求解/etc文件目錄下所有以pass開頭并以數(shù)字或字母結(jié)尾的字符

求解所有以字母開頭并以數(shù)字結(jié)尾的字符:

ls [a-zA-Z]*[0-9]

如在:ab、ab~、ab4、4ab、a4b、ayb、abc、x4y、xy3、3xy、aab中求解上述的值:

 [^a-z]表示除了a到z的其他字符,既表示取反:

[[:alpha:]]代表所有以字符開頭的字符

[[:punt:]]代表標(biāo)點(diǎn)符號的集合

 

 

 三、命令行展開的功能

1、~

cd ~rehat

2、{}

用一個(gè)命令實(shí)現(xiàn)它:

mkdir -p {x/{y/a1,z/b1},m/n}

 

 

實(shí)現(xiàn)上述功能mkdir -v{x,m}_{y,z}

3、$()或``(`波浪形的那反引號):命令引用

 

從上面的代碼可以看出:

(1)echo是輸出命令

(2)date獲取系統(tǒng)日期及時(shí)將

(3)date +%T獲取系統(tǒng)時(shí)間

(4)$()與``的作用是等同的,可以替換

 

 四、如何避免字符展開:

a*b

如何創(chuàng)建a*b的文件

touch a*b是修改a*b的解的時(shí)間屬性

 

 

 

要創(chuàng)建a*b的文件命令用:touch "a*b"即可

 

 

 

 

 

五、轉(zhuǎn)義字符:\

避免一個(gè)字符表示通配的意義

六、如何使用命令別名

ll=ls -l

它是由alias定義的,alias是定義別名的命令

 

 

 定義別名:alias cls=clear其意義是將clear定義別名cls,此定義只對當(dāng)前用戶有效,而且重啟機(jī)器后就失效

撤銷別名:

使用原來的意義而非別名的意義可以采用\字符

七、腳本語言

 

bat,批處理

shell

bash

創(chuàng)建user1,user2,user3用戶

.sh代表腳本,自然Linux并不以后綴名來識別文件

其中myuseradd.sh中的內(nèi)容如下:

其演示如下: