正式班D12
2020.10.21星期三 正式班D12
一、目錄結構
-
系統目錄結構
-
目錄
文件夾:存放的是具體有哪些文件 文件:存放的就是具體的數據-
需要記住的
/dev/cdrom # 光碟設備,光碟里存放的內容都在這裡,以後用來為我們的作業系統補包
/dev/null # 黑洞文件:把不想要顯示的內容丟入黑洞
/etc/hostname # 主機名的配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 # 網卡的配置文件
/etc/resolv.conf # 指定遠程DNS地址
/etc/hosts # 本機域名解析文件
/home/ # 以普通用戶命名的文件夾 # 該普通用戶的家目錄
/root # root的家目錄
~ # 代表當前用戶的家目錄
掛載點
/mnt
/opt
/tmp
/media/proc/sys/net/ipv4/ # 與於網路參數優化相關的文件
/var/log/ # 查看日誌
tail -f /var/log/messages # 動態查看日誌
-
其他
-
系統相關目錄
- bin->usr/bin # 普通用戶使用的命令,如ls、date
- sbin->usr/sbin # 管理員使用的命令
-
啟動目錄
- boot # 存放的啟動相關的文件,例如kernel,grub(引導裝載程式)
-
系統目錄文件
- usr # 系統文件,相當於C:\Windows
- lib->usr/lib # 庫文件Glibc
- lib64->usr/lib64 # 庫文件Glibc
-
用戶家目錄
- home # 普通用戶家目錄
- root # root用戶的HOME
-
配置文件目錄
etc # 配置文件,很重要,系統級服務配置文件都在這裡
1. /etc/sysconfig/network-scripts/ifcfg-eth0 # 網路配置文件 2. /etc/hostname # 系統主機名配置文件 3. /etc/resolv.conf # DNS客戶端配置文件 4. /etc/hosts # 本地域名解析配置文件- 設備目錄文件
dev # 設備文件,如/dev/sda,/dev/sr0
1. /dev/cdrom 和/dev/sr0 # 系統光碟鏡像設備 2. /dev/null # 黑洞設備 3. /dev/random # 生成隨機數的設備 4. /dev/zero # 源源不斷產生數據(類似取款機,隨時隨地取數據) 5. /dev/pts/0 # 虛擬的*Bash Shell*終端,提供給遠程客戶使用(*0*代表第一個終端,*1*-->第二個終端) 6. /dev/stderr # 錯誤輸出 7. /dev/stdin # 標準輸入 8. /dev/stdout # 標準輸出- 虛擬文件系統
proc # 虛擬的文件系統,反應的是內核,進程資訊和實時狀態
- 可變的目錄與臨時目錄
var # 存放變化文件,如資料庫、日誌、郵件
1. /tmp # 系統臨時目錄(類似垃圾桶),系統定時刪該目錄下長時間未訪問的文件 2. /var # 存放變化文件 3. /var/lib/mysql # mysql 4. /var/ftp # vsftbd 5. /var/spool/mail # mail 6. /var/spool/cron # cron 7. /var/log 系統日誌文件存放目錄 # log 8. /var/tmp # 臨時文件(主要是程式產生的臨時文件)-
設備(主要指存儲設備)掛載目錄
- media # 移動設備默認的掛載點
- mnt # 手工掛載設備的掛載點
- opt # 早期第三方廠商的軟體存放目錄
- tmp # root用戶的HOME
-
其他
- lost+found # 孤兒文件
- run # 存放程式運行後所產生的pid文件
- srv # 物理設備產生的一些文件
- sys # 硬體設備的驅動程式資訊
-
-
-
補充命令
- cd # 切換文件夾
- pwd # 查看當前所在的文件夾
- cat # 查看文件內容
- stat查看Linux的三種時間
- 訪問時間:atime,查看內容,用cat檢測
- 修改時間:mtime,修改內容
- 改變事件:ctime,修改內容、許可權等都會改變
-
路徑
-
絕對路徑
路徑是從根開始的,即/作為前綴
Linux系統:/a/b/c/d/new.txt
Windows系統:C:\a\b\c\d\new.txt
-
相對路徑
路徑不是從根開始的
Linux系統c/d/new.txt
Windows系統a\b\c\d\new.txt
-
二、文件管理
-
命令
-
pwd # 查看當前所在的目錄
-
cd # 切換目錄
- cd - # 返回上次目錄
- cd # 直接回家,等同於cd ~
- cd . # 保持當前目錄不變
- cd .. # 切換到當前目錄的上一級目錄
-
ls # 瀏覽
- ls # 默認瀏覽當前目錄
- ls -l 目錄 # 瀏覽目錄下的子目錄及子文件名的詳細資訊
- ls -al 目錄 # 瀏覽的結果包含隱藏文件
- ls -dl 目錄 # 查看目錄
-
tree # 查看目錄樹(需先安裝tree命令,執行yum install tree -y)
- tree -a 目錄 # 顯示所有文件,包括隱藏文件
- tree -d 目錄 # 只顯示子目錄
- tree -L 1 目錄 # -L:遍歷目錄的最大層數,後面跟大於0的整數
- tree -F 目錄 # -F:在條目後加上文件類型的指示符號,如目錄後會加上左斜杠/
- 其他
- -C # 在文件和目錄清單上加上色彩,便於區分各種類型
- -D # 列出文件或目錄的更改時間
- -f # 在每個文件或目錄前,顯示完整的相對路徑名稱
- -g # 列出文件或目錄所屬組的名稱,沒有對應名稱則顯示群組識別碼
- -I # 不顯示符合範本樣式的文件或目錄名稱
- -P # 只顯示符合範本樣式的文件或目錄名稱
- -l # 遇到性質為符號連接的目錄,直接列出該鏈接所指向的原始目錄
- -s # 列出文件或目錄大小
- -t # 用文件或目錄的更改時間排序
- -u # 列出文件或目錄的擁有者名稱,沒有對應名稱則顯示用戶識別碼
-
-
增刪改查(創建、複製、移動、刪除)
-
創建
-
創建文件(touch創建的是文本文件,後綴只是區分)
-
創建單個文件
- touch file1.txt # 無則創建,有則更新時間(相對路徑)
- touch /root/a.txt # 無則創建,有則更新時間(絕對路徑)
-
創建多個文件
-
用空格分開
touch a.txt b.txt c.txt
-
用{}
touch {d,e,f}.txt
touch {1..3}.txt # 1.txt 2.txt 3.txt
touch {1..2}{a..b}.txt # 1a.txt 1b.txt 2a.txt 2b.txt
-
-
-
創建文件夾(mkdir)
-
用空格分開
mkdir /root/a /root/b
-
用{}
mkdir /root/{a,b,c}
mkdir -p a/b/c/d # 遞歸創建(a目錄不存在)
-
-
-
刪除
rm -rf # r:刪目錄,f:強制刪除
*rm -rf ** # 刪除當前目錄下所有內容
rm -rf /* # 刪根
rm -rf -i # i:交互
rm -rf -v # v:提示過程
-
複製
-
複製文件
cp 源文件 目標文件
-
複製文件夾
cp -r
-
將某文件夾下所有文件複製到新文件夾
cp -r /boot/ /test/* # 將boot目錄下所有文件複製到/test/目錄下
-
複製的同時保留原資訊
cp -a /home/jack/a.txt /mnt/b.txt
-
目標文件夾(有寫、執行許可權)中有同名文件(無寫許可權)
cp -f /test/a.txt /test1/a.txt
(實際步驟:先執行rm -rf /test/a.txt再執行cp /text/a.txt /text1/)
-
-
移動(相當於剪切)
-
mv
- mv 源地址 目標地址
- 示例
- mv file2 /home/dir3 # 將file2移動到/home/dir3里
- mv file4 file5 # 將file4重命名為file5(當前位置的移動就是重命名)
-
rm
-
示例
cd /home
rm -rf dir1 # 刪除/home/dir1
-
常用搭配
-r # 遞歸
-f # force強制
-v # 詳細過程
-
-
-
-
查看文件內容(cat)
-
常用搭配
- -n # 顯示行號
- -A # 包括控制字元(換行符),例如Linux中的$、Windows中的^M$
-
拓展
- dos2unix 文件 # 將Windows格式的文件轉換成Unix格式
- unix2dos 文件 # 將Unix的文件轉換成Windows格式
-
less more head tail
-
head /etc/passwd # 查看passwd文件的前十行(默認十行)
-
head -2 /etc/passwd # 查看passwd文件的前兩行
-
tail /etc/passwd # 查看passwd文件的最後十行(默認十行)
-
tail -2 /etc/passwd # 查看passwd文件的最後兩行
-
more /etc/passwd # 每次在螢幕上顯示一屏(一頁)內容,且在底部出現"-More-(n%)"的資訊
(n%是指顯示文件內容的百分比)按空格下一頁,b上一頁;more +40 a.txt表示從第40行開始查看
-
less /etc/passwd # 螢幕上顯示一屏(一頁)內容,向下鍵一次翻一行
-
logger yangsheng # 手動產生日誌資訊
-
tail -4 a.txt | head -2 # 查看a.txt的倒數第三和第四行
-
tail -f /var/log/messages # 動態查看文件的尾部
-
-
grep
針對文件內容進行過濾
xxx | greb yyy
-

