天天看點

linux:基本指令

指令标準格式

指令主體 【選項】【操作對象】

檔案操作

ls

1、ls

列出目前工作目錄下的所有檔案/檔案夾的名稱

linux:基本指令

2、ls  路徑

列出指定路徑下的所有檔案/檔案夾的名稱

路徑:

1、相對路徑

會用到 ./ 【表示目前目錄】 和 ../【表示上一級目錄】

2、絕對路徑 :不需要參照物,直接從根尋址

linux:基本指令

3、ls  【選項】 路徑

列出指定路徑下的檔案/檔案夾的名稱,并以指定的格式顯示

例如:

ls -l 路徑     ls  -la  路徑

-l :表示list,表示以詳細表的形式展示

-a:顯示所有檔案/檔案夾(包含隐藏檔案/檔案夾)

-t:按建立時間進行排序

-R:列出目前目錄以及其子目錄

linux:基本指令

注釋:“-”表示對應的文檔類型為檔案,“d”表示文檔類型是檔案夾

linux:基本指令

注釋:在linux中隐藏文檔一般是以 “.”開頭

4、ls -lh 路徑

列出指定路徑下的檔案/檔案夾的名稱,并以清單的格式顯示文檔大小的時候以可讀性較高的形式顯示

linux:基本指令

pwd 

print working direction,列印目前工作目錄

linux:基本指令

cd

change directory 改變路徑

linux:基本指令

注釋:cd ~:切換到目前使用者的家目錄

mkdir

mkdir 路徑【可以是檔案夾名/包含檔案夾名的完整路徑】:make directory ,建立目錄

linux:基本指令

注釋:

mkdir -p 路徑 :強行建立沒有的檔案夾

linux:基本指令

mkdir 路徑1  路徑2  路徑3 :也同時建立多個檔案夾

linux:基本指令

touch

touch 檔案路徑 :建立檔案

linux:基本指令

cp

cp 被複制的文檔路徑   文檔要複制到的路徑  :複制檔案/檔案夾到指定位置

  -p:複制時,檔案的資訊(建立時間、所屬組、所有者等不變)

linux:基本指令

cp  -r 被複制的文檔路徑   文檔要複制到的路徑:複制檔案夾 【目錄】

linux:基本指令

mv

mv 被移動檔案/檔案夾的位置   移動的位置 :移動、重命名  【不會更改資訊(建立時間、所屬組、所有者等不變)】

mv   -r  目錄   目錄    :移動目錄

linux:基本指令

rm

rm  選項  需要移除的文檔路徑

選項:

-f :force,強制删除,不提示

-r:遞歸,删除檔案夾 

linux:基本指令

删除檔案夾下相同特征的檔案 :使用通配符 “ * ” 

vim

vim 檔案路徑:打開一個檔案(可以不存在)

linux:基本指令

退出打開檔案:shift+英文冒号,輸入 q 回車

echo

輸出重定向

将輸出結果儲存在指定檔案中(可以不存在)

> :覆寫輸出

>>:追加輸出

linux:基本指令

ln

軟硬連結

ln 檔案  連結名  :軟連結,相當于快捷鍵

ln   -s 檔案  連結名  :硬連結   ,相當于複制檔案

linux:基本指令

cat

cat  檔案位置 :檢視檔案

linux:基本指令

cat 檔案1位置  檔案2位置 ...  > 合并後的檔案位置:合并檔案

linux:基本指令

head

head -n 檔案路徑   :檢視一個檔案的前n行,如果n不定,則預設前10行

linux:基本指令

tail

tail -n 檔案路徑  :檢視一個檔案的後n行,如果n不定,則預設前10行

linux:基本指令

tail -f  檔案路徑  :檢視一個檔案的動态變化内容【不能是人工修改】

linux:基本指令

less

less 需要檢視檔案的路徑  :檢視檔案,以較少的内容輸出,按輔助鍵(數字+回車、空格+上下)

more

more 需要檢視檔案的路徑  :檢視檔案,以較多的内容輸出,按輔助鍵(數字+回車、空格+上下)

