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