Linux經常使用命令

LINUX經常使用命令

ls命令java

ls -l                                             # 目錄詳細結構
複製代碼

mkdir命令mysql

mkdir folder1                                     # 建立folder1目錄
複製代碼

rm命令linux

[root@VM_0_11_redhat lc]# rm -rf /var/log/httpd/access 						# 刪除access目錄以及access下的子目錄
[root@VM_0_11_redhat lc]# rm file                                           # 刪除lc目錄下的file文件
複製代碼

複製dir1下的全部文件包含隱藏文件複製到dir2中 dir2不存在:web

[root@VM_0_11_redhat lc]# cp -r dir1 dir2
複製代碼

dir2不存在redis

[root@VM_0_11_redhat lc]# cp -r dir1/. dir2
複製代碼

cp命令spring

[root@VM_0_11_redhat lc]# cp file1 file2 # 複製file1文件到file2
[root@VM_0_11_redhat lc]# cp -r file2 # 複製file1文件到file2
複製代碼

mv命令sql

[root@VM_0_11_redhat lc]# mv file1.txt file2.txt                            # 重命名
[root@VM_0_11_redhat lc]# mv folder1 folder2                                # 移動folder1文件夾(包含folder1)到folder2文件夾
[root@VM_0_11_redhat lc]# mv mysql-8.0.3-rc-linux-glibc2.12-x86_64.tar ../mysql # 移動文件到該文件所在目錄(lc)的同級目錄(mysql)中
[root@VM_0_11_redhat mysql]# mv mysql-8.0/* /home/mysql/mysql               # 移動mysql-8.0下的全部文件到/home/mysql/mysql目錄下

複製代碼

tar 解壓 解壓到當前目錄shell

[root@VM_0_11_redhat lc]# tar -xvf apache-tomcat-7.0.57.tar.gz
複製代碼

解壓到/home/mysql文件夾下apache

[root@VM_0_11_redhat lc]# tar -zxf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz -C /home/mysql
複製代碼

vi命令bootstrap

vi file1.txt                                      # 查看file1.txt文件第一頁(command mode),trl + f進行翻頁
                                                  # 按i建進入編輯模式(insert mode)
				                  # 退出vi命令:
				                  # Esc按鍵(command mode) 輸入':q'回車退出
				                  # ':wq'保存退出
				                  # ':q!'強制退出
				                  # 輸入':/str'回車查找str字符串,按n查看下一個
複製代碼

cat命令

cat file1.txt                                     # 查看file1.txt全部信息
cat file1.txt | grep 'info'                       # 查看file1.txt中匹配'info'所在行信息,並標記'info'字符串
cat file1 file2 > file                            # file1和file2合併到file問價並顯示
cat must.txt | tail -n +10 | head -n 10           # 查看must.txt文件,從第10行起顯示10行,即'10-19'行
cat >> filename 								# 建立名字爲filename的文件,編寫完成後按Ctrl + d 退出並保存
cat -n logs/error.log | grep "debug" | more      # 查找debug字段所在頁的數據,並按空格鍵翻頁
複製代碼

tail命令

tailf catalina.out | grep 'countTime'             # 只實時顯示含有'countTime'所在行的信息
tail -f file1                                     # 實時顯示file1文件後十條並進入編輯模式
tail -n 200 -f file1                              # 實時顯示file1後200行變化信息,和上面的命令效果類似	
tail -n 200 file1 | grep 'test'                   # 查看file1文件後200行,高亮'test'(最經常使用)
tail -n 200 -f file1 | grep 'INFO*'               # 實時顯示file1後200行變化信息,並標記處'INFO'字符串(最經常使用)
複製代碼

find命令

