linux下對目錄及檔案的常用操作命令匯總
一、對目錄的操作
1、查看當前目錄
pwd 查詢當前所在完整目錄
cd 進入某個檔案夾
常用命令:cd - 回傳到上一次作業的目錄
ll 類似于于 ls -l,查詢目錄下的檔案,列出檔案詳細資訊;
常用命令:ll -a 列出目錄下的所有檔案,包括以 . 開頭的隱藏檔案,
2、新建目錄
mkdir 創建目錄;
mkdir a 創建名稱為a的檔案夾
mkdir b/c 檔案夾b不存在,創建失敗
mkdir -p b/c 創建檔案夾b及子檔案夾c
3、洗掉目錄
rmdir 洗掉一個空目錄
rmdir -p 洗掉指定目錄后,若該目錄的上層目錄已變成空目錄,則其一并洗掉
rm -rf 代表洗掉一個檔案夾及其檔案夾下的所有檔案
二、對檔案的操作
1、查找檔案
locate命令:locate指令和find找尋檔案的功能類似,但locate是透過update程式將硬碟中的所有檔案和目錄資料先建立一個
索引資料庫,在 執行loacte時直接找該索引,查詢速度會較快,索引資料庫一般是由作業系統管理,但也可以直接下達
update強迫系統立即修改索引資料庫,
locate /etc/sh 搜索etc目錄下所有以sh開頭的檔案
locate \*.log 查找后綴為.log的檔案
find命令:實時查找,速度慢可能只搜索用戶具備讀取和執行權限的目錄,用來在指定目錄下查找檔案,
find . -name "*.c" 將當前目錄及其子目錄下所有檔案后綴為 .c 的檔案列出來
find . -type f 將目前目錄其其下子目錄中所有一般檔案列出
2、查看檔案內容
(1)more——分頁顯示檔案內容
more指令會以一頁一頁的形式顯示檔案內容,按空白鍵(space)顯示下一頁內容,按Enter鍵會顯示下一行內容,按 b 鍵就會往回(back)一頁顯示,其基本用法如下:
more file1 查看檔案file1的檔案內容;
more -num file1 查看檔案file1的內容,一次顯示num行;
more +num file1 查看檔案file1的內容,從第num行開始顯示;
(2)less——向前或向后查看檔案內容
less file1 查看檔案file1的內容;
less -m file2 查看檔案file2的內容,并在螢屏底部顯示已顯示內容的百分比;
按空格鍵顯示下一屏的內容,按回車鍵顯示下一行的內容;
按 U向前滾動半頁,按 Y 向前滾動一行;
按[PageDown]向下翻動一頁,按[PageUp]向上翻動一頁;
(3)head——查看檔案開頭內容
head -n <行數> filename 顯示檔案內容的前n行;默認10行
例如:head -n 5 file1 顯示檔案file1的前5行內容
head -c <位元組> filename 顯示檔案內容的前n個位元組;
例如:head -c 20 file2 顯示檔案file2的前20個位元組內容
head -20 filename 顯示檔案內容的前20行;
(4)tail——查看檔案結尾內容
-n :后面接數字,代表顯示幾行的意思
-f :表示持續偵測后面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測
tail file1 顯示檔案file1的尾部10行內容;
tail -n <行數> filename 顯示檔案尾部的n行內容;
例如:tail -n 5 file1 顯示檔案file1的末尾5行內容
tail -c <位元組數> filename 顯示檔案尾部的n個位元組內容;
例如:tail -c 20 file2 顯示檔案file2的末尾20個位元組
head -20f filename 顯示檔案內容的最后20行,且持續觀察下去;
(5)cat——顯示檔案內容
cat file1 用于查看檔案名為file1的檔案內容;
cat -n file2 查看檔案名為file2的檔案內容,并從1開始對所有輸出的行數(包括空行)進行編號;
cat -b file3 查看檔案名為file3的檔案內容,并從1開始對所有的非空行進行編號;
(6)tac——倒著顯示檔案內容
檔案內容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫
tac file1 用于查看檔案名為file1的檔案內容;
(7)nl——顯示行號查看檔案內容
nl file1 用于查看檔案名為file1的檔案內容;
(8)grep命令
grep 指令用于查找內容包含指定的范本樣式的檔案,如果發現某檔案的內容符合所指定的范本樣式,預設 grep 指令會把含有范本樣式的那一列顯示出來
grep test test* #查找前綴有“test”的檔案包含“test”字串的檔案
grep -v test *test* #查找檔案名中包含test 的檔案中不包含test 的行
3、新增檔案
(1)touch
touch aa.text 創建一個檔案
touch test1.txt test2.txt 同時創建兩個檔案
touch test{0001..2000}.txt 批量創建檔案(如創建2000個檔案)
touch aa.ini 更改檔案 aa.ini時間為當前時間(aa.ini已存在)
(2)vi和vim(vi和vim都是Linux中的編輯器,不同的是vim比較高級,可以視為vi的升級版本)
vi test.txt
vim test.txt
(3)使用>和>>
> a.text 直接用>創建空檔案
>> a.text 直接用>>創建空檔案
ls > a.text 創建并將結果寫入檔案(覆寫原檔案內容)
ls >> a.text 創建并將結果寫入檔案(不覆寫原檔案內容,在后面新增)
>和>>可以搭配很多命令使用,可以理解為將其它命令的結果寫入檔案
(4)copy
復制檔案test.txt到/a/b目錄
cp test.txt /a/b
復制檔案夾 c到/usr/local目錄
cp -r c/ /a/b
再次復制檔案test.txt到/usr/local目錄,強制覆寫
cp -f test.txt /a/b
再次復制檔案test.txt到/usr/local目錄,詢問是否強制覆寫
cp -i test.txt /a/b
復制檔案tests.txt到/a/b目錄,并把修改時間和訪問權限也復制
cp -p test.txt /a/b
(5)cat
cat > test.text
cat >> test.text
用的也是 > 和 >> ,敲完上述命令會進入檔案的編輯模式,可以直接輸入你想要寫入的內容,最后按ctrl+z退出編輯模式自動保存
cat+eof/exit
cat >> test.text<<eof
ccccccccccccccccccccccc
eof
eof可以作為一個分界符,遇到下一個分界符時停止輸入;exit也一樣,大小寫一樣,
3、修改檔案
(1)修改檔案名
rename filename1 refilename1 filename1 修改filename1名稱(可用于批量修改)
mv abc.txt 1234.txt 可用于檔案夾
(2)修改檔案內容(vi、vim、sed)
使用 vi/vim 進入一般模式
按下 i 進入輸入模式(也稱為編輯模式),開始編輯文字
按下 ESC 按鈕回到一般模式
在一般模式中按下 :wq 儲存后離開
詳細請參考:https://ipcmen.com/vi-vim
sed請參考:https://www.runoob.com/linux/linux-comm-sed.html
4、洗掉檔案
rm
-r 就是向下遞回,不管有多少級目錄,一并洗掉
-f 就是直接強行洗掉,不作任何提示的意思
三、檔案或檔案夾權限
1、更改檔案/檔案夾所屬用戶組
chgrp
-h :只對于鏈接進行變更,而非該鏈接真正指向的檔案
-R :對當前目錄下的所有檔案與子目錄進行相同的所有者變更
chgrp users test.txt 修改 test.txt 的所屬群組為users
2、更改檔案、檔案夾所屬用戶
chown
-h :只對于鏈接進行變更,而非該鏈接真正指向的檔案
-R :對當前目錄下的所有檔案與子目錄進行相同的所有者變更
chown zheng:users test.txt 修改 test.txt 的所屬用戶為zheng,所屬群組為users
3、更改檔案、檔案夾權限
檔案權限:

