(1)如果想修改开机内核参数,应该修改哪个文件?(C)
A. /dev/sda1
B. /etc/fstab 磁盘自动挂载的文件
C. /boot/grub/grub.conf
D. /etc/rc.local 开机自启动的文件
(2)在Centos linux中,备份脚本backup.sh,需要在周一至周五下午1点整和晚上8点整各运行一次,下面哪条cron指令可以完成这项工作?(D)
A. 0 13,20 * 1,2,3,4,5 * backup.sh
B. 0 13,20 1,5 * * backup.sh
C. * 13,20 * * 1,2,3,4,5 backup.sh
D. 0 13,20 * * 1,2,3,4,5 backup.sh
(3)your umask is set to 002. if you create a new file, what will thepermission of the new file be?(D)
A. -------w-
B. rwxrwx-w-
C. rw-rw-r--
D. rwxrwxr-x
775
(4)如何查看二进制文件的内容?
od
(5)统计/var/log/下文件个数
方法一:
[root@tdf tdf]#ll /var/log/ |grep ‘^-’ | wc -l
53
方法二:
Find /var/log –maxdepth 1 –type f |wc –l
方法三:
Tree –L 1 /var/log |tail -1 |cut –d “ “ –f3
(6)显示指定工作目录下的内容:_ls或tree_________;
复制:___cp或者scp____;
移动:___mv______;
删除______rm或mv或rmdir____;
查看服务器负载:___top(最重要)或w或vmstat或uptime_______;
查看本地网卡信息:__ifconfig或ip addr(centos7没有ifconfig默认不安装)或ethtool eth0________;
查看文档:_cat或less或more_________;
示磁盘使用情况:__df -aihT ________;
编辑文本:___vi/vim或echo 或sed 或cat______;
查看当前系统内存的使用情况:__ free –m或vmstat或top_______;
查看占用80端口的进程:___ lsof –i :80 或netstat –an |grep 80或ss –ntpul |grep 80或netstat -lntup______;
(netstat显示网络相关信息,如网络状态,路由表,接口状态等。
参数
-l listem 监听
-n 不显示 别名,显示数字
-t tcp
-u udp
-p 显示pid和程序名)
打印出file1文件第1到第3行:___head -3file1_______;
将/home/tong/test 目录下大于100K的文件转移到/tmp目录:
_ find/home/tong/test -type f -size +100k -exec mv {} /tmp \; _______
(7)名词解释
swap: 交换分区 类似于Windows的虚拟内存
raid: 磁盘阵列 0 1 5 10 01
chmod: 修改权限
ps aux|grep pid:查看当前进程信息为pid
ps: 静态打印当前的进程信息
a 和当前终端有关的进程 ax等同于A
x 和当前终端无关的进程
u 以usr为中心
(8)一个文件的权限为:drwxr-xr-x 请写出权限的数值表示是什么?此文件的类型是什么?
D表示目录,r表示可读,w表示可写。X表示可执行
这个目录文件的权限是属主可读可写可执行,用户组可读可执行,其他用户可读可执行
(9)请写出redhat中,配置网卡及dns的配置文件是什么?
/etc/sysconfig/network-scripts/ifcfg-eth0网卡的配置文件
/etc/resolv.conf DNS配置文件
(10)将监控脚本“/usr/local/nagios/libexe/m.sh”放入crontab内,使每7分钟执行一次,请写出crontab内添加的内容。
###########test#########
*/7 * * * */bin/sh /usr/local/nagios/libexe/m.sh
(11)请写出删除/backup/mysql/目录下三天前备份文件的命令。
find/backup/mysql -type f -name "*.tar.gz" -mtime +3 |xargs /bin/rm -f>/dev/null 2>&1
(12)在命令重定向中> 1> 2> &> >>各表示什么意思?
> 输出重定向
1>等同于> 输出重定向
2>将错误的信息输出
&>不论错误还是正确都输出
>>追加重定向
(13)请列出linux下如何进入单用户的方法。
方法一:
使用grub引导系统时操作系统启动加载内核之前按下键盘e,进入内核选择选项,选择当前使用的内核按键盘e。在参数末尾输入single或者数字1,回车,接着按键盘b,即可进入单用户模式
方法二
使用lilo引导系统时在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single , 回车可直接进入linux命令行
(14)磁盘空间被占满如何定位问题?inode用尽如何定位问题?
先使用df –i查看磁盘inode使用详情,如果inode还有剩余使用df -h查看磁盘剩余空间,发现属于block被占满,使用使用du -sh /*查看根目录下那个目录有大小异常,如果有大小异常的目录存在则一步一步的向下追踪,找到根源,如果是无用文件则将以删除,如果不确定的话放入tmp目录下,并采购新的硬盘。
如果df –i查看发现是属于inode被用尽而磁盘空间还有大量空闲,使用du -sh /var/*查看一下/var/下的文件,通常情况下inode都是由于大量的日志文件或者出现错误信息发送的邮箱文件导致的,清除不必要的即可解决该问题。
======================================================================
磁盘满有两种情况:inode满或block满
df –h 查看block使用情况
df –i 查看inode使用情况
如果是inode满了
使用find / -type d |xargs ls –ld 2>/dev/null |sort –k 5 –n|tail -5
Sort 根据不同的数据类型进行排序
-k 按照那个区间进行排序
-n 按照数值大小排序
-t 指定分割符sort –t “,”
如果是block满了
使用find / -type f |xargsls –lf 2>/dev/null |sort –k 5 –n |tail -5
把最大的几个文件,如果没用的话进行删除
(15)让系统开机启动某个脚本或服务有哪些方式?
将脚本或服务写入开机启动项/etc/rc.local或chkconfig
(16)写一个定时任务,每天0点0分将/var/log/nginx目录下7天以前大于1G的日志文件移动到/data/201501xx(以前一天日志命名)目录中。
方法一(待定,命令复杂定时任务不一定能够辨识,不推荐)
00 00 * * */bin/find /var/log/nginx -type f –size +1G –name"*.log" -mtime +7-exec mv {} /data/` date -d '-1 day' +\%y\%m\%d` \;
方法二:使用脚本
模拟实验环境
dd if=/dev/zero of=test.log bs=10k count=11
创建一个大小为110k的文件
创建脚本find.mv.sh
#!/bin/sh 指定解析器
dir=/data/$(date+%y%m%d -d -1day) 定义变量dir
mkdir –p $dir
find /var/log/nginx -type f –size +1G–name"*.log" -mtime +7 -exec mv {} \$dir \;
添加权限
加入定时任务
0 0 * * * /bin/sh/server/sh/find.mv.sh
(17)请列出以下命令的常用参数及功能:
sort:排序命令
-r 降序查看
-u 输出行中去除重复行
-o 将结果写入文件
-n 要以数值来排序
-t 后面可以设定间隔符 -k 来指定列数
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M会以月份来排序,比如JAN小于FEB等等
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
grep:过滤需要的内容
-n 在匹配内容前显示行号
-v 反向查找,即排除
-i 忽略大小写
-o 只显示匹配内容
-E 扩展的grep,等同于egrep 多项编辑
--color=auto 以特定的颜色高亮显示匹配的关键字
tail:查看文件末尾的信息,默认后10行
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
–pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, –quiet, –silent 从不输出给出文件名的首部
-s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
scp:文件传输命令,远程拷贝、不同服务器之间的拷贝
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
rsync:linux下数据同步和传输的工具,每天对业务服务器数据进行备份就是通过crond+rsync
ssh:加密的远程登录
netstat:打印网络信息,比如网络状态、路由表、接口状态 参数有:-alntpu
find:寻找文件
-type 文件类型
-maxlepth 查找深度
-name 名称
-size 按文件大小查询
-perm 按文件权限查询
-atime 访问时间
-mtime 修改时间
-ctime 更改时间
-exec 执行
-o 或者
-a and交集
-inum 按inode查找
sed:流编辑器
-i 将修改写入文件
-e 多项编辑
-n 取消默认输出
-r 扩展
awk:过滤
-F指定分割符
(18)如何查看swap分区、内存的大小及使用情况?Buffer与cached什么区别?
free –m或top
buffer数据写入缓冲区,sync将缓冲区数据写入磁盘(在关机时使用halt命令,可能让缓冲的内容丢失。所以在关起前使用sync命令,将缓冲区的数据写入磁盘。)
cache 读取数据的缓存区
(19)如何看到某用户对系统所做得操作(比如:Test用户)和系统登录记录。
cat /home/test/.bash_history 查看该用户的操作记录
Last –x lastlog
(20)在crontab中写出每天00:10分执行/opt/httpd.sh脚本
########注释#############
10 00 * * * /bin/sh /opt/httpd.sh
(21)描述raid0 raid1 raid5 三种工作模式的工作原理及特点
Raid0的读写性能是硬盘的性能总和,没有冗余
raid0:适用于对性能很高,对冗余要求很低(坏一块盘整个raid就都不能使用)的相关业务。
raid1:最大限度的保护用户数据的可用性和可修复性,追求安全。操作方法就是把用户写入一个磁盘的数据百分百的自动复制到另外一个磁盘上,从而实现存储双份的数据。适用于对性能要求不高,但对数据安全要求很高的服务器和数据库。
raid5:是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
中庸的一种方法,需要3块以上的物理磁盘,适用于绝大多数业务,当一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复损坏的数据。
注:只能损失1块磁盘!!!!
(22)每逢星期一下午5:50讲/data 目录下的所有目录和文件归档并压缩为文件:backup.tar.gz
50 17 * * 1 /bin/tar –zcvf backup.tar.gz /data2>/dev/null
(23)找出系统内大于50K,小于100K的文件,并删除它们。
find /* -type f -size +50k -size -100k | rm -f
(24)用sed命令实现直接将文件B.TXT中的所有abc替换成def.
sed –i 's#abc#def#g' B.TXT
(25)怎么把脚本添加到系统服务里,即用service来调用?
#!/bin/bash
# chkconfig: 345 85 15
# description: httpd
然后保存
chkconfig httpd --add 创建系统服务
现在就可以使用service来 start or restart
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用-代替运行级。
第二行对服务进行描述,可以用\跨行注释。
- : 表示启动级别1-5,默认都是off,可以用具体的数字来指定,例如:345
85 15 : 表示启动和关闭系统时该服务的优先级
(26)列出/home/tom/下各个子目录占用的空间大小
du -h --max 1 /
(27)默认情况下,Linux系统中用户登录密码信息存放在(C)文件中。
A. /etc/passwd
B. /etc/userinfo
C. /etc/shadow
D. /etc/profie
(28)12块2TB硬盘在不考虑HotSpare的情况下做RAID0\RAID1\RAID5后空间分别为_24TB___、__12TB__、__22TB__。
(29),通过命令,实现功能,在目录tmp下找到10个以abc开头的文件,然后把这些文件的第一行保存到文件new中
[root@tdf tmp]# find /tmp -type f |grep'/tmp/abc.*'|head -10|xargs head -1|grep -v '==> /tmp/abc*' |grep -v"^$" >new
[root@tdf tmp]# find /tmp -type f |grep'/tmp/abc.*'|head -10|xargs head -1 –q >new
head -q 不打印文件名