昨天:
1.bash shell
基本使用方式
2.bash 兩種執(zhí)行方式
3.bash 語(yǔ)法 命令 [選項(xiàng)] [參數(shù)]
4.bash 特殊性質(zhì)
tab? /? 快捷鍵
history? 命令歷史
alias? unalias 別名
man? 幫助手冊(cè)
今天:? 文件管理
文件或目錄 創(chuàng)建 復(fù)制 移動(dòng) 刪除? 編輯? 查找? 等等....
1.linux系統(tǒng)目錄結(jié)構(gòu)
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,超級(jí)管理員root的家目錄, 普通用戶無(wú)權(quán)操作
3.系統(tǒng)文件目錄
/usr堡牡,相當(dāng)于C:\Windows
/usr/local瞭吃,軟件安裝的目錄嗜憔,相當(dāng)于C:\Program File
/usr/bin/,普通用戶使用的應(yīng)用程序(重要)
/usr/sbin便锨,管理員使用的應(yīng)用程序(重要)
/usr/lib围辙, 庫(kù)文件Glibc 32bit
/usr/lib64,庫(kù)文件Glibc 64bit
4.啟動(dòng)目錄
/boot 存放的系統(tǒng)啟動(dòng)相關(guān)的文件放案,例如:kernel姚建,grub(引導(dǎo)裝載程序)
5.配置文件目錄
/etc,極其重要吱殉,后續(xù)所有服務(wù)的配置都在這個(gè)目錄中
/etc/sysconfig/network-script/ifcfg-掸冤,網(wǎng)絡(luò)配置文件
/etc/hostname,系統(tǒng)主機(jī)名配置文件
/etc/resolv.conf友雳,dns客戶端配置文件
/etc/hosts稿湿,本地域名解析配置文件? C:\Windows\System32\drivers\etc
6.可變的目錄與臨時(shí)目錄
/var,存放一些變化文件押赊,比如/var/log/下的日志文件
/var/tmp饺藤,進(jìn)程產(chǎn)生的臨時(shí)文件
/tmp,系統(tǒng)臨時(shí)目錄(類似于公共廁所)
7.設(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ī),隨時(shí)隨地取錢
8.虛擬的文件系統(tǒng) (如對(duì)應(yīng)的進(jìn)程停止則/proc下對(duì)應(yīng)目錄則會(huì)被刪除)
/proc哆档,反映當(dāng)前系統(tǒng)正在運(yùn)行進(jìn)程的實(shí)時(shí)狀態(tài)
PS:類似于汽車在運(yùn)行過(guò)程中的儀表板蔽挠,能夠看到汽車的油耗、時(shí)速、轉(zhuǎn)向燈澳淑、故障等等
9.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,(放在一個(gè)文件中)? lock相關(guān)文件
2.文件定位
比如: /etc/hostname比原,整個(gè)文件中包含文件名稱以及文件所在的位置,
我們將這個(gè)叫做路徑杠巡,也就是說(shuō)我們是通過(guò)路徑對(duì)文件進(jìn)行定位量窘。
提問(wèn)FQ: /home/oldboy/file 和/home/oldgirl/file是否是同一個(gè)文件?
提問(wèn)FQ: /abc/test 和 abc/test 是一樣的嗎?
------------------------------------------------------------------------------------------
絕對(duì)路徑: 只要以 / 開(kāi)始的都算絕對(duì)路徑 ls /a.txt
相對(duì)路徑: 相對(duì)于當(dāng)前目錄來(lái)說(shuō)? ? ? ? ? ls? a.txt? ls ./a.txt ls ../a.txt? [/home/oldboy]
. 和 .. 是什么什么?
. 代表當(dāng)前目錄
.. 代表當(dāng)前目錄的上一級(jí)目錄
[root@oldboyedu network-scripts]# cd /usr/ #進(jìn)入/usr
[root@oldboyedu usr]# pwd #打印當(dāng)前所在的位置
/usr
# 相對(duì)路徑方式
[root@oldboyedu usr]# #cd local/
[root@oldboyedu usr]# cd ./local/
[root@oldboyedu local]# pwd
/usr/local
# 絕對(duì)路徑的方式
[root@oldboyedu local]# cd /usr/local
#絕對(duì)路徑 ~ 當(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
#相對(duì)路徑
[root@bgx /]# mkdir abc #創(chuàng)建一個(gè)abc目錄? ? /abc目錄
[root@bgx /]# ls ../file3 #查看上一級(jí)目錄的file3文件? ? [檢查當(dāng)前所在的位置]
[root@bgx /]# ls file4 #查看當(dāng)前目錄file4文件
[root@bgx /]# ls abc/file5 #查看當(dāng)前目錄下的abc目錄下的file5文件
使用相對(duì)路徑和絕對(duì)路徑,到底使用哪一個(gè)?? 沒(méi)有明確的說(shuō)法
[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改變目錄氢拥,常見(jiàn)的使用方法
# cd 絕對(duì)路徑 cd /etc/hostname
# cd 相對(duì)路徑 cd test/abc cd . cd ..
-------------------------------------
# cd? ? ? #切換目錄蚌铜,例: cd /etc
# cd -? ? #切換回上一次所在的目錄
# cd ~? ? #切換回當(dāng)前用戶的家目錄,注意:root和普通用戶是否有所不同嗎?
# cd .? ? #代表當(dāng)前目錄嫩海,一般在拷貝冬殃、移動(dòng)等情況下使用 cp /etc/hostname ./
# cd ..? #切換回當(dāng)前目錄的上級(jí)目錄
3.基本 創(chuàng)建 復(fù)制 移動(dòng) 刪除? 命令
mkdir: 創(chuàng)建目錄
[root@oldboyedu ~]# mkdir oldboy1 #在當(dāng)前目錄下創(chuàng)建oldboy1目錄
[root@oldboyedu ~]# mkdir oldboy1/oldboy2/oldboy3/oldboy4/ -pv #一次創(chuàng)建多個(gè)目錄
1.創(chuàng)建從1-100個(gè)目錄.
[root@oldboyedu ~]# mkdir {1..100}
2.創(chuàng)建dir-1到dir-50個(gè)目錄怎么辦
[root@oldboyedu ~]# mkdir dir-{1..50}
3.了解即可
[root@oldboyedu ~]# mkdir /opt/{bin,logs,conf}/test -pv
----------------------------------------------------------
touch: 創(chuàng)建一個(gè)空的文件
[root@oldboyedu ~]# touch ribao.txt
----------------------------------------------------------
mv: 移動(dòng)文件? mv 源文件 目標(biāo)位置
[root@oldboyedu ~]# mv ribao.txt dir-7/ #將ribao.txt移動(dòng)到dir-7目錄中
[root@oldboyedu ~]# mv file /tmp/tttt #將當(dāng)前目錄下的file文件移動(dòng)到/tmp/下并修改名稱為tttt
[root@oldboyedu ~]# mv hostname test #將hostname文件名稱修改為test
[root@oldboyedu ~]# mv dir-1 dir-2 dir-3 test? dir-15/ #將多個(gè)文件或目錄移到到指定的位置
[root@oldboyedu ~]# ls dir-15/
dir-1? dir-2? dir-3? test
rm: 刪除文件或者目錄? -f 強(qiáng)制刪除 -r 遞歸刪除
[root@oldboyedu ~]# rm -f file1 #刪除一個(gè)文件
[root@oldboyedu ~]# rm -rf 99/? ? ? ? ? ? ? #刪除一個(gè)目錄
[root@oldboyedu ~]# rm -rf dir-* #刪除帶dir-格式的
PS: 在使用rm刪除時(shí), 文件用-f 目錄才加-r? 盡可能不要-rf一起使用