运维人员常用的Linux命令总结
转至:https://www.cnblogs.com/CHLL55/p/13698946.html
目录结构
目录 | 说明 |
---|---|
/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目录。
监控
查看CPU详细信息
cpu相关信息存放在/proc/cpuinfo目录中,所以要查看cpu信息就可以用以下命令:
cat /proc/cpuinfo
得到相关的cpu信息如下:
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这几个字段。这几个字字段的含义如下图:
根据上面的介绍可知我这台服务器上有一个物理cpu,2个逻辑处理器(逻辑cpu),这个物理cpu有两个内核。
可以通过以下方法查询CPU状态。
查询逻辑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占用率等。
关于cpu利用率和cpu负载的详细计算方法可以参见:Load和CPU利用率是如何算出来的
linux版本信息
两种方法:查看cat /proc/version
文件或者 lsb_release -a
命令
[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的结果:
[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显示,fdisk
和lsblk
没有权限时最好使用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
检测系统启动与否
cmd管理员:ping 159.179.160.43 -t
改变权限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命令
ps -ef |grep weblogic
ps -ef |grep java
如果查到需要杀死的进程,则可以用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),可以无条件杀死进程。
pkill -9 java
网络连接状态
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
常见参数:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
[root@localhost ~]# netstat -antup |grep ssh
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2161/sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1936/sshd
tcp 0 64 192.168.5.129:22 192.168.5.1:63988 ESTABLISHED 2161/sshd
tcp 0 0 ::1:6010 :::* LISTEN 2161/sshd
tcp 0 0 :::22 :::* LISTEN 1936/sshd
找出运行在指定端口的进程
# netstat -an | grep ':80'
显示核心路由信息 netstat -r
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
link-local * 255.255.0.0 U 0 0 0 eth2
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth2
Linux相关配置文件
配置文件 | 作用 |
---|---|
/etc/profile | 配置全局的环境变量 |
~/.bash_profile | 配置当前用户的环境变量 |
/etc/xinetd.conf文件和.d/etc/xinetd.conf目录 | 配置常用的服务 |
/etc/rc.d/rc.local | 开机启动脚本 |
运维人员常用的Linux命令总结的更多相关文章
- linux运维人员常用150个命令汇总
命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) l ...
- (转)Linux企业运维人员常用的150个命令分享
Linux企业运维人员常用的150个命令分享 原文:http://www.jb51.net/article/127014.htm 本文将向大家介绍Linux企业运维人员常用的150个命令,如有不足之处 ...
- Linux企业运维人员必备150个命令汇总
命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) l ...
- Linux运维最常用150个命令
线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list ...
- 176条DevOps人员常用的linux命令速查表
线上查询及帮助命令 文件和目录操作命令 查看文件及内容处理命令 文件压缩及解压缩命令 信息显示命令 搜索文件命令 用户管理命令 基础网络操作命令 深入网络操作命令 有关磁盘与文件系统的命令 系统权 ...
- Linux企业运维人员最常用150个命令汇总 [转]
近来发现新手学习Linux记不住命令,不会分类.不会筛选重点,胡子眉毛一把抓当然记不住了. 特别整理Linux运维最常用150个命令和大家分享,大家学习命令不用在盲目了,根据分类,然后逐步学习! 命令 ...
- (转)老男孩:Linux企业运维人员最常用150个命令汇总
近来老男孩发现新手学习Linux记不住命令,不会分类.不会筛选重点,胡子眉毛一把抓当然记不住了. 特别整理Linux运维最常用150个命令和大家分享,大家学习命令不用在盲目了,根据分类,然后逐步学习! ...
- Linux企业运维人员最常用150个命令汇
近来老男孩发现新手学习Linux记不住命令,不会分类.不会筛选重点,胡子眉毛一把抓当然记不住了. 特别整理Linux运维最常用150个命令和大家分享,大家学习命令不用在盲目了,根据分类,然后逐步学习! ...
- linux运维人员成长
原文地址:https://blog.csdn.net/kwame211/article/details/78059331 初级篇 linux运维人员常用工具拓扑详见: 1rsync工具 很多地方经常会 ...
随机推荐
- TreeMap相关
Map接口 Map集合的特点 1.能够存储唯一的列的数据(唯一,不可重复) Set 2.能够存储可以重复的数据(可重复) List 3.值的顺序取决于键的顺序 4.键和值都是可以存储null元素的 T ...
- Redis 学习笔记(一)redis 数据类型和对象机制
Redis 简介 Redis 是(key-value)的 NoSQL 数据库,所有的 key 都是 String ,它的 value 可以是 String.hash.list.set.zset(有序集 ...
- Learning local feature descriptors with triplets and shallow convolutional neural networks 论文阅读笔记
题目翻译:学习 local feature descriptors 使用 triplets 还有浅的卷积神经网络.读罢此文,只觉收获满满,同时另外印象最深的也是一个浅(文章中会提及)字. 1 Cont ...
- WinDbg 分析dump
1.生成dump文件. 在代码捕获异常,并将异常写入dump文件. #include "stdafx.h" #include <Windows.h> #include ...
- 从Apache官网下载Jar包步骤
第一步:在官网找寻需要的包 Apache网址:http://commons.apache.org/ 在官网中,可以直接看到不同jar包的分类,如下图所示: 也可以点击官网左侧栏目里的 Release, ...
- CF1574F Occurrences
考虑什么样的串是合法的. 直接考虑比较抽象,考虑具象化这个问题. 容易发现一个字符串的限制就相当于如果出现了其中一个字符 \(a_i = c\),那么 \(s\) 中 \(c\) 前 \(i - 1\ ...
- Centos设置网络(固定IP)
简介 设置为桥接模式,即将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络. 配置 虚拟机设置为桥接模式 进入网络配置文件, ...
- 关于Java的=赋值操作和方法传递对象时的引用
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11405920.html 下面通过一段代码和debug结果来展示Java中=操作的赋值改变过程. ...
- MATLAB基础学习篇(1)
MATLAB中只定义了以2和10为底对数,其它 使用换底公式,例如:log8(7)=log7/log8. x=input('Please enter x:'); y=input('Please ent ...
- 备忘录——关于C#生成条形码
目录 0. 背景说明 1. 使用ZXing.NET 2. 使用BarcodeLib 3. 使用字体 4. 参考 志铭-2022年2月15日 22:15:46 0. 背景说明 在.net程序中生成69码 ...