Linux學習筆記 shell及shell命令

2021-09-24 05:14:27 字數 4485 閱讀 4388

一、基本命令語法

1.快捷鍵

2.同行多命令的排列:

3.設定別名

alias [別名]=[需要定義別名的命令]

如: alias ll='ls -al'

注意:4.輸出重定向

如:ls > my.txt

瀏覽當前目錄的資訊,但是結果不再輸出到終端顯示,而是儲存到了my.txt檔案中

> 和》的區別:

>會覆蓋檔案原內容,>>則是在原內容後追加

可利用重定向快速建立檔案:

echo "hello" >testfile

遮蔽命令的任何輸出

cp /etc/my.conf 

>/dev/null  2>&1

這是乙個沒有實際意義的錯誤命令,只演示乙個沒有任何資訊或錯誤提示輸出的命令執行。 cp

命令沒有目標檔案

,應該輸出錯誤。

2>&1

表示錯誤重定向指向標準輸出。

>/dev/null

又使標準輸出重定向到空裝置,最後就是沒有任何輸出資訊

5.管道符 「|」

前乙個的結果作為後乙個命令的輸入:

如:  ls | head -5

瀏覽當前目錄下的檔案資訊,但只顯示前五條

二、shell命令分類及常用命令:

shell命令格式:

命令 -[選項] -[引數]

如   tar  -zxvf  a.gz

-z 說明是解壓.gz型別檔案

-x 說明是解壓操作

-v 顯示詳細資訊

-f 必須,表示使用歸檔檔案

幫助及其他命令:

--help

man命令

info命令

1.常用命令:

(1)檔案管理:

目錄操作: ls瀏覽目錄,mkdir建立目錄,rmdir刪除目錄,pwd顯示當前目錄,cd進入目錄

檔案操作:cp複製檔案,mv移動檔案或重新命名檔案,rm刪除檔案

touch新建檔案,ln建檔案鏈結

cat檢視檔案內容,more向後翻頁,less前後翻頁

部分輸出檔案內容:cut、head

查詢檔案:find、locate

grep:按檔案內容與指定的字串匹配查詢檔案,涉及正規表示式

chmod設定檔案許可權

(2)程序管理:

檢視程序狀態:ps、top

程序控制: kill、bg:將乙個在後台暫停的命令,變成繼續執行

fg:將後台中的命令調至前台繼續執行

(3)使用者管理:

passwd設定密碼、who查詢當前登入使用者

useradd新增使用者、usermod修改使用者、userdel刪除使用者

groupadd新增組、groupmod修改組、groupdel刪除組

su +使用者名稱 切換身份,sudo切換root身份

(4)磁碟管理:

fdisk、mount掛載磁碟

df、du檢視磁碟空間

(5)網路管理:

ifconfig檢視配置資訊

ping、traceroute(路由跟蹤)、netstat(列出連線狀態)、arp、ftp

檔名有空格的情況如何應對:

1)用引號: cp "1 file" file2

2)用轉義符:cp 1\ file file3

ls命令引數:

1)ls -l :以長格式列出檔案,包括檔案大小,日期,屬性等

2)ls -a :顯示目錄中的所有檔案,包括隱藏檔案

3)ls -a:顯示所有檔案,但不現實.和..

4)ls -d:列出目錄的資訊而不是目錄的內容,常是-ld一起用

wc命令:

-c:位元組

-w:word

-l:line

統計當前目錄下的檔案數和目錄數:

ls -l | grep "^-"|wc -l

ls -l | grep "^d"|wc -l

2.檔案鏈結——ln

ln有兩種型別

乙個目錄至少有

2「.」

,以及作為其子目錄的父目錄

「..」

都指向它。所以,如果目錄下新建乙個子目錄,硬鏈結數為3。

3.流輸出

1)cat常用來顯示檔案的內容,如:cat /etc/passwd

2)more顯示檔案內容,每次顯示一屏,常與其他命令結合使用:如  ls --help |more   按回車向後移動一行,按空格向後移動一頁