find folder1 -type f -name "*.txt"                # 查詢當前目錄下的folder1文件夾中匹配'*.txt'的文件或文件夾
find folder1 -name 'must.txt' -ls                 # 查詢當前目錄下的folder1文件夾中匹配'*.txt'的文件或文件夾,並顯示信息
find -type f -name 'must.txt'|xargs grep 'str'    # 查詢當前目錄下的must.txt文件中匹配'str'所在行的信息
find / -name "memca*"							  # 根據文件名稱全局查找
grep -rn "str" *                                  # 查詢當前目錄下的must.txt文件中匹配'str'所在行的信息
    # * : 表示當前目錄全部文件,也能夠是某個文件名
    # -r 是遞歸查找
    # -n 是顯示行號
    # -R 查找全部文件包含子目錄
    # -i 忽略大小寫
複製代碼

echo命令

echo "hello world" > file.txt                     # 當前目錄下建立file.txt文件並添加數據
複製代碼

查看服務器外網ip

# curl http://members.3322.org/dyndns/getip 
複製代碼

查看服務器網絡地址

[root@iZbp199af3f3y8j7fr8kolZ ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.27.235.142  netmask 255.255.252.0  broadcast 10.27.235.255
        ether 00:16:3e:0d:f7:47  txqueuelen 1000  (Ethernet)
        RX packets 15622862  bytes 1152767495 (1.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 107645  bytes 7704353 (7.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 116.62.29.229  netmask 255.255.252.0  broadcast 116.62.31.255
        ether 00:16:3e:0c:a6:a1  txqueuelen 1000  (Ethernet)
        RX packets 261064410  bytes 18335028955 (17.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5924776  bytes 1812912938 (1.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 18419107  bytes 2800651279 (2.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18419107  bytes 2800651279 (2.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

複製代碼

其中eth0爲內網,eth1爲外網

更改文件或文件夾權限

改變一個文件的權限: chmod mode file|dir 改變全部子目錄的權限: chmod mode dir -R

mode = 777 or 752 and so on. mode的三個數字,分別表示 owner,group,others所具備的權限。 1 = x 執行 2 = w 寫 4 = r 讀,好比owner具備全部權限,1+2+4=7, 又好比 group 具備 讀 和 執行 權限 1+4 = 5

查看端口使用狀況

查看正在使用的端口號

netstat -anp
	tcp        0      0 114.55.113.160:50358    106.11.68.13:80 ESTABLISHED 1338/AliYunDun
複製代碼

查看端口號對應的服務名稱

lsof -i:"50358"
	AliYunDun 1338 root   11u  IPv4 7340009      0t0  TCP 114.55.113.160:50358->106.11.68.13:http (ESTABLISHED)
複製代碼

根據pid查看進程信息所在目錄

lsof -p "24619"
複製代碼

根據PID進程號關閉服務

kill -9 "1338"
複製代碼

根據服務名稱查看是否啓用

ps -aux | grep "memcache"
	root     25899  0.0  0.0 112648   972 pts/0    S+   11:16   0:00 grep --color=auto memcache
複製代碼

查詢端口號對應的pID或pid對應的端口號

[root@localhost ssp-service-1.0.3-SNAPSHOT]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name       
tcp6       0      0 :::4035(端口號)                 :::*                    LISTEN      19663(進程號)/java(程序名)
複製代碼

經過Pid或服務名稱查詢屬於哪一個服務

[root@localhost ssp-service-1.0.3-SNAPSHOT]# ps -aux | grep 19663
USER PID %CUP %MEM VSZ RSS TTY STAT START TIME COMMAND
root(user)     19663(pid)  6.4(cup)  1.7(mem) 5553636(vsz) 1092952(rss) ?(tty)     Sl(stat)   13:42(啓動時間)   2:00(time) java -Dspring.profiles.active=test -server -Xms512m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/data/logs/ssp-service-1.0.3-SNAPSHOT/ssp-service-1.0.3-SNAPSHOT-gc.log -jar ./ssp-service-1.0.3-SNAPSHOT.jar(command)
root     22796  0.0  0.0 112712   944 pts/1    S+   14:13   0:00 grep --color 19663
複製代碼

./和sh執行腳本的區別

./須要執行權限
sh不須要,sh是個軟連接,它多是一個任意的shell,一般默認是bash shell
用type命令能夠查看
./執行調用的是你開頭一行定義的shell,不指定系統會調用默認shell程序

查看linux版本信息

[root@VM_0_11_redhat /]# cat /proc/version
Linux version 3.10.0-514.21.1.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Thu May 25 17:04:51 UTC 2017
複製代碼

查看全部linux版本信息

[root@VM_0_11_redhat /]# yum install redhat-lsb -y
[root@VM_0_11_redhat /]# lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.3.1611 (Core) 
Release:	7.3.1611
Codename:	Core
[root@VM_0_11_redhat /]# 

複製代碼

查看cpu信息

[root@VM_0_11_redhat ~]# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-26xx v4
stepping	: 1
microcode	: 0x1
cpu MHz		: 2394.454
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
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 mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt
bogomips	: 4788.90
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:
複製代碼

組操做

查詢全部組信息

[root@VM_0_11_redhat ~]# cat /etc/group

複製代碼

查詢組下全部用戶

mysql爲組名

[root@VM_0_11_redhat ~]# grep 'mysql' /etc/group
mysql:x:1002:
[root@VM_0_11_redhat ~]# awk -F":" '{print $1"/t/t"$4}' /etc/passwd | grep '1000'
zhang/t/t1000
[root@VM_0_11_redhat ~]# awk -F":" '{print $1"/t/t"$4}' /etc/passwd | grep '1002'
複製代碼

建立組和刪除組

建立組
[root@VM_0_11_redhat ~]# groupadd mysql
複製代碼
在mysql組建立用戶lcmysql
[root@VM_0_11_redhat mysql-8.0]# useradd -g mysql -d /home/mysql/mysql-8.0 lcmysql
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
複製代碼

useradd -g mysql -d /home/mysql/mysql-8.0 lcmysql 含義:

在mysql組中添加lcmysql用戶,並指定lcmysql用戶登陸時的初始目錄爲/home/mysql/mysql-8.0

用戶受權

將/home/mysql/mysql-8.0 lcmysql目錄及其子目錄和文件,全部者改變爲lcmysql,所屬組改變爲mysql

[root@VM_0_11_redhat mysql-8.0]# chown -R lcmysql:mysql /home/mysql/mysql-8.0 lcmysql
複製代碼
修改目錄權限

設置/home/mysql/mysql-8.0目錄的權限

[root@VM_0_11_redhat mysql-8.0]# chmod 755 /home/mysql/mysql-8.0
複製代碼
問題

爲mysql組中添加lcmysql用戶時出現問題

緣由:

系統添加用戶的標準步驟 1.編輯/etc/passwd與/etc/group 2.建立用戶主目錄 3.從/etc/skel拷貝文件與目錄 4.讓新用戶得到其主目錄與文件的擁有權限 5.給新用戶一個密碼

解決辦法: 依舊使用上面的腳本建用戶,而後手動拷貝配置文件到/u01/oracle下。

cp /etc/skel/.bash_profile /home/mysql/mysql-8.0

cp /etc/skel/.bashrc /home/mysql/mysql-8.0

cp /etc/skel/.bash_logout /home/mysql/mysql-8.0

這樣既可。

[root@VM_0_11_redhat mysql-8.0]# cp /etc/skel/.bash_profile /home/mysql/mysql-8.0
[root@VM_0_11_redhat mysql-8.0]# cp /etc/skel/.bashrc /home/mysql/mysql-8.0
[root@VM_0_11_redhat mysql-8.0]# cp /etc/skel/.bash_logout /home/mysql/mysql-8.0
[root@VM_0_11_redhat mysql-8.0]# su - lcmysql
Last login: Wed Apr 11 23:26:52 CST 2018 on pts/2
[lcmysql@VM_0_11_redhat ~]$ 
複製代碼
刪除組

刪除組以前須要裏面的用戶 groupdel 組名稱

[root@VM_0_11_redhat mysql-8.0]# groupdel mysql
複製代碼

用戶操做

查詢全部用戶的根目錄信息

[root@VM_0_11_redhat etc]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:996:994::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
zhang:x:1000:1000::/home/zhang:/bin/bash
lc:x:1001:1001::/home/lc:/bin/bash
redis:x:995:993:Redis Database Server:/var/lib/redis:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
ftplc:x:1002:1002::/home/ftplc:/sbin/nologin
複製代碼

建立用戶

建立用戶

使用root(超級管理員)建立lc(普通用戶)

[root@VM_0_11_redhat ~]# useradd lc
複製代碼
設置密碼

root用戶登陸,設置lc用戶的密碼

[root@VM_0_11_redhat ~]# passwd lc
Changing password for user lc.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
複製代碼

切換用戶時出現問題

[lc@VM_0_11_redhat ~]$ su - lcmysql
Password: 
Last login: Thu Mar 29 00:47:24 CST 2018 on pts/0
-bash-4.2$ 
複製代碼

退出狀態碼 exit nnn

-bash-4.2$ exit
logout
-bash: exit: nnn: numeric argument required
[root@VM_0_11_redhat mysql-8.0]# 
複製代碼

出現-bash-4.2$狀態緣由:

在linux下經過useradd方式建立新用戶時,都會將全部的配置文件從/etc/skel複製到/home目錄的新用戶錄下。但如今這個mysql目錄是新創建的,空的,那麼就複製/etc/skel這個目錄的文件到/home/mysql中: 執行命令:

[root@VM_0_11_redhat ~]# cp -r /etc/skel/. /home/mysql
[root@VM_0_11_redhat mysql]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc
[root@VM_0_11_redhat mysql]# su - lcmysql
Last login: Thu Mar 29 00:53:50 CST 2018 on pts/0
[lcmysql@VM_0_11_redhat ~]$ 
複製代碼

刪除用戶

刪除ftplc用戶同時刪除用戶的家目錄和郵件通知目錄

[root@VM_0_11_redhat ftp]# userdel -r ftplc
userdel: user ftplc is currently used by process 5343
複製代碼

殺掉進程號再刪除

殺掉進程

kill -9 進程號

[root@VM_0_11_redhat mysql-8.0]# kill -9 5910
[root@VM_0_11_redhat mysql-8.0]# Killed
複製代碼

查找目錄

# 查找tomcat目錄
[root@VM_0_11_redhat ~]# find / -name tomcat
/usr/local/qcloud/YunJing/VulnerDetect/yhvs/lib/utils/app/tomcat
/etc/selinux/targeted/active/modules/100/tomcat
[root@VM_0_11_redhat ~]# 

複製代碼

查看linux是否安裝tomcat

[root@VM_0_11_redhat bin]# rpm -qa|grep tomcat
[root@VM_0_11_redhat bin]# 

複製代碼

查找軟件是否啓動

[root@VM_0_11_redhat /]# ps -ef | grep redis
redis      451     1  0 Feb20 ?        00:45:24 /usr/bin/redis-server *:6379
root     17400 17250  0 22:45 pts/0    00:00:00 grep --color=auto redis
複製代碼

ps -ef | grep 程序名稱

vim命令

[root@VM_0_11_redhat logs]# vim 123.txt
複製代碼

按 i 進行編輯操做 按 esc 退出編輯,再按u或者ctrl + r 撤銷編輯

查看jdk安裝路徑

[root@VM_0_11_redhat /]# which java
/usr/bin/java
[root@VM_0_11_redhat /]# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 Feb  9 10:19 /usr/bin/java -> /etc/alternatives/java
[root@VM_0_11_redhat /]# ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Feb  9 10:19 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java
[root@VM_0_11_redhat /]# 
複製代碼

which java : 是定位不到安裝路徑的。which java定位到的是java程序的執行路徑(定位到java程序的執行路徑是/usr/bin/java) ls -lrt /usr/bin/java : 再次查找/usr/bin/java的執行路徑是/etc/alternatives/java,以此類推查找到jdk的安裝路徑

ps -aux | grep xxx命令講解

該命令可查看是否安裝了xxx程序,並查看程序狀態

[root@VM_0_11_redhat home]# ps -aux | grep mysql
root     22318  0.0  0.0 112652   968 pts/0    R+   00:26   0:00 grep --color=auto mysql
[root@VM_0_11_redhat home]# ps -aux | grep java
root     15826  0.1 10.3 2335932 105296 ?      Sl   Mar25   3:37 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java -Djava.util.logging.config.file=/home/lc/tomcat9-test/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /home/lc/tomcat9-test/bin/bootstrap.jar:/home/lc/tomcat9-test/bin/tomcat-juli.jar -Dcatalina.base=/home/lc/tomcat9-test -Dcatalina.home=/home/lc/tomcat9-test -Djava.io.tmpdir=/home/lc/tomcat9-test/temp org.apache.catalina.startup.Bootstrap start
root     22322  0.0  0.0 112652   968 pts/0    R+   00:26   0:00 grep --color=auto java
複製代碼

ps aux輸出格式: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 說明: USER: 行程擁有者 PID: pid %CPU: 佔用的 CPU 使用率 %MEM: 佔用的記憶體使用率 VSZ: 佔用的虛擬記憶體大小 RSS: 佔用的記憶體大小 TTY: 終端的次要裝置號碼 (minor device number of tty) STAT: 該行程的狀態,linux的進程有5種狀態:

D 不可中斷 uninterruptible sleep (usually IO)
	R 運行 runnable (on run queue)
	S 中斷 sleeping,包含子進程
	T 中止 traced or stopped
	Z 僵死 a defunct (」zombie」) process
	其餘狀態:
	 W     進入內存交換(從內核2.6開始無效)
	 X     死掉的進程
     <     高優先級
     N     低優先級
     L     有些頁被鎖進內存
	 s     包含子進程
     +     位於後臺的進程組
     l     多線程,克隆線程   multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
複製代碼
注: 狀態W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).
複製代碼

START: 行程開始時間 TIME: 執行的時間 COMMAND:所執行的指令

chown命令

格式 : chown[選項]...[全部者][:[組]]文件... 命令功能: 經過chown改變文件的擁有者和羣組。在更改文件的全部者或所屬羣組時,可使用用戶名稱和用戶識別碼設置。普通用戶不能將本身的文件改變成其餘的擁有者。其操做權限通常爲管理員。 命令參數:   必要參數:     -c顯示更改的部分的信息     -f忽略錯誤信息     -h修復符號連接     -R處理指定目錄以及其子目錄下的全部文件     -v顯示詳細的處理信息     -deference做用於符號連接的指向,而不是連接文件自己   選擇參數:     --reference=<目錄或文件>把指定的目錄/文件做爲參考,把操做的文件/目錄設置成參考文件/目錄相同擁有者和羣組     --from=<當前用戶:當前羣組>只有當前用戶和羣組跟指定的用戶和羣組相同時才進行改變     --help顯示幫助信息     --version顯示版本信息 例如: chown -R root:mysql /var/data 將/var/data目錄以及子目錄的全部者變爲root用戶,所屬組變爲mysql

chmod命令

755 rwxr-xr-x 7:rwx (4+2+1 | 讀取+寫入+執行) User 5:r-x (4+1 | 讀取+執行) Group 5:r-x (4+1 | 讀取+執行) Other

語法爲:chmod abc file 其中a,b,c各爲一個數字,分別表示User、Group、及Other的權限。

查看linux服務器內存使用狀況命令

top命令能夠實時動態地查看系統的總體運行狀況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。經過top命令所提供的互動式界面,用熱鍵能夠管理。

[root@VM_0_11_redhat home]# top

複製代碼
[root@VM_0_11_redhat ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1016516      377004       74788         288      564724      458088
Swap:             0           0           0
[root@VM_0_11_redhat ~]# 

複製代碼

查看RAM使用狀況最簡單的方法是經過/proc/meminfo

[root@VM_0_11_redhat ~]# cat /proc/meminfo
MemTotal:        1016516 kB
MemFree:           76552 kB
MemAvailable:     460296 kB
Buffers:           99964 kB
Cached:           368936 kB
SwapCached:            0 kB
Active:           585040 kB
Inactive:         232760 kB
Active(anon):     349044 kB
Inactive(anon):      144 kB
Active(file):     235996 kB
複製代碼

查看linux服務器相關命令

型號

[root@ip-172-31-40-223 ~]# dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product"
    Manufacturer: Xen
    Product Name: HVM domU
[root@ip-172-31-40-223 ~]# 

複製代碼

查看linux系統信息命令

# uname -a # 查看內核/操做系統/CPU信息
# head -n 1 /etc/issue # 查看操做系統版本
# cat /proc/version # 查看內核版本命令
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出全部PCI設備
# lsusb -tv # 列出全部USB設備
# lsmod # 列出加載的內核模塊
# env # 查看環境變量
複製代碼

資源

# free -m # 查看內存使用量和交換區使用量
# df -h # 查看各分區使用狀況
# du -sh <目錄名> # 查看指定目錄的大小
# grep MemTotal /proc/meminfo # 查看內存總量
# grep MemFree /proc/meminfo # 查看空閒內存量
# uptime # 查看系統運行時間、用戶數、負載
# cat /proc/loadavg # 查看系統負載
複製代碼

磁盤和分區

# mount | column -t # 查看掛接的分區狀態
# fdisk -l # 查看全部分區
# swapon -s # 查看全部交換分區
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
# dmesg | grep IDE # 查看啓動時IDE設備檢測情況
複製代碼

網絡

# ifconfig # 查看全部網絡接口的屬性
# iptables -L # 查看防火牆設置
# route -n # 查看路由表
# netstat -lntp # 查看全部監聽端口
# netstat -antp # 查看全部已經創建的鏈接
# netstat -s # 查看網絡統計信息
複製代碼

進程

# ps -ef # 查看全部進程
# top # 實時顯示進程狀態
複製代碼

用戶

# w # 查看活動用戶
# id <用戶名> # 查看指定用戶信息
# last # 查看用戶登陸日誌
# cut -d: -f1 /etc/passwd # 查看系統全部用戶
# cut -d: -f1 /etc/group # 查看系統全部組
# crontab -l # 查看當前用戶的計劃任務
複製代碼

服務

# chkconfig --list # 列出全部系統服務
# chkconfig --list | grep on # 列出全部啓動的系統服務
複製代碼

程序

# rpm -qa # 查看全部安裝的軟件包
複製代碼

查看linux磁盤內存,以M爲單位

# df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/vda1         100664 57533     37996  61% /
devtmpfs            3903     0      3903   0% /dev
tmpfs               3912     0      3912   0% /dev/shm
tmpfs               3912     1      3911   1% /run
tmpfs               3912     0      3912   0% /sys/fs/cgroup
tmpfs                783     0       783   0% /run/user/0
tmpfs                783     0       783   0% /run/user/997
複製代碼
PID:進程的ID
USER:進程全部者
PR:進程的優先級別,越小越優先被執行
NInice:值
VIRT:進程佔用的虛擬內存
RES:進程佔用的物理內存
SHR:進程使用的共享內存
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值爲負數
%CPU:進程佔用CPU的使用率
%MEM:進程使用的物理內存和總內存的百分比
TIME+:該進程啓動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:進程啓動命令名稱
RSS: 表示相應進程在RAM中佔用了多少內存
複製代碼

查看RAM運行內存

# cat /proc/meminfo
MemTotal:        8010460 kB
MemFree:         1517064 kB
MemAvailable:    1441228 kB
Buffers:            2612 kB
Cached:           102868 kB
複製代碼

查詢進程佔用RAM狀況

# ps aux --sort=-rss
[root@izbp117v57iiomcgxcb42mz ~]# ps aux --sort=-rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
jenkins  19324  0.1 10.5 6983156 1716708 ?     Ssl  Feb28  99:03 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenk
elastic+ 20396 33.0  9.0 4935156 1472800 ?     Ssl  Mar21 9721:38 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.hea
複製代碼
相關文章
相關標籤/搜索