Linux文件管理
- 一、管理文件
- 1.目錄和路徑
- 2.目錄操作命令
- 3.文件操作命令
- 4.文件內容操作命令
一、管理文件
1.目錄和路徑
文件與目錄簡介
文件是Linux操作系統用來存儲信息的基本結構,是一組信息的集合。目錄是一種特殊的文件,用來保存文件及其相關信息。所有的文件都會保存到目錄中。
工作目錄與用戶主目錄
(1)工作目錄是用戶當前所在的目錄,他是可以隨時改變的。
(2)用戶主目錄是用戶登錄成功后進入的默認目錄,一般在“/home/用戶名”目錄下。
路徑
通過“/”結合在一起的一個或多個目錄及文件名的集合稱為路徑,路徑又分為絕對路徑和相對路徑。絕對路徑是指從根目錄(/)開始的路徑,如“/usr/local”。相對路徑是相對于用戶工作目錄的路徑,如“…/local”。
Linux操作系統中的特殊目錄
特殊目錄 | 含義 |
---|---|
. | 工作目錄 |
. . | 工作目錄的上一級目錄,也就是父目錄 |
~ | 用戶主目錄 |
2.目錄操作命令
常用的目錄操作包括創建目錄(mkdir),刪除空目錄(rmdir),切換工作目錄(cd),
查看當前目錄(pwd),和列出目錄內容(ls)等。
1.創建目錄——mkdir命令
mkdir [-p] 目錄名
“-p” 選項表示創建嵌套的多級目錄樹。如果不加“-p”選項,則只能在已經存在的目錄下創建子目錄。
創建目錄
# 在當前目錄下創建子目錄“book”
[root@localhost ~]# mkdir book# 在“package” 目錄下創建子目錄“mysql” 。如果“package” 目錄不存在,則同時創建該目錄
[root@localhost ~]# mkdir -p package/mysql
刪除空目錄——rmdir命令
rmdir [-p] 目錄名
“-p”選項表示遞歸刪除空目錄。如果子目錄刪除后其父目錄為空,則同時刪除父目錄。
刪除空目錄
# 在當前目錄下刪除 “package” 目錄,由于 “package” 目錄不存在 "mysql" 目錄,
所以無法將其刪除[root@localhost ~]# rmdir package
rmdir:刪除 'package' 失敗:目錄非空# 在當前目錄下刪除 “package/mysql” 目錄,執行命令后,子目錄“mysql”
和父目錄“package” 同時被刪除
[root@localhost ~]# rmdir -p package/mysql
切換工作目錄——cd命令
cd [目錄名]
常用的cd命令
命令 | 說明 |
---|---|
cd | 切換到戶主目錄 |
cd. . | 切換到當前目錄的上級目錄 |
cd. ./. . | 切換到當前目錄的上兩級目錄 |
cd / | 切換到根目錄(/) |
實例
[root@localhost ~]# cd /etc/rpm
查看當前工作目錄——pwd命令
pwd
實例
[root@localhost ~]# pwd
/root
列出目錄內容——ls命令
ls [選項] [文件或目錄名]
選項 | 含義 |
---|---|
-a | 顯示所有文件,包括以“.” 開頭的隱藏文件 |
-l | 以長格式顯示文件的屬性、大小詳細信息 |
-d | 僅顯示目錄本身的詳細信息 |
3.文件操作命令
創建空命令——touch命令
touch [-d] 文件名
“-d” 選項表示設置文件的讀取時間和修改時間。如果不加 “-d” 選項,表示創建一個空文件。
實例
在“book”目錄下創建名為“poerty” 的文件,然后將文件的讀取時間和修改時間設置為“2021年10月10日”。
[root@localhost ~]# touch book/poetry
[root@localhost ~]# touch -d 2021-10-10 book/poetry
查看文件類型——file命令
file 文件名
查看名為“initial-setup-ks.cfg”的文件類型
[root@localhost ~]# file initial-setup-ks.cfg
inital-setup-ks.cfg:ASCII text
復制文件或目錄——cp命令
cp [選項] 源文件或目錄名 目錄文件或目錄名
cp命令常用選項含義如下表
選項 | 含義 |
---|---|
-r | 遞歸復制整個目錄樹 |
-f | 若目錄文件已存在,則強制覆蓋 |
-i | 若目錄文件已經存在,則詢問用戶是否覆蓋 |
-p | 文件的屬性也一起復制 |
-d | 若源文件為鏈接文件,則復制該鏈接文件屬性 |
實例
在“book”目錄下創建名為“literature”的目錄,然后將“book”目錄下的文件“poetry”復制到“book/literature”目錄下。
[root@localhost ~]# mkdir book/literature
[root@localhost ~]# cp book/poetry book/literature
刪除文件或目錄——rm命令
rm [選項] 文件或目錄名
rm常用選項含義
選項 | 含義 |
---|---|
-r | 遞歸整個目錄樹 |
-f | 不詢問用戶,強制刪除文件或目錄 |
-i | 刪除文件或目錄時詢問用戶是否刪除 |
實例
刪除文件“user_deng”并在刪除時詢問用戶是否刪除
[root@localhost ~]# rm -i user_deng
移動文件或目錄——mv命令
mv [選項] 源文件或目錄名 目錄文件或目錄名
mv常用命令含義
選項 | 含義 |
---|---|
-f | 不詢問用戶,強制移動文件或目錄 |
-i | 若目標文件或目錄已經存在,則詢問用戶是否覆蓋 |
實例
將“book”目錄及其所有子目錄和文件移動到根目錄中
[root@localhost ~]# mv book /
查找文件或目錄——find命令
find [查找范圍] [查找條件]
find常用命令條件含義
查找條件 | 含義 |
---|---|
-name | 查找指定名稱的文件 |
-size | 查找指定大小的文件 |
-user | 查找屬于指定用戶的文件 |
-group | 查找屬于指定用戶組的文件 |
-type | 查找指定類型的文件 |
實例
查找“/book” 目錄下所有以"p"開頭的問文件
[root@localhost ~]# find /book -name 'p*'
/book/poetry
/book/literature/poetry
查找命令的絕對路徑——which命令
which 命令名
實例
查找pwd命令的絕對路徑
[root@localhost ~]# which pwd
/bin/pwd
4.文件內容操作命令
顯示文件全部內容——cut命令
cat [選項] 文件名
cat命令常用選項的含義
選項 | 含義 |
---|---|
-n | 顯示行號 |
-b | 顯示非空行的行號 |
分屏顯示文件內容——more命令和less命令
more [選項] 文件名
more常用選項如下表
按鍵 | 含義 |
---|---|
Enter | 向下移動一行 |
空格 | 向下翻動一頁 |
b | 向上翻動一頁 |
q | 退出more狀態 |
與more命令相同,less命令也用于分屏顯示文件內容,其格式入下
less [選項] 文件名
顯示文件開始內容——head命令
head [-n] 文件名
顯示文件末尾內容——tail內容
tail [選項] 文件名
選項 | 含義 |
---|---|
-n | 顯示文件后的n行,默認顯示后10行 |
-f | 命令超過文件的末端后,繼續嘗試讀取更多的文件內容 |
實例
顯示文件“book/poetry”的后兩行
[root@localhost ~]# tail -2 /book/poetry
統計文件內容——wc命令
wc [選項] 文件名列表
wc常用選項含義
選項 | 含義 |
---|---|
-l | 統計行數 |
-w | 統計單詞數 |
-c | 統計字節數 |
實例
統計文件“/book/poetry”的行數,單詞數和字節數
[root@localhost ~]# wc -lwc /book/poetry
查找文件中符合條件的行——grep命令
grep [選項] 查找條件 目標文件名
grep常用命令選項
選項 | 含義 |
---|---|
-i | 查找時忽略大小寫 |
-v | 反轉查找,輸出與查找條件不相符的行 |
-n | 在顯示符合的字符串之前,標出該行行號 |
查找文件“/etc/hosts”中包含"localhost6"的行,并標出該行行號。
[root@localhost ~]# grep -n 'localhost6' /etc/hosts