wc

wc   -l    需要統計的檔案路徑:統計檔案中的内容資訊,行數

  -w  :單詞數

  -c  :位元組數

linux:基本指令

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(年)

linux:基本指令

ntpdate

需要先安裝 :yum install -y ntpdate

ntpdate -u 時間伺服器位址      :為本地伺服器同步時間位址

linux:基本指令

cal

cal  相當于:cal -l :直接輸出目前月的月曆

cal -3  :輸出上一個月 、本月、下一個月的月曆

cal -y 年份 :輸出某一年的月曆

clear

clear 或者 Ctrl+L  :清除終端中存在的指令和結果(不是真實清除)

windows下清除:cls

管道符

一般用于“過濾”,不能單獨使用、輔助使用

ls / | grep s  :輸出根目錄下包含s字母的文檔名

linux:基本指令

1、以管道為分界線,前面的指令有輸出,後面需要先輸入,然後在過濾,最後輸出

2、grep:用于過濾

ls | wc -l  :統計該目錄下文檔的個數

linux:基本指令

檢視資源

df

df -h  :表示以可讀性較高的形式展示磁盤空間大小

linux:基本指令

free

free -m : 以M為機關檢視記憶體使用情況

linux:基本指令

注釋:swap:用于臨時記憶體,當系統真是記憶體不夠時,可以臨時使用磁盤空間使用 

hostname 

hostname  :輸出完整主機名

hostname -f :輸出目前主機名中的FQDN(全限定域名)

說明:永久修改:/etc/sysconfig/network

linux:基本指令

id

查詢一個使用者的基本資訊(使用者id、使用者組id、附加組id)

id :顯示目前使用者的基本資訊

id 使用者名 :顯示指定使用者的基本資訊

linux:基本指令

驗證資訊正誤?

/etc/passwd  :驗證使用者資訊  

/etc/group   :驗證使用者組資訊

linux:基本指令
linux:基本指令

history

檢視已經執行過的曆史指令,也可以執行曆史指令

linux:基本指令

!數字    :執行history中的指令

whoami

whoami  :顯示目前使用者名  一般用于shell腳本,用于記錄目前操作的使用者名友善記錄日志

linux:基本指令

w

w -f :檢視目前登入系統的使用者,以及使用時間

linux:基本指令

uptime

linux:基本指令

du

du -sh 目錄路徑  :檢視目錄的真實大小

-s :隻顯示彙總大小

-h:以較高可讀性的形式顯示

du -sh /bin   :查詢/bin 目錄的真實大小

linux:基本指令

find

find 路徑範圍 選項 選項值   :查找檔案

-name :按文檔名稱進行搜尋 (支援模糊查詢) 

-type: 按文檔類型進行搜尋 【“-”表示檔案(使用find時用f代替) 、“d”:表示檔案夾】

find / -name httpd.conf  :查找 / 目錄下的 httpd.conf檔案

linux:基本指令

find /etc -type d | wc -l   :統計 目錄/etc下檔案夾的數量

linux:基本指令

curl

利用URL規則在指令行下工作的檔案傳輸工具,它支援檔案的上傳和下載下傳。

參考:連結

uptime :輸出計算機的持續運作時間(開機到現在的時間)

linux:基本指令

uname 

uname :擷取作業系統的類型

uname -a :擷取系統的全部資訊(類型、全部主機名、核心版本等)

linux:基本指令

關機

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 :開機日志

日志優先級

linux:基本指令
linux:基本指令

日志配置檔案

系統配置檔案:/etc/rsyslog.conf

自定義配置檔案:将帶有.conf字尾的檔案放入/etc/rsyslog.d目錄

日志檔案輪轉

使用logrotate工具,防止将含有/var/log中的檔案系統填滿

輪轉大緻四次,丢棄原日志檔案

分析日志條目

tail  /var/log/messages

linux:基本指令

實時監控事件的一個或多個日志檔案

logger

發送消息到rsyslog服務,預設嚴重性為notice

linux:基本指令

網絡

ifconfig

ifconfig :擷取網卡資訊

