linux命令補充

longsihua2003發表於2024-09-09

linux命令補充

加/解壓命令

tar命令:進行檔案的壓縮和檔案的解壓。對於不同的檔案解壓可以參考中文文件(linux中文手冊)。

重要引數:

  • 壓縮包:-c(直接打包不會節省空間,使用壓縮工具可以減少檔案大小,即下面的-z,-j,-J命令)、
  • 解壓包:-x、
  • 後面輸入檔案:-f、
  • gz(gzip壓縮檔案):-z、
  • bz(bzip壓縮檔案):-j、
  • xz(xz壓縮檔案):-J、
  • 顯示解壓流程,即打包/壓縮檔案:-v、
  • 解壓到哪個目錄(目錄必須存在):-C

img

img

網路埠開放情況命令

netstat 列印linux中網路服務的狀態資訊。以得知網路情況。

相關引數:

  • -t或--tcp:顯示TCP傳輸協議的連線狀況;
  • -u或--udp:顯示UDP傳輸協議的連線狀況;
  • -n或--numeric:直接使用ip地址,而不透過域名伺服器;
  • -l或--listening:顯示監控中的伺服器的Socket;
  • -p或--programs:顯示正在使用Socket的程式識別碼和程式名稱;

一般情況使用:netstat -tunlp 來列印埠的啟用情況。且使用grep來對埠進行過濾。

例:
img

檢視程序

ps命令,檢視程序的啟動情況。

重要引數:

  • -e  顯示所有程序。
       e  列出程序時,顯示每個程序所使用的環境變數。
  • -f  顯示UID,PPID,C與STIME欄位。
       f  用ASCII字元顯示樹狀結構,表達程序間的相互關係。

一般透過:ps -ef的方式列印埠的啟動情況。

例:
img

停止程序命令

  • kill 透過uid把程序停止
  • pkill 透過名字把程序停止
  • killall 與pkill類似,透過名字把程序停止

例:

    # 先用ps查詢程序,然後用kill殺掉:
    ps -ef | grep vim
    root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
    root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

    kill 3268

    # 例如nginx啟動後有2個程序
    killall nginx 
    pkill nginx

檢視記憶體使用情況

df命令:用於顯示磁碟分割槽上的可使用的磁碟空間。預設顯示單位為KB。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊。

重要引數:

  • -h或--human-readable:以可讀性較高的方式來顯示資訊;
  • -k或--kilobytes:指定區塊大小為1024位元組;
  • -T或--print-type:顯示檔案系統的型別;
  • --help:顯示幫助;
  • --version:顯示版本資訊。

例:
img

dns(即域名/ip伺服器)解析流程

每當使用ping + 域名 或者 nslookup + 域名 去解析域名的時候

系統會自動呼叫域名解析的流程:

  1. 瀏覽器首先在本地機器,即作業系統的快取中查詢是否有ip - 域名 的記錄。
  2. 去/etc/hosts檔案中查詢是否有寫死的域名解析記錄。
  3. 如果沒有,系統會前往/etc/resolv.conf配置檔案中尋找域名伺服器地址。執行解析
  4. 解析完成後,快取記錄到本地dns快取中。
  • 附:DNS(Domain Name System,域名系統),全球資訊網上作為域名和IP地址相互對映的一個分散式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。
    透過域名,最終得到該域名對應的IP地址的過程叫做域名解析(或主機名解析)。

機器的定時任務(crontab)

定時執行操作命令,每一個使用者擁有自己的crontab,配置檔案存在/var下面,不能被直接編輯。

語法格式:

          • 命令的絕對路徑!

分 時 日 月 周 命令

例子

#每分鐘執行一次命令
* * * * * 命令
#每小時的3,15分組執行命令
3,15 * * * * 命令
#在上午8-11點的第3和第15分鐘執行
3,15 8-11 * * * 命令
#每晚21:30執行命令
30 21 * * * 命令
#沒週六、日的1:30執行命令
30 1 * * 6,0 命令
#每週一到週五的凌晨1點,清空/tmp目錄的所有檔案
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重啟nginx
30 21 * * * /opt/nginx/sbin/nginx -s reload
#每月的1,10,22日的4:45重啟nginx
45 4 1,1,10,22 * * /opt/nginx/sbin/nginx -s reload
#每個星期一的上午8點到11點的第3和15分鐘執行命令
3,15 8-11 * * 1 command

img

yum阿里雲映象

  1. mirrors.aliyun.com 阿里雲映象倉庫。

  2. 透過命令下載yum倉庫源(即映象站的centos)

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo(-O是改名和指定位置)

  3. 透過命令下載epel倉庫源(即映象站的epel)
    wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

  4. linux的yum倉庫地址:/etc/yum.repos.d/
    在這個倉庫的第一層倉庫都是可以讀取到的yum倉庫地址。

linux軟體包管理工具

  1. 原始碼安裝,類似與linux安裝python3步驟。(下載壓縮包、解壓、釋放./configure、make命令編譯安裝、配置環境變數)
  2. yum安裝。(使用mirrors源+yum install進行安裝)
  3. 進行rpm安裝(需要自己配置依賴)

包管理工具的核心:

  1. 製作軟體包 .rpm
  2. 安裝、解除安裝、升級、查詢、校驗

rpm相關命令列舉(需要解決依賴關係,相當難使用):

    # 安裝軟體的命令格式                
    rpm -ivh filename.rpm     # i表示安裝   v顯示詳細過程  h以進度條顯示
    # 升級軟體的命令格式                
    rpm -Uvh filename.rpm
    # 解除安裝軟體的命令格式                
    rpm -e filename.rpm
    # 查詢軟體描述資訊的命令格式         
    rpm -qpi filename.rpm
    # 列出軟體檔案資訊的命令格式         
    rpm -qpl filename.rpm
    # 查詢檔案屬於哪個 RPM 的命令格式   
    rpm -qf filename

yum相關命令列舉:

    yum(選項)(引數)
    # 選項
    search 查詢
    install 安裝
    remove 解除安裝
    # 引數
    -h:顯示幫助資訊;
    -y:對所有的提問都回答“yes”;
    -c:指定配置檔案;
    -q:安靜模式;
    -v:詳細模式;
    -d:設定除錯等級(0-10);
    -e:設定錯誤等級(0-10);
    -R:設定yum處理一個命令的最大等待時間;
    -C:完全從快取中執行,而不去下載或者更新任何標頭檔案。
    #  清除原本的yum快取
    yum clear all
    # 生成yum快取
    yum makecache

系統服務管理命令(透過yum安裝的軟體才可以使用這個)

  1. 對於centos6 就是:
    service nginx start
  2. 對於centos7 就是:
    systemctl start/stop/restart nginx

防火牆

firewalld.service命令:防火牆服務(控制伺服器流量)

    # 開啟防火牆
    systemctl start firewalld.service
    # 關閉防火牆
    systemctl stop firewalld
    # 開啟22埠
    firewall-cmd --zone=public --add-port=22/tcp --permanent
    firewall-cmd --reload
    # 防止防火牆開機自啟
    systemctl disable firewalld.service
    # 開啟防火牆開機自啟
    systemctl enable firewalld.service
    # 臨時清空防火牆規則
    iptables -F

相關文章