Day 03
昨天:
1.bash shell
基本使用方式
2.bash 兩種執(zhí)行方式
3.bash 語法 命令 [選項(xiàng)] [參數(shù)]
4.bash 特殊
tab? 補(bǔ)全/? 快捷鍵
history? 命令歷史
alias? unalias 別名
man? 幫助手冊
今天:? 文件管理
文件或目錄 創(chuàng)建 復(fù)制 移動 刪除? 編輯? 查找? 等等....
1.linux系統(tǒng)目錄結(jié)構(gòu)? 9類
Windows: 以多根的方式組織文件 C:\ D:\ E:\ F:\
Linux:以單根的方式組織文件 /
(1)存放命令相關(guān)的目錄
/bin, 普通用戶使用的命令 /bin/ls, /bin/date
/sbin,管理員使用的命令 /sbin/service
(2)存放用戶相關(guān)數(shù)據(jù)的家目錄盗舰,比如:windows不同的用戶登陸系統(tǒng)顯示的桌面背景不一樣
/home,普通用戶的家目錄, 默認(rèn)為/home/username /home/test? 環(huán)境變量的設(shè)定
/root漩勤,超級管理員root的家目錄, 普通用戶無權(quán)操作
(4)系統(tǒng)文件目錄
/usr,相當(dāng)于C:\Windows
/usr/local,軟件安裝的目錄,相當(dāng)于C:\Program File
/usr/bin/船万,普通用戶使用的應(yīng)用程序(重要)
/usr/sbin,管理員使用的應(yīng)用程序(重要)
/usr/lib骨田, 庫文件Glibc 32bit
/usr/lib64唬涧,庫文件Glibc 64bit
(5)啟動目錄
/boot 存放的系統(tǒng)啟動相關(guān)的文件,例如:kernel盛撑,grub(引導(dǎo)裝載程序)
(6)配置文件目錄
/etc,極其重要捧搞,后續(xù)所有服務(wù)的配置都在這個目錄中
/etc/sysconfig/network-script/ifcfg-抵卫,網(wǎng)絡(luò)配置文件
/etc/hostname狮荔,系統(tǒng)主機(jī)名配置文件
/etc/resolv.conf,dns客戶端配置文件
/etc/hosts介粘,本地域名解析配置文件? C:\Windows\System32\drivers\etc
(7)可變的目錄與臨時目錄
/var殖氏,存放一些變化文件,比如/var/log/下的日志文件
/var/tmp姻采,進(jìn)程產(chǎn)生的臨時文件
/tmp雅采,系統(tǒng)臨時目錄(類似于公共廁所)
(8)設(shè)備目錄文件
/dev,存放設(shè)備文件慨亲,比如硬盤婚瓜,硬盤分區(qū),光驅(qū)刑棵,等等
/dev/sd? ? sda sdb sdc4
/dev/null巴刻,黑洞設(shè)備,只進(jìn)不出蛉签。類似于垃圾回收站
/dev/random胡陪,生成隨機(jī)數(shù)的設(shè)備.
/dev/zero,能源源不斷的產(chǎn)生數(shù)據(jù)碍舍,類似于取款機(jī)柠座,隨時隨地取錢
(7)虛擬的文件系統(tǒng) (如對應(yīng)的進(jìn)程停止則/proc下對應(yīng)目錄則會被刪除)
/proc,反映當(dāng)前系統(tǒng)正在運(yùn)行進(jìn)程的實(shí)時狀態(tài)
PS:類似于汽車在運(yùn)行過程中的儀表板片橡,能夠看到汽車的油耗妈经、時速、轉(zhuǎn)向燈锻全、故障等等
(10)PS: 在Linux7系統(tǒng)中, /bin, /sbin, /lib, /lib64都以軟鏈接的形式鏈接到/usr/目錄下
/bin --> /usr/bin
/sbin --> /usr/sbin
lib -> usr/lib
lib64 -> usr/lib64
media #提供設(shè)備的掛載點(diǎn)?
mnt #提供設(shè)備的掛載點(diǎn)
opt #第三方工具默認(rèn)安裝的目錄
run #進(jìn)程運(yùn)行的pid,(放在一個文件中)? lock相關(guān)文件
2.文件定義
比如: /etc/hostname狂塘,整個文件中包含文件名稱以及文件所在的位置,
我們將這個叫做路徑鳄厌,也就是說我們是通過路徑對文件進(jìn)行定位荞胡。
提問FQ: /home/oldboy/file 和/home/oldgirl/file是否是同一個文件?
不是
提問FQ: /abc/test 和 abc/test 是一樣的嗎?
不一樣 第一個是絕對路徑
------------------------------------------------------------------------------------------
絕對路徑: 只要以 / 開始的都算絕對路徑 ls /a.txt
相對路徑: 相對于當(dāng)前目錄來說? ? ? ? ? ls? a.txt? ls ./a.txt ls ../a.txt? [/home/oldboy]
. 和 .. 是什么什么?
. 代表當(dāng)前目錄
.. 代表當(dāng)前目錄的上一級目錄
[root@oldboyedu network-scripts]# cd /usr/ #進(jìn)入/usr
[root@oldboyedu usr]# pwd #打印當(dāng)前所在的位置
/usr
# 相對路徑方式
[root@oldboyedu usr]# #cd local/
[root@oldboyedu usr]# cd ./local/
[root@oldboyedu local]# pwd
/usr/local
# 絕對路徑的方式
[root@oldboyedu local]# cd /usr/local
#絕對路徑 ~ 當(dāng)前用戶的家目錄 root = /root? ? oldboy = /home/oldboy
[root@bgx /]# ls /home/alice/file1
[root@bgx /]# ls ~/file2 #/root/file2
[root@bgx /]# ls ~/alice/file3 #/root/alice/file3
#相對路徑
[root@bgx /]# mkdir abc #創(chuàng)建一個abc目錄? ? /abc目錄
[root@bgx /]# ls ../file3 #查看上一級目錄的file3文件? ? [檢查當(dāng)前所在的位置]
[root@bgx /]# ls file4 #查看當(dāng)前目錄file4文件
[root@bgx /]# ls abc/file5 #查看當(dāng)前目錄下的abc目錄下的file5文件
使用相對路徑和絕對路徑,到底使用哪一個?? 沒有明確的說法
[root@oldboyedu ~]# cd /etc/sysconfig/network-scripts/
[root@oldboyedu network-scripts]# #cd /tmp/
[root@oldboyedu network-scripts]# cd ../../../tmp/
[root@oldboyedu tmp]# pwd
/tmp
cd改變目錄了嚎,常見的使用方法
# cd 絕對路徑 cd /etc/hostname
# cd 相對路徑 cd test/abc cd . cd ..
-------------------------------------
# cd? ? ? #切換目錄泪漂,例: cd /etc
# cd -? ? #切換回上一次所在的目錄
# cd ~? ? #切換回當(dāng)前用戶的家目錄,注意:root和普通用戶是否有所不同嗎?
# cd .? ? #代表當(dāng)前目錄歪泳,一般在拷貝萝勤、移動等情況下使用 cp /etc/hostname ./
# cd ..? #切換回當(dāng)前目錄的上級目錄
3.基本 創(chuàng)建 復(fù)制 移動 刪除? 命令
mkdir: 創(chuàng)建目錄
[root@oldboyedu ~]# mkdir oldboy1 #在當(dāng)前目錄下創(chuàng)建oldboy1目錄
[root@oldboyedu ~]# mkdir oldboy1/oldboy2/oldboy3/oldboy4/ -pv #一次創(chuàng)建多個目錄
1.創(chuàng)建從1-100個目錄.
[root@oldboyedu ~]# mkdir {1..100}
2.創(chuàng)建dir-1到dir-50個目錄怎么辦
[root@oldboyedu ~]# mkdir dir-{1..50}
3.了解即可
[root@oldboyedu ~]# mkdir /opt/{bin,logs,conf}/test -pv
----------------------------------------------------------
touch: 創(chuàng)建一個空的文件
[root@oldboyedu ~]# touch ribao.txt
----------------------------------------------------------
mv: 移動文件? mv 源文件 目標(biāo)位置
[root@oldboyedu ~]# mv ribao.txt dir-7/ #將ribao.txt移動到dir-7目錄中
[root@oldboyedu ~]# mv file /tmp/tttt #將當(dāng)前目錄下的file文件移動到/tmp/下并修改名稱為tttt
[root@oldboyedu ~]# mv hostname test #將hostname文件名稱修改為test
[root@oldboyedu ~]# mv dir-1 dir-2 dir-3 test? dir-15/ #將多個文件或目錄移到到指定的位置
[root@oldboyedu ~]# ls dir-15/
dir-1? dir-2? dir-3? test
rm: 刪除文件或者目錄? -f 強(qiáng)制刪除 -r 遞歸刪除
[root@oldboyedu ~]# rm -f file1 #刪除一個文件
[root@oldboyedu ~]# rm -rf 99/
[root@oldboyedu ~]# rm -rf dir-*
PS: 在使用rm刪除時, 文件用-f 目錄才加-r? 盡可能不要-rf一起使用
##今日內(nèi)容:
1.目錄結(jié)構(gòu)(記下來)
2.文件定位 ---> 路徑
3.文件管理相關(guān)指令
4.文件的編輯vim
5.文件類型[]
6.文件屬性[]