linux:基本指令

netstat

netstat -tnlp :檢視網絡狀态

netstat -tulpn : 檢視所有的端口資訊, 包括 PID 和程序名稱

linux:基本指令
linux:基本指令

解壓縮

tar

linux:基本指令

  -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

linux:基本指令
linux:基本指令

systemctl

紅帽7之後,系統啟動和伺服器程序由 systemd 系統和伺服器進行管理

使用 systemctl 來管理各種類型的 systemd 對象

檢視可以管理的單元(被管理的對象叫做單元):systemctl -t help

linux:基本指令

servicel:系統服務

socket:程序通信的套接字

targe:系統啟動後達到的目标

systemctl  status 服務名 :檢視服務的狀态

linux:基本指令

systemctl  is-enabled 服務名 :檢視服務是否已開機啟動

systemctl  stop 服務名 :停止服務

systemctl  restart 服務名 :重新開機服務   【啟程序時,程序ID會發生改變】

systemctl  reload 服務名 :重新加載服務 【重新加載時,不完全停止和啟動伺服器,程序ID不變】

systemctl  enable 服務名 :設定服務開機啟動

systemctl  list-dependencies 服務名 :檢視服務的依賴關系

systemctl  mask 服務名 :隐藏服務

linux:基本指令

systemctl  unmask 服務名 :解除隐藏服務

程序管理

ps

ps -ef :檢視伺服器的程序資訊

說明:

-e:等價于“-A”,列出全部的程序

-f:顯示全部的列

linux:基本指令
linux:基本指令

ps -ef | grep 程序指令 :從ps結果中過濾成需要的程序資訊

ps  j :顯示與作業相關的資訊

PDID :程序組首程序的PID

SID:會話首程序得PID

linux:基本指令

top

動态 的檢視伺服器的程序占的資源

進入:top

退出:按 q 鍵

linux:基本指令
linux:基本指令

快捷鍵:

1、M:結果按記憶體從高到低排序

2、P:結果按CPU使用率從高到低排序

3、1:當伺服器有多核CPU時,顯示全部CPU資訊

pstree

列出所有父子程序的關系

linux:基本指令

kill

kill 程序ID :殺死程序  【需要和ps一起使用】

linux:基本指令

killall

killall 程序名稱 :殺死程序

pkill

使用程序名殺死程序,殺死一組同名的程序,類似 killall

擷取幫助資訊

man

man 指令 :退出按q鍵

n:使用/ 或? 來搜尋字元串,可以用n來繼續下一個搜尋

N:繼續下一個搜尋

g:轉到man page的開頭

G:轉到man page的結尾

q:退出man

linux:基本指令

擷取線上幫助

1、sosreport :生成報告

2、md5sum :檢查生成是否正确

3、tar -xvjf 解壓報告

4、檢視生成的報告

性能分析

vmstat

vmstat(VirtualMeomoryStatistics,虛拟記憶體統計) 是Linux中監控記憶體的常用工具,可對作業系統的虛拟記憶體、程序、CPU等的整體情況進行監視。

vmstat的正常用法:

vmstat interval times      

即每隔interval秒采樣一次,共采樣times次,如果省略times,則一直采集資料,直到使用者手動停止為止。簡單舉個例子:

linux:基本指令

可以使用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)

linux:基本指令

能夠列印系統總共運作了多長時間和系統的平均負載,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
      
linux:基本指令

Htop可讓使用者互動式操作,支援顔色主題,可橫向或縱向滾動浏覽程序清單,并支援滑鼠操作。

與top相比,htop有以下優點:

  • 可以橫向或者縱向滾動浏覽程序清單,以便看到所有的程序和完整的指令行。
  • 在啟動上,比top更快。
  • 殺程序時不需要輸入程序号。
  • htop支援滑鼠操作。

練習題

linux:基本指令
linux:基本指令

參考

1、Linux 性能分析工具彙總

作者:

Pam

出處:

https://www.cnblogs.com/pam-sh/>

關于作者:網安在讀

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出,

原文連結

如有問題, 可郵件([email protected])咨詢.