Linux Shell程式設計從初學到精通筆記

2021-09-11 02:30:16 字數 4010 閱讀 2085

2、linux檔案系統和文字編輯器

2.1、使用者和使用者組管理

2.1.1、使用者管理常用命令

useradd:使用者賬號新增指令

useradd [option] [username]

-g :用於新增使用者賬號時指定該使用者的私有組。

-g:用於新增附屬組

-d:用於顯示或設定useradd命令所使用的預設值

-d:指定使用者主目錄,如果此目錄不存在,則同時使用-m選項來建立主目錄。

-m:使用的目錄若不存在,則自動建立。

-u: 制定使用者的使用者號。

usermod:修改使用者賬號

usermod [option] [username]

-d :修改使用者登入時的目錄

-e :修改賬號的有效期限,days表示天數

-g :修改使用者所屬的群組

-l :變更使用者登入時的名稱為login_name

-p :修改使用者密碼

-s :指定使用者登入的shell,如果不設定,則選用系統預設的shell

userdel:刪除使用者賬號命令

passwd:使用者口令管理命令

passwd [option] [username]

-l :鎖定使用者口令,即禁止使用該使用者賬號。

-u:口令解鎖

-f:強迫使用者下次登入時修改密碼。

-l [login_name]:變更使用者登入時的名稱為login_name

2.1.2、使用者組管理常用命令

groupadd:使用者組新增命令

groupadd [option] [groupname]

-g gid:除非使用-o引數,否則gid值必須是唯一且數值不可為負,預設值以/etc/login.defs為準

-o gid:執行gid不唯一

-r:加入組gid號,且其gid號低於499系統賬號。

-f:新增乙個已經存在的使用者組賬號,系統會出現錯誤,然後結束

groupmod:使用者組修改命令

groupmod [option] [groupname]

-g gid:使用者指定新的gid

-o gid:重複使用gid

-n:為群組改名

groupdel:使用者組刪除命令

groupdel [groupname]

2.2、檔案和目錄操作

2.2.1、檔案操作常用命令

ls:檔案清單命令

ls [option] [file or directory]

cp:檔案複製命令

cp [option] [source] [destination]

-a:該選項通常在複製目錄時使用,它保留鏈結、檔案屬性,並遞迴地複製目錄。

-d:複製時保留鏈結

-f:刪除已經存在的目標檔案而不提示。

-i:在覆蓋目標檔案時給出提示,要求使用者確認。

-p:除複製檔案內容外,還將把其修改時間和訪問許可權也複製到新檔案中。

-r:遞迴複製該目錄下的所有檔案。

-l:不進行複製操作,只是鏈結檔案。

mv:檔案移動命令

mv [option] [source] [destination]

-i:互動方式操作。

-f:禁止互動操作。

-p:移動時保持許可權。

rm:刪除檔案命令

rm [option] [filename or directoryname]

-f:忽略不存在的檔案,從不給出提示

-r:遞迴刪除

-i:進行互動式刪除

2.2.2、目錄操作常用命令

mkdir:建立目錄命令

mkdir [option] [directoryname]

-m:對新建目錄設定訪問許可權

-p:自動建立不存在的目錄

-v:每次建立新目錄都顯示資訊。

rmdir:刪除目錄命令

rmdir [option] [directoryname]

-p:遞迴刪除空目錄

cd:目錄切換命令

cp [directoryname]

cd -:返回上次訪問的目錄

2.2.3、檔案和目錄許可權管理

chmod:更改檔案(目錄)許可權命令

chmod [usertype] [signal] [type] [filename]

chown:更改檔案(目錄)屬主命令

chown [option] [owner] [filename]

-c:若該檔案或目錄屬主確實已經更改,才顯示其更改動作。

-h:改變符號鏈結檔案的屬主時不影響該鏈結所指向的目標檔案。

-f:若該檔案或目錄屬主無法被更改也不顯示錯誤資訊。

-v:顯示屬主變更的詳細資料

-r:以遞迴的方式逐個變更屬主。

2.2.4、查詢檔案命令

find:查詢檔案命令

find [路徑] [選項] [操作]

-name:根據檔名查詢檔案

-perm:根據檔案許可權查詢檔案

-prune:使用這一選項可以使find命令不在當前制定的目錄中查詢,如果同時使用-depth選項,那麼-prune將被find命令忽略。

-user:根據檔案屬主查詢檔案

-group:根據檔案所屬的使用者組查詢檔案。

-mtime -n +n:根據檔案的更改時間查詢檔案,-n表示檔案更改時間距今在n天之內,+n表示檔案更改時間距今在n天之前

-nogroup:查詢無有效屬組的檔案

-nouser:查詢無有效屬主的檔案。

-newer file1 ! file2:查詢更改時間比檔案file1新但比檔案file2舊的檔案。

-type:查詢某一型別的檔案。

b:塊裝置檔案

d:目錄

c:字元裝置檔案

p:管道檔案

l:符號鏈結檔案

f:普通檔案

-size n:[c]:查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。

-depth:在查詢檔案時,首先查詢當前目錄下檔案,然後在其子目錄中查詢

-print:將匹配的檔案輸出到標準輸出

-exec:對匹配的檔案執行該引數後的shell命令。相應命令的形式為'command' \;

-ok:和-exec的作用相同,不過給給出提示。

find . -name 't*' -perm 744 -print:查詢當前目錄下檔名以t開頭的,且檔案屬主具有讀、寫、執行許可權的檔案。

find . -mtime -90 -print:查詢更改時間距今90天內的檔案

find /etc -type f -name "rc*" -exec ls -l \;:查詢/etc目錄下檔名以rc開頭的普通檔案,並對查詢結果執行ls -l命令,即列出查詢結果的詳細檔案資訊。

2.3 文字編輯器

2.3.1、vim編輯器

用於移動游標的vim命令

h:將游標向左移動

j、+、enter:將游標向下移動

k、-:將游標向右移動

l:將游標向右移動

}:將游標移動到當前段落的末尾

{:將游標移動到當前段落的開頭

):將游標移動到當前句子的末尾

(:將游標移動到當前句子的開頭

^:移動到當前行的第乙個非空字元

$:移動到當前行末尾

:n:移動到行n

常用的vim編輯命令

x:刪除游標當前位置的字元

dd:刪除游標所在的整行文字

d$:刪除當前游標位置到該行結束的所有文字。

dw:從當前游標位置向後刪除單詞

j:將下一行文字內容合併到本行行尾

a:在當前游標所在行的後面附加內容

vim編輯器的搜尋和替換命令

/word:自當前游標位置向下搜尋名字為word的字串

?word:自當前游標位置向上搜尋名字為word的字串

:n1,n2s/word1/word2/g:在n1行與n2行之間搜尋名字為word1的字串,並將其替換為word2

:1,$s/word1/word2/g:在第一行和最後一行之間搜尋名字為word1的字串,並將其替換為word2

LINUX SHELL初學筆記

一 linux與shell詳解 2020.2.16見筆記 二 linux中檔案和目錄管理的基本命令 1 ls命令 檢視目標列表或者目錄的內容 語法 ls 選項 目錄或者檔案 a 顯示指定目錄下的所有子目錄與檔案,包含隱藏檔案 i 顯示檔案的詳細資訊 d 顯示目錄 2 cd命令 用來切換工作目錄 語法...

linux shell 程式設計

bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...

linux shell 程式設計

1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...