1. 假设定期维护和备份文件是你的日常工作任务之一。备份的文件以压缩的形式保存。现在你需要查看两个月前备份的一份log文件。那么在不解压的情况下如何才能查看这份文件的内容?
# zcat -f cells.log-20140330.gz
2. 如何需要跟踪系统发生的事件?
使用syslogd守护进程。syslogd在跟踪系统事件方面非常有用,并可以将其保存到日志文件中。
在终端中运行syslogd时会将日志文件保存到文件夹“var/log/syslog”下。syslogd对于检测Linux系统故障尤其有用。
3. 如何限制一个IP地址访问FTP服务器?
可以通过tcp_wrapper拉黑某个IP地址:首先在配置文件“/etc/vsftpd.conf”中启用参数tcp_wrapper,即“tcp_wrapper=YES”;然后将要拉黑的IP地址添加到文件“/etc/host.deny”中。
打开”/etc/hosts.deny”文件。
# vi /etc/hosts.deny
将要拉黑的IP地址添加到文件的最后。
# # hosts.deny This file contains access rules which are used to # deny connections to network services that either use # the tcp_wrappers library or that have been # started through a tcp_wrappers-enabled xinetd. # # The rules in this file can also be set up in # /etc/hosts.allow with a 'deny' option instead. # # See 'man 5 hosts_options' and 'man 5 hosts_access' # for information on rule syntax. # See 'man tcpd' for information on tcp_wrappers # vsftpd:192.168.0.1
4. Telnet和SSH的区别是?
Telnet和SSH都是用于远程控制的通信协议。不同的是,SSH是加密的,需要交换密钥;而Telnet是明文的,传输的是明文字符。所以SSH比Telnet更加安全。
5. 当试图杀掉X服务器进程时,出现了一个错误说不能退出X服务器进程。那么你将如何做?
通常的做法,如“/etc/init.d/gdm stop”,是无法杀掉X服务器进程的。不过可以通过组合键“Ctrl+Alt+Back Space”来强制重启X服务器。
6. 命令ping和ping6有什么区别?
这两个命令的效果是一样的。唯一的不同是ping6用于IPv6类型的IP地址。
7. 如何搜索Home文件夹下所有的tar文件并一次性删除它们?
使用find和rm命令。
# echo please save your work, immediately. The server is going down for Maintenance at 12:30 Pm, sharply. | wall
# find /home name '*.tar' | xargs rm -rf
8.命令Locate和slocate的区别是?
locate可以搜索所有的文件;而slocate只能搜索当前用户具有访问权限的文件。
9. 如何在当前目录下查找所有txt文件中的字符串“Tecmint”?
使用file和grep命令。
# find -name "*.txt" | xargs grep "Tecmint"
10.如何向当前所有登陆的用户发送“服务器即将关机”的消息?
使用wall命令。
# echo please save your work, immediately. The server is going down for Maintenance at 12:30 Pm, sharply. | wall
11.查询当前系统支持的所有命令的列表
[root@localhost ~]$ compgen -c l. ll ls which if then else elif fi case esac for select while until do done …
12.使用Linux 命令dirs可以将当前的目录栈打印出来。
[root@localhost ~]# dirs /usr/local
目录栈通过pushd popd 来操作。
13.系统目前有许多正在运行的任务,不重启机器,怎么把所有正在运行的进程移除呢?
使用linux命令 ’disown -r ’可以将所有正在运行的进程移除。
14.bash shell 中的hash 命令有什么作用?
linux命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所使用过的命令以及执行的次数。
[root@localhost ~]# hash hits command 2 /bin/ls 2 /bin/su
15.哪一个bash内置命令能够进行数学运算。
bash shell 的内置命令let 可以进行整型数的数学运算。
#! /bin/bash … … let c=a+b … …
16.怎样一页一页地查看一个大文件的内容呢?
通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现.
17.当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?
可以使用bind命令,bind可以很方便地在shell中实现宏或按键的绑定。
在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。
比如获取F12的字符序列获取方法如下:先按下Ctrl+V,然后按下F12 .我们就可以得到F12的字符序列 ^[[24~。
接着使用bind进行绑定。
[root@localhost ~]# bind ‘”\e[24~":"date"'
注意:相同的按键在不同的终端或终端模拟器下可能会产生不同的字符序列。
【附】也可以使用showkey -a命令查看按键对应的字符序列。
18. 以 root 帐户执行上一条命令
sudo !!
19. 切换到上一次所在目录
cd -
20.traceroute + ping
mtr baidu.com
21.以更加清晰的方式显示当前系统挂载的文件系统
mount | column -t
22. 在给定的时间执行命令
echo "ls -l" | at midnight
23. 从80端口向你本地的2001端口开启隧道
ssh -N -L2001:localhost:80 somemachine
24. 获取你的外网
curl ifconfig.me
25. 将上一条命令中的 foo 替换为 bar,并执行
^foo^bar