r 讀權限read 4
w 寫權限write 2
x 操作權限execute 1
-對應數值0
chmod
-R :對當前目錄下的所有檔案與子目錄進行相同的所有者變更
chmod 777 test.txt
chmod o w xxx.xxx
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示檔案可以被讀(read)
w 表示檔案可以被寫(write)
x 表示檔案可以被執行(如果它是程式的話)
數字相加法:
-rwx------:等于數字表示700,
-rwxr—r–:等于數字表示744,
-rw-rw-r-x:等于數字表示665,
drwx—x—x:等于數字表示711,
drwx------:等于數字表示700,
四、檔案的壓縮
tar
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解壓1:gunzip filename.gz
解壓2:gzip -d filename.gz
壓縮:gzip filename
.tar.gz 和 .tgz
解壓:tar zxvf filename.tar.gz
壓縮:tar zcvf filename.tar.gz dirname
壓縮多個檔案:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
解壓1:bzip2 -d filename.bz2
解壓2:bunzip2 filename.bz2
壓縮:bzip2 -z filename
.tar.bz2
解壓:tar jxvf filename.tar.bz2
壓縮:tar jcvf filename.tar.bz2 dirname
bz命令
解壓1:bzip2 -d filename.bz
解壓2:bunzip2 filename.bz
.tar.bz
解壓:tar jxvf filename.tar.bz
z命令
解壓:uncompress filename.z
壓縮:compress filename
.tar.z
解壓:tar zxvf filename.tar.z
壓縮:tar zcvf filename.tar.z dirname
zip命令
解壓:unzip filename.zip
壓縮:zip filename.zip dirname
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/281302.html
標籤:其他
下一篇:Vue全家桶:Vuex
