1. 程式人生 > 其它 >Linux 常用指令

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

作用:檢視日曆。