Linux下常用的shell命令記錄,linuxshell命令
硬體篇
lscpu #查看的是cpu的統計資訊.cat /proc/cpuinfo #查看CPU資訊詳細資料,如每個CPU的型號,主頻等
free -m #概要查看記憶體情況 這裡的單位是MBcat /proc/meminfo #查看記憶體詳細資料
lsblk #查看硬碟和分區分布,顯示很直觀df -h #查看各分區使用方式cat /proc/partitions #查看硬碟和分區mount | column -t #查看掛接的分區狀態
lspci | grep -i 'eth' #查看網卡硬體資訊ifconfig -a #查看系統的所有網路介面ethtool eth0 #如果要查看某個網路介面的詳細資料,例如eth0的詳細參數和指標
軟體篇
uname -a #查看版本當前作業系統核心資訊)cat /proc/version #查看當前作業系統版本資訊cat /etc/issue #查看版本當前作業系統發行版資訊cat /etc/redhat-release #同上cat /etc/SuSE-release #suse系統下才可使用lsb_release -a #用來查看linux相容性的發行版資訊lsmod #列出載入的核心模組
ifconfig #查看所有網路介面的屬性iptables -L #查看防火牆設定service iptables status #查看防火牆狀態service iptables stop #關閉防火牆route -n #查看路由表netstat -lntp #查看所有監聽連接埠netstat -antp #查看所有已經建立的串連netstat -s #查看網路統計資訊進程netstat -at #列出所有tcp連接埠netstat -au #列出所有udp連接埠netstat -lt #只列出所有監聽tcp連接埠
top #查看系統所有進程的詳細資料,比如CPU、記憶體等,資訊很多!df -lh #查看硬碟大小及使用率mount #掛接遠程目錄、NFS、本地共用目錄到linux下hostname #查看/修改電腦名稱w #查看活動使用者id #查看指定使用者資訊last #查看使用者登入日誌cut -d: -f1 /etc/passwd #查看系統所有使用者cut -d: -f1 /etc/group #查看系統所有組crontab -l #查看目前使用者的計劃任務服務chkconfig –list #列出所有系統服務chkconfig –list | grep on #列出所有啟動的系統服務程式rpm -qa #查看所有安裝的軟體包uptime #查看系統已耗用時間、使用者數、負載 /sbin/chkconfig --list #查看系統自動啟動列表/sbin/chkconfig –add mysql #把MySQL添加到系統的啟動服務組裡面
ls -lht #列出一個檔案夾下所有檔案及大小、存取權限du -sh <dir> #查看指定目錄的大小 du -lh <dir> #查看指定目錄及各檔案的大小 ln -s #建立軟連結
pstree -p pid #查看一個進程下的所有線程pstree -a #顯示所有進程的所有詳細資料,遇到相同的進程名可以壓縮顯示。ps -ef #查看所有進程kill -9 pid #殺死進程kill all test #殺死進程kill -9 `pgrep test` #殺死進程./test.sh & #使程式在後台運行nohup ./test.sh & #使程式在後台運行
zip -r dir.zip dir file #將目錄dir、檔案file等壓縮到zip包,zip -re dir.zip dir file #建立zip包,且加密unzip dir.zip #解壓tar -zcvf dir.tar.gz dir file #將目錄dir、檔案file等壓縮到tar包tar -xf dir.tar.gz #解壓
screen命令組最大的好處就是當你的shell退出或關閉後,你啟動並執行服務不會關係,也就是說,我們可以在screen裡開啟一組服務,且不受終端斷開的影響。
screen -S test #建立一個名字為test的screenscreen -r test #開啟名字為test的screenscreen -r pid #開啟進程號為pid的screenscreen -ls #列出所有的screenctrl + a,d #當在一個screen時,退出screenctrl + a,n #當在一個screen時,切換到下一個視窗ctrl + a,c #當在一個screen時,建立一個新的視窗
scp local_file remote_username@remote_ip:remote_dir #拷貝本地檔案到遠程機器上scp -r local_dir remote_username@remote_ip:remote_dir #拷貝本地整個目錄到遠程機器上
假設你想要安裝的軟體包叫做app,注意,這裡的命令通常需要sudo或者root許可權。
//centos系統、redhat系統rpm -qa | grep app #尋找本機是否安裝了app;rpm -ivh app.rpm #假設你有app的rpm包,這樣直接安裝sudo yum install app #否則就線上安裝yum update app #更新apprpm -e app #刪除已安裝的app包//suse、opensuse系統zypper search app #尋找本機是否安裝了app;zypper install app #安裝zypper update app #更新zypper remove app #刪除zypper lr #列出所有已定義的安裝源。zypper ar #添加新安裝源。zypper rr #刪除指定的安裝源zypper mr #修改指定的安裝源//ubuntu系統apt-get install app #安裝apt-get update app #更新apt-get remove app #刪除 apt-cache search app #搜尋軟體包dpkg -i app.deb #假設你有app的deb包,這樣直接安裝
linux中Shell曆史命令記錄檔案的路徑是什?
Bash shell在“~/.bash_history”(“~/”表示使用者目錄)檔案中儲存了500條使用過的命令,這樣能使你輸入使用過的長命令變得容易。每個在系統中擁有帳號的使用者在他的目錄下都有一個“.bash_history”檔案。
bash shell應該儲存少量的命令,並且在每次使用者登出時都把這些曆史命令刪除。
第一步:
“/etc/profile”檔案中的“HISTFILESIZE”和“HISTSIZE”行確定所有使用者的“.bash_history”檔案中能保
存的舊命令條數。強烈建議把把“/etc/profile”檔案中的“HISTFILESIZE”和“HISTSIZE”行的值設為一個較小的數,比如
30。編輯profile檔案(vi /etc/profile),把下面這行改為:
HISTFILESIZE=30
HISTSIZE=30
這表示每個使用者的“.bash_history”檔案只能儲存30條舊命令。
第二步:
網管還應該在"/etc/skel/.bash_logout" 檔案中添加下面這行"rm -f $HOME/.bash_history" 。這樣,當使用者每次登出時,“.bash_history”檔案都會被刪除.
linux中Shell曆史命令記錄檔案的路徑是什?
Bash shell在“~/.bash_history”(“~/”表示使用者目錄)檔案中儲存了500條使用過的命令,這樣能使你輸入使用過的長命令變得容易。每個在系統中擁有帳號的使用者在他的目錄下都有一個“.bash_history”檔案。
bash shell應該儲存少量的命令,並且在每次使用者登出時都把這些曆史命令刪除。
第一步:
“/etc/profile”檔案中的“HISTFILESIZE”和“HISTSIZE”行確定所有使用者的“.bash_history”檔案中能保
存的舊命令條數。強烈建議把把“/etc/profile”檔案中的“HISTFILESIZE”和“HISTSIZE”行的值設為一個較小的數,比如
30。編輯profile檔案(vi /etc/profile),把下面這行改為:
HISTFILESIZE=30
HISTSIZE=30
這表示每個使用者的“.bash_history”檔案只能儲存30條舊命令。
第二步:
網管還應該在"/etc/skel/.bash_logout" 檔案中添加下面這行"rm -f $HOME/.bash_history" 。這樣,當使用者每次登出時,“.bash_history”檔案都會被刪除.