這篇筆記包含以下知識點:
- 幾個概念的理解:Linux命令,控制臺,終端, 終端提示符
- 對文件目錄的操作的相關(guān)命令: 切換目錄,列出目錄下的文件等
- 對文件的操作的相關(guān)命令: 創(chuàng)建,刪除,復(fù)制,修改,移動, 查找
- 對磁盤管理,建立鏈接的相關(guān)命令
- 文本搜索,歸檔, 壓縮,解壓的相關(guān)命令
- 其他一些常用命令, 對操作系統(tǒng)的一些常用命令
linux命令
linux命令是對Linux系統(tǒng)進(jìn)行管理的命令。對于Linux系統(tǒng)來說喧锦,無論是中央處理器跺涤、內(nèi)存、磁盤驅(qū)動器悟泵、鍵盤、鼠標(biāo),還是用戶等都是文件挡逼,Linux系統(tǒng)管理的命令是它正常運(yùn)行的核心影暴,與之前的DOS命令類似错邦。linux命令在系統(tǒng)中有兩種類型:內(nèi)置Shell命令和Linux命令。
控制臺(console)
控制臺(console)是我們通常見到的使用字符操作界面的人機(jī)接口型宙,例如dos撬呢。
我們說控制臺命令,就是指通過字符界面輸入的可以操作系統(tǒng)的命令妆兑,例如dos命令就是控制臺命令魂拦。
終端(Terminal)
終端(Terminal)也稱終端設(shè)備,是計算機(jī)網(wǎng)絡(luò)中處于網(wǎng)絡(luò)最外圍的設(shè)備,主要用于用戶信息的輸入以及處理結(jié)果的輸出等。
- 有一點一定要注意滑频,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的荷愕,也就是說,如果你輸入的命令大小寫不對的話,系統(tǒng)是不會做出你期望的響應(yīng)的安疗。
終端提示符
- windows: C:\Users\pc-laowang>
- linux: python@ubuntu:/opt$
- python: 用戶名
- ubuntu: 主機(jī)名( hostname)
- /opt: 路徑
- $ : 用戶類型
- $ :代表普通用戶
- #: 超級用戶
Linux命令
- 在Linux中,我們可以在終端中通過命令去執(zhí)行操作抛杨。
- 近幾年來,盡管 Linux 發(fā)展得非常迅速荐类,圖形界面越來越友好蝶桶,但是在真正的開發(fā)過程中,Linux 命令行的應(yīng)用還是占有非常重要的席位掉冶,而且許多Linux功能在命令行界面要比圖形化界面下運(yùn)行的快真竖。
- 可以說不會命令,就不算會 Linux厌小。
- 在職場中恢共,大量的 服務(wù)器維護(hù)工作 都是在 遠(yuǎn)程 通過 SSH 客戶端 來完成的,并沒有圖形界面璧亚,所有的維護(hù)工作都需要通過命令來完成讨韭。如 磁盤操作、文件存取癣蟋、目錄操作透硝、進(jìn)程管理、文件權(quán)限 設(shè)定等
- Linux 發(fā)行版本的命令大概有 200 多個疯搅,這里只介紹比較重要和使用頻率最多的命令
命令的基本格式
- 終端命令格式: command [-options] [parameter]
- command:命令名濒生,相應(yīng)功能的英文單詞或單詞的縮寫
- [-options]:選項,可用來對命令進(jìn)行控制幔欧,也可以省略
- [] 代表可選
- parameter:傳給命令的參數(shù)罪治,可以是 零個、一個 或者 多個
- 例:詳細(xì)顯示 /opt目錄下邊的文件列表信息
ls -l /opt
1. 查閱命令幫助信息
- 通過這幾個命令你可以查看其他命令的介紹礁蔗,知道其他命令的介紹和用法觉义。
命令 | 說明 |
---|---|
man |
獲取Linux幫助手冊 |
man-f |
查看所有的同名的手冊(作用不同方面的),再查看特定的手冊浴井。 |
info |
info從首頁開始瀏覽幫助手冊晒骇,也可以瀏覽特定命令的幫助手冊 |
—help |
輸出最簡單有用的介紹。 |
示例:
示例命令 | 說明 |
---|---|
man date |
看到date命令的幫助手冊磺浙,里面有date命令的介紹和詳細(xì)的用法洪囤。 |
2.列出當(dāng)前目錄下的文件 ls
- ls 是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容屠缭,是用戶最常用的命令之一箍鼓,它類似于DOS下的dir命令崭参。
命令 | 說明 |
---|---|
ls |
列出目前工作目錄所含的文件及子目錄 |
ls -a |
顯示所有文件及目錄(ls內(nèi)定將文件名或目錄名稱開頭為"."的視為隱藏檔呵曹,不會列出)。 |
ls -l |
除文件名稱外,亦將文件型態(tài)奄喂、權(quán)限铐殃、擁有者、文件大小等資訊詳細(xì)列出跨新。 |
ls -r |
將文件以相反次序顯示(原定依英文字母次序)富腊。 |
ls -t |
將文件依建立時間之先后次序列出 |
ls -A |
同ls -a ,但不列出"."(目前目錄)及".."(父目錄)域帐。 |
ls -F |
在列出的文件名稱后加一符號赘被;例如可執(zhí)行檔則加"*",目錄則加“/“肖揣。 |
ls -R |
若目錄下有文件民假,則其以下的文件亦皆依序列出。 |
3.切換當(dāng)前工作目錄 cd
-
cd
用于切換當(dāng)前工作目錄龙优。 -
cd
后面可跟絕對路徑羊异,也可以跟相對路徑- "~"表示為home目錄的意思
- "."則是表示目前所在的目錄
- ".."則表示目前目錄位置的上一層目錄。
-
pwd
用于顯示所在的工作目錄的絕對路徑名稱彤断。
命令 | 說明 |
---|---|
cd |
切換到當(dāng)前用戶根目錄野舶,默認(rèn)[/home/用戶名稱/] |
cd . |
切換到當(dāng)前目錄 |
cd .. |
切換到上一級目錄 |
cd / |
返回操作系統(tǒng)跟目錄,默認(rèn):[/] |
cd direction |
進(jìn)入某個指定的文件目錄 |
cd - |
可進(jìn)入上次所在的目錄. |
[注意]:如果路徑是從根路徑開始的宰衙,則路徑的前面需要加上“ / ”平道,如 “ /mnt ”,通常進(jìn)入某個目錄里的文件夾供炼,前面不用加 "/"巢掺。
4. 操作文件的相關(guān)命令
4.1 創(chuàng)建和刪除文件 mkdir
,touch
,rm
命令 | 說明 |
---|---|
touch |
創(chuàng)建一個空的文件 |
mkdir |
用于新建文件夾 |
mkdir -p |
遞歸創(chuàng)建目錄,當(dāng)父目錄存在時忽略,若不存在則建立劲蜻,用此參數(shù)可建立多級文件夾陆淀。 |
rmdir |
刪除空文件夾 |
rmdir -p |
刪除子目錄,如果子目錄刪除之后先嬉,父目錄為空轧苫,則父目錄亦刪除。 |
rm |
刪除文件或目錄疫蔓。 |
rm -i |
以進(jìn)行交互式方式執(zhí)行,刪除前逐一詢問含懊。 |
rm -f |
直接強(qiáng)制刪除,無需逐一詢問(包括只讀文件)衅胀。會忽略不存在的文件 |
`rm -r | 刪除目錄及目錄下所有文件岔乔。遞歸地刪除目錄下的內(nèi)容,刪除文件夾時必須加此選型 |
4.2 復(fù)制文件或目錄 cp
- cp命令的功能是將給出的文件或目錄復(fù)制到另一個文件或目錄中滚躯,相當(dāng)于DOS下的copy命令雏门。
命令 | 說明 |
---|---|
cp |
復(fù)制文件或目錄嘿歌。 |
cp -a |
復(fù)制目錄,它保留鏈接茁影、文件屬性宙帝,并復(fù)制目錄下的所有內(nèi)容。 |
cp -d |
復(fù)制文件時保留鏈接(類似快捷方式)募闲。 |
cp -f |
覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示步脓。 |
cp -i |
在覆蓋目標(biāo)文件之前給出提示,要求用戶確認(rèn)是否覆蓋 |
cp -p |
除復(fù)制文件的內(nèi)容外浩螺,還把修改時間和訪問權(quán)限也復(fù)制到新文件中靴患。 |
cp -r |
若源文件為目錄文件,則復(fù)制該目錄下的所有子目錄和文件要出。 |
cp -l |
不復(fù)制文件蚁廓,只生成鏈接文件。 |
cp -v |
顯示拷貝進(jìn)度 |
4.3 修改和移動文件或目錄 mv
- 用戶可以使用mv命令來移動文件或目錄厨幻,也可以給文件或目錄重命名相嵌。
命令 | 說明 |
---|---|
mv |
修改文件或目錄名,移動文件或目錄到其他位置况脆。 |
mv -i |
若指定目錄已有同名文件饭宾,則先詢問是否覆蓋舊文件。 |
mv -f |
覆蓋某已有的目標(biāo)文件時不給任何指示格了。 |
mv -v |
顯示移動進(jìn)度 |
4.4 查看文件 cat
-
cat
可以查看當(dāng)前目錄下的文件,也可以查看絕對路徑下的文件 - 查看內(nèi)容時看铆,在信息過長無法在一屏上顯示時,使用cat命令會出現(xiàn)快速滾屏盛末,使得用戶無法看清文件的內(nèi)容弹惦,此時可以使用more命令,每次只顯示一頁悄但,按下空格鍵可以顯示下一頁棠隐,按下q鍵退出顯示,按下h鍵可以獲取幫助檐嚣。
命令 | 說明 |
---|---|
cat |
查看文件cat XXX.txt |
more |
逐行顯示內(nèi)容按ctrl+C退出助泽。 |
more +line |
從指定行號開始顯示。例, more +20 從第20行開始查看 |
less |
上下滾動查看內(nèi)容按Q退出嚎京。 |
less +line |
從指定行號開始顯示嗡贺。 |
4.5 查找文件 find
- find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件鞍帝。
常用用法:
命令 | 含義 |
---|---|
find ./ -name '*.sh' |
查找當(dāng)前目錄下所有后綴為.sh的文件 |
find ./ -name "[A-Z]*" |
查找當(dāng)前目錄下所有以大寫字母開頭的文件 |
find /tmp -size 2M |
查找在/tmp 目錄下等于2M的文件 |
find /tmp -size +2M |
查找在/tmp 目錄下大于2M的文件 |
find /tmp -size -2M |
查找在/tmp 目錄下小于2M的文件 |
find ./ -size +4k -size -5M |
查找當(dāng)前目錄下大于4k诫睬,小于5M的文件 |
find ./ -perm 777 |
查找當(dāng)前目錄下權(quán)限為 777 的文件或目錄 |
問題1:查找test目錄中擴(kuò)展名是py的文件
答:find ./ -name '*.py'
問題2:查找test目錄中c或者s開頭的文件
答:find ./ -name '[cs]*'
問題3:查找test目錄大于2M的文件
答:
find ./ -size +2M
ls -lh
問題4:查找出test目錄中屬主用戶有讀寫權(quán)限,同組用戶及其他用戶只有讀權(quán)限的文件
答:find ./ -perm 644
問題5:查找出test目錄中屬主用戶有讀寫執(zhí)行權(quán)限帕涌,同組用戶及其他用戶只有讀和執(zhí)行權(quán)限的文件
答:find ./ -perm 755
5. 對系統(tǒng)的相關(guān)操作
命令 | 說明 |
---|---|
reboot |
重啟系統(tǒng) |
poweroff |
關(guān)機(jī) |
shutdown –r now |
重新啟動操作系統(tǒng)摄凡,shutdown會給別的用戶提示 |
shutdown -h now |
立刻關(guān)機(jī)续徽,其中now相當(dāng)于時間為0的狀態(tài) |
shutdown -h 20:25 |
系統(tǒng)在今天的20:25 會關(guān)機(jī) |
shutdown -h +10 |
系統(tǒng)再過十分鐘后自動關(guān)機(jī) |
`ping | 測試網(wǎng)絡(luò)連通狀況,會向目標(biāo)機(jī)器發(fā)送數(shù)據(jù)包來測試是否連通架谎,是否延時 |
6. 其他一些常用的命令
命令 | 說明 |
---|---|
clear |
清屏. 清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + L |
alias |
設(shè)置指令的別名辟躏。僅輸入alias谷扣,則可列出目前所有的別名設(shè)置。 |
unalias |
用于刪除別名捎琐。 |
unalias -a |
刪除全部的別名 |
tree |
以樹形的方式查看文件列表会涎,默認(rèn)ubuntu是沒有安裝該命令,第一次使用需要安裝tree命令 |
history |
查看使用過的命令 |
> 或>>
|
Linux允許將命令執(zhí)行結(jié)果重定向到一個文件瑞凑,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中末秃。 |
> |
比如: ls > test.txt ( test.txt 如果不存在,則創(chuàng)建籽御,存在則覆蓋其內(nèi)容 ) |
>> |
比如: ls >> test1.txt(test.txt 如果不存在练慕,則創(chuàng)建,存在則追加新內(nèi)容到文件尾部) |
| |
管道:一個命令的輸出可以通過管道做為另一個命令的輸入技掏×褰“| ”的左右分為兩端,左端塞東西(寫)哑梳,右端取東西(讀)劲阎。 |
7. 磁盤管理的相關(guān)命令 df
,du
,fdisk
- 磁盤的管理是Linux上很重要的內(nèi)容,磁盤管理的好壞會影響到系統(tǒng)的整體性能鸠真。
-
fdisk
是Linux下功能是極其強(qiáng)大的磁盤管理命令-
fdisk
的詳細(xì)命令介紹: https://www.cnblogs.com/chjbbs/p/3762223.html
-
命令 | 說明 |
---|---|
df |
檢查文件系統(tǒng)的磁盤空間占用情況悯仙。 |
df -h |
將容量結(jié)果以易讀的容量格式顯示出來 |
df -aT |
將系統(tǒng)內(nèi)的所有特殊文件格式及名稱都列出來。 |
df -h /文件夾名 |
將該文件夾底下的可用的磁盤容量以易讀的容量格式顯示吠卷。 |
du |
查看對文件和目錄磁盤使用的空間锡垄,全部都會列出來,包括隱藏文件的目錄祭隔。 |
du -a |
將文件的容量也列出來偎捎。 |
du -sm /文件夾 |
檢查根目錄底下每個目錄所占用的容量。 |
fdisk |
磁盤分區(qū)表操作工具 |
Q: du和df的區(qū)別在哪?
區(qū)別在于du這個命令其實會直接到文件系統(tǒng)內(nèi)去搜尋所有的文件數(shù)據(jù)序攘。
8.建立鏈接文件:ln
- Linux鏈接文件類似于Windows下的快捷方式茴她。
- 鏈接文件分為軟鏈接和硬鏈接。
- 使用格式:
- 軟連接格式:
ln -s 源文件 鏈接文件
- 硬鏈接格式:
ln 源文件 鏈接文件
- 軟連接格式:
- 提示:如果是在目標(biāo)文件所在目錄以外的目錄創(chuàng)建軟鏈接程奠,那么軟鏈接的目標(biāo)文件路徑寫絕對路徑
Q:軟鏈接與硬鏈接相同點與區(qū)別?
- 軟鏈接與硬鏈接最終都是指向同一個文件的
- 當(dāng)源文件名刪除丈牢, 軟鏈接變成無效鏈接,而硬鏈接還可以打開源文件的內(nèi)容
- 文件詳細(xì)列表顯示時, 軟鏈接的文件類型是 l,而硬鏈接是 -
- 軟連接可以鏈接文件和目錄瞄沙,而硬鏈接只能鏈接文件
Q:鏈接與復(fù)制的區(qū)別?
鏈接與復(fù)制就好比己沛,復(fù)印文件慌核,復(fù)制是多了一份, 而鏈接申尼,不管軟還是硬垮卓,都只有一份文件
9.文本搜索 grep
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對文本文件進(jìn)行模式查找师幕。如果找到匹配模式粟按, grep打印包含模式的所有行。
- grep一般格式為:
grep [-選項] ‘搜索內(nèi)容串’ 文件名
- 在grep命令中輸入字符串參數(shù)時霹粥,最好引號或雙引號括起來灭将。
grep 'a' 1.txt
- grep搜索內(nèi)容串可以是正則表達(dá)式。
常用選項說明:
選項 | 含義 |
---|---|
-v |
顯示不包含匹配文本的所有行(相當(dāng)于求反) |
-n |
顯示匹配行及行號 |
-i |
忽略大小寫 |
問題1: 把家目錄中的文件信息寫入桌面的home.txt中后控, 并且查找D字符
- ls ~ >home.txt
- grep 'D' home.txt
- grep - i 'D' home.txt
- grep - in 'D' home.txt
- grep - inv 'D' home.txt
問題2: 查詢mysql程序是否運(yùn)行(拓展)
ps : 查看當(dāng)前運(yùn)行的進(jìn)程 ,-aux: 以bsd的格式顯示內(nèi)容
命令:ps -aux | grep 'mysql'
10.歸檔管理:tar
- 計算機(jī)中的數(shù)據(jù)經(jīng)常需要備份庙曙,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中浩淘,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)捌朴。
- tar使用格式:
- tar [選項] 打包文件名 文件
- tar命令很特殊,其選項前面可以使用“-”张抄,也可以不使用男旗。
- 除了
-f
需要放在選項的最后,其它選項的順序任意欣鳖。
常用選項:
選項 | 含義 |
---|---|
-c | 生成檔案文件察皇,創(chuàng)建打包文件 |
-v | 列出歸檔解檔的詳細(xì)過程,顯示進(jìn)度 |
-f | 指定檔案文件名稱泽台,f后面一定是.tar文件什荣,所以必須放選項最后 |
-t | 列出檔案中包含的文件 |
-x | 解開檔案文件 |
問題1: 對test目錄下的所有文件打包成my.tar 文件
答:tar -cvf my.tar *
問題2: 對my.tar 文件進(jìn)行拆包
答:tar -xvf my.tar
問題3: 對test目錄下的所有文件打包且以gzip格式壓縮 成 my.tar.gz文件
答:tar -czvf my.tar.gz *
問題4: 對my.tar.gz 解壓及拆包
答:tar -xzvf my.tar.gz
問題5: 對test目錄下的所有文件打包且以bzip2格式壓縮 成 my.tar.bz2文件
答: tar -cjvf my.tar.bz2 *
問題6: 對my.tar.bz2 解壓及拆包 到桌面的test2目錄中
答:
mkdir ../test2
tar -xjvf my.tar.bz2 -C ../test2
11.文件壓縮解壓:gzip
- tar與gzip命令結(jié)合使用實現(xiàn)文件打包、壓縮怀酷。
- tar只負(fù)責(zé)打包文件稻爬,但不壓縮,用gzip壓縮tar打包后的文件蜕依,其擴(kuò)展名一般用xxxx.tar.gz桅锄。
- gzip使用格式如下:
gzip [選項] 被壓縮文件
常用選項:
選項 | 含義 |
---|---|
-d | 解壓 |
-r | 壓縮所有子目錄 |
tar這個命令并沒有壓縮的功能,它只是一個打包的命令样眠,但是在tar命令中增加一個選項(-z)可以調(diào)用gzip實現(xiàn)了一個壓縮的功能友瘤,實行一個先打包后壓縮的過程。
-
壓縮用法:
tar cvzf 壓縮包包名 文件1 文件2 ...
-
示例:
- 將當(dāng)前路徑下的所有文件以及文件夾打包并壓縮到test.tar.gz文件中
tar -zcvf test.tar.gz *
選項 | 含義 |
---|---|
-z | 指定壓縮包的格式為:file.tar.gz |
- 解壓用法:
tar zxvf 壓縮包包名
- 解壓示例:
- 解壓到當(dāng)前路徑下
tar -zxvf text.tar.gz
選項 | 含義 |
---|---|
-z | 指定壓縮包的格式為:file.tar.gz |
-C | (大寫字母“C”),解壓到指定目錄 |
12.文件壓縮解壓:bzip2(了解)
- tar與bzip2命令結(jié)合使用實現(xiàn)文件打包檐束、壓縮(用法和gzip一樣)辫秧。
- tar只負(fù)責(zé)打包文件,但不壓縮被丧,用bzip2壓縮tar打包后的文件盟戏,其擴(kuò)展名一般用xxxx.tar.bz2绪妹。
- 在tar命令中增加一個選項(-j)可以調(diào)用bzip2實現(xiàn)了一個壓縮的功能,實行一個先打包后壓縮的過程柿究。
- 壓縮用法:
tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
- 解壓用法:
tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
13. 文件壓縮解壓: zip邮旷、unzip(了解)
- 通過zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip蝇摸。
- 壓縮文件:
zip [-r] 目標(biāo)文件(沒有擴(kuò)展名) 源文件
- 解壓文件:
unzip -d 解壓后目錄文件 壓縮文件
14.查看命令位置:which
- which命令用于查找并顯示給定命令的絕對路徑婶肩,環(huán)境變量PATH中保存了查找命令時需要遍歷的目錄。
- which指令會在環(huán)境變量 PATH 設(shè)置的目錄里查找符合條件的文件探入。
- 使用 which 命令狡孔,就可以看到某個系統(tǒng)命令是否存在懂诗,以及執(zhí)行的到底是哪一個位置的命令蜂嗽。
- 示例:
which Python
- 示例:
問題:分別查看ls和shutdown兩個命令在哪個目錄中
答:
python@ubuntu:~/Desktop/test2which shutdown
/sbin/shutdown
python@ubuntu:~/Desktop/test2$