0.新建操作:
mkdir abc #新建一個(gè)文件夾
touch abc.sh #新建一個(gè)文件
1.查看操作
ll #顯示目錄文件詳細(xì)信息
-
查看文件內(nèi)容:
cat|head|tail命令
cat abc.txt #查看abc的內(nèi)容
head -5 abc.txt #查看abc前5行內(nèi)容,。默認(rèn)是10行
tail [選項(xiàng)] 文件名
各選項(xiàng)的含義如下:
+num:從第num行以后開(kāi)始顯示
-num:從距文件尾num行處開(kāi)始顯示。如果省略num參數(shù),,系統(tǒng)默認(rèn)值為10.
-f: 循環(huán)讀取,例如查看服務(wù)器日志時(shí),,可以實(shí)時(shí)觀察
#filename 文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,。
tail -f filename
#查看最后20行
tail -f filename
? more命令:
more命令一次顯示一屏信息,,若信息未顯示完屏幕底部將出現(xiàn)“-More-(xx%)”,。
此時(shí)按Space鍵,可顯示下一屏內(nèi)容,;
按“回車(chē)”鍵,,顯示下一行內(nèi)容,;
按B鍵,,顯示上一屏;
按Q鍵,,可退出more命令,。
? less命令:和more命令類(lèi)似,但是比more命令更強(qiáng)大,。在很多時(shí)候,,必須使用less,比如管道。例如:
ll /etc | less
stat 命令:
查看文件的詳細(xì)信息,,比如創(chuàng)建修改時(shí)間,,大小等
[root@localhost zx]# stat index.html
文件:"index.html"
大小:29006 塊:64 IO 塊:4096 普通文件
設(shè)備:fd00h/64768d Inode:17589607 硬鏈接:1
權(quán)限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
環(huán)境:unconfined_u:object_r:home_root_t:s0
最近訪問(wèn):2019-09-02 21:47:41.824053666 +0800
最近更改:2019-09-02 21:44:33.588587500 +0800
最近改動(dòng):2019-09-02 21:44:33.588587500 +0800
創(chuàng)建時(shí)間:-
du 命令:
選項(xiàng):-h 以合適的單位顯示(會(huì)根據(jù)文件的大小自動(dòng)選擇kb或M等單位)
[root@localhost zx]# du -h index.html
32K index.html
2.刪除操作
rm -f aa.txt #強(qiáng)制刪除aa.txt
rm -rf fileDir #強(qiáng)制刪除fileDir文件夾和里邊的所有文件
3.復(fù)制操作
cp:復(fù)制文件或目錄
語(yǔ)法:
cp [options] source dest
-a:此選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接,、文件屬性,,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合,。
-d:復(fù)制時(shí)保留鏈接,。這里所說(shuō)的鏈接相當(dāng)于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示,。
-i:與-f選項(xiàng)相反,,在覆蓋目標(biāo)文件之前給出提示,要求用戶(hù)確認(rèn)是否覆蓋,,回答"y"時(shí)目標(biāo)文件將被覆蓋,。
-p:除復(fù)制文件的內(nèi)容外,還把修改時(shí)間和訪問(wèn)權(quán)限也復(fù)制到新文件中,。
-r:若給出的源文件是一個(gè)目錄文件,,此時(shí)將復(fù)制該目錄下所有的子目錄和文件。
-l:不復(fù)制文件,,只是生成鏈接文件。
舉例:
#將../html/index.html 復(fù)制到當(dāng)前目錄
cp ../html/index.html .
#將../html/ 目錄下的文件及子目錄復(fù)制到當(dāng)前的tt目錄下,,如果tt不存在,,會(huì)自動(dòng)創(chuàng)建
cp -r ../html/ tt/
#將文件file復(fù)制到目錄/usr/men/tmp下,并改名為file1
cp file /usr/men/tmp/file1
#如果dir2目錄已存在,,則需要使用
cp -r dir1/. dir2
#如果這時(shí)使用cp -r dir1 dir2,則也會(huì)將dir1目錄復(fù)制到dir2中,明顯不符合要求,。
ps:dir1,、dir2改成對(duì)應(yīng)的目錄路徑即可。
#將當(dāng)前目錄下的test.txt復(fù)制到遠(yuǎn)程111.12機(jī)器的/zx目錄下
scp test.txt [email protected]:/zx
#將test.txt復(fù)制到遠(yuǎn)程用戶(hù)的根目錄,,并命名為textA.txt
scp test.txt [email protected]:testA.txt
#也可以不指定用戶(hù),,在后續(xù)提示中再輸入,,如下:
scp test.txt 192.168.111.12:/zx
#從遠(yuǎn)程復(fù)制到本地: -r用于遞歸整個(gè)目錄
scp -r remote_user@remote_ip:remote_folder local_path
4.移動(dòng)操作:
移動(dòng)操作可以理解成復(fù)制文件后,刪除原文件,。
eg1:
mv /zx/soft/* . #復(fù)制/zx/soft目錄中的所有文件到當(dāng)前目錄
mv a.txt ./test/a.txt #復(fù)制當(dāng)前目錄a.txt到當(dāng)前的test目錄下,。
mv /zx/soft/ /tmp/soft #復(fù)制文件夾到/tmp/下,必須保證tmp是存在的文件夾
5.重命名操作:
重命名還是用的移動(dòng)操作命令,,比如:
#將目錄(文件)A重命名為B
mv A B
#將/a目錄(文件)移動(dòng)到/b下,,并重命名為c,。要保證b目錄存在。
mv /a /b/c
#將當(dāng)前test1目錄移動(dòng)到當(dāng)前的test目錄并命名為b
mv ./test1 ./test/b
6.解壓壓縮操作
tar
-c: 建立壓縮檔案
-x:解壓
-t:查看內(nèi)容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個(gè)是獨(dú)立的命令,,壓縮解壓都要用到其中一個(gè),,可以和別的命令連用但只能用其中一個(gè)。下面的參數(shù)是根據(jù)需要在壓縮或解壓檔案時(shí)可選的,。
-z:有g(shù)zip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過(guò)程
-O:將文件解開(kāi)到標(biāo)準(zhǔn)輸出
下面的參數(shù)-f是必須的
-f: 使用檔案名字,,切記,這個(gè)參數(shù)是最后一個(gè)參數(shù),,后面只能接檔案名,。
三、舉例說(shuō)明:
tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個(gè)名為all.tar的包,。-c是表示產(chǎn)生新的包,,-f指定包的文件名。
tar -tf all.tar
這條命令是列出all.tar包中所有文件,,-t是列出文件的意思
tar -xf all.tar
這條命令是解出all.tar包中所有文件,-x是解開(kāi)的意思
壓縮
tar –cvf jpg.tar *.jpg //將目錄里所有jpg文件打包成jpg.tar
四,、總結(jié)
1,、*.tar 用 tar –xvf 解壓
2、*.gz 用 gzip -d或者gunzip 解壓
3,、*.tar.gz和*.tgz 用 tar –xzf 解壓
4,、*.bz2 用 bzip2 -d或者用bunzip2 解壓
5、*.tar.bz2用tar –xjf 解壓
6,、*.Z 用 uncompress 解壓
7,、*.tar.Z 用tar –xZf 解壓
8、*.rar 用 unrar e解壓
9,、*.zip 用 unzip 解壓
示例:
eg1: unzip mydata.zip -d mydatabak #解壓到mydatabak目錄
eg2:
tar -xzf nginx-1.14.0.tar.gz //解壓到當(dāng)前目錄
tar -zxf nginx-1.14.0.tar.gz -C /usr/local/nginx #解壓到對(duì)應(yīng)目錄
eg3:
tar -zxvf nginx...tar.gz #解壓并顯示過(guò)程
10. xz
這是兩層壓縮,,外面是xz壓縮方式,里層是tar壓縮,所以可以分兩步實(shí)現(xiàn)解壓
$ xz -d node-v6.10.1-linux-x64.tar.xz
$ tar -xvf node-v6.10.1-linux-x64.tar
7.上傳文件工具
從本地windows上傳一些文件到遠(yuǎn)程Linux服務(wù)器可以通過(guò)xshell的xftp也可以通過(guò)下面這個(gè)小工具lrzsz,,使用更加方便,。
yum install lrzsz #安裝工具
常用命令:
sz dist.zip #下載文件dist.zip到本地
rz #會(huì)打開(kāi)窗口,上傳文件到遠(yuǎn)程服務(wù)器
8.ln,、file和touch命令
-
ln命令:名用于創(chuàng)建鏈接文件,,包括硬鏈接(Hard Link)和符號(hào)鏈接(Symbolic Link) 。我們常用的是符號(hào)鏈接,,也稱(chēng)軟連接,。軟連接就類(lèi)似windows里的快捷方式。
示例:
#在當(dāng)前目錄創(chuàng)建一個(gè)軟連接,,指向/etc/fastab,,名稱(chēng)也是fastab
ln -s /etc/fastab
#在當(dāng)前目錄創(chuàng)建一個(gè)指向/boot/grub的軟連接,,命名為gb
ln -s /boot/grub gb
注意:刪除軟連接 正確方式是:
rm -rf ./gb
錯(cuò)誤方式:
rm -rf ./gb/
這樣會(huì)刪除了原有g(shù)rub下的內(nèi)容。特別是針對(duì)系統(tǒng)文件的軟連接,,刪除一定要慎重,。
-
**file命令:**用于識(shí)別文件的類(lèi)型
Linux中文件后綴只是方便使用者識(shí)別,沒(méi)有實(shí)質(zhì)的約束作用,。file命令可以查看文件的實(shí)質(zhì)類(lèi)型:
file [-bcLz] 文件|目錄
選項(xiàng)說(shuō)明:
- 文件|目錄:需要識(shí)別的文件或目錄
- -b: 顯示識(shí)別結(jié)果時(shí),,不顯示文件名
- -c: 顯示執(zhí)行過(guò)程
- -L: 直接顯示符號(hào)鏈接文件指向的文件類(lèi)型
- -z: 嘗試去解讀壓縮文件的內(nèi)容
示例: 可以看出,index.mp4本質(zhì)是一個(gè)HTML而非一個(gè)mp4文件
[root@VM_0_13_centos soft]# file index.mp4
index.mp4: HTML document, UTF-8 Unicode text, with very long lines
-
**touch命令:**用于改變文件或目錄的訪問(wèn)時(shí)間和修改時(shí)間,。
touch [-am] [-t<日期時(shí)間>] [目錄|文件]
如果指定目錄文件不存在,,則會(huì)直接創(chuàng)建一個(gè)空文件,所以touch也常用來(lái)創(chuàng)建一個(gè)空白文件
#創(chuàng)建一個(gè)新文件aa.txt
touch aa.txt
選項(xiàng)說(shuō)明:
- -a: 只修改訪問(wèn)時(shí)間
- -m : 只修改 修改時(shí)間
- -t : 使用指定日期時(shí)間,,而非系統(tǒng)時(shí)間 ,。例如要修改為2019年10月20日16:38分13秒。參數(shù)就是:‘20191020163813’
示例:
修改之前可以先查看文件的時(shí)間戳: 用stat 命令查看
[root@VM_0_13_centos soft]# stat index.html
File: ‘index.html’
Size: 17215 Blocks: 40 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 529352 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-10-23 15:15:37.280616254 +0800
Modify: 2019-10-23 15:15:37.280616254 +0800
Change: 2019-10-23 15:15:37.290616257 +0800
Birth: -
開(kāi)始修改:將index.html文件的訪問(wèn)和修改時(shí)間修改成當(dāng)前系統(tǒng)的時(shí)間,。
touch index.html
9.查找操作命令:
對(duì)于要用到的文件,,目錄等,經(jīng)常有忘記的時(shí)候,,所以查找命令就顯得極為必要:
-
find: 查找文件或目錄 (常用)
語(yǔ)法如下:
find [目錄…] [-amin <分鐘>] [-atime <24小時(shí)數(shù)>] [-cmin <分鐘>] [-ctime<24小時(shí)數(shù)>][-empty][-exec<執(zhí)行命令>][-fls<列表文件>][-follow]
[-fstype <系統(tǒng)文件類(lèi)型>] [-gid <組編號(hào)>] [-group <組名稱(chēng)>] [-nogroup] [-mmin <分鐘>] [-mtime
<24小時(shí)數(shù)>] [-name <查找內(nèi)容>] [-nogroup] [-nouser] [-perm <權(quán)限數(shù)值>] [-size <文件大小>] [-uid
<用戶(hù)編號(hào)>] [-user <用戶(hù)名稱(chēng)>] [-nouser]
幾個(gè)常用選項(xiàng)說(shuō)明:
- -size <文件大小>:查找符合指定大小的文件,。文件大小單位可以是“c”表示Byte;“k”表示KB,。如配置為“100k”,,find命令會(huì)查找文件大小正好100KB的文件;配置為“+100k”,,find命令會(huì)查找文件大小大于100KB的文件,;配置為“-100k”,find命令會(huì)查找文件大小小于100KB的文件,。
- -user<用戶(hù)名稱(chēng)>:查找所有者是指定用戶(hù)的文件或目錄,,也能以用戶(hù)編號(hào)指定
- -name <查找內(nèi)容>:查找指定的內(nèi)容,在查找內(nèi)容中使用“*” 表示任意個(gè)字符,;使用“?”表示任何一個(gè)字符
- -mtime <24小時(shí)數(shù)>:查找在指定時(shí)間曾更改過(guò)內(nèi)容的文件或目錄,,單位以24小時(shí)計(jì)算。如配置為2,,find命令會(huì)查找剛好在48小時(shí)之前更改過(guò)內(nèi)容的文件,;配置為+2,find命令會(huì)查找超過(guò)在48小時(shí)之前更改過(guò)內(nèi)容的文件,;配置為-2,,find命令會(huì)查找在48小時(shí)之內(nèi)更改過(guò)內(nèi)容的文件。
- -mmin <分鐘>:查找在指定時(shí)間曾被更改過(guò)內(nèi)容的文件或目錄,,單位以分鐘計(jì)算,。
- cmin <分鐘>:查找在指定時(shí)間曾被更改過(guò)權(quán)限屬性的文件或目錄,,單位以分鐘計(jì)算。-ctime對(duì)應(yīng)小時(shí),。
- -amin <分鐘>:查找的是指定時(shí)間訪問(wèn)過(guò)的文件或目錄,。-atim對(duì)應(yīng)小時(shí)。
- -perm <權(quán)限數(shù)值>:查找符合指定權(quán)限數(shù)值(有關(guān)權(quán)限數(shù)值見(jiàn)第6章)的文件或目錄,。如配置為“0700”,,find命令會(huì)查找權(quán)限數(shù)值正好是“0700”的文件或目錄;配置為“+0700”,,find命令會(huì)查找權(quán)限數(shù)值大于 “0700”的文件或目錄,;配置為“-0700”,find
選項(xiàng)大概有以下幾類(lèi):
1.按時(shí)間范圍查找
2.按文件大小查找
3.按文件名稱(chēng)查找
4.按其他:比如權(quán)限,、用戶(hù)組,、類(lèi)型等
示例:
#從根目開(kāi)始,查找名稱(chēng)以nginx開(kāi)頭的目錄和文件
find / -name nginx*
#查找文件大小超過(guò)100M的文件
find / -size +100M
#查找/home/zx目錄下,,10分鐘內(nèi)被修改過(guò)的文件和目錄
find /home/zx/ -mmin -10
-
locate: 查找文件或目錄(不常用)
locate 查找內(nèi)容
例如:locate nginx 會(huì)將所有包含nginx的目錄和文件都列出來(lái),。可以用* 或,?等匹配符,。
locate的查找速度非常快,,因?yàn)樵撁畈檎业氖菙?shù)據(jù)庫(kù),,所以有些剛修改的文件和目錄,,可能無(wú)法找到,。可以采用:updatedb 命令更新數(shù)據(jù)庫(kù),。
-
which: 查找文件(不常用)
which [文件]
which命令只會(huì)在PATH環(huán)境變量定義的路徑及命令別名中查找,,所以范圍有限。
-
whereis : 查找文件(不常用)
whichis [-bu] [-B<目錄>] [-M<目錄>] [-S<目錄>] [文件]
常用選項(xiàng):
文件:要查找的命令
-b: 只查找二進(jìn)制文件
-u: 查找不包含指定類(lèi)型的文件
-B<目錄>: 只在指定目錄下查找二進(jìn)制文件
-M<目錄>:只在指定目錄查找?guī)椭募?/p>
-S<目錄>:只在指定目錄查找源碼目錄
例如: 默認(rèn)只會(huì)在指定目錄查找(/bin ,/etc ,/usr)
[root@VM_0_13_centos soft]# whereis nginx
nginx: /usr/local/nginx /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
|