2020.10.21星期三 正式班D12
一、目錄結構
-
系統目錄結構
-
目錄
檔案夾:存放的是具體有哪些檔案 檔案:存放的就是具體的資料
-
需要記住的
/dev/cdrom # CD光牒裝置,CD光牒裡存放的内容都在這裡,以後用來為我們的作業系統補包
/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
- 配置檔案目錄
1. /etc/sysconfig/network-scripts/ifcfg-eth0 # 網絡配置檔案 2. /etc/hostname # 系統主機名配置檔案 3. /etc/resolv.conf # DNS用戶端配置檔案 4. /etc/hosts # 本地域名解析配置檔案
- 裝置目錄檔案
1. /dev/cdrom 和/dev/sr0 # 系統CD光牒鏡像裝置 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 # 标準輸出
- 虛拟檔案系統
- 可變的目錄與臨時目錄
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目錄不存在)
-
- 建立檔案(touch建立的是文本檔案,字尾隻是區分)
-
删除
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 # 詳細過程
-
- mv
-
-
檢視檔案内容(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
-