Linux日常运维小结
- 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?
物理cpu个数:cat /proc/cpuinfo |grep -c ‘physical id’
CPU一共有多少核:grep -c processor /proc/cpuinfo
将CPU的总核数除以物理CPU的个数,得到每颗CPU的核数。
-
查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?
两个命令分别是 w 和 uptime
这三个系统负载值分别表示在1分钟、5分钟和15分钟内平均有多少个任务处于活动状态。 -
vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?
r 表示运行和等待cpu时间片的进程数
b 表示等待资源的进程数,比如等待I/O, 内存等
si 表示由交换区进入内存的数量
so 由内存进入交换区的数量
bi 从块设备读取数据的量(读磁盘)
bo 从块设备写入数据的量(写磁盘) -
linux系统里,您知道buffer和cache如何区分吗?
简单讲,buffer里的数据是将要写入到磁盘里的,而cache里的数据时从磁盘里读出来的。
cache用来缓存从磁盘中读取出来的数据,以方便数据下次被访问,提高数据的访问效率,避免频繁读取磁盘操作。Linux自动地使用所有空闲的内存作为高速缓冲,当程序需要更多的内存时,它也会自动地减小缓冲的大小。
buffer用来缓冲数据的磁盘写入操作,通过将分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写磁盘),也可以通过sync命令手动清空缓冲。 -
使用top查看系统资源占用情况时,哪一列表示内存占用呢?
RES这一列表示物理内存占用数量 -
如何实时查看网卡流量为多少?如何查看历史网卡流量?
sar-n DEV 1 100
sar -n DEV 可以查看当天的历史网卡流量
sar -n DEV -f /var/log/sa/saxx 其中xx是日期 -
如何查看当前系统都有哪些进程?(ps),要查看特定进程,可以使用以下语法:
ps -ef | grep name -
ps 查看系统进程时,有一列为STAT, 如果当前进程的stat为Ss 表示什么含义?如果为Z表示什么含义?
Ss表示当前的进程是主进程,且处于休眠状态; Z表示僵尸进程 -
如何查看系统都开启了哪些端口?
netstat -lnp -
如何查看网络连接状况?
netstat -an -
想修改ip,需要编辑哪个配置文件,修改完配置文件后,如何重启网卡,使配置生效?
vim /etc/sysconfig/network-scripts/ifcft-eth0 如果是eth1则文件名为ifcft-eth1
修改网卡后,可以使用命令: ifdown eth0; ifup eth0 重启网卡,也可以重启网络服务:service network restart -
能否给一个网卡配置多个IP? 如果能,怎么配置?
可以给一个网卡配置多个IP,配置步骤如下:
- cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-eth0:1
- vim ifcfg-eth0:1 #修改DEVICE和IPADDR、NETMASK以及GATEWAY的值(如果有必要)
- 重启网络服务
-
如何查看某个网卡是否连接着交换机?
mii-tool eth0 或者 mii-tool eth1 -
如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配 置文件呢?
输入命令 hostname 可以查看当前主机名,修改主机名可以通过命令: hostname newhostname
要想重启后依旧生效,需要修改配置文件 /etc/sysconfig/network -
设置DNS需要修改哪个配置文件?
需要修改 /etc/resolv.conf,
有时修改该文件后再重启网络服务dns相关设置丢失的话,需要在/etc/sysconfig/network-scripts/ifcfg-eth0中增加DNS1=xxxxx这样的设置 -
使用iptables 写一条规则:把来源IP为192.168.1.101访问本机80端口的包直接拒绝
iptables -I 输入 -s 192.168.1.101 -p tcp –dport 80 -j 拒绝 -
要想把iptable的规则保存到一个文件中如何做?如何恢复?
保存:iptables-save > 1.ipt
恢复:iptables-restore < 1.ipt -
如何备份某个用户的任务计划?
直接拷贝用户的cron文件 cp /var/spool/cron/username /bak/ -
任务计划格式中,前面5个数字分表表示什么含义?
分时日月周 -
如何可以把系统中不用的服务关掉?
ntsysv 工具
或者使用chkconfig servicename off -
如何让某个服务(假如服务名为 nginx)只在3,5两个运行级别开启,其他级别关闭?
chkconfig nginx 关闭
chkconfig –级别 35 nginx 开启 -
rsync 同步命令中,下面两种方式有什么不同呢?
(1) rsync -av /dira/ ip:/dirb/ 是通过ssh方式同步的
(2) rsync -av /dira/ ip::dirb 是通过rsync服务的方式同步的 -
rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?
如果源中有软连接,那么需要加一个-L选项 -
某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
有两个日志文件:1)/var/log/secure 这个记录验证用户信息的过程 2)/var/log/wtmp 这个日志记录成功登陆的用户信息 -
网卡或者硬盘有问题时,我们可以通过使用哪个命令查看相关信息?
消息 -
分别使用xargs和exec实现这样的需求,把当前目录下所有后缀名为.txt的文件的权限修改为777.
xargs: 查找 ./ -type f -name “.txt” |xargs chmod 777
exec: find ./ -type f -name “.txt” -exec chmod 777 {} ; -
有一个脚本运行时间可能超过2天,如何做才能使其不间断的运行,而且还可以随时观察脚本运行时的输出信息?
使用screen工具 -
在Linux系统下如何按照下面要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
tcpdump -nn -s0 主机 192.168.0.111 端口 80 -c 1000 -w 1.cap -
rsync 同步数据时,如何过滤出所有.txt的文件不同步?
–排除=“*.txt” -
rsync同步数据时,如果目标文件比源文件还新,则忽略该文件,如何做?
加 -u 选项 -
想在Linux命令行下访问某个网站,并且该网站域名还没有解析,如何做?
修改 /etc/hosts 增加解析记录,或者使用curl -x -
自定义解析域名的时候,我们可以编辑哪个文件?是否可以一个ip对应多个域名?是否一个域名对应多个ip?
编辑 /etc/hosts ,可以一个ip对应多个域名,不可以一个域名对多个ip -
我们可以使用哪个命令查看系统的历史负载(比如说两天前的)?
sar -q -f /var/log/sa/saxx 其中xx为两天前的日期 -
在Linux下如何指定dns服务器,来解析某个域名?
你@DNSipdomain.com -
使用rsync同步数据时,假如我们采用的是ssh方式,并且目标机器的sshd端口并不是默认的22端口,那我们如何做?
rsync “–rsh=ssh -p 端口” -
rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或者目录?
-删除 -
使用free查看内存使用情况时,哪个数值表示真正可用的内存量?
第二行 -/+ buffers/cache 对应的free的那一个数 -
有一天你突然发现公司网站访问速度变的很慢很慢,你该怎么办呢?(服务器可以登陆,提示:你可以从系统负载和网卡流量入手)
首先登陆服务器,先看看负载情况,使用命令w, 如果第一个数值很大,再使用vmstat 1 查看是哪些资源缺乏造成的负载高,可以通过r,b,si,so 几列的数值推算是因为哪些资源缺乏。比如r列数值很大,需要使用top命令查看是哪个进程占用CPU比较多,如果si,so两列的数值变化频繁,则说明内存不足,也可以使用top命令查看哪些进程占用较多内存。
如果系统的负载不高,则需要查看一下网卡流量是否正常: sar -n DEV 1 10 对比平时的网络流量看是否正常。 -
rsync使用服务模式时,如果我们指定了一个密码文件,那么这个密码文件的权限应该设置成多少才可以?
600 或者 400 总之组和其他用户都不能读不能写也不能执行