1. 程式人生 > >linux常用指令學習記錄

linux常用指令學習記錄

前言

本文主要為學習貼,用來記錄一些以供參考。

檔案內容檢視

cat

從上往下閱讀檔案內容


cat [-AbEnTv] ${FILE_NAME)
cat -n /etc/issue 將該檔案的內容輸出到標準輸出中,並顯示行號
cat file1 file2 > file3  將file1 file2的內容依次新增到file3當中

tac

從下往上閱讀檔案內容,用法同cat

nl

新增行號列印,預設情況下空白行不顯示行號


nl [-bnw] ${FILE_NAME}
nl -b a file1 即使空白行也顯示行號
nl -b a -n rz file 空白行也顯示行號,並且行號在欄位的最右方顯示,且行號不用加0對齊

more/less

一頁一頁翻動檔案。


more ${FILE_NAME} 向下翻動檔案
less ${FILE_NAME} 向上/下翻動檔案

head/tail

取檔案的前幾行或者最後幾行內容


head/tail [-n number] ${FILE_NAME}
head -n 10 file 讀取檔案前十行的內容
tail -n 10 file 讀取檔案後十行的內容
head -n -10 file 不列印檔案後十行內容
tail -n +100 file 只打印100行以後的內容
tail -f file 開啟檔案並持續更新,直到ctrl+c才退出。這個常用於檢視最新的日誌

命令與檔案查詢

which

尋找執行檔案,查詢命令的完整檔名


which [-a] command #-a會將所有由PATH目錄中可以找到的命令均列出,而不只第一個被找到的指令
which ifconfig #在非root使用者下會查詢不到,因為ifconfig位於/sbin/ifconfig下,而非root使用者的PATH中不包含該路徑,所以找不到
which cd #找不到,因為cd為bash的內建命令

whereis

根據檔名尋找檔案,查詢檔案的完整檔名


whereis [-bmsu] 檔案或目錄名
-b 只找二進位制檔案
-m 只找在manual路徑下的檔案
-s 只找source原始檔
-u 查詢不在上述選項中的其他特殊檔案

locate+updatedb

locate會根據/var/lib/mlocate內的資料庫記載,找出使用者輸入的關鍵字檔名,即所有包含該關鍵字的檔案都將被輸出。但是因為資料庫的更新一般為一天一次,所以如果需要查詢新的內容,需要用updatedb指令更新資料庫,updatedb會根據/etc/updatedb.conf去查詢硬碟內的檔名,並更新資料庫檔案


locate [-ir] keyword
-i 忽略大小寫差異
-r keyword可以為正則表示式

find

查詢檔案,磁碟查詢,支援萬用字元


find [PATH] [option] [action]
find / -mtime 0 #查詢24小時內被修改過的檔案
find /etc -mtime 3 #查詢3天前的24小時內被修改的檔案
find / -mtime +3 #查詢3天前(不含3天本身)被更改的檔案
find / -mtime -3 #查詢3天內被更改的檔案
find / -user name #查詢使用者名稱為name的檔案
find / -group name #查詢群組名為group的檔案
find / -nouser #查詢不屬於任何使用者的檔案,可能出現於網路檔案,或是已經被刪除的使用者建立的檔案
find / -name filename #查詢檔名為filename的檔案
find / -type TYPE #查詢某一類檔案,f:正規檔案,b:裝置檔案,d:目錄,l:連線檔案,s:socket,p:FIFO

壓縮與打包

常見壓縮副檔名


*.Z: compress程式壓縮檔案
*.gz: gzip程式壓縮檔案
*.bz2: bzip2程式壓縮的檔案
*.tar: tar程式打包的檔案,但沒有被壓縮
*.tar.gz: tar程式打包的檔案,其中經過gzip的壓縮
*.tar.bz2: tar程式打包的檔案,其中經過bzip2壓縮

gzip

gzip可以解開compress,zip與gzip等軟體所壓縮的檔案。gzip壓縮後,原始檔會被刪除,被替代為.gz的壓縮檔案。


gzip [-cdtv#] 檔名
-c: 將壓縮的資料輸出到螢幕上,可通過資料流重定向來處理
-d: 解壓縮的引數
-t: 可以用來校驗一個壓縮檔案的一致性
-v: 顯示壓縮比等資訊
-#: 壓縮等級,-1最快,-9最慢但壓縮程度最高,預設-6

gzip -d filename: 會將壓縮檔案解壓縮,並刪除壓縮檔案

tar


tar [-j|-z] [cv] [-f 新建的檔名] filename #壓縮
tar [-j|-z] [xv] [-f 打包檔名] [-C 目錄] #解壓縮
-c: 新建打包檔案,可配合v檢視過程中被打包的檔名
-x: 解打包或解壓縮功能,可以搭配-C在特定目錄中解開
-j: 通過bzip2的支援進行壓縮和解壓縮
-z: 通過gzip支援壓縮和解壓縮
-v: 將正在處理的檔名顯示出來
-C: 在特定目錄中解壓縮
-p: 保留備份資料的原本許可權和屬性
-P: 保留絕對路徑,一般情況下都是相對路徑,防止資料覆蓋
--exclude=FILE: 在壓縮過程中不要講FILE打包進去
--newer: 打包ctime和mtime在日期後面的檔案
--newer-mtime:打包mtime在日期後面的檔案
tar -zcv -f filename.tar.gz filename #壓縮打包為filename.tar.gz
tar -zxv -f filename.tart.gz -C 欲解壓縮的目錄 filename