高级工具篇
1 如何使文件untouchable.txt为锁定状态,任何用户(包括root)都不能编辑和删除。
可以通过chattr命令修改隐藏属性来实现这个需求:
chattr +i untouchable.txt
2 如何在不创建文件的情况下从命令行运行PHP语句?
可以使用php交互式输入
php -r 'echo "Hello World \r\n";'
3 如何查找计算机上所有用户的(独立)使用时间
可以使用ac命令获取有关用户的登录信息
ac -p
4 如何使用变量作为命令的一部分?例如:set pipeline="|"然后运行ps aux $pipeline grep root
可以使用eval命令从字面意思上使用变量值
eval ps aux $pipline grep root
# 等价于下面的命令
eval ps aux | grep root
5 你想为服务器创建网络统计信息和图标,你会使用哪种常用的工具?
常见的且比较推荐的网络统计开源工具有mrtg(Multi Router Traffic Grapher)
6 如何直接从命令行向BIOS发送一个查询信息?
要查询BIOS,你可以从命令行中使用biosdecode进行查询
7 如何在Linux系统上操作分区
Linux提供了用于分区操作的常用命令有fdisk和parted等
8 命令lsmod的执行结果是什么?
lsmod命令将显示加载到Linux内核中的模块的状态,这是查看/proc/modules是好办法。
9 如何找到本地计算机的硬件配置和描述
你可以通过DMI表解码器(dmidecode命令)查看到系统硬件和配置等信息。
10 如何在Linux上挂载NTFS分区
可以使用一个叫做ntfs-3g也叫做mount.ntfs的扩展命令来挂载ntfs文件系统
11 LD_LIBRARY_PATH环境变量有什么用?
它是一个环境变量集,用于在搜索共享库时为RT共享库加载程序提供额外的查找目录。
12 如何获取myFile文件的访问时间、更改时间和改动时间?
这些访问时间、更改时间和改动时间等文件时间信息,可以使用stat myFile命令来获取并查询得到。
13 想要将mysql服务中的mySQLDB库保存到文件mySQLDB.sql中,需要怎么做?
使用mysqldump命令可以实现,具体命令如下:
mysqldump -u username -p mySQLDB > mySQLDB.sql
14 如何确定每个正在运行的进程的系统资源优先级?
系统中使用nice命令为系统上的进程分配资源并确认其优先级。想为特定的进程指定优先级,可以使用下面的命令:
renice level <process id>
15 如何从终端命令行获取域名google.com的NS记录?
dig命令允许你获取指定域名的A,AAAA,NS等记录信息,比如下面的命令
dig google.com NS
16 你正在用tail -f命令打开/var/log/messages文件监控某些特定的报错信息,同时你想把这些信息保存到一个较小的文件found.log中,方便后续从这个较小的文件中搜索更方便,该如何做?
tee命令可以将标准IO的数据保存到一个文件当中,你可以使用下面的命令将你用tail命令中看到的数据保存到foubd.log文件中
tail -f /var/log/messages | tee found.log
17 如何检查所有服务的运行级别信息
要检查服务的运行级别信息,可以使用下面的命令
chkconfig --list
# systemd取代了intid的发行版本中,使用的是下面的命令
systemctl list-unit-files
18 如何允许一个普通用户在不知道root用户密码的情况下使用"超级用户"的命令
如果想要允许普通用户在没有管理员(或者是root)用户的权限的情况下,可以使用一些需要管理员权限的命令,可以再sudoers文件中为其添加特定(或全部)的命令权限。
19 如何检查/bin/vi需要用到哪些依赖库?
运行命令:ldd /bin/vi可以得到/bin/vi的依赖库信息
20 你想安装一个新的perl模块,正确的做法是什么?
perl有自己的管理控制台capn可以允许你用install Group::Module的命令来安装新的模块。
21 如何在Linux的网络接口eth0上面启用巨型帧(9000)
在命令行中使用
ifconfig eht0 mtu 9000
可以临时启用,如果需要永久化启动,则需要把内容添加到ifcfg-eth0文件中。
22 解释以下命令:iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
该命令是向iptables防火墙添加一条规则,规则的内容是删除服务器的所有ping请求。
23 wine程序在Linux系统上的作用是什么?
wine程序在Linux服务器/工作站上面模拟出windows的运行环境,可以用来运行windows应用程序。
24 什么是Nagios系统?
Nagios是一个开源监控工具/应用程序,可以帮助识别和解决基础硬件/网络的故障问题
25 你需要在命令行终端生成一个随机数,在没有其他可生成随机数的编程语言帮助下,该如何做到这一点?
用下面的命令从/dev/urandom中生成一个随机数字的字符串
od -N3 -tu2 -vAn < /dev/urandom|sed 's/ //g'
26 你有一个机密文件top_secret.txt,该如何安全的永久删除?
可以使用shred命令重复的覆盖该文件n次,使其无法恢复
shred -n 10 -z top_secret.txt
27 你在/home/user/downloaded目录中,不想通过部署和配置httpd的web服务的情况下,如何使用python来实现共享该目录中的文件
在python中有一个叫做SimpleHTTPServer的快速实现web服务的功能,可以用它来提供本地目录的共享
python -m SimpleHTTPServer
28 在命令行终端中运行一个命令,如何将这个命令发送到后台运行?
要将命令发送到后台运行,可以使用组合键Ctrl+z先暂停正在运行的命令/应用,再输入bgin将其发送到后台。
29 如何将源文件myprog.c编译为一个可执行的二进制文件myprog?
编译c文件最常用的编译器是gcc,可以通过下面的命令来编译
gcc myprog.c -o myprog