指令标準格式
指令主體 【選項】【操作對象】
檔案操作
ls
1、ls
列出目前工作目錄下的所有檔案/檔案夾的名稱
2、ls 路徑
列出指定路徑下的所有檔案/檔案夾的名稱
路徑:
1、相對路徑
會用到 ./ 【表示目前目錄】 和 ../【表示上一級目錄】
2、絕對路徑 :不需要參照物,直接從根尋址
3、ls 【選項】 路徑
列出指定路徑下的檔案/檔案夾的名稱,并以指定的格式顯示
例如:
ls -l 路徑 ls -la 路徑
-l :表示list,表示以詳細表的形式展示
-a:顯示所有檔案/檔案夾(包含隐藏檔案/檔案夾)
-t:按建立時間進行排序
-R:列出目前目錄以及其子目錄
注釋:“-”表示對應的文檔類型為檔案,“d”表示文檔類型是檔案夾
注釋:在linux中隐藏文檔一般是以 “.”開頭
4、ls -lh 路徑
列出指定路徑下的檔案/檔案夾的名稱,并以清單的格式顯示文檔大小的時候以可讀性較高的形式顯示
pwd
print working direction,列印目前工作目錄
cd
change directory 改變路徑
注釋:cd ~:切換到目前使用者的家目錄
mkdir
mkdir 路徑【可以是檔案夾名/包含檔案夾名的完整路徑】:make directory ,建立目錄
注釋:
mkdir -p 路徑 :強行建立沒有的檔案夾
mkdir 路徑1 路徑2 路徑3 :也同時建立多個檔案夾
touch
touch 檔案路徑 :建立檔案
cp
cp 被複制的文檔路徑 文檔要複制到的路徑 :複制檔案/檔案夾到指定位置
-p:複制時,檔案的資訊(建立時間、所屬組、所有者等不變)
cp -r 被複制的文檔路徑 文檔要複制到的路徑:複制檔案夾 【目錄】
mv
mv 被移動檔案/檔案夾的位置 移動的位置 :移動、重命名 【不會更改資訊(建立時間、所屬組、所有者等不變)】
mv -r 目錄 目錄 :移動目錄
rm
rm 選項 需要移除的文檔路徑
選項:
-f :force,強制删除,不提示
-r:遞歸,删除檔案夾
删除檔案夾下相同特征的檔案 :使用通配符 “ * ”
vim
vim 檔案路徑:打開一個檔案(可以不存在)
退出打開檔案:shift+英文冒号,輸入 q 回車
echo
輸出重定向
将輸出結果儲存在指定檔案中(可以不存在)
> :覆寫輸出
>>:追加輸出
ln
軟硬連結
ln 檔案 連結名 :軟連結,相當于快捷鍵
ln -s 檔案 連結名 :硬連結 ,相當于複制檔案
cat
cat 檔案位置 :檢視檔案
cat 檔案1位置 檔案2位置 ... > 合并後的檔案位置:合并檔案
head
head -n 檔案路徑 :檢視一個檔案的前n行,如果n不定,則預設前10行
tail
tail -n 檔案路徑 :檢視一個檔案的後n行,如果n不定,則預設前10行
tail -f 檔案路徑 :檢視一個檔案的動态變化内容【不能是人工修改】
less
less 需要檢視檔案的路徑 :檢視檔案,以較少的内容輸出,按輔助鍵(數字+回車、空格+上下)
more
more 需要檢視檔案的路徑 :檢視檔案,以較多的内容輸出,按輔助鍵(數字+回車、空格+上下)
wc
wc -l 需要統計的檔案路徑:統計檔案中的内容資訊,行數
-w :單詞數
-c :位元組數
date
date :輸出形式:2020年 05月 27日 星期三 19:42:40 CST
date +%F 相當于:date "+%Y-%m-%d" 輸出形式:2020-05-27.
date "+%F %T" 相當于:date "+%Y-%m-%d %H:%M:%S" ,引号表示使 “年月日時分秒”成為一個不可分割的整體 輸出形式:2020-05-27 19:46:38
date -d "+1 day" "+%Y-%m-%d %H:%M:%S" :輸出之前或之後的某個時間 輸出形式:2020-05-28 19:51:34
符号可選值:+(之後)、-(之前)
機關可選值:day(天)、month(月)、year(年)
ntpdate
需要先安裝 :yum install -y ntpdate
ntpdate -u 時間伺服器位址 :為本地伺服器同步時間位址
cal
cal 相當于:cal -l :直接輸出目前月的月曆
cal -3 :輸出上一個月 、本月、下一個月的月曆
cal -y 年份 :輸出某一年的月曆
clear
clear 或者 Ctrl+L :清除終端中存在的指令和結果(不是真實清除)
windows下清除:cls
管道符
一般用于“過濾”,不能單獨使用、輔助使用
ls / | grep s :輸出根目錄下包含s字母的文檔名
1、以管道為分界線,前面的指令有輸出,後面需要先輸入,然後在過濾,最後輸出
2、grep:用于過濾
ls | wc -l :統計該目錄下文檔的個數
檢視資源
df
df -h :表示以可讀性較高的形式展示磁盤空間大小
free
free -m : 以M為機關檢視記憶體使用情況
注釋:swap:用于臨時記憶體,當系統真是記憶體不夠時,可以臨時使用磁盤空間使用
hostname
hostname :輸出完整主機名
hostname -f :輸出目前主機名中的FQDN(全限定域名)
說明:永久修改:/etc/sysconfig/network
id
查詢一個使用者的基本資訊(使用者id、使用者組id、附加組id)
id :顯示目前使用者的基本資訊
id 使用者名 :顯示指定使用者的基本資訊
驗證資訊正誤?
/etc/passwd :驗證使用者資訊
/etc/group :驗證使用者組資訊
history
檢視已經執行過的曆史指令,也可以執行曆史指令
!數字 :執行history中的指令
whoami
whoami :顯示目前使用者名 一般用于shell腳本,用于記錄目前操作的使用者名友善記錄日志
w
w -f :檢視目前登入系統的使用者,以及使用時間
uptime
du
du -sh 目錄路徑 :檢視目錄的真實大小
-s :隻顯示彙總大小
-h:以較高可讀性的形式顯示
du -sh /bin :查詢/bin 目錄的真實大小
find
find 路徑範圍 選項 選項值 :查找檔案
-name :按文檔名稱進行搜尋 (支援模糊查詢)
-type: 按文檔類型進行搜尋 【“-”表示檔案(使用find時用f代替) 、“d”:表示檔案夾】
find / -name httpd.conf :查找 / 目錄下的 httpd.conf檔案
find /etc -type d | wc -l :統計 目錄/etc下檔案夾的數量
curl
利用URL規則在指令行下工作的檔案傳輸工具,它支援檔案的上傳和下載下傳。
參考:連結
uptime :輸出計算機的持續運作時間(開機到現在的時間)
uname
uname :擷取作業系統的類型
uname -a :擷取系統的全部資訊(類型、全部主機名、核心版本等)
關機
reboot
reboot :重新開機
reboot -w :模拟重新開機,但不重新開機(隻寫入關機指令道日志中)
shutdown
shutdow -h now :立刻關機
shutdown -h 指定時間 :定時關機
1、 centos7之前的,使用ctrl+C取消關機
2、centos7(包含)之後的,使用 shutdown -c 取消關機
日志
服務
1、systemd-journald 日志收集系統
2、rsyslog:歸類日志,寫入/var/log目錄中
/var/log/messages :系統日志
/var/log/secure :身份驗證及相關安全類日志
/var/log/maillog :郵件日志
/var/log/cron :計劃任務日志
/var/log/boot.log :開機日志
日志優先級
日志配置檔案
系統配置檔案:/etc/rsyslog.conf
自定義配置檔案:将帶有.conf字尾的檔案放入/etc/rsyslog.d目錄
日志檔案輪轉
使用logrotate工具,防止将含有/var/log中的檔案系統填滿
輪轉大緻四次,丢棄原日志檔案
分析日志條目
tail /var/log/messages
實時監控事件的一個或多個日志檔案
logger
發送消息到rsyslog服務,預設嚴重性為notice
網絡
ifconfig
ifconfig :擷取網卡資訊
netstat
netstat -tnlp :檢視網絡狀态
netstat -tulpn : 檢視所有的端口資訊, 包括 PID 和程序名稱
解壓縮
tar
-c:create 打包成一個檔案
-t:檢視壓縮文檔裡的所有内容
-C:切換成指定目錄
tar -zcvf 檔案 :将檔案打包壓縮成 .tar.gz 檔案
tar -zxvf 檔案 :将 .tar.gz 打包壓縮檔案解壓縮
tar -jcvf 檔案 :将檔案打包壓縮成 .tar.bz2 檔案 , 壓縮比更高!
tar -jxvf 檔案 :将 .tar.bz2 打包壓縮檔案解壓縮
unzip
用于解壓縮由zip指令壓縮的“.zip”壓縮包
服務管理
service
Centos7.0以上:
開啟Apache服務:/bin/systemctl start httpd.service
重新開機:/bin/systemctl restart httpd.service
停止:/bin/systemctl stop httpd.service
service 服務名 start / stop / restart :服務的啟動/停止/重新開機
service httpd start :啟動本機的Apache(網站伺服器軟體),伺服器名為httpd
systemctl
紅帽7之後,系統啟動和伺服器程序由 systemd 系統和伺服器進行管理
使用 systemctl 來管理各種類型的 systemd 對象
檢視可以管理的單元(被管理的對象叫做單元):systemctl -t help
servicel:系統服務
socket:程序通信的套接字
targe:系統啟動後達到的目标
systemctl status 服務名 :檢視服務的狀态
systemctl is-enabled 服務名 :檢視服務是否已開機啟動
systemctl stop 服務名 :停止服務
systemctl restart 服務名 :重新開機服務 【啟程序時,程序ID會發生改變】
systemctl reload 服務名 :重新加載服務 【重新加載時,不完全停止和啟動伺服器,程序ID不變】
systemctl enable 服務名 :設定服務開機啟動
systemctl list-dependencies 服務名 :檢視服務的依賴關系
systemctl mask 服務名 :隐藏服務
systemctl unmask 服務名 :解除隐藏服務
程序管理
ps
ps -ef :檢視伺服器的程序資訊
說明:
-e:等價于“-A”,列出全部的程序
-f:顯示全部的列
ps -ef | grep 程序指令 :從ps結果中過濾成需要的程序資訊
ps j :顯示與作業相關的資訊
PDID :程序組首程序的PID
SID:會話首程序得PID
top
動态 的檢視伺服器的程序占的資源
進入:top
退出:按 q 鍵
快捷鍵:
1、M:結果按記憶體從高到低排序
2、P:結果按CPU使用率從高到低排序
3、1:當伺服器有多核CPU時,顯示全部CPU資訊
pstree
列出所有父子程序的關系
kill
kill 程序ID :殺死程序 【需要和ps一起使用】
killall
killall 程序名稱 :殺死程序
pkill
使用程序名殺死程序,殺死一組同名的程序,類似 killall
擷取幫助資訊
man
man 指令 :退出按q鍵
n:使用/ 或? 來搜尋字元串,可以用n來繼續下一個搜尋
N:繼續下一個搜尋
g:轉到man page的開頭
G:轉到man page的結尾
q:退出man
擷取線上幫助
1、sosreport :生成報告
2、md5sum :檢查生成是否正确
3、tar -xvjf 解壓報告
4、檢視生成的報告
性能分析
vmstat
vmstat(VirtualMeomoryStatistics,虛拟記憶體統計) 是Linux中監控記憶體的常用工具,可對作業系統的虛拟記憶體、程序、CPU等的整體情況進行監視。
vmstat的正常用法:
vmstat interval times
即每隔interval秒采樣一次,共采樣times次,如果省略times,則一直采集資料,直到使用者手動停止為止。簡單舉個例子:
可以使用ctrl+c停止vmstat采集資料
第一行顯示了系統自啟動以來的平均值,第二行開始顯示現在正在發生的情況,接下來的行會顯示每5秒間隔發生了什麼,每一列的含義在頭部,如下所示:
- procs:r這一列顯示了多少程序在等待cpu,b列顯示多少程序正在不可中斷的休眠(等待IO)。
- memory:swapd列顯示了多少塊被換出了磁盤(頁面交換),free列顯示了多少塊是空閑的(未被使用),buff塊顯示正在被用作緩沖區,以及cache顯示正在被用作作業系統的緩存。
- swap:顯示交換活動:每秒有多少塊正在被換入(從磁盤)和換出(到磁盤)。
- io:顯示了多少塊從塊裝置讀取(bi)和寫出(bo),通常反映了硬碟I/O。
- system:顯示每秒中斷(in)和上下文切換(cs)的數量。
- cpu:顯示所有的cpu時間花費在各類操作的百分比,包括執行使用者代碼(非核心),執行系統代碼(核心),空閑以及等待IO。
記憶體不足的表現:
- free memory急劇減少
- 回收buffer和cacher也無濟于事
- 大量使用交換分區(swpd)
- 頁面交換(swap)頻繁
- 讀寫磁盤數量(io)增多
- 缺頁中斷(in)增多
- 上下文切換(cs)次數增多
- 等待IO的程序數(b)增多
- 大量CPU時間用于等待IO(wa)
能夠列印系統總共運作了多長時間和系統的平均負載,uptime指令最後輸出的三個數字的含義分别是1分鐘,5分鐘,15分鐘内系統的平均負荷。
ps參數太多,具體使用方法可以參考man ps
ps aux #hsserver
ps –ef |grep #hundsun
#殺掉某一程式的方法
ps aux | grep mysqld | grep –v grep | awk ‘{print $2 }’ xargs kill -9
#殺掉僵屍程序
ps –eal | awk ‘{if ($2 == “Z”){print $4}}’ | xargs kill -9
htop
htop 是Linux系統中的一個互動的程序檢視器,一個文本模式的應用程式(在控制台或者X終端中),需要ncurses
安裝:
yum install htop
Htop可讓使用者互動式操作,支援顔色主題,可橫向或縱向滾動浏覽程序清單,并支援滑鼠操作。
與top相比,htop有以下優點:
- 可以橫向或者縱向滾動浏覽程序清單,以便看到所有的程序和完整的指令行。
- 在啟動上,比top更快。
- 殺程序時不需要輸入程序号。
- htop支援滑鼠操作。
練習題
參考
1、Linux 性能分析工具彙總
作者:
Pam
出處:
https://www.cnblogs.com/pam-sh/>
關于作者:網安在讀
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出,
原文連結
如有問題, 可郵件([email protected])咨詢.