前言
我們都知道不管是Linux系統(tǒng)還是windows系統(tǒng),它們都有命令行模式,這項(xiàng)技術(shù)使得我們可以通過一些相關(guān)字符去操作當(dāng)前的操作系統(tǒng)。字符操作也是操作系統(tǒng)最原始的操作方式,圖形化界面操作雖然降低了學(xué)習(xí)成本,更方便操作,但大多數(shù)時候操作效率還是沒有命令行操作效率高。
Shell
在講命令行之前我們先看看Shell。Linux命令行就是由Shell提供的。Shell其實(shí)是所有命令行程序的統(tǒng)稱,而CentOS系統(tǒng)中默認(rèn)使用的shell程序就是bash,它是linux系統(tǒng)中運(yùn)行的一種特殊程序,其文件位于/bin/bash,用戶在登錄linux系統(tǒng)時,系統(tǒng)就會自動加載一個shell程序,在用戶和內(nèi)核之間充當(dāng)“翻譯官”。
這里要跟Shell 腳本(shell script)區(qū)分開,Shell 腳本是一種為 shell 編寫的腳本程序,業(yè)界所說的 shell 通常都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。
Linux命令概述
Linux命令的分類
- linux命令分內(nèi)部命令和外部命令,外部是由第三方獨(dú)立的程序提供的,比如vim,而內(nèi)部命令就是由sell提供,比如常用的cd、mkdir、pwd等。
值得注意的是Linux系統(tǒng)將存放外部命令、程序的目錄默認(rèn)添加到 “搜索路徑”中,當(dāng)使用位于這些目錄中的外部命令時,用戶不需要指定具體的位置(相當(dāng)于windows中的修改環(huán)境變量,以便我們使用)
命令行的格式
命令字 [選項(xiàng)] [參數(shù)]
-
命令字是固定的
-
Linux命令環(huán)境中,對英文字符的處理是嚴(yán)格區(qū)分大小寫的。
-
參數(shù):命令字的處理對象,可以是文件名、目錄(路徑)名或用戶名等內(nèi)容,個數(shù)可以是零到多個。
-
輔助操作
- Tab鍵:可以提供選項(xiàng)補(bǔ)全命令
- Ctrl+c:停止進(jìn)程
- Ctrl+U:刪除光標(biāo)之前的內(nèi)容
- Ctrl+K:刪除光標(biāo)之后的內(nèi)容
- Ctrl+L:清空你的終端屏幕
- Ctrl + A:該快捷鍵將移動光標(biāo)到所在行首
- Ctrl + E:移動光標(biāo)到行尾
- Ctrl + Y:粘貼使用 Ctrl+U 和 Ctrl+K 快捷鍵擦除的文本
獲得命令幫助的方法
- 使用help命令 查看內(nèi)部命令
help cd
- 使用 --help命令 查看外部命令
vim --help
- 使用man查看手則頁
man who
目錄和文件的基本操作
基本的常用操作有:
- 查看及切換目錄
- 創(chuàng)建目錄和文件
- 復(fù)制、刪除、移動目錄和為文件
- 查找目錄和文件
查看及切換目錄
-
pwd顯示用戶當(dāng)前所在的工作目錄位置
[root@localhost~]# pwd
/root
-
cd將用戶的工作目錄更改到其他位置
使用 mkdir 命令創(chuàng)建 runoob 目錄
[root@www ~]# mkdir runoob
使用絕對路徑切換到 runoob 目錄
[root@www ~]# cd /root/runoob/
使用相對路徑切換到 runoob 目錄
[root@www ~]# cd ./runoob/
表示回到自己的家目錄,亦即是 /root 這個目錄
[root@www runoob]# cd ~
表示去到目前的上一級目錄,亦即是 /root 的上一級目錄的意思;
[root@www ~]# cd ..
注:相對路徑的表現(xiàn)形式
表現(xiàn)形式 | 說明 | 示例 |
---|---|---|
直接使用目錄名或文件名 | 當(dāng)前工作目錄中的子目錄、文件的位置 | grub.conf |
以一個點(diǎn)號“."開頭 | 以當(dāng)前的工作目錄作為起點(diǎn) | ./grub.conf |
以兩個點(diǎn)號“…”開頭 | 以當(dāng)前目錄的上一級目錄(父目錄)作為起點(diǎn) | …/vmlinuz |
以“~用戶名”形式開頭 | 以指定用戶的宿主目錄作為起點(diǎn) | ~teacher |
-
ls 列出目錄
選項(xiàng)與參數(shù):
- -a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來
- -d :僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)
- -l :長數(shù)據(jù)串列出,包含文件的屬性與權(quán)限等等數(shù)據(jù)
- -h:顯示文件大小
將家目錄下的所有文件列出來(含屬性與隱藏檔)
-
alias命令
通過別名機(jī)制簡化常用的、比較長的命令
alias 命令別名=命令
eg. alias myls=‘ls - alh’
若想取消別名定義,則用unalias myls
-
du 統(tǒng)計(jì)目錄及文件空間占有情況
du [選項(xiàng)] [文件或目錄…]
選項(xiàng) 示例 -a 統(tǒng)計(jì)磁盤空間占用時包括所有的文件,而不僅僅只統(tǒng)計(jì)目錄 -h 顯示出目錄或文件的大?。?strong>K、M),默認(rèn)的大小單位為千字節(jié)(KB) -s 只統(tǒng)計(jì)每個參數(shù)所占用空間總的大小,而不是統(tǒng)計(jì)每個子目錄、文件的大小
創(chuàng)建目錄和文件
-
mkdir 創(chuàng)建新的目錄
mkdir [選項(xiàng)] 目錄位置及名稱
eg. mkdir -p /home/{A,B}/abc
以上命令為在home下創(chuàng)建A,B兩個文件夾及在其中創(chuàng)建abc文件夾 -
touch
更新文件的時間標(biāo)記
經(jīng)常用于創(chuàng)建多個新的空文件
touch 文件…
-
ln 為文件或目錄創(chuàng)建鏈接文件(相當(dāng)于windows的快捷方式)
當(dāng)我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。
ln -s (創(chuàng)建軟鏈接) [源文件或目錄] [鏈接目標(biāo)文件或目錄位置](要用絕對路徑)
Linux文件系統(tǒng)中,有所謂的鏈接(link),我們可以將其視為檔案的別名,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬鏈接是存在同一個文件系統(tǒng)中,而軟鏈接卻可以跨越不同的文件系統(tǒng)。
不論是硬鏈接或軟鏈接都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。
復(fù)制、刪除、移動目錄和文件
-
cp 即拷貝文件和目錄
cp [選項(xiàng)]… 源文件或目錄 目標(biāo)文件或目錄
選項(xiàng) 說明 -f 覆蓋目標(biāo)同名文件或目錄時不進(jìn)行提醒,直接強(qiáng)制復(fù)制 -i 覆蓋目標(biāo)同名文件或目錄時提醒用戶確認(rèn) -p 復(fù)制時保持源文件的權(quán)限、屬主及時間標(biāo)記等屬性不變 -r 復(fù)制目錄時必須使用此選項(xiàng),表示遞歸復(fù)制所有文件及子目錄 -
rm 刪除指定的文件或目錄
rm [選項(xiàng)] 要刪除的文件或目錄…
選項(xiàng)與參數(shù):
- -f :就是 force 的意思,忽略不存在的文件,不會出現(xiàn)警告信息;
- -i :互動模式,在刪除前會詢問使用者是否動作
- -r :遞歸刪除??!最常用在目錄的刪除了!這是非常危險的選項(xiàng)?。?!
-
mv 移動目錄或文件
mv [選項(xiàng)]… 源文件或目錄… 目標(biāo)文件或目錄
選項(xiàng)與參數(shù):
- -f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋;
- -i :若目標(biāo)文件 (destination) 已經(jīng)存在時,就會詢問是否覆蓋!
- -u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會升級 (update)
查找目錄和文件
-
which 查找命令或文件存放目錄,搜索范圍由環(huán)境變量PATH決定
which 命令|程序名
which -a 命令|程序名eg.
which ls
which cd -
find 采用遞歸的方式,根據(jù)目標(biāo)的名稱、類型、大小等不同屬性進(jìn)行精細(xì)查找
find [查找范圍] [查找條件表達(dá)式]
查找類型 關(guān)鍵字 說明 按名稱查找 -name 根據(jù)目標(biāo)文件的名稱進(jìn)行查找,允許使用“*”及“?”通配符 按文件大小查找 -size 根據(jù)目標(biāo)文件的大小進(jìn)行查找一般使用“+”、“-”號設(shè)置超過或小于指定的大小作為查找條件常用的容量單位包括 kB(注意 k 是小寫)、MB、GB 按文件屬主查找 -user 根據(jù)文件是否屬于目標(biāo)用戶進(jìn)行查找 按文件類型查找 -type 根據(jù)文件的類型進(jìn)行查找文件類型包括普通文件(f)、目錄(d)、塊設(shè)備文件(b)、字符設(shè)備文件(c)等塊設(shè)備是指成塊讀取數(shù)據(jù)的設(shè)備(如硬盤、內(nèi)存等),字符設(shè)備是指按單個字符讀取數(shù)據(jù)的設(shè)備(如鍵盤、鼠標(biāo)等) 各表達(dá)式之間使用邏輯運(yùn)算符文章來源:http://www.zghlxwxcb.cn/news/detail-450955.html
-a”表示 而且(and)
件類型查找** | -type | 根據(jù)文件的類型進(jìn)行查找文件類型包括普通文件(f)、目錄(d)、塊設(shè)備文件(b)、字符設(shè)備文件(c)等塊設(shè)備是指成塊讀取數(shù)據(jù)的設(shè)備(如硬盤、內(nèi)存等),字符設(shè)備是指按單個字符讀取數(shù)據(jù)的設(shè)備(如鍵盤、鼠標(biāo)等) |各表達(dá)式之間使用邏輯運(yùn)算符
-a”表示 而且(and)
“-o”表示 或者(or)
eg.
find /boot -size +1024k -a -name “vmlinuz*”
find /boot -size +1024k -o -name “vmlinuz*”文章來源地址http://www.zghlxwxcb.cn/news/detail-450955.html
到了這里,關(guān)于Linux shell常用命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!