運維人員經常使用的Linux命令總結

目錄結構

目錄 說明
/bin 存放可執行文件
/boot 核心與啓動相關文件
/dev 設備有關的文件
/etc 相關的配置信息
/etc/rc.d 存放開關機過程當中用到的腳本文件
/etc/rc.d/init.d 因此服務默認的啓動腳本都放在這裏
/etc/xinetd.d 啓動服務可在此找到
/etc/X11 與X windows有關的配置文件
/lib 執行或編譯某些程序時用到的函數庫
/proc 系統核心與執行程序所須要的一些信息。都是內存中的數據
/root 系統管理員根目錄
/sbin 系統管理經常使用的程序
/tmp 存放臨時文件的地方
/usr 存放系統信息,用來存放程序與指令。相似windows下的program flies

其中重點須要掌握的是/etc目錄和/proc目錄。html

監控

查看CPU詳細信息

cpu相關信息存放在/proc/cpuinfo目錄中,因此要查看cpu信息就能夠用如下命令:mysql

cat /proc/cpuinfo

獲得相關的cpu信息以下:linux

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Pentium(R) CPU G3260 @ 3.30GHz
stepping	: 3
cpu MHz		: 800.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer xsave rdrand lahf_lm abm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase erms invpcid
bogomips	: 6584.81
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 60
model name	: Intel(R) Pentium(R) CPU G3260 @ 3.30GHz
stepping	: 3
cpu MHz		: 800.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer xsave rdrand lahf_lm abm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase erms invpcid
bogomips	: 6584.81
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

上面的這些cpu信息咱們須要關注的是processor,physical id,siblings,core id,cpu cores這幾個字段。這幾個字字段的含義以下圖:程序員

Linux-cpuinfo

根據上面的介紹可知我這臺服務器上有一個物理cpu,2個邏輯處理器(邏輯cpu),這個物理cpu有兩個內核。es6

能夠經過如下方法查詢CPU狀態。web

查詢邏輯CPU個數

cat /proc/cpuinfo | grep "processor" | wc -l

查詢物理CPU個數

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

查詢每一個物理cpu中core的個數

cat /proc/cpuinfo | grep "core id" | wc -l

查看cpu利用率

查看cpu利用率能夠用top命令。top命令能夠顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等。sql

關於cpu利用率和cpu負載的詳細計算方法能夠參見:Load和CPU利用率是如何算出來的mongodb

linux版本信息

兩種方法:查看cat /proc/version文件或者 lsb_release -a命令shell

[root@localhost /]# cat /proc/version 
Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:19:54 EST 2013

[root@localhost /]# lsb_release -a
LSB Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:	RedHatEnterpriseServer
Description:	Red Hat Enterprise Linux Server release 6.5 (Santiago)
Release:	6.5
Codename:	Santiago

內存信息

cat/proc/meminfo   
free –m  
top

下面列出free -m的結果:vim

[root@localhost proc]# free -m
             total       used       free     shared    buffers     cached
Mem:          7747       5392       2355          0        230       3258
-/+ buffers/cache:       1903       5843
Swap:         7999          0       7999

Mem行:

指標 含義 大小
total 內存總數 7747M
used 已經使用的內存數 5392M
free 空閒的內存數 2355M
shared 當前已經廢棄不用,老是0 0
buffers Buffer 緩存內存數 230
cached Page 緩存內存數 3258

因此有關係:total(7747M) = used(5392M) + free(2355M)

(-/+ buffers/cache)行:

  • (-buffers/cache) used內存數(已佔用):1903M(指的Mem行中的used - buffers - cached)

  • (+buffers/cache) free內存數(可以使用):5843M (指的Mem行中的free + buffers + cached)

可見-buffers/cache反映的是被程序實實在在吃掉的內存,而+buffers/cache反映的是能夠挪用的內存總數。

swap行:

swap內存若是常常是使用不少,就表示內存不足須要加物理內存了。

