Day3—文件管理
1言蛇、Linux系統(tǒng)目錄結(jié)構(gòu)
? windows:以多根的方式組織文件 c:\ d:\ e:\
? linux:以單根的方式組織文件 /
?1.存放命令相關(guān)的目錄
? ? /bin ,普通用戶的命令 /bin/ls , /bin/date
? ? /sbin,管理員使用的命令 僻他、sbin/service
2.存放用戶相關(guān)數(shù)據(jù)的家目錄,比如:windows不同的用戶登錄系統(tǒng)顯示的桌面背景不一樣
/home 普通用戶的家目錄腊尚,默認為/home/username? /home/test 環(huán)境變量的設(shè)定
/root? 超級管理員root的家目錄吨拗,普通用戶無權(quán)操作
3.系統(tǒng)文件目錄
/usr 相當于C:\windows
/usr/local 軟件安裝的目錄,相當于C:\Program File
/usr/bin/? 普通用戶使用的應(yīng)用程序(重要)
/usr/lib? 庫文件Glibc 32 bit
/usr/lib64? 庫文件Glibc 64 bit
4.啟動目錄
/boot 存放的系統(tǒng)啟動相關(guān)的文件婿斥,例如:kernel ,grub (引導(dǎo)裝載程序)
5.配置文件目錄
/etc 極其重要劝篷,后續(xù)所有服務(wù)的配置都在這個目錄中
/etc/sysconfig/network-script/ifcfg-,網(wǎng)卡配置文件
/etc/hostname,系統(tǒng)主機名配置文件
? ? /etc/resolv.conf民宿,dns客戶端配置文件
? ? /etc/hosts娇妓,本地域名解析配置文件? C:\Windows\System32\drivers\etc
6.可變的目錄與臨時目錄
? ? /var,存放一些變化文件活鹰,比如/var/log/下的日志文件
? ? /var/tmp哈恰,進程產(chǎn)生的臨時文件
? ? /tmp,系統(tǒng)臨時目錄
7.設(shè)備目錄文件
? ? /dev志群,存放設(shè)備文件着绷,比如硬盤,硬盤分區(qū)锌云,光驅(qū)荠医,等等
? ? /dev/sd? ? sda sdb sdc4
? ? /dev/null,黑洞設(shè)備,只進不出彬向。類似于垃圾回收站
? ? /dev/random豫喧,生成隨機數(shù)的設(shè)備.
? ? /dev/zero,能源源不斷的產(chǎn)生數(shù)據(jù)幢泼,類似于取款機紧显,隨時隨地取錢
8.虛擬的文件系統(tǒng) (如對應(yīng)的進程停止則/proc下對應(yīng)目錄則會被刪除)
? ? /proc,反映當前系統(tǒng)正在運行進程的實時狀態(tài)
? ? PS:類似于汽車在運行過程中的儀表板缕棵,能夠看到汽車的油耗孵班、時速、轉(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 #提供掛載點
mnt? #提供掛載點
opt? #第三方工具默認安裝的目錄
run? #進程運行的pid,(放在一個文件中) lock的相關(guān)文件
2篙程、文件定義
比如: /etc/hostname,整個文件中包含文件名稱以及文件所在的位置别厘,我們將這個叫做路徑虱饿,也就是說我們是通過路徑對文件進行定位。
絕對路徑: 只要以 / 開始的都算絕對路徑 ls /a.txt
? ? 相對路徑: 相對于當前目錄來說? ? ? ? ? ls? a.txt? ls ./a.txt ls ../a.txt? [/home/oldboy]
? ? . 和 .. 是什么什么?
. 代表當前目錄
.. 代表當前目錄的上一級目錄
---------------------------------------------------------------------------------
? ? [root@oldboyedu network-scripts]# cd /usr/ #進入/usr
? ? [root@oldboyedu usr]# pwd #打印當前所在的位置
? ? /usr
? ? # 相對路徑方式
? ? [root@oldboyedu usr]# #cd local/
? ? [root@oldboyedu usr]# cd ./local/
? ? [root@oldboyedu local]# pwd
? ? /usr/local
? ? # 絕對路徑的方式
? ? [root@oldboyedu local]# cd /usr/local
? ? #絕對路徑 ~ 當前用戶的家目錄 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文件? ? [檢查當前所在的位置]
? ? [root@bgx /]# ls file4 #查看當前目錄file4文件
? ? [root@bgx /]# ls abc/file5 #查看當前目錄下的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 ~? ? #切換回當前用戶的家目錄,注意:root和普通用戶是否有所不同嗎?
? ? # cd .? ? #代表當前目錄冗懦,一般在拷貝爽冕、移動等情況下使用 cp /etc/hostname ./
? ? # cd ..? #切換回當前目錄的上級目錄
-----------------------------------------------------------------------------------------------
3、基本 創(chuàng)建 復(fù)制 移動 刪除 命令
? mkdir: 創(chuàng)建目錄
? [root@oldboyedu ~]# mkdir oldboy1 #在當前目錄下創(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 源文件 目標位置
? [root@oldboyedu ~]# mv ribao.txt dir-7/ #將ribao.txt移動到dir-7目錄中
? [root@oldboyedu ~]# mv file /tmp/tttt #將當前目錄下的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 強制刪除 -r 遞歸刪除
? [root@oldboyedu ~]# rm -f file1 #刪除一個文件
? [root@oldboyedu ~]# rm -rf 99/
? [root@oldboyedu ~]# rm -rf dir-*
? PS: 在使用rm刪除時, 文件用-f 目錄才加-r? 盡可能不要-rf一起使用