1、过滤出一个目录中的所有目录(不包含下面的子目录)?
解答:ls -l |grep "^d"
find . ! -name "." -type d -prune
ls -F | grep /$ ## $表示以/结尾的
-F, –classify 加上文件类型的指示符号 (*/=@| 其中一个)
不加任何标识符,表示它是一般文件。
* 表示可执行文件
/ 表示目录
@ 表示soft link文件
= 表示socket文件
| 表示管道文件。
如果使用 find . -type d 命令,则会将目录下面的子目录也一并显示出来。
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
2、假如当前目录是
[root@oldboy oldboy]# pwd
/oldboy
现在因为需要切到/tmp目录下进行操作
[root@oldboy oldboy]# cd /tmp
[root@oldboy tmp]# pwd
/tmp
操作完毕,希望快速返回上次进入的目录,即/oldboy,该如何做(不能用cd /oldboy命令)
解答:cd -
[root@oldboy oldboy]# env|grep -i OLDPWD #→此时系统环境变量的变化
OLDPWD=/tmp
特别提示:环境变量OLDPWD 始终记录当前路径的前一个路径,而执行cd -正可以进入到这个变量中保留
的前一个目录。
3:一个目录中有很多文件(ls查看时好多屏),想最快速度查看到最近更新的文件。如何看?
解答:ls -t
4.在配置apache时 执行了./configure --prefix=/application/apache2.2.17 来编译apche,在make install完成后,希望用户的访问路径更简单,需要给/application/apache2.2.17目录做一个链接,/application/apache使得管理人员通过/application/apache就可以访问到apache安装目录,请给出命令。
解答: ln -s /application/apache2.2.17 /application/apache
5.已知apache服务的访问日志按天记录在服务器本地目录/app/logs下,由于空间紧张,现在需要,访问日志仅保留最近7天日志即可!请问如何解决? 请给出解决办法或配置或处理命令。(提示:可以从apache服务配置上着手,也可以从生成出来的日志上着手。)
解答:暂时不会
6.调试系统服务时,希望能时时查看系统日志/var/log/message的更新,如何做?
解答:tail -f /var/log/message
7.打印配置文件nginx.conf内容的行号及内容,该如何做?
解答:cat -n nginx.conf
解答:这里提供 3 个方法
nl nginx.conf
cat -n nginx.conf
less -N nginx.conf
8.使得网络文件共享服务NFS,仅在3级别上开机自启动,该如何做?
解答:暂时不会。别人提供的:chkconfig --level 2345 on NFS
[root@oldboy oldboy]# chkconfig nfs off
[root@oldboy oldboy]# chkconfig --level 3 nfs on
[root@oldboy oldboy]# chkconfig --list|grep nfs|grep -v nfslock
nfs 0:off 1:off 2:off 3:on 4:off 5:off 6:off
9.linux系统运行级别一般为0-6,请分别说出每个级别的含义。
解答:
0 关机
1 单用户模式
2 多用户模式 但没有NFS系统
3 完整多用户模式
4 未使用
5 X11
6 重起(reboot)
10.linux系统中查看中文乱码,请问如何解决乱码问题?
解答:不会。别人提供的:LANG=zh_CN.UTF8
[root@oldboy oldboy]# echo 'LANG="ZH_CN.GB18030" '>/etc/sysconfig/i18n #→写到配置文件里
[root@oldboy oldboy]# source /etc/sysconfig/i18n #→使配置生效
[root@oldboy oldboy]# echo $LANG
ZH_CN.GB18030
11.如何优化linux系统(不许查资料,可以不说太具体)?
解答:负载均衡、I/O、逻辑卷管理、自动化配置、自动预警调整、自动化、标准化、智能化。
12./etc/目录为linux系统的默认的配置文件及服务启动命令的目录
a.请用tar打包/etc整个目录(打包及压缩)
b.请用tar打包/etc整个目录(打包及压缩,但需要排除/etc/services文件)
c.请把a命令的压缩包,解压到/tmp指定目录下(最好只用tar命令实现)
解答:a: tar -cvzf temp.tar.gz /etc*
b:记不得了,盼解答。
[root@oldboy oldboy]# tar zcf etc.tar.gz /etc --exclude=etc/services
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
tar zxf etc.tar.gz -C /tmp/
c:tar -xzvf temp.tar.gz -C /tmp
13.已知如下命令及结果:
[oldboy@test ~]$ echo "I am oldboy,myqq is 31333741">>oldboy.txt
[oldboy@test ~]$ cat oldboy.txt
I am oldboy,myqq is 31333741
现在需要 取文件中的oldboy,31333741字符串,请给出命令.
(提示:可以用但不限于cut命令实现)
解答: cat oldboy.txt |awk '{print $3,$6}'
cat oldboy.txt|cut -d " " -f3,6
或cut -c 6-11,20- oldboy.txt
echo "I am oldboy,myqq is 31333741" | sed s/,/\ / | awk '{print $3 " " $6}'
输出这个文件 过滤,为空格 过滤第三个和第六个
格式 :cut [options] file1 file2
选项:
-c list 指定剪切字符数
-f field 指定剪切域数
-d 指定与空格 /tab 不同的分隔符
-c 指定剪切的字符范围,字符,如 -c 1,5,7 第 1,5,6,7 字符 -c 1-50 前 50 个字符
-f 指定剪切的域范围 -f 1,5 剪切 1,5 两个域 -f 1,10-12 剪切 1,10,11,12 四个域
14.如何查看/etc/services文件的行数?
解答:wc /etc/services |awk '{print $1}'
[root@oldboy oldboy]# wc -l /etc/services
9249 /etc/services
提示:可以显示文件字符数,单词数如下:
[root@oldboy oldboy]# wc -c /etc/services
362031 /etc/services
9249 /etc/services
[root@oldboy oldboy]# wc -w /etc/services
47825 /etc/services
15.过滤出/etc/services 包含3306和1521的行的内容。
解答:cat /etc/services |grep "3306" |grep "1521" 比较笨,不知道能有cat /etc/services |grep "3306&&tcp" ????连在一起的处理方法不???
grep -E "3306|1521" /etc/services #→双引号
或egrep "3306|1521" /etc/services