內存使用率的計算:

  • 內存使用率=真實內存佔用/內存總數
  • 真實內存佔用=used-buffers-cached
  • 空閒內存=free + buffers + cached

磁盤狀況

  • df -h :按照G顯示,fdisklsblk沒有權限時最好使用df -h

  • df -l :按照K顯示

  • fdisk -l :顯示磁盤詳細信息

  • lsblk :格式整齊,最爲推薦使用

[root@localhost /]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   461G  0 disk 
├─sda1   8:1    0 402.9G  0 part /
├─sda2   8:2    0  50.4G  0 part /home
└─sda3   8:3    0   7.8G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom 

[root@localhost /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       397G   21G  356G   6% /
tmpfs           3.8G     0  3.8G   0% /dev/shm
/dev/sda2        50G  180M   47G   1% /home

[root@localhost /]# df -l
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      415787952 21556856 373110280   6% /
tmpfs            3966492        0   3966492   0% /dev/shm
/dev/sda2       51999916   184304  49174156   1% /home


[root@localhost /]# fdisk -l

Disk /dev/sda: 495.0 GB, 495041143296 bytes
255 heads, 63 sectors/track, 60185 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x66cbb80d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       52589   422416384   83  Linux
/dev/sda2           52589       59166    52829184   83  Linux
/dev/sda3           59166       60186     8192000   82  Linux swap / Solaris

字符集相關

查看當前字符集

echo $LANG

系統全部字符集

locale -a

臨時修改字符集

export LANG=字符集

字符集配置文件修改

vi /etc/sysconfig/i18n

服務

防火牆開關

#查看防火牆狀態
service iptables status
#開啓防火牆
service iptables start
#關閉防火牆
service iptables stop
#重啓防火牆
service iptables restart

ftp服務開關

#查看ftp服務狀態
service vsftpd status
#開啓/關閉/重啓防火牆
service vsftpd start/stop/restar

經常使用命令

查看文本命令:cat 、tail、vim

例子:cat/tail/vim a.txt

#查看/proc/cpuinfo的最後五行
[root@localhost proc]# tail -n 5 /proc/cpuinfo
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

文本處理sed

sed命令的使用參考:https://man.linuxde.net/sed

後續會本身總結一篇sed命令的使用心得。

修改系統時間

date:系統時間

clock:硬件時間

hwclock:同步兩者的命令

修改系統時間

date -s "20160408 12:52:00"	#修改系統時間爲20160408 12:52:00

hwclock --systohc	#將硬件時鐘調整爲與目前的系統時鐘一致

hwclock --hctosys	#將系統時鐘調整爲與目前的硬件時鐘一致

(這兩個選項很容易理解反)

文件查找find

在/home目錄下查找以.txt結尾的文件名

find/home -name "*.txt"

遠程拷貝scp

從遠處複製到本地

scp -r root@192.168.118.1:/opt/soft/mongodb /opt/soft/

其中-r表示遞歸複製,相似cp,目錄必須已存在。

從本地複製到遠處

scp /opt/soft/mysql-5.6.0.tar.gz root@192.168.118.1:/opt/soft/scptest

從遠程複製到遠程

scp -r root@192.168.118.1:/opt/soft/mongodb root@192.168.118.3:/opt/soft

目錄建立刪除

mkdir

mkdir -p /tmp/aa/bb/cc

rmdir

只能刪除空目錄。rmdir /tmp/aa會報錯

文件刪除rm

遞歸的刪除文件或目錄

rm -rf /tmp/aa

文件移動mv

文件移動

mv /tmp/test.file /tmp/lib/

文件改名

mv /tmp/test.file /tmp/lib/test1.file

查看登錄用戶who

[weblogic@gssbf01 /]$ who
weblogic pts/2        2016-04-08 10:01 (ip不顯示了(*^__^*) 嘻嘻……)
weblogic pts/3        2016-04-08 13:18 (ip不顯示了(*^__^*) 嘻嘻……)
weblogic pts/4        2016-04-08 14:11 (ip不顯示了(*^__^*) 嘻嘻……)
[weblogic@gssbf01 /]$ whoami
weblogi

系統重啓

reboot

改變權限chmod

功能:更改文件和目錄的權限。

用法:chomod 權限分配 文件

chmod u+rwx,g+rw,o+r aa.txt	#分別爲屬主,屬組,其餘分配權限
chmod 764 aa.txt

改變用戶和組chown

功能:更改文件或者目錄的屬主屬組

用法:chown [OPTION]... [OWNER][:[GROUP]] FILE...

#改變文件屬主
chown weblogic nohup.log
#改變文件屬組
chown :weblogic nohup.log
#改變文件屬主屬組
chown weblogic:weblogic nohup.log

只有文件主和超級用戶纔可使用該命令。(基本都是超級管理員去修改)

壓縮解壓

平時遇到的基本都是tar.gzip包,用到的最多的命令就是下面兩種。(咱們採用在參數前不加'-'的舊風格,避免報錯)

壓縮時:-c

#打包,-c建立新包,-f制定新包的名稱,結果會獲得一個名爲backup.tar的包
tar cvf backup.tar /etc
#壓縮
gzip backup.tar	#壓縮以後會獲得backup.tar.gz壓縮包
bzip2 backup.tar	#壓縮以後獲得backup.tar.bz2壓縮包

#等價於
tar cvfz backup.tar.gz /etc		#-z:經過gzip指令處理打包文件
tar cvfj backup.tar.bz2 /etc	#-j:經過bzip2指令處理打包文件

解壓時:-x

#解壓縮
gunzip backup.tar.gz	#獲得backup.tar,同時壓縮包消失
bunzip2 backup.tar.bz2	#獲得backup.tar,同時壓縮包消失
#解包
tar xvf backup.tar	#獲得打包以前的目錄,而且backup.tar包不消失

等價於
tar xvfz backup.tar.gz	#-z按照gunzip解壓,壓縮包不消失
tar xvfj backup.tar.bz2	#-j按照bunzip2解壓,壓縮包不消失

殺掉進程ps

ps命令用來列出系統中當前運行的那些進程,爲咱們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;若是想對進程時間監控,應該用 top 工具。

ps -ef	#後面能夠跟上grep命令

若是查到須要殺死的進程,則能夠用kill命令處理。

用法:kill 進程號

[weblogic@localhost ~]$ ps -ef | grep vim
root     11588 10104  0 17:16 pts/5    00:00:00 vim aa.txt
weblogic 11600 11543  0 17:17 pts/0    00:00:00 grep --color vim

[root@localhost ~]# kill 11588
#或者
[root@localhost ~]# kill -9 11588	#kill發出第九種信號(SIGKILL),能夠無條件殺死進程。

Linux相關配置文件

配置文件 做用
/etc/profile 配置全局的環境變量
~/.bash_profile 配置當前用戶的環境變量
/etc/xinetd.conf文件和.d/etc/xinetd.conf目錄 配置經常使用的服務
/etc/rc.d/rc.local 開機啓動腳本

記得幫我點贊哦!

精心整理了計算機各個方向的從入門、進階、實戰的視頻課程和電子書,按照目錄合理分類,總能找到你須要的學習資料,還在等什麼?快去關注下載吧!!!

resource-introduce

念念不忘,必有迴響,小夥伴們幫我點個贊吧,很是感謝。

我是職場亮哥,YY高級軟件工程師、四年工做經驗,拒絕鹹魚爭當龍頭的斜槓程序員。

聽我說,進步多,程序人生一把梭

若是有幸能幫到你,請幫我點個【贊】,給個關注,若是能順帶評論給個鼓勵,將不勝感激。

職場亮哥文章列表:更多文章

wechat-platform-guide-attention

本人全部文章、回答都與版權保護平臺有合做,著做權歸職場亮哥全部,未經受權,轉載必究!

相關文章
相關標籤/搜索