Linux1-文件目錄操作命令

Linux命令格式

1. 工作目錄操作 pwd, ls, cd

1.1 pwd: print working direction (當(dāng)前在哪里)

linux中一些默認(rèn)符號(hào):
· 當(dāng)前目錄
·· 上一級(jí)目錄
~ 家目錄
/ 根目錄或目錄分隔符

1.2 cd: change direction (要到哪里去)
1.3 查看目錄內(nèi)容ls: list (這里有什么)

ls 列表顯示目錄內(nèi)容

常用參數(shù) 含義
ls -l 長格式顯示文件或目錄信息,包含文件的屬性和權(quán)限數(shù)據(jù)等(long)
ls -a 顯示所有包括隱藏的文件或目錄(all)
ls -h 將文件容量以人類較易讀的方式(GB,kB等)列出來 (是和l一起用的:ls -lh)
ls -d 顯示目錄本身屬性信息 (是和l一起用的:ls -ld)
ls -S 以文件大小排序 Size(大寫) (是和l一起用的:ls -lS)
ls -t 以修改的時(shí)間排序 (是和l一起用的:ls -lt)

通配符?單字符 含其一或段[a,b,c-d] *任意

常見用法 含義
ll 和ls -la一樣(偷懶寫法)
ll -th 常用
ls ./*txt 列出當(dāng)前目錄下以txt結(jié)尾的文件

2. 創(chuàng)建

2.1 創(chuàng)建目錄mkdir

mkdir -p/--parents 創(chuàng)建嵌套的目錄(見下面例子)
mkdir -m, --mode=模式,設(shè)定權(quán)限(777(owner-group-other),421(r- w-x))

mkdir -p pics/test1 #在當(dāng)前目錄下創(chuàng)建pics文件夾,在pics文件夾再創(chuàng)建一個(gè)test1文件夾
2.2 新建或修改文件相關(guān)時(shí)間touch

touch 新建文件或修改時(shí)間
touch -a修改訪問時(shí)間
touch -m更改修改時(shí)間
touch --d=”時(shí)間” 設(shè)定訪問與修改時(shí)間

touch file{1..5} 創(chuàng)建file1, file2, file3, file4, file5五個(gè)文件
  • vim是創(chuàng)建文件并往里面寫東西,比touch更常用

3. 操作文件

3.1 移動(dòng)或重命名mv

用法:

3.2 刪除目錄或文件rm

刪除就找不回來了,使用時(shí)需謹(jǐn)慎
rm -f 強(qiáng)制刪除目錄或文件
rm -r 遞歸刪除目錄或文件
rm -i 在刪除會(huì)先詢問用戶

3.3 復(fù)制文件或目錄cp (copy and paste)

cp 復(fù)制文件或目錄

cp readme.txt ./test/a.txt #復(fù)制并重命名
cp ~/.bashrc ~/Data/bashrc_bk #??對(duì)~/.bashrc做備份,以免誤刪

cp -r 遞歸復(fù)制文件或目錄

3.4 查找文件或目錄

find 在目錄中查找文件或目錄
參考:https://wangchujiang.com/linux-command/c/find.html

常用參數(shù) 含義
find -name 目標(biāo)條件 按名稱查找
find -iname 查找文件或目錄的名稱,但是忽略大小寫
find -type 目標(biāo)條件 按類型查找 f文件 d目錄 b塊設(shè)備 c字符設(shè)備
find -user xxx 按所屬者查找
find -size +10K 按大小查找 +大于 -小于
find -exec 對(duì)找到的文件或目錄執(zhí)行shell 命令(由exec指定)
find -print 將找到的文件輸出到設(shè)備或文件

4. 文本查看,操作,統(tǒng)計(jì)命令??

4.1 文件查看cat/tac, head/tail, less/more
  • cat 查看文件內(nèi)容
    常見參數(shù):
    cat -A 列出所有內(nèi)容,包括特殊字符,如制表符,換行符等等
    cat -n 打印出所有行號(hào),cat -b 僅打印非空白行行號(hào)
    cat >file 重定向,也就是可以在file中輸入內(nèi)容。輸入后可以使用Ctrl + C退出。

zcat:可以查看壓縮的文本文件;tac:逆向查看

  • head查看前10行(默認(rèn));tail查看末尾10行
    head/tail常結(jié)合管道符用于控制輸出行數(shù)
cat myfile | head -5
  • more:逐頁查看,按空格翻頁,按回車換行,q退出
  • less:上下左右鍵查看文本內(nèi)容;Enter鍵向下移動(dòng)一行;空格鍵翻頁;/keyword 查找關(guān)鍵詞;nN進(jìn)行上下關(guān)鍵詞切換;q鍵退出;
    常用參數(shù):
    less -N:顯示行號(hào)
    less -S:單行顯示
    zless:查看壓縮文件
4.2 文件內(nèi)容統(tǒng)計(jì)wc
  • wc
    wc -l 統(tǒng)計(jì)行數(shù)
    wc -w 統(tǒng)計(jì)字符串?dāng)?shù)
    wc -c 統(tǒng)計(jì)字節(jié)數(shù)
cat readme.txt | wc -l
4.3 文本切割和合并cut, paste
  • cut 文本切割(是按列來切割,準(zhǔn)確的說是按照字段來切割)
    常見參數(shù):
    cut -d 指定分隔符,默認(rèn)\t;也可制定分隔符,比如使用h分隔,但只能使用單個(gè)字符。
    cut -f 輸出哪幾列(字段fields)
less -SN Data/example.gtf |cut -f 1,3-5,7 |head
# ??將Data/example.gtf文件按單行顯示并切割,顯示切割后1,3-5,7列的前10行
  • paste 文本合并(不是上下合并 ,而是左右合并,相當(dāng)于R語言中的cbind)
    常見參數(shù):
    -d:指定分隔符(默認(rèn)是tab)
    -s:按行合并
    常見用法:
    1. paste file1 file2
    2. seq 20 | paste - - (將seq20每2行合并在一起)
4.4 排序sort

常見參數(shù):
sort -n:按照數(shù)值從小到大進(jìn)行排序
sort -V:字符串中含有數(shù)值時(shí),按照數(shù)值從小到大排序
sort -r:逆向排序
sort -k:指定區(qū)域(對(duì)哪一列進(jìn)行排序)
sort -t:指定分隔符

??在對(duì)數(shù)字的列進(jìn)行排序的時(shí)候,一定要先寫-n再用-k選擇列,否則結(jié)果會(huì)出錯(cuò)。

4.5 去除重復(fù)行uniq (sort的小尾巴)

uniq -c:統(tǒng)計(jì)每個(gè)字符串連續(xù)出現(xiàn)的行數(shù)
uniq比較懶,只能去除相鄰的重復(fù)行! 因此記得要跟sort連用!

4.6 字符替換tr

用法:tr 被替換的內(nèi)容 替換成的內(nèi)容

cat readme.txt | tr '' '$' #將空格替換成$

常見參數(shù):
-d:刪除指定字符
-s:縮減連續(xù)重復(fù)字符

4.7 查找文件內(nèi)容

grep 在內(nèi)容中查找含某字符串的行
grep 某字符串(可正則式) /etc/passwd

文本操作重要命令小結(jié)

5. 鏈接文件ln

分軟鏈接(常用)和硬鏈接(默認(rèn))
為什么要使用軟鏈接:1. 相當(dāng)于快捷方式,方便操作。2. 節(jié)省空間
常見參數(shù):不加參數(shù)即為硬鏈接,加上–s 參數(shù)即為軟鏈接,軟鏈接的作用類似快捷方式。
常見用法:ln –s Target Directory(鏈接誰,到哪去;將Target鏈接到Directory下。在鏈接的時(shí)候也可以像cp一樣進(jìn)行性重命名)
??做軟鏈接的時(shí)候一定要用絕對(duì)路徑
??刪除軟鏈接的時(shí)候不要用rm -r,否則會(huì)把鏈接過去的文件/文件夾中的內(nèi)容也刪掉
延伸:“軟鏈接”和“硬鏈接”的區(qū)別

6. 壓縮解壓文件

tar:Tape Archive
常用參數(shù):
-c 創(chuàng)建一個(gè)新的tar歸檔文件(創(chuàng)建壓縮文件)
-d 或 --decompress 或 --uncompress :解壓文件;
-r 或 --recursive :遞歸壓縮,指定文件夾下的所有文件被壓縮成單獨(dú)的 .gz 文件;
-v 或 --verbose :顯示指令執(zhí)行過程。
-x 從已有的tar歸檔文件中提取文件(解壓縮)
-f 輸出結(jié)果到文件或設(shè)備
-v 在處理文件時(shí)顯示文件(顯示處理進(jìn)度)
-j 將輸出重定向給gzip2命令
-z 將輸出重定向給gzip命令

常見用法:
解壓:tar [參數(shù)] [待解壓包]

tar -zxvf Data.tar.gz   #-zxvf可以當(dāng)成固定用法,順序不能換

壓縮:tar [參數(shù)] <壓縮后文件名> [待壓縮文件/目錄]

tar -zcvf Data.tar.gz Data  #-zcvf可以當(dāng)成固定用法,順序不能換

打包和壓縮的區(qū)別:
打包是指將一大堆文件或目錄變成一個(gè)總的文件
壓縮是將一個(gè)大的文件通過一些壓縮算法變成一個(gè)小文件。
Linux 中很多壓縮程序只能針對(duì)一個(gè)文件進(jìn)行壓縮,這樣當(dāng)你想要壓縮一大堆文件時(shí),你得先將這一大堆文件先打成一個(gè)包(tar命令),然后再用壓縮程序進(jìn)行壓縮(gzip、bzip2或zip命令)。

7. 文件查找命令

7.1 which命令??

環(huán)境變量PATH中保存了查找命令時(shí)需要遍歷的目錄,使用echo \$PATH可以查看當(dāng)前系統(tǒng)的環(huán)境變量包含的目錄。

which命令用于查找并顯示給定命令的絕對(duì)路徑,which指令會(huì)在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件 。也就是說,使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令。

路徑使用“:”分隔,which命令會(huì)在這些路徑下去搜索

語法:which [可執(zhí)行性的系統(tǒng)命令]
說明:which是根據(jù)使用者所配置的PATH變量內(nèi)的目錄去搜尋可運(yùn)行檔的!所以不同的PATH配置內(nèi)容所找到的命令不一樣。

7.2 whereis命令

與which功能相似的還有一條命令whereis,也可以查找到命令的絕對(duì)路徑。不同的是:which會(huì)列出這個(gè)命令的別名記錄,而whereis會(huì)顯示出這個(gè)命令的幫助文檔所在位置。
語法:whereis(選項(xiàng))(參數(shù))

選項(xiàng) 說明
-b 只查找二進(jìn)制文件;
-B<目錄> 只在設(shè)置的目錄下查找二進(jìn)制文件;
-f 不顯示文件名前的路徑名稱;
-m 只查找?guī)椭臋n;
-M<目錄> 只在設(shè)置的目錄下查找說明文件;
-s 只查找原始代碼文件;
-S<目錄> 只在設(shè)置的目錄下查找 原始代碼文件;
-u 查找不包含指定類型的文件。

whereis命令只能用于程序名的搜索,如果省略選項(xiàng),則返回所有信息。

7.3 locate命令

格式:locate [搜索關(guān)鍵字]
說明:
1.是linux特有的命令,尋找文件或目錄,最好用于快速定位系統(tǒng)命令,配置文件等。
2.雖然搜索速度很快,但有時(shí)會(huì)找不到
3.locate是在文件數(shù)據(jù)庫中查找的,所以速度會(huì)很快
4.但是如果數(shù)據(jù)庫中沒有包含這個(gè)文件的話,就會(huì)找不到

7.4 find??

find命令用于:在一個(gè)目錄(及子目錄)中搜索文件,可以指定匹配條件,如按文件名、文件類型、用戶等條件查找文件。
格式:find [路徑] [選項(xiàng)] filename
path路徑,表示從這個(gè)路徑下開始查找

選項(xiàng) 說明
-name filename 查找名為filename的文件
-size +/-大小 按照文件大小來查找,+大于,-小于
-user username 按文件所屬查找
-ctime/ -atime/ -mtime 以天為單位查找
-cmin/ -amin/ -mmin 以分鐘為單位查找
-type 按文件的類型
-inum 根據(jù)i節(jié)點(diǎn)進(jìn)行查找
-group 組名 按所屬組來查找
-a /-o and/or
-exec 或 -ok command {} : 將查到的文件執(zhí)行command操作,{}和:之間有空格,固定格式。

如果find命令省略路徑不寫,表示從當(dāng)前路徑開始查找。find還可以結(jié)合通配符使用。

8. 其他常用命令

8.1 查看各命令的幫助手冊(cè)

man 命令名 查看命令幫助手冊(cè)

8.2 下載文件

wget
參考:https://wangchujiang.com/linux-command/c/wget.html
curl
參考:https://wangchujiang.com/linux-command/c/curl.html

8.3 設(shè)備監(jiān)控

top\df\free\du

sudo獲得root權(quán)限:
ubuntu默認(rèn)是不能以root賬號(hào)登陸系統(tǒng),遇到需要root權(quán)限時(shí),需要在命令前加上sudo,即可獲得root權(quán)限。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容