Linux 常用指令
檔案管理
cat
語法:cat [-AbeEnstTuv] [--help] [--version] fileName
作用:檢視檔案。
引數說明:
- -n:顯示行號。
- -b:顯示行號、過濾空白行。
- -s:空白行以一行形式顯示。
#檢視tomcat的配置檔案
cat -n server.xml
#檢視記憶體
cat /proc/meminfo
chmod
語法:chmod [-cfvR] [--help] [--version] mode file...
作用:控制不同使用者對檔案的許可權。
Linux檔案呼叫許可權:分為以下檔案所有者
、使用者組
、其他組
。
Linux檔案許可權說明:檔案許可權引數大小說明如下。
引數說明:
- -c:顯示已更改過許可權的檔案的更改動作。
- -v:顯示許可權變更的明細。
- -R:遞迴修改許可權(及子目錄)。
- mode file... :許可權
#設定server.xml檔案的許可權
chmod 777 server.xml
chown
語法:chown [-cfhvR] [--help] [--version] user[:group] file...
作用:控制檔案所有者。
引數說明:
- user :使用者ID。
- group:組ID。
- -c:顯示更改的資訊。
- -v:顯示詳細的處理資訊。
- -R:遞迴修改許可權(及子目錄)。
#分配root chown root /usr/local/nginx/logs/nginx.pid
find
語法:find path -option [-print] [-exec -ok command] {} ;
作用:查詢檔案。
引數說明:
- path :路徑。
- -option :屬性較多,以下列舉常用的。
- -name :檔名稱。
- -size:檔案大小
- -type:檔案型別
#查詢nginx的配置檔案、區分大小寫 find / -name nginx.conf #查詢nginx的配置檔案、不區分大小寫 find / -iname Nginx.conf #按所有者查詢 find / -user root #日期範圍搜尋 find / -name '*.class' -newermt '2020-08-15' ! -newermt '2021-04-01' -ls
mv
語法:mv [options] source dest|directory
作用:重名檔案、移動檔案。
引數說明:
- -b:檔案或目錄存在時,覆蓋前建立備份。
- -i:檔案或目錄存在時,提示是否覆蓋。
- -f:檔案或目錄存在時直接覆蓋。
- -n:不覆蓋已存在的檔案或目錄。
- -u:原始檔比目標檔案新或不存在,才執行移動操作。
#重名tomcat-8.5.9
mv tomcat-8.5.9 tomcat
#移動目錄
mv nginx-1.20 /usr/local/
rm
語法:rm [options] name...
作用:刪除檔案。
引數說明:
- -i:刪除前逐一詢問確認。
- -f:直接刪除、不詢問。
- -r:遞迴刪除。
#刪除檔案
rm index.html login.html
#遞迴刪除
rm -rf /www/web
touch
語法:touch [-acfm] [-d<日期時間>] [-r<參考檔案或目錄>] [-t<日期時間>] [--help] [--version] [檔案或目錄...]
作用:修改檔案或目錄屬性、不存在則建立檔案。
引數說明:屬性較多,以下列舉常用的。
- -a:修改讀取的時間。
#建立檔案
touch index.html
which
語法:which [檔案...]
作用:查詢命令、即在環境變數$PATH中查詢。
which bash
cp
語法:cp [options] source dest | directory
作用:複製檔案或目錄。
引數說明:
- -a:複製所有及屬性、連結及目錄下的所有內容,作用等於dpR引數的組合。
- -d:複製時保留連結。
- -f:覆蓋已存在的檔案。
- -i:提示是否覆蓋已存在的檔案。
- -P:複製內容及檔案屬性也複製。
- -r:包括子目錄和檔案。
- -l:不復制,只生成連結檔案。
#複製
cp -r tomcat /usr/local/web
whereis
語法:whereis [-bfmsu] [-B <目錄>...] [-M <目錄>...] [-S <目錄>...] [檔案...]
作用:查詢二進位制、原始碼、幫助檔案。
引數說明:屬性較多,以下列舉常用的。
- -b:只查詢二進位制檔案。
- -m:只查詢說明檔案。
- -s :只查詢原始程式碼檔案。
#查詢可執行檔案
whereis -b bash
#查詢幫助檔案
whereis -m ls
文件編輯
grep
語法:grep [-abcEFGhHilLnqrsvVwxy] [-A<顯示行數>] [-B<顯示列數>] [-C<顯示列數>] [-d<進行動作>] [-e<範本樣式>] [-f<範本檔案>] [--help] [範本樣式] [檔案或目錄...]
作用:查詢檔案的內容
引數說明:屬性較多,以下列舉常用的。
- -i:忽略大小寫。
- -v:排除指定字串。
- -n:顯示行號。
#查詢80字元
grep *80* server.xml
vi/vim
-
vi/vim三種模式:命令模式、輸入模式、底線命令模式。
-
輸入模式:開啟檔案後、輸入i,進入輸入模式。
-
命令模式:編輯完後、按Esc鍵、退出輸入模式、進入命令模式。
-
輸入
/
進行搜尋,回車,n
向下搜尋、N
向上搜尋。#搜尋8080埠 /8080
-
-
底線命令模式:從命令模式,按
:
進入底線命令模式。
-
-
常用指令:
#儲存繼續編輯,不退出vi/vim :w #強制儲存,不退出vi/vim :w! #儲存並退出 :wq #強制儲存並退出 :wq! #不儲存並退出vi/vim q: #不儲存並強制退出vi/vim :q! #放棄所有更改,重新編輯 :e!
網路通訊
ifconfig
語法:ifconfig [網路裝置][down up -allmulti -arp -promisc] [add<地址>] [del<地址>] [<硬體地址>] [io_addr] [irq] [media<網路媒介型別>] [mem_start<記憶體地址>] [metric<數目>] [mtu<位元組>] [netmask<子網掩碼>] [tunnel<地址>] [-broadcast<地址>] [-pointopoint<地址>] [IP地址]
作用:檢視網路裝置
#檢視當前裝置的ip地址
ifconfig
netstat
語法:netstat [-acCeFghilMnNoprstuvVwx] [-A<網路型別>] [--ip]
作用:檢視網路狀態。
引數說明:屬性較多,以下列舉常用的。
- -a:檢視所有連線線中的Socket。
- -l:檢視伺服器監控中的Socket。
- -n:使用ip地址。
- -p:檢視對應Socket使用的程式。
- -t:檢視Tcp傳輸協議的狀況。
#檢視80埠使用情況
netstat -nltp :80
netstat -tunlp | grep 80
#檢視3306
netstat -aptn |grep -i 3306
ping
語法:ping [-dfnqrRv] [-c<完成次數>] [-i<間隔秒數>] [-I<網路介面>] [-l<前置載入>] [-p<範本樣式>] [-s<資料包大小>] [-t<存活數值>] [主機名稱或IP地址]
作用:檢查能否與遠端主機的相連。
#檢視百度
ping baidu.com
traceroute
語法:traceroute [-dFlnrvx] [-f<存活數值>] [-g<閘道器>...] [-i<網路介面>] [-m<存活數值>] [-p<通訊埠>] [-s<來源地址>] [-t<服務型別>] [-w<超時秒數>] [主機名稱或IP地址] [資料包大小]
作用:檢視資料包在網路上路徑。
#檢視請求百度在路由間的跳躍點
traceroute baidu.com
系統管理
date
語法:date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[ [CC] YY] [.ss]]
作用:檢視系統當前時間。
date
firewalld
作用:管理防火牆。
#開機啟動
systemctl enable firewalld
#開機禁用
systemctl disable firewalld
#開啟
systemctl start firewalld
#狀態
systemctl status firewalld
#開放埠
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#關閉埠
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#檢視開放的埠
firewall-cmd --list-all
#重新整理
firewall-cmd --reload
history
語法:history
作用:檢視歷史操作記錄。
history
kill
語法:kill [-s <資訊名稱或編號>] [程式] 或 kill [-l <資訊編號>]
作用:刪除執行中的的程式或工作。
引數說明:
- -l<資訊編號>:常用如下
- 1(HUP):重新載入程序。
- 9(KILL):殺死程序。
- 15(TERM):正常停止一個程序。
- -s <資訊名稱或編號> :指定要送出的資訊。
- [程式]:PID號或PGID號。
#找到tomcat的程序號
ps -ef|grep tomcat
kill -9 121212
login
語法:login
作用:登入系統或切換使用者。
login
logout
語法:logout
作用:退出系統。
logout
ps
語法:ps [options] [--help]
作用:檢視程序狀態。
引數說明:
- -A:檢視所有程序。
- -u:根據使用者檢視程序。
#檢視tomcat的程序狀態
ps -ef | grep tomcat
#檢視所有程序
ps -A
#檢視root使用者的程序
ps -u root
top
語法:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
作用:實時顯示 process 的動態。
top
top -u nginx
sudo
語法:sudo command
作用:以系統管理員身份執行命令。
sudo ./nginx
reboot
語法:reboot [-n] [-w] [-d] [-f] [-i]
作用:重啟計算機。
引數說明:
- -n:重啟前不將記憶體資料寫回硬碟。
- -w:不會重啟,只是把記錄寫到
/var/log/wtmp
檔案裡。 - -d:不把記錄寫到
/var/log/wtmp
檔案裡。 - -f:強制重啟。
- -i:重啟前關閉網路相關的配置。
#重啟
reboot
shutdown
語法:shutdown [-t seconds] [-rkhncfF] time [message]
作用:關機。
引數說明:
- -t:設定幾秒之後自動關機。
- -k:不會關機,傳遞警告資訊給使用者。
- -r:重啟。
- -h:關機。
- -n:強制關機。
- -c:取消關機。
- -f:關機時,不做fask動作。
- -F:關機時,強制執行fask動作。
- time:設定關機的時間。
- message:傳遞警告的資訊。
#立即關機
shutdown -h now
#10分鐘後關機
shutdown -h 10
#重啟
shutdown -r now
uname
語法:uname [-amnrsv] [--help] [--version]
作用:檢視系統資訊。
引數說明:
- -a:檢視所有資訊。
- -m:顯示電腦型別。
- -r:顯示作業系統的發行編號。
- -s:顯示作業系統名稱。
#檢視系統資訊
uname -srm
w
語法:w [-fhlsuV] [使用者名稱稱]
作用:檢視當前線上使用者。
w
hostnamectl
語法:hostnamectl
作用:檢視系統安裝的發行版本。
系統設定
clear
語法:clear
作用:清除螢幕。
clear
service netword restart
語法:service netword restart
作用:重啟網路服務。
service netword restart
磁碟管理
cd
語法:cd [dirName]
作用:用於切換當前工作目錄。
引數說明:
- dirName 要進入的目標目錄。
#目錄
cd /usr/local
#當前使用者所有home目錄
cd ~
#返回上一級目錄
cd ..
#根目錄
cd /
#返回上一次的目錄
cd -
df
語法:df [-ahiklmtxv]
作用:檢視磁碟使用情況。
df -h
mkdir
語法:mkdir [-p] dirName
作用:建立目錄
引數說明:
- -p 遞迴建立
#建立資料夾
mkdir jdk
#建立資料夾及子目錄
mkdir -p jdk/jdk6/
#建立多個同級目錄
mkdir -p jdk{jdk7,jdk8}
rmdir
語法:rmdir [-p] dirName
作用:刪除空目錄
引數說明:
- -p 遞迴刪除
rmdir /www/website
pwd
語法:pwd [--help] [--version]
作用:檢視當前所在目錄
#pwd
/jdk/jdk7 #輸出的結果
ls
語法:ls [-adlrtAFR] dirName
引數說明:
-
-a :顯示所有檔案及目錄。
-
-d:顯示目錄屬性。
-
-h:人性化顯示檔案大小。
-
-i:顯示inode。
-
-l :列出明細。
-
-r :倒序顯示。
-
-t :以時間排序顯示。
-
-A:類似
-a
,但不顯示.
及..
。 -
-F:通過檔案新增搜尋新增,
*
模糊搜尋。 -
-R:遞迴列舉,及子檔案。
# ls -l 簡略 即 ll
#ll
ls -l
備份壓縮
bunzip2
語法:bunzip2 [-fkLsvV] [.bz2壓縮檔案]
作用:解壓檔案,字尾為*.bz2
的檔案。
引數說明:常用。
- -f:覆蓋已解壓的檔案。
- -k:保留解壓的原始檔。
- -v:顯示解壓詳細過程。
bunzip2 -v temp.bz2
bzip2
語法:bzip2 [-cdfhkLstvVz] [--repetitive-best] [--repetitive-fast] [- 壓縮等級] [要壓縮的檔案]
作用:壓縮檔案,注意:壓縮後不保留原始檔,不能壓縮目錄。
引數說明:常用。
引數說明:常用。
- -d:解壓。
- -f:覆蓋已解壓或已壓縮的檔案。
- -k:保留解壓或壓縮的原始檔。
- -t:檢查壓縮檔案的完整性。
- -v:顯示解壓或壓縮詳細過程。
#保留原始檔進行壓縮
bzip2 -k nginx.conf
#檢視壓縮後文件的完整性
bzip2 -t nginx.conf.bz2
gunzip
語法:gunzip [-acfhlLnNqrtvV] [-s <壓縮字尾字串>] [檔案或目錄]
作用:解壓檔案,字尾為*.gz
的檔案。
引數說明:常用。
- -k:保留原始檔進行解壓。
#保留原始檔進行解壓
gunzip -k nginx.conf.gz
gzip
語法:unzip [-cflptuvz] [-agCjLMnoqsVX] [-P <密碼>] [.zip檔案] [檔案] [-d <目錄>] [-x <檔案>] 或 unzip [-Z]
作用:壓縮檔案。
引數說明:常用。
- -c:保留原始檔進行壓縮。
- -r:遞迴處理。
- -d:解壓。
#壓縮檔案,不保留原始檔
gzip nginx.conf
#壓縮檔案,並保留原始檔
gzip -c nginx.conf > nginx.conf.gz
#壓縮目錄下所有檔案
gzip -r web
#解壓
gzip -d nginx.conf.gz
zip
語法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$] [-b <工作目錄>] [-ll] [-n <字尾字串>] [-t <日期時間>] [-<壓縮效率>] [壓縮檔案] [檔案...] [-i <範本樣式>] [-x <範本樣式>]
作用:壓縮檔案。
引數說明:常用。
- -r:遞迴處理。
- -b:指定存放的目錄。
- -D:壓縮檔案中不建立目錄名稱。
- -q:不顯示壓縮過程。
#壓縮檔案
zip web20210101bak.zip web.xml
#壓縮目錄
zip -q -r web20210101bak.zip web
unzip
語法:unzip [-cflptuvz] [-agCjLMnoqsVX] [-P <密碼>] [.zip檔案] [檔案] [-d <目錄>] [-x <檔案>] 或 unzip [-Z]
作用:壓縮檔案。
引數說明:常用。
- -l:顯示壓縮檔案的包含的檔案。
- -v:檢視壓縮檔案的目錄資訊,且不解壓該檔案。
#解壓
unzip web20210101bak.zip
tar
語法:tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ] [-b <區塊數目>] [-C <目的目錄>] [-f <備份檔案>] [-F ] [-K <檔案>] [-L <媒體容量>] [-N <日期時間>] [-T <範本檔案>] [-V <卷冊名稱>] [-X <範本檔案>] [-<裝置編號><儲存密度>] [--after-date=<日期時間>] [--atime-preserve] [--backuup=<備份方式>] [--checkpoint] [--concatenate] [--confirmation] [--delete] [--exclude=<範本樣式>] [--force-local] [--group=<群組名稱>] [--help] [--ignore-failed-read] [--new-volume-script=] [--newer-mtime] [--no-recursion] [--null] [--numeric-owner] [--owner=<使用者名稱稱>] [--posix] [--erve] [--preserve-order] [--preserve-permissions] [--record-size=<區塊數目>] [--recursive-unlink] [--remove-files] [--rsh-command=<執行指令>] [--same-owner] [--suffix=<備份字尾字串>] [--totals] [--use-compress-program=<執行指令>] [--version] [--volno-file=<編號檔案>] [檔案或目錄...]
作用:解壓或壓縮檔案。
引數說明:常用。
- -c:壓縮。
- -C<目的目錄>:解壓到指定目錄下。
- -f:指定檔名。
- -k:解壓時不覆蓋已有的檔案。
- -K<檔案>:指定檔案進行壓縮。
- -x:解壓。
- -z:處理字尾為
*.tar.gz
的壓縮檔案。 - -j:處理字尾為
*.tar.bz2
的壓縮檔案。 - -t:檢視壓縮檔案的內容。
#處理*.tar字尾的檔案
#壓縮
tar -cvf web.tar web
#解壓
tar -xvf web.tar
#解壓到指定目錄
tar -xvf web.tar -C /usr/local/www/
#處理*.tar.gz字尾的檔案
#壓縮
tar -zcvf web.tar.gz web
#解壓
tar -zxvf web.tar.gz
#解壓到指定目錄
tar -xvf web.tar.gz -C /usr/local/www/
#處理*.tar.bz2字尾的檔案
#壓縮
tar -jcvf web.tar.bz2 web
#解壓
tar -jxvf web.tar.bz2
其他
echo $PATH
作用:檢視環境變數。
cal
作用:檢視日曆。