問(wèn)題:如果服務(wù)器里加了一塊磁盤(pán)也只是一個(gè)根嗎?
從圖上表明兵钮,Linux永遠(yuǎn)一直都是單根的
Windows里河咽,我們會(huì)有文件和目錄的區(qū)分钠右。
Linux一切皆為文件,文件是一個(gè)文件忘蟹,目錄其實(shí)也是一個(gè)文件
一:文件管理之命令
1.創(chuàng)建文件:touch
命令 路徑
touch ...... # touch file # 無(wú)則創(chuàng)建,有則修改時(shí)間(相當(dāng)于覆蓋了前面的文件)
touch file2 file3 # 在當(dāng)前家目錄創(chuàng)建了file2和file3兩個(gè)文件
touch /home/od/{file4,file5} #在根下的home下的old目錄下創(chuàng)建了file4 和file5 兩個(gè)文件
touch file{a,b,c} # 在當(dāng)前家目錄創(chuàng)建了file alb,c 三個(gè)文件爬舰,用逗號(hào)隔開(kāi) {}集合,等價(jià) touch a b c
touch file{a..z}寒瓦。 #在當(dāng)前家目錄創(chuàng)建file a到z 26個(gè)文件
touch file{A..Z} #當(dāng)前家目錄創(chuàng)建file A到Z 26個(gè)文件
(??:只能大寫(xiě)到大寫(xiě)情屹,不能大寫(xiě)到小寫(xiě),也不能反過(guò)來(lái))
touch file{1..10}杂腰。 #當(dāng)前家目錄創(chuàng)建file 1到10 10個(gè)文件
2.創(chuàng)建目錄:mkdir ( 目錄通常顯示為藍(lán)色垃你,,就像Windows里的文件夾)
(你要在目錄下創(chuàng)建文件喂很,要是目錄存在就不會(huì)報(bào)錯(cuò)惜颇,如果不存在就會(huì)報(bào)錯(cuò),就需要?jiǎng)?chuàng)建目錄少辣。)
命令: mkdir
選項(xiàng): -p :遞歸的方式創(chuàng)建目錄
-v :顯示詳細(xì)信息
參數(shù): 路徑凌摄,在哪里創(chuàng)建
例1:
[root@oldboy ~]# mkdir /Oldboy/books/1/2/3 -p # 想多創(chuàng)建目錄。-p遞歸的方式不能忘
例2:
[root@oldboy ~]# mkdir /home/od/dir1 /home/od/dir2 -p
[root@oldboy ~]# ls /home/od/
dir1 dir2
例3:
[root@oldboy ~]# mkdir /home/od/{dir3,dir4}
[root@oldboy ~]# ll /home/od/
# 這個(gè)是因?yàn)橐呀?jīng)有od這個(gè)目錄漓帅,所以在od目錄下就可以用大括號(hào)添加dirl3 和dirl4就不會(huì)報(bào)錯(cuò)
total 0
drwxr-xr-x. 2 root root 6 Mar 5 10:08 dir1
drwxr-xr-x. 2 root root 6 Mar 5 10:08 dir2
drwxr-xr-x. 2 root root 6 Mar 5 10:10 dir3
drwxr-xr-x. 2 root root 6 Mar 5 10:10 dir4
例4:
[root@oldboy ~]# mkdir -pv /home/{od/{diu,but},boy}
#相當(dāng)于是home下加了兩個(gè)文件锨亏,一個(gè)od,一個(gè)boy忙干。然后在od下又有兩個(gè)文件器予,一個(gè)diu 一個(gè)but,所以需要加-p捐迫,進(jìn)行遞歸
/home/od
/home/od/diu
/home/od/but
/home/boy
??:tree 將目錄以樹(shù)狀結(jié)構(gòu)顯示乾翔,如果沒(méi)有該命令怎么辦?
yum install tree -y (可能需要下載)
終端中文變英文:輸入LANG=en
3.拷貝文件:cp (拷貝目錄添加r)
[OPTION]... SOURCE... DIRECTORY
命令:cp
選項(xiàng): -v:詳細(xì)顯示命令執(zhí)行的操作
-r: 遞歸處理目錄與子目錄
-p: 保留源文件或目錄的屬性
參數(shù):路徑
例1:將當(dāng)前目錄下的file文件拷貝至/tmp/目錄下
[root@oldboy ~]# cp file /tmp/ #將當(dāng)下家目錄文件拷貝到/tmp里施戴。如果tmp里有了反浓,可自動(dòng)跳過(guò)萌丈。
例2:將當(dāng)前目錄下的file文件拷貝至/tmp/目錄下,并改名為test.txt
[root@oldboy ~]# cp file /tmp/test.txt
例3:重復(fù)拷貝一個(gè)文件雷则,至/tmp/目錄浓瞪,會(huì)提示是否覆蓋
[root@oldboy ~]# cp file /tmp/test.txt
cp: overwrite '/tmp/test.txt'? #如果直接回車,則無(wú)反應(yīng)
[root@oldboy ~]# cp file /tmp/test.txt
cp: overwrite '/tmp/test.txt'? y #如果輸入 y 則確定覆蓋
例4:直接使用cp無(wú)法拷貝目錄巧婶,需要添加-r參數(shù),才可以
[root@oldboy ~]# cp -r /root/data/ /tmp/
例5:將多個(gè)文件拷貝到/tmp/data目錄下(cp的最后一個(gè)目錄就是目標(biāo)涂乌,中間的都是要拷貝的源文件)
[root@oldboy ~]# cp file01 file02 file3 /tmp/data/
[root@oldboy ~]# ls /tmp/data/
file01 file02 file3
例6: -v顯示拷貝的過(guò)程艺栈,通常我們都不用他
[root@oldboy ~]# cp file04 /tmp/data/ -v
'file04' -> '/tmp/data/file04'
例7:-p 源文件之前是什么屬性。就是什么屬性湾盒。不改變湿右。
變更一下文件的權(quán)限(不用理解什么意思)
[root@oldboy ~]# chown adm file04
-rw-r--r--. 1 adm root 0 Mar 5 09:44 file04
[root@oldboy ~]# cp -p file04 /tmp/fil04_test
[root@oldboy ~]# ll /tmp/fil04_test
-rw-r--r--. 1 adm root 0 Mar 5 09:44 /tmp/fil04_test
4.移動(dòng)文件
對(duì)文件進(jìn)行改名:
mv [OPTION]... SOURCE... DIRECTORY
例子1:
[root@oldboy ~]# mv file /tmp/ #移動(dòng)file文件至/tmp目錄
[root@oldboy ~]# mv file /tmp/file_mmm #移動(dòng)file文件至/tmp目錄下并修改文件名稱
例子2:
[root@oldboy ~]# mkdir /tmp/test #準(zhǔn)備一個(gè)接收文件的目錄
[root@oldboy ~]# mv filea fileb filec /tmp/test #移動(dòng)多個(gè)文件至一個(gè)目錄下
[root@oldboy ~]# mv file{01..10} /tmp/test #移動(dòng)多個(gè)文件至一個(gè)目錄下
例子3:給文件進(jìn)行修改名稱 (可直接修改)
[root@oldboy ~]# mv file1 oldxu
例子4:mv可以直接移動(dòng)目錄,無(wú)需任何參數(shù)
[root@oldboy ~]# mv data/ /tmp/test/
5.刪除文件或目錄:
rm [OPTION]... FILE...
命令:rm
選項(xiàng): -r: 遞歸
-f: 強(qiáng)制刪除
-v: 詳細(xì)過(guò)程
參數(shù):路徑
例子1:刪除文件時(shí)候罚勾,會(huì)提醒是否刪除毅人。 (原因是默認(rèn)rm存在alias別名,rm -i所以會(huì)提醒是否刪除文件)
[root@oldboy ~]# rm file.txt
例子2:刪除文件時(shí)尖殃,不要提示丈莺,直接就刪除。
[root@oldboy ~]# rm -f file2 file3 file4 file5
例子3:刪除目錄送丰,可以使用-r遞歸刪除缔俄,但是會(huì)提示
[root@oldboy ~]# mkdir qq
[root@oldboy ~]# touch qq/1
[root@oldboy ~]# touch qq/2
[root@oldboy ~]# touch qq/3
[root@oldboy ~]# rm -r qq/ #會(huì)不斷提示,很費(fèi)勁
rm: descend into directory 'qq/'? y
rm: remove regular empty file 'qq/1'? y
rm: remove regular empty file 'qq/2'? y
rm: remove regular empty file 'qq/3'?
例子4:-rf組合使用器躏,可以刪除任何東西俐载,很危險(xiǎn),謹(jǐn)慎操作登失。
[root@oldboy ~]# rm test/ -rf
例子5:
[root@oldboy ~]# touch file{1..10}
[root@oldboy ~]# rm -f file* # *表示通配符遏佣,表示所有的意思
例子6:
[root@oldboy ~]# touch file{1..10}.txt # file1.txt file2.txt ..... file10.pdf
[root@oldboy ~]# touch file{1..10}.pdf # file1.pdf file2.pdf ..... file10.pdf
[root@oldboy ~]# rm -f file* #能刪除名字是file開(kāi)始的,后面是啥都不重要揽浙,會(huì)全部被刪除
[root@oldboy ~]# rm -f .pdf #刪除所有.pdf結(jié)尾的文件
[root@oldboy ~]# rm -f ./ #刪除當(dāng)前目錄下的所有文件
注意:引入一個(gè)特殊的符號(hào)状婶, "*" 表示匹配所有
實(shí)驗(yàn): 1.創(chuàng)建了一推的文件,文件要進(jìn)行分門(mén)別類存儲(chǔ)起來(lái)馅巷。
1) 創(chuàng)建一推文件 { /data/filea-filez }
2) 創(chuàng)建一個(gè)目錄 { /data/dir }
3) 將文件剪貼到對(duì)應(yīng)目錄
4) 刪除文件 { /data/dir/* }
1.創(chuàng)建一個(gè)/data目錄太抓,然后在/data目錄下創(chuàng)建對(duì)應(yīng)的文件。
[root@oldboy ~]# mkdir -p /data #創(chuàng)建目錄
[root@oldboy ~]# touch /data/file{a..z} #在目錄下創(chuàng)建文件
[root@oldboy ~]# ls /data/ #檢查一下
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
filec filef filei filel fileo filer fileu filex
2.創(chuàng)建一個(gè)/data/dir目錄令杈。
[root@oldboy ~]# mkdir /data/dir -p
[root@oldboy ~]# ls /data/
dir filec filef filei filel fileo filer fileu filex
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
3.移動(dòng)data目錄下的文件至/data/dir目錄中
[root@oldboy ~]# mv /data/file{a..z} /data/dir/ #將文件都移動(dòng)到/data/dir目錄中
[root@oldboy ~]# ls /data/ #檢查/data/目錄
dir
[root@oldboy ~]# ls /data/dir/ #檢查/data/dir目錄走敌,確認(rèn)文件是否移動(dòng)成功
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
filec filef filei filel fileo filer fileu filex
4.刪除/data/dir/所有文件
[root@oldboy ~]# rm -f /data/dir/* #刪除/data/dir下的所有文件
[root@oldboy ~]# ls /data/ #檢查/data/目錄
dir
[root@oldboy ~]# ls /data/dir/ #檢查/data/dir/目錄