- 在線手冊(cè)
->2. 文件系統(tǒng)命令 - 系統(tǒng)管理命令
- 字符處理
- 網(wǎng)絡(luò)相關(guān)命令
- 軟件安裝
掌握基礎(chǔ)功能
掌握常用選項(xiàng)
正常輸出
使用管道后的輸出
Linux基礎(chǔ)之文件系統(tǒng)
文件命名:/
和空字符
以外的所有字符都可以出現(xiàn)在文件名中,.
開(kāi)頭的文件為隱藏文件庐椒,默認(rèn)不顯示抡四。Linux文件名大小寫(xiě)敏感
文件類型:
靠文件內(nèi)容格式來(lái)區(qū)分文件類型而非文件拓展名,Linux并不嚴(yán)格要求文件要有拓展名
符號(hào) | 說(shuō)明 |
---|---|
- | 普通文件(概含windows所有文件類型举反,即數(shù)據(jù)文件) |
d | 目錄文件(文件夾) |
l | 符號(hào)鏈接(類似于快捷方式) |
c | 字符設(shè)備文件(鍵盤(pán)懊直、鼠標(biāo)、打印機(jī)火鼻、顯示器等字符流文件) |
b | 塊設(shè)備文件(區(qū)別流式文件) |
p | 管道文件(用于進(jìn)程之間通信) |
s | 套接字(socket)文件(用來(lái)描述網(wǎng)絡(luò)通信) |
Linux文件系統(tǒng):
單根的分層樹(shù)型結(jié)構(gòu)
Linux把不同的文件系統(tǒng)掛載(mount)在根文件系統(tǒng)不同的子目錄(掛載點(diǎn))上室囊。
Linux系統(tǒng)目錄:
掛載點(diǎn) | 意義 |
---|---|
/ | 根目錄 |
/bin | 存放重要的Linux命令的可執(zhí)行文件 |
/boot | 存放用于啟動(dòng)Linux操作系統(tǒng)的所有文件(內(nèi)核雕崩、啟動(dòng)文件) |
/dev | 存放連接到計(jì)算機(jī)的所有設(shè)備對(duì)應(yīng)的文件 |
/etc | 默認(rèn)的配置文件存放區(qū),存放和特定主機(jī)相關(guān)的文件和目錄 |
/home | 一般用戶的主目錄所在 |
/proc | 當(dāng)前進(jìn)程和系統(tǒng)信息(內(nèi)存的映射) |
/tmp | 臨時(shí)目錄融撞,所有人可讀寫(xiě)(用戶只能刪除自己創(chuàng)建的文件) |
/usr | 綜合目錄盼铁,存放用戶使用的命令和應(yīng)用程序 |
/sbin | 存放用于系統(tǒng)管理的命令(僅限管理員使用的命令) |
/var | 可變目錄,用于存放變動(dòng)頻繁的文件的目錄(日志等尝偎,F(xiàn)TP默認(rèn)位置) |
/root | root用戶主目錄 |
/lib | 共享庫(kù) |
/lost+found | 存放文件系統(tǒng)檢測(cè)產(chǎn)生的碎片文件 |
主目錄和當(dāng)前目錄:
用戶主目錄:默認(rèn)的某用戶用于存放自己文件的位置饶火,/home/用戶名,替代符
~
也可表示主目錄
當(dāng)前目錄即當(dāng)前工作目錄致扯,用戶當(dāng)前所在的目錄肤寝,.
或./
表示當(dāng)前目錄,..
表示父級(jí)目錄抖僵。
文件名通配符:
符號(hào) | 意義 |
---|---|
* | 匹配任意長(zhǎng)度的字符串鲤看,包括空字符(除過(guò)第一位出現(xiàn)的. ) |
? | 匹配任意一個(gè)單字符,不包括空字符 |
[] | 匹配括號(hào)中的任意一個(gè)字符 |
! | 跟在[之后耍群,表示匹配除!后的所有字符 |
ls命令:
ls [-al] [路徑列表]
义桂、-a
顯示所有文件、-l
以長(zhǎng)格式顯示文件信息蹈垢、-F
顯示文件類型說(shuō)明符
符號(hào) | 意義 |
---|---|
/ | 目錄 |
* | 可執(zhí)行文件 |
@ | 符號(hào)鏈接 |
| | 管道 |
= | socket文件 |
pwd命令:
pwd
打印當(dāng)前工作目錄完整路徑
mkdir: 創(chuàng)建目錄命令
madir [-p] [-m mode]
-p
創(chuàng)建目錄樹(shù)慷吊,即允許連續(xù)創(chuàng)建多級(jí)目錄mkdir -p ~/aa/bb/cc
-m
創(chuàng)建時(shí)指定權(quán)限,以nnn
方式指定(三位八進(jìn)制碼耘婚,分別代表文件主罢浇、所屬組、other的權(quán)限值)沐祷。
例:mkdir -m 750 doc
嚷闭,分別有讀寫(xiě)執(zhí)行、讀執(zhí)行赖临、空的權(quán)限
權(quán)限代碼有三種
代碼 | 權(quán)限 |
---|---|
4 | 讀 |
2 | 寫(xiě) |
1 | 執(zhí)行 |
將同一個(gè)人的不同權(quán)限組合起來(lái)對(duì)應(yīng)的代碼值相加即此人對(duì)此文件的權(quán)限值
如讀胞锰、寫(xiě)、執(zhí)行
權(quán)限的代碼值為4+2+1
即7
兢榨,讀嗅榕、執(zhí)行
的權(quán)限值為4+1
即5
例:
ls -l
各字段解釋詳見(jiàn):Linux ls -l 各字段解釋...
rmdir : 刪除空目錄
rmdir dir
刪除dir目錄,對(duì)非空的目錄無(wú)效吵聪,用途少但保證安全
cd: 切換當(dāng)前工作目錄
cd [目錄](méi)
切換工作路徑到指定的目錄下凌那;
cd -
返回上級(jí)目錄(cd ..
也有同樣的效果)
cd
空參數(shù)則返回用戶主目錄呢(cd ~
也有同樣的效果)
mv : 移動(dòng)或文件更名
mv 源文件(列表) 目標(biāo)文件
mv dir1 doc1.doc ~/tmp
將dir目錄與doc1.doc文件移動(dòng)到~/tmp目錄下,即多個(gè)參數(shù)時(shí)只有最后一個(gè)是目標(biāo)目錄指定
mv doc1.doc doc2.doc
在同一目錄下移動(dòng)一個(gè)文件到另一個(gè)文件即給文件更名吟逝,示例即為將doc1.doc更名為doc2.doc
rm : 刪除文件或目錄
rm [-rf] 文件列表
-r
遞歸刪除所有子目錄及文件
-f
忽略不存在的文件帽蝶,不提示錯(cuò)誤警告、強(qiáng)行刪除
×××××××××××××××××××××××××××××××××××××××××××××××××××××××
× 謹(jǐn)慎使用rm -rf, 講個(gè)笑話從刪庫(kù)到跑路只有一行命令:rm -rf / ×
×××××××××××××××××××××××××××××××××××××××××××××××××××××××
cp : 文件復(fù)制
cp 源文件(列表) 目標(biāo)文件
-r/R
遞歸復(fù)制子目錄
-a
復(fù)制時(shí)保留文件屬性(時(shí)間戳块攒、符號(hào)鏈接等)
find : 文件搜索
-name
按名稱查找励稳,可以使用引號(hào)引起來(lái)的通配符
-type
按類型查找
-exec
將查找到的目標(biāo)進(jìn)行進(jìn)一步處理佃乘,exec
后跟處理命令,通過(guò){}
引用被找到的文件驹尼,且以\;
結(jié)束命令(空格轉(zhuǎn)義符分號(hào))
注意find
命令的選項(xiàng)采用減號(hào)-
而非雙減號(hào)--
調(diào)整選項(xiàng)
文件內(nèi)容顯示:
cat
一次性顯示文件所有內(nèi)容:cat doc.txt
more
分屏顯示文件內(nèi)容
less
分屏顯示文件內(nèi)容趣避,支持搜索,瀏覽界面/
后輸入檢索內(nèi)容回車
head
默認(rèn)顯示前十行文件內(nèi)容新翎,head -n 20 doc.txt
顯示前20行
tail
默認(rèn)顯示后十行文件內(nèi)容程帕。
wc : 文件統(tǒng)計(jì)
-l
: 統(tǒng)計(jì)字?jǐn)?shù)
-c
: 統(tǒng)計(jì)字節(jié)數(shù)
-m
: 統(tǒng)計(jì)字符數(shù)
-w
: 統(tǒng)計(jì)單詞數(shù)
grep : 文件內(nèi)容篩選(在文件中搜索指定的內(nèi)容)
圖示:
grep [-vn] 模式 文件列表
-v
顯示不匹配的行(即反向篩選)
-n
顯示行號(hào)
模式
正則表達(dá)式
grep正則表達(dá)式元字符
元字符 | 功能 | 實(shí)例 | 解釋 |
---|---|---|---|
^ | 行開(kāi)頭定位 | ^live |
與以love 開(kāi)頭的行匹配 |
$ | 行末尾定位 | love$ |
與以love 結(jié)尾的行匹配 |
. | 任意一個(gè)字符 | l..e |
包含一個(gè)l 后跟兩個(gè)字母再跟e 的行 |
* | 前驅(qū)字符重復(fù)0到多次 | Lo*ve |
與包含Lve 或Love 或Loove 等的行相匹配 |
[] | 匹配其中任意一個(gè)字符 | [Ll]ove |
匹配Love 或love
|
[A-Z] | 匹配其中范圍內(nèi)任意字符 | [A-Z]ove |
匹配Aove 、Bove 等至Zove
|
[^A-z] | 匹配非范圍內(nèi)任意一個(gè)字符 | [^A-Z] |
匹配不包括大寫(xiě)字母的行 |
\ | 轉(zhuǎn)義元字符 | love\. |
匹配包含love 后跟. 的行 |
示例:
^a.*b$
表示a
開(kāi)頭b
結(jié)尾的任意長(zhǎng)度的文件名
grep "\.$" a.txt
:在a.txt
中找到句點(diǎn).
結(jié)尾的行
grep "^ *//" a.c
:在名為a.c
的C語(yǔ)言源文件中查找所有雙斜線//
開(kāi)頭的注釋行(即使該行以空格開(kāi)頭)
管道和輸出重定向:
管道
格式:
命令1 | 命令2 | 命令3
功能:
將前一個(gè)命令的輸出作為后一個(gè)命令的輸入
示例:
ls -l | grep "^d" | wc -l
統(tǒng)計(jì)當(dāng)前目錄下屬目錄的數(shù)量輸出重定向
格式:
命令 > 文件名(覆蓋文件)
格式:
命令 >> 文件名(追加文件)
功能:
將命令的輸入輸出結(jié)果保存到指定的文件中
示例:
cat a.txt b.txt > c.txt
使用cat
輸出重定向合并文件
上一課:命令入門及查看幫助文檔