Linux檔案操作
head
head命令用于顯示檔案的前幾行內容,可以通過-num引數展示檔案前num行的內容,
root@ubuntu:~# ls
bb.txt cc.txt snap
root@ubuntu:~# head cc.txt
Hello
Ubuntu
add test
root@ubuntu:~# head -2 cc.txt
Hello
Ubuntu
tail
tail命令用于顯示檔案的后幾行內容,可以通過-num引數展示檔案后num行的內容,
root@ubuntu:~# tail cc.txt
Hello
Ubuntu
add test
root@ubuntu:~# tail -2 cc.txt
Ubuntu
add test
more
如果一個檔案的內容過多,需要分成好幾頁顯示的時候,就可以使用more命令,默認會顯示第一頁的內容,可以通過enter鍵查看下一行,空格鍵查看下一頁,b查看上一頁,q鍵退出查看,
cp
cp命令用于復制檔案或者檔案夾,復制的同時也可以進行改名操作,如:cp XXX YYY表示將XXX復制為YYY,如果不需要改名,那么YYY只需要寫到具體路徑即可,XXX和YYY可以是檔案名也可以是一個路徑,
將檔案1.txt復制為2.txt:
root@ubuntu:~# ls
1.txt snap
root@ubuntu:~# cp 1.txt 2.txt
root@ubuntu:~# ls
1.txt 2.txt snap
將檔案1.txt復制到Music檔案夾下且不重命名,這是只需要寫具體路徑Music/即可:
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# cp 1.txt Music/
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
1.txt
將檔案1.txt復制到Music檔案夾下同時重命名為2.txt:
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# cp 1.txt ./Music/2.txt
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
2.txt
mv
mv命令用于移動檔案,mv XXX YYY表示將XXX移動到YYY,這里的移動類似于windows下的剪切操作,XXX和YYY和上面的cp操作一樣可以是路徑也可以是檔案名,如果是路徑則表示,將XXX路徑下的檔案移動到YYY路徑下,這里將/root目錄下的檔案1.txt移動到Music目錄下且不重命名:
root@ubuntu:~# pwd
/root
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# mv 1.txt Music/
root@ubuntu:~# ls
Music snap
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
1.txt
將/root目錄下的檔案1.txt移動到Music目錄下且重命名為2.txt:
root@ubuntu:~# pwd
/root
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# mv 1.txt Music/2.txt
root@ubuntu:~# cd Music/
root@ubuntu:~/Music# ls
2.txt
除此之外,mv還可以實作檔案重命名的效果,只需要將當前路徑下的檔案移動到當前檔案夾下并重命名就可以實作:
root@ubuntu:~# ls
1.txt Music snap
root@ubuntu:~# mv 1.txt 3.txt
root@ubuntu:~# ls
3.txt Music snap
tar
tar命令用于打包檔案,
常用的兩個命令分為兩組:
(1) tar -zcvf和tar -zxvf
tar -zcvf用于將檔案打成tar包并壓縮為.gz檔案,
tar -zxvf用于對打包后的壓縮包檔案進行解壓,
- 引數詳解:
z引數用于表示使用gzip格式壓碩訓者解壓一個檔案
c引數用于創建一個壓縮檔案
v引數用于顯示壓碩訓者解壓的詳細程序
f引數用于指定壓碩訓者解壓的檔案名
(2) tar -jcvf和tar -jxvf
這一組命令與上一組命令唯一不同的地方在于這里使用的引數是j,j引數是指壓碩訓者解壓的格式是bzip2格式,
兩組命令的使用場景:
(1)如果壓縮檔案是以.tar.gz結尾使用tar -zxvf命令進行解壓,
(2)如果壓縮檔案是以.tar.bz2結尾使用tar -jxvf命令進行解壓,
如果想將檔案解壓到指定的目錄下可以再添加-C引數,
檔案檢索
find
find命令用于按照指定的條件查找檔案,一般使用格式為find 查找路徑 [可選引數] 查找檔案,
可選引數:
-name指定需要查找的檔案名,
-size匹配指定檔案大小的檔案,比如查找大于100KB的檔案使用引數+100,小于100KB的檔案使用引數為-100,
在當前目錄下查找檔案名為4.txt的檔案,如果存在則會顯示檔案名,不存在則不顯示:
root@ubuntu:~# ls
1.txt 2.txt 3.txt 4.txt Music snap
root@ubuntu:~# find . -name "4.txt"
./4.txt
root@ubuntu:~# find . -name "5.txt"
root@ubuntu:~#
grep
grep命令用于在某個文本中使用關鍵詞進行搜索,一般使用格式為find [可選引數] 目標文本 查找的檔案名,
可選引數:
-n用于顯示查找到的文本在檔案的第幾行,
root@ubuntu:~# cat 1.txt
aaaaaaaaa
bbbbbbbb
ccccccc
dddddd
eeeee
ffff
ggg
hh
i
root@ubuntu:~# grep ddd 1.txt
dddddd
root@ubuntu:~# grep -n ddd 1.txt
4:dddddd
wc
wc命令用于統計檔案中的行數或者單詞數,命令分別為wc -l 檔案名、wc -w 檔案名,
root@ubuntu:~# cat 1.txt
first line
second line
aaaa
bbbb
ddd
ff
root@ubuntu:~# wc -l 1.txt
6 1.txt
root@ubuntu:~# wc -w 1.txt
8 1.txt
tree
tree命令用于以樹狀圖的方式展示指定目錄下的檔案結構,命令格式為tree 指定目錄,
使用此命令前需要先進行安裝,我這里使用的是Ubuntu 20,所以使用的命令是sudo apt-get install tree,如果是Centos則可以使用yum install tree命令進行安裝,
root@ubuntu:~# pwd
/root
root@ubuntu:~# tree
.
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── Music
└── snap
└── firefox
├── 1540
├── 1747
├── common
└── current -> 1747
7 directories, 4 files
Linux檔案權限
chmod
在說檔案權限之前,先介紹一下Linux下關于檔案的一些知識:
root@ubuntu:~# ll
total 48
drwx------ 6 root root 4096 Aug 29 15:29 ./
drwxr-xr-x 19 root root 4096 Jul 18 21:50 ../
-rw------- 1 root root 76 Aug 29 10:06 .bash_history
-rw-r--r-- 1 root root 3106 Oct 15 2021 .bashrc
drwx------ 3 root root 4096 Jul 8 03:01 .cache/
-rw------- 1 root root 20 Jul 8 03:08 .lesshst
-rw-r--r-- 1 root root 161 Jul 9 2019 .profile
drwx------ 2 root root 4096 Jul 8 02:41 .ssh/
-rw------- 1 root root 2713 Aug 29 15:29 .viminfo
-rw-r--r-- 1 root root 40 Aug 29 15:29 1.txt
-rw-r--r-- 1 root root 0 Aug 29 15:22 2.txt
-rw-r--r-- 1 root root 0 Aug 29 15:06 3.txt
-rw-r--r-- 1 root root 0 Aug 29 15:22 4.txt
drwxr-xr-x 2 root root 4096 Aug 29 15:18 Music/
drwx------ 3 root root 4096 Jul 8 03:05 snap/
我們使用ll查看檔案的時候,可以看到檔案的詳細資訊,檔案詳細資訊的第一列是檔案的格式,d表示該檔案是一個目錄,-表示該檔案是一個普通檔案,c表示為串行埠設備,如鍵盤滑鼠等,
詳細資訊中的第二到第四個字符是檔案所有者對該檔案擁有的權限,r表示讀權限,通常使用數字4表示,w表示寫檔案,通常使用數字2表示,x表示執行權限,通常使用數字1表示,如果擁有對應權限就會有對應的字符,如果是-表示沒有對應權限,
接下來的三個字符是當前用戶所在組對該檔案擁有的權限,再接著的三個字符是其他用戶對該檔案的權限,
這時我們想對檔案的權限進行修改時就可以通過chmod命令加上需要修改的權限對應的數字組合進行修改,比如我想修改4.txt的屬性為只允許我自己擁有讀寫權限,其余人沒有任何權限,就可以使用chomd 600 檔案名,600中的6由4+2得來,即讀權限+寫權限,6對應的是前三個字符即當前用戶的權限,第二個0對應的是當前用戶所屬組的權限,第三個0對應的是其他用戶對于這個檔案的權限,
root@ubuntu:~/Music# ll
total 12
drwxr-xr-x 2 root root 4096 Aug 29 15:37 ./
drwx------ 6 root root 4096 Aug 29 15:37 ../
-rw-r--r-- 1 root root 40 Aug 29 15:29 1.txt
-rw-r--r-- 1 root root 0 Aug 29 15:22 2.txt
-rw-r--r-- 1 root root 0 Aug 29 15:06 3.txt
-rw-r--r-- 1 root root 0 Aug 29 15:22 4.txt
root@ubuntu:~/Music# chmod 600 4.txt
root@ubuntu:~/Music# ll
total 12
drwxr-xr-x 2 root root 4096 Aug 29 15:37 ./
drwx------ 6 root root 4096 Aug 29 15:37 ../
-rw-r--r-- 1 root root 40 Aug 29 15:29 1.txt
-rw-r--r-- 1 root root 0 Aug 29 15:22 2.txt
-rw-r--r-- 1 root root 0 Aug 29 15:06 3.txt
-rw------- 1 root root 0 Aug 29 15:22 4.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/503033.html
標籤:Linux
