linux经典问题

1.只查看ett.txt文件(100行)内第20行到第30行的内容

1.head -30|tail -11 1.txt

2.sed  -n '20,30'p 1.txt

3.awk 'NR>19&&NR<31' 1.txt 

4.grep 20 -A 10 1.txt------(-A除了显示匹配的一行外,并显示该行的后10行)

2.将/test目录及其子目录下所有以扩展名.sh结尾的文件中包含boy的字符串全部替换为girl

find /test -type f -name '*.sh‘|xargs sed  -i 's#boy#girl#g'     

3.网络不通排查故障

1.查看物理网络是否通畅----------ping ip -t (利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少)(检测网卡、ip、网线、防火墙)ping的原理

2.查看服务是否通畅------------telnet ip/ssh ip等(基于tcp/ip协议)

a.服务器端防火墙阻挡

/etc/init.d/iptables status

b.服务端没有监听的端口

netstat -lntup|grep ssh/port--------------检查服务端端口是否开启
lsof -i:8080-------------看端口是否占用

网络访问慢的案例:

linux中某一个进程占用cpu很高

1.top找的可以id

2.strace -p 进程号--------------跟踪进程的执行过程

4.SSH服务连不上,如何排查?

1.ping 2.telnet ip port

5.linux的运行级别及作用

runlevel----------查看系统运行级别

init 0-----------关机

init 5------------切换运行级别为5

6.linux系统32位和64位的区别

32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了2的64次方=4294967296(bit)的32次方=数值大于1亿GB。换而言之,就是说32位系统的处理器最大只支持4G内存

内存条是连接CPU 和其他设备的通道,起到缓冲和数据交换作用。 当CPU在工作时,需要从硬盘等外部存储器上读取数据,但由于硬盘这个“仓库”太大,加上离CPU也很“远”,运输“原料”数据的速度就比较慢,导致CPU的生产效率大打折扣!为了解决这个问题,人们便在CPU与外部存储器之间,建了一个“小仓库”—内存。作用:内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows7系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上。一般能提高电脑性能的方法是加内存,比如常见给笔记本加内存,效果就比较显著。

7.描述linux系统的启动过程

linux系统的启动过程

1.开机BIOS自检(硬件cpu,主板,内存是否正常,根据启动顺序将相关任务交给相应的设备,比如内存)

2.MBR引导

3.引导程序grup

4.加载内核kernel

5.启动init进程(linux里第一个启动的进程,进程号为1)

8.如何优化linux系统

linux优化方法

9.企业案例:磁盘满的故障分析

inode被填满的企业案例:

问题:服务器上发生了No space left on device, 通过df -h发现没有满,请问为什么?

1.运行df -i 查看inode使用是否满了

2.查看/var/spool/postfix/maildrop(sendmail临时队列目录)是否有非常多的小文件,ls直接卡死等情况(当定时任务结尾不加>/dev/null  2>&1的时候,上述目录就会存在大量小文件)

解决四种方法:

1.把相关服务打开,例如/etc/init.d/postfix start

2.把服务关闭crontab -e

指向空>/dev/null  2>&1

3.cd /var/spool/postfix/maildrop;   ls|xargs rm -f

4.vi /etc/crontab;将‘MAILTO=root’替换成‘MALLTO=" ",然后service crond restart即可。如不行,crontab -e第一行增加MAILTO=" "

已知端口333,如何查看端口对应的是什么服务名?

1.lsof -i :333

2.netstat lntup|grep 333

你可能感兴趣的:(linux经典问题)