3)less與more相似,但瀏覽文字時允許翻頁來回看。

4)cut截斷顯示檔案中的內容

如:(1)顯示每行從開頭算起n1到n2的文字

cut  -c  n1-n2  file(檔名)

(2)以空格為分隔符,顯示第二個字段

cut  -f  2  -d  " " file(檔名)

5)echo

將單行文字輸出到標準輸出裝置,常用於shell指令碼檢視變數的值

export a=5

echo $a    或者   echo  $

6)sort

對檔案內容進行排序顯示:

如 :cat /etc/passwd  sort -t  ':'  -k3 -nr /etc/passwd

引數說明:

7)uniq

刪除相鄰重複的行從而只顯示乙個,一般與sort配合使用

8)head

引數說明:

-c n  指定輸出的位元組個數

-n n  制定輸出的行數

9)diff

比較兩個檔案並輸出比較結果,比較目錄時,將目錄包含的檔名作為目錄的內容進行比較

diff  [選項引數]  檔案1 檔案2

mv  :移動檔案或者重新命名檔案  (-i  執行前先詢問使用者)

rm命令:刪除檔案

引數:-i:刪除前先詢問使用者

-f:強制刪除

-r:遞迴處理,將指定目錄下的所有檔案及其子目錄一併處理

-v:刪除時顯示詳細資訊

檔案搜尋find:

find -引數  【目錄列表】 【匹配標準】

-name  檔名:指定要查詢的檔案

-user   使用者名稱:指定使用者

-size  +(-) 大於或小於指定大小的檔案,預設單位為b

-type x(x=d,l,f) 型別的檔案

-exec :對find的結果執行命令,末尾一定要加轉義字元\和分號,代表結束

如:查詢/etc目錄下小於2500位元組的檔案

find /etc -size -2500c

查詢/home目錄下zls使用者的檔名是cp字母開頭的檔案

find /home -user  zls  -name "cp*"

查詢檔案名字裡包含bashrc的配置檔案

find / -name "*bashrc" -type f 2>err

查詢以cp開頭的檔案,將其和其子目錄一起刪除

find . -name "cp*"  -exec rm -rf  {}  \;

檔案內容搜尋——grep

如:搜尋在/etc/passwd 中 "/sbin/nologin"出現的行,找出系統中不允許登陸的使用者

grep  /sbin/nologin  /etc/passwd     注意:條件寫在檔名前面

搜尋在檔案/root/initial-setup-ks.cfg中查詢到所有包含字串boot的行,並將其順序拷貝到/root/lines檔案中

grep "boot"  /root/initial-setup-ks.cfg  >root/lines

與cat結合使用

檢視my.txt中包含hello的內容

cat my.txt |grep hello

總結:grep的匹配條件若是精確查詢則不加「」,若是模糊查詢則加「」

壓縮包管理:

壓縮:tar -cvzf  var.gz  /var

解壓:tar -xvzf  var.gz

linux學習筆記 shell

shell bash 212一般可以將shell理解為乙個命令處理器 乙個讀取並解釋所輸入命令的程式。其次,shell還支援一些shell指令碼。使用的shell型別,可以檢視環境變數echo shell 系統可用的shell路徑儲存在 etc shells 改變登入shell可以使用chsh ch...

Linux學習筆記(Shell)

type ls ls is aliased to ls color auto 未加任何引數,列出 ls 的最主要使用情況 type cd cd is a shell builtin如果指令串太長的話,如何使用兩行來輸出?使用 enter cp var spool mail root etc cron...

Linux學習筆記(一) Shell

先介紹幾個概念 cli即command lind inte ce,面向命令列的使用者介面,使用者輸入命令,核心執行,並在螢幕上顯示執行結果,這種互動的全過程是基於文字方式的。那麼誰來充當使用者與核心互動的使者或者橋梁呢?這就是shell了,單從字面意義上理解,shell就是殼,通俗地講就是內部核心與...