1、如何过滤出已知当前目录下yangwen中的所有一级目录(提示:不包含yangwen目录下面目录的子目录及隐藏目录,即只能是一级目录)?
解答:
方法1:通过find直接查找指定类型的文件
[root@yangwen ~]# find ./yangwen -type d -maxdepth 1 ./yangwen ./yangwen/xings ./yangwen/asgd ./yangwen/test ./yangwen/ext ./yangwen/yangwen
方法2:ls -l结果中以d开头的就是目录
[root@yangwen]# ls -l|grep "^d"[root@yangwen ~]# ls -l ./yangwen | grep "^d"drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen drwxr-xr-x 2 root root 4096 Apr 9 21:08 testdrwxr-xr-x 2 root root 4096 Apr 9 21:08 xings
方法3:过滤出非文件的内容
[root@yangwen ~]# ls -l ./yangwen | grep -v "^-" total 20 drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen drwxr-xr-x 2 root root 4096 Apr 9 21:08 testdrwxr-xr-x 2 root root 4096 Apr 9 21:08 xings
方法4:通过给目录加标识,然后通过过滤标识,过滤出目录
[root@yangwen ~]# ls -lF ./yangwen | grep "/$"drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 test/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 xings/[root@yangwen ~]# ls -lF ./yangwen | grep "/"drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 test/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 xings/
方法5:ls显示长格式,然后再通过sed过滤出以dr开头的行并打印出来
[root@yangwen ~]# ls -l ./yangwen | sed -n /^dr/p drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen drwxr-xr-x 2 root root 4096 Apr 9 21:08 testdrwxr-xr-x 2 root root 4096 Apr 9 21:08 xings[root@yangwen ~]# ls -lF ./yangwen | sed -n '/\/$/p' ---> 过滤出以/结尾的 drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 test/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 xings/
方法6:awk过滤方法
[root@yangwen ~]# ls -l ./yangwen | awk '/dr/' ----->过滤出以dr开头的 drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen drwxr-xr-x 2 root root 4096 Apr 9 21:08 testdrwxr-xr-x 2 root root 4096 Apr 9 21:08 xings [root@ansheng ~]# ls -l ./ansheng | awk '/^d/' ----->过滤出以d开头的 drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen drwxr-xr-x 2 root root 4096 Apr 9 21:08 testdrwxr-xr-x 2 root root 4096 Apr 9 21:08 xings[root@yangwen ~]# ls -lF ./yangwen | awk '/\/$/' ----->过滤出以/结尾的 drwxr-xr-x 2 root root 4096 Apr 9 21:08 asgd/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 ext/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 yangwen/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 test/ drwxr-xr-x 2 root root 4096 Apr 9 21:08 xings/
2、假如当前目录是如下命令的结果:
[root@yangwen]# pwd #==>这是打印当前目录的,最菜的命令了,你该会的。/root/yangwen 现在因为需要进入到了 /tmp 目录下进行操作,执行的命令如下:[root@yangwen]# cd /tmp[root@yangwen tmp]# pwd/tmp
操作完毕后,希望快速返回上一次进入的目录,即/yangwen目录,该如何做呢?(提示:不能用 cd /yangwen命令呦)
解答:
[root@yangwen]# pwd/root/yangwen[root@yangwen]# cd /tmp[root@yangwen tmp]# pwd/tmp[root@ansheng tmp]# cd - /root/yangwen[root@yangwen]# pwd/root/yangwen
3、一个目录中有很多文件( ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文件。如何看?
解答:
[root@yangwen /]# cd /etc/[root@yangwen etc]# touch ansheng[root@yangwen etc]# ls -lrt total 1668 -rw-r--r--. 1 root root 1112 Mar 30 2003 minicom.users -rw-r--r--. 1 root root 10814 Feb 20 2006 ltrace.conf -rw-r--r--. 1 root root 662 Aug 29 2007 logrotate.conf -rw-r--r--. 1 root root 220 Oct 13 2008 quotagrpadmins -rw-r--r--. 1 root root 148 May 14 2009 asound.conf ..................................... -rw-r--r--. 2 root root 80 Jan 15 12:33 resolv.conf -rw-r--r--. 1 root root 0 Jan 15 13:45 yangwen[root@yangwen etc]#
4、在配置apache时执行了./configure –prefix=/application/apache2.2.17 来编译 apche, 在 make install 完成后,希望用户访问 apache 路径更简单,需要给/application/apache2.2.17 目录做一个软链接/application/apache,使得内部开发或管理人员通过/application/apache 就可以访问到apache 的安装目录/application/apache2.2.17 下的内容,请你给出实现的命令。(提示: apache为一个 web 服务)
解答:
[root@yangwen /]# mkdir -p /application/apache2.2.17[root@ansheng /]# ln -s /application/apache2.2.17/ /application/apache[root@ansheng /]# touch /application/apache2.2.17/ansheng[root@ansheng /]# ls /application/apache ansheng
5、已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张,现在要求只能保留最近 7 天的访问日志!请问如何解决? 请给出解决办法或配置或处理命令。 (提示:可以从 apache 服务配置上着手,也可以从生成出来的日志上着手。)
创建文件脚本:
#!/bin/bashfor n in `seq 14`do date -s "11/0$n/14" touch access_www_`(date +%F)`.logdone
解决方法:
[root@yangwen logs]# pwd/application/logs[root@yangwen logs]# ll total 0 -rw-r--r--. 1 root root 0 Jan 1 00:00 access_www_2015-01-01.log -rw-r--r--. 1 root root 0 Jan 2 00:00 access_www_2015-01-02.log -rw-r--r--. 1 root root 0 Jan 3 00:00 access_www_2015-01-03.log -rw-r--r--. 1 root root 0 Jan 4 00:00 access_www_2015-01-04.log -rw-r--r--. 1 root root 0 Jan 5 00:00 access_www_2015-01-05.log -rw-r--r--. 1 root root 0 Jan 6 00:00 access_www_2015-01-06.log -rw-r--r--. 1 root root 0 Jan 7 00:00 access_www_2015-01-07.log -rw-r--r--. 1 root root 0 Jan 8 00:00 access_www_2015-01-08.log -rw-r--r--. 1 root root 0 Jan 9 00:00 access_www_2015-01-09.log -rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log -rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log -rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log -rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log -rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log[root@yangwen logs]# find /application/logs/ -type f -mtime +7 -name "*.log"|xargs rm –f ##也可以使用-exec rm -f {} \;进行删除[root@yangwen logs]# ll total 0 -rw-r--r--. 1 root root 0 Jan 7 00:00 access_www_2015-01-07.log -rw-r--r--. 1 root root 0 Jan 8 00:00 access_www_2015-01-08.log -rw-r--r--. 1 root root 0 Jan 9 00:00 access_www_2015-01-09.log -rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log -rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log -rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log -rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log -rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log
6、调试系统服务时,希望能实时查看/var/log/messages 系统日志的更新,如何做?
解答:
[root@yangwen logs]# tail -f /var/log/messages Jan 15 13:23:38 ansheng dhclient[869]: DHCPREQUEST on eth2 to 192.168.20.254 port 67 (xid=0x7a59bf0e)Jan 15 13:23:38 ansheng dhclient[869]: DHCPACK from 192.168.20.254 (xid=0x7a59bf0e)Jan 15 13:23:40 yangwen dhclient[869]: bound to 192.168.20.132 -- renewal in 776 seconds. Jan 15 13:33:35 ansheng rz[1315]: [root] ansheng.tar.gz/ZMODEM: 425 Bytes, 22218 BPS Jan 15 13:36:36 ansheng dhclient[869]: DHCPREQUEST on eth2 to 192.168.20.254 port 67 (xid=0x7a59bf0e)Jan 15 13:36:36 ansheng dhclient[869]: DHCPACK from 192.168.20.254 (xid=0x7a59bf0e)Jan 15 13:36:38 yangwen dhclient[869]: bound to 192.168.20.132 -- renewal in 686 seconds. Jan 15 13:48:04 ansheng dhclient[869]: DHCPREQUEST on eth2 to 192.168.20.254 port 67 (xid=0x7a59bf0e)Jan 15 13:48:04 ansheng dhclient[869]: DHCPACK from 192.168.20.254 (xid=0x7a59bf0e)Jan 15 13:48:06 yangwen dhclient[869]: bound to 192.168.20.132 -- renewal in 790 seconds.
7、打印轻量级web服务的配置文件 nginx.conf内容的行号及内容,该如何做?
测试文件nginx.conf内容
[root@yangwen tmp]# cat -n nginx.conf 1 nginx 2 config 3 yangwen 4 test 5 centos 6 yangwen
解决方法:
方法1:
[root@yangwen tmp]# cat -n nginx.conf 1 nginx 2 config 3 yangwen 4 test 5 centos 6 ansheng
方法2:
[root@yangwen tmp]# vim nginx.conf>>:>>set nu
方法3:
[root@yangwen tmp]# nl nginx.conf 1 nginx 2 config 3 yangwen 4 test 5 centos 6 ansheng
方法4:
[root@yangwen tmp]# grep -n . nginx.conf 1:nginx 2:config 3:yangwen 4:test 5:centos 6:ansheng
8、装完Centos系统后,希望网络文件共享服务NFS,仅在3级别上开机自启动,该如何做
解答:
[root@yangwen /]# chkconfig --list nfs nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off[root@yangwen /]# chkconfig nfs on[root@yangwen /]# chkconfig --level 3 nfs on[root@yangwen /]# chkconfig --list nfs nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
9、系统运行级别一般为 0-6,请分别写出每个级别的含义。
解答:
0 关机
1 单用户
2 多用户,没有nfs支持
3 完全多用户,
4 保留
5 X Windows
6 重启
10、yangwen 系统中查看中文乱码,请问如何解决乱码问题?
解答:
查看当前语言
echo $LANG
查看已安装语言包,如果没有中文语言包就安装中文语言包
locale -a|grep zh
修改当前字符集
LANG="zh_CN.gb18030"
让其生效
source /etc/sysconfig/i18n
修改字符集
vi /etc/sysconfig/i18n
让其永久生效
source /etc/sysconfig/i18n
11、如何优化 yangwen系统(可以不说太具体)?
解答:
不用root,添加普通用户,通过sudo授权管理
更改默认的远程连接SSH服务端口及禁止root用户远程连接
定时自动更新服务器时间
配置国内yum源
关闭seansheng及iptables(iptables工作场景如果有外网IP一定要打开,高并发除外)
调整文件描述符的数量
精简开机启动服务(crond rsyslog network sshd)
yangwen内核参数优化(/etc/sysctl.conf)
更改字符集,支持中文,但建议还是用英文字符集,防止乱码
锁定关键系统文件
清空/etc/issue,去除系统及内核版本登录前的屏幕显示
12、/etc/目录为 ansheng 系统的默认的配置文件及服务启动命令的目录
a.请用 tar 打包/etc 整个目录(打包及压缩)
b.请用 tar 打包/etc 整个目录(打包及压缩,但需要排除/etc/services 文件)
c.请把 a 点命令的压缩包,解压到/tmp 指定目录下(最好只用 tar 命令实现)
解答:
a.
打包:
[root@yangwen tmp]# tar zcfP etc.tar /etc[root@yangwen tmp]# ll total 9072 -rw-r--r--. 1 root root 9289256 Jan 14 00:21 etc.tar
压缩:
[root@yangwen tmp]# tar zxvf etc.tar[root@yangwen tmp]# ll total 9076 drwxr-xr-x. 83 root root 4096 Jan 14 00:15 etc -rw-r--r--. 1 root root 9289256 Jan 14 00:21 etc.tar
b.
打包:
[root@yangwen /]# tar zcvf etc.tar.gz /etc --exclude=/etc/services[root@ansheng /]# ll etc.tar.gz -rw-r--r--. 1 root root 9161575 Jan 14 00:25 etc.tar.gz[root@yangwen /]# tar zxvf etc.tar
c.
[root@yangwen /]# tar zxvf etc.tar.gz -C /opt/[root@yangwen /]# ll /opt/ drwxr-xr-x. 83 root root 4096 Jan 14 00:15 etc
13.已知如下命令及结果:
[root@yangwen ~]$ echo "I am ansheng,myqq is 31333741">>yangwen.txt [root@yangwen ~]$ cat ansheng.txt I am yangwen, myqq is 1455328192
现在需要从文件中过滤出“yangwen” 和“ 31333741” 字符串,请给出命令.
解答:
没有逗号:I am yangwen myqq is 1455328192
[root@yangwen tmp]# cat yangwen I am ansheng myqq is 1455328192
方法1:
[root@yangwen ~]$ awk '{print $3" "$6}' yangwen yangwen 1455328192
方法2:
[root@yangwen ~]$ cut -d" " -f3,6 yangwen yangwen 1455328192
方法3:
[root@yangwen ~]$ cut -c 6-11,20- yangwen yangwen 1455328192
有逗号:I am yangwen, myqq is 1455328192
[root@yangwen tmp]# cat yangwen I am yangwen, myqq is 1455328192
方法1:
[root@yangwen ~]$ cut -c 6-11,20- yangwen yangwen 1455328192
方法2:
[root@yangwen ~]$ cut -d" " -f3,6 yangwen|sed s#,#" "#yangwen 1455328192
方法3:
[root@yangwen ~]$ awk '{print $3" "$6}' yangwen|sed s/,/" "/g yangwen 1455328192
方法4:
[root@yangwen ~]$ awk -F '[ ,]' '{print $3" "$6}' yangwen yangwen 1455328192
方法5:
[root@yangwen ~]$ cut -d" " -f3,5 yangwen |tr ",myqq" " "yangwen 1455328192
14、如何查看/etc/services 文件内容有多少行?
解答:
方法1:
[root@yangwen /]# wc -l /etc/services 10774 /etc/services
方法2:
[root@yangwen /]# cat -n /etc/services |tail -1 10774 iqobject 48619/udp # iqobject
方法3:
[root@yangwen /]# sed -n '$=' /etc/services 10774
方法4:
[root@yangwen /]# awk '{print NR}' /etc/services|tail -1 10774
方法5:
[root@yangwen /]# grep -n $ /etc/services|tail -1 10774:iqobject 48619/udp # iqobject
15、过滤出/etc/services 文件包含 3306 或 1521 两数据库端口的行的内容。
解答:
[root@yangwen /]# grep -E "3306|1521" /etc/services mysql 3306/tcp # MySQLmysql 3306/udp # MySQLncube-lm 1521/tcp # nCube License Managerncube-lm 1521/udp # nCube License Manager
1、描述 linux 系统从开机到登陆界面的启动过程
开机自检,MBR引导,读取硬盘0柱面0磁道1扇区的前446字节,加载grub菜单,在grub菜单里面加载kernel,启动init进程,init是Linux系统启动时第一个启动的进程,init读取inittab文件,先执行/etc/rc.d/rc.sysinit初始化脚本(设置主机名,加载inittab,设置网卡和一些PCI设备),根据inittab设置的级别指向相对应的脚本,如果是3模式则指向/etc/rc3.d下面的脚本以及程序,执行rc.local,最后启动mingetty进程,进入登陆界面。
2、描述 linux 下软链接和硬链接的区别
在linux系统中,链接分两种 :一种是硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。
默认不带参数情况下,ln命令创建的是硬链接。
硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同。
ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
删除软链接文件,对源文件及硬链接文件无任何影响;
删除文件的硬链接文件,对源文件及软链接文件无任何影响;
删除链接文件的原文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);
同时删除原文件及其硬链接文件,整个文件才会被真正的删除。
很多硬件设备中的快照功能,使用的就类似硬链接的原理。
软连接可以跨文件系统,硬链接不可以跨文件系统。
3、描述 linux shell 中单引号、双引号及不加引号的简单区别
单引号:
即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。
双引号:
把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。
不加引号:
不会将含有空格的字符串视为一个整体输出, 如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。
4、描述 linux 运行级别 0-6 的各自含义
0 关机
1 单用户模式
2 多用户没有NFS网络支持
3 完全多用户模式(工作中常用)
4 保留
5 图形化界面
6 重启
5、描述 linux 下文件删除的原理
当一个文件的I_link=0且没有进程占用的时候,这个文件就被删除了,还有一种情况就是被进程占用的情况下,当这个文件的I_link和I_count同时为0的时候这个文件才会被真正的删除。
6、如何取得/ansheng 文件的权限对应的数字内容,如-rw-r–r– 为 644, 要求使用命令取得644 这样的数字。
解答:
方法1:
[root@yangwen ~]# stat /yangwen File: `/ansheng' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 16 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2015-01-11 05:42:44.762128948 -0500 Modify: 2015-01-11 05:42:44.762128948 -0500 Change: 2015-01-11 05:42:44.762128948 -0500 [root@yangwen ~]# stat /yangwen |sed -nr 's#^.*s: ((.*)/-r.*#\1#gp'0644
awk方法:
[root@yangwen ~]# stat /yangwen |awk -F "[(/]" 'NR==4{print $2}'0644
State方法:
[root@yangwen ~]# stat -c %a /yangwen 644
[root@yangwen]# ll /yangwen |cut -c2-10|tr rwx- 4210|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'644
7、linux下通过 mkdir 命令创建一个新目录/yangwen/ett,它的硬链接数是多少,为什么?
解答:
[root@yangwen ~]# mkdir /ansheng/ett -p[root@yangwen ~]# ll -d /yangwen/ett/ drwxr-xr-x. 2 root root 4096 Jan 11 06:02 /yangwen/ett/
它的链接数是2,本身算一个链接,ett目录下的.为ett目录的又一个链接,所以链接数为2
[root@yangwen]# ll -i total 4 1046536 drwxr-xr-x. 2 root root 4096 Jan 11 06:02 ett[root@yangwen]# ll -di ett/. 1046536 drwxr-xr-x. 2 root root 4096 Jan 11 06:02 ett/.
8、请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答)。
解答:
cut方法1:
[root@yangwen ~]# ifconfig eth0|sed -n '2p'|cut -d ":" -f2|cut -d " " -f1 192.168.20.130
awk方法2:
[root@yangwen ~]# ifconfig eth0|awk 'NR==2'|awk -F ":" '{print $2}'|awk '{print $1}'192.168.20.130
Awk多分隔符方法3:
[root@yangwen ~]# ifconfig eth0|awk 'NR==2'|awk -F "[: ]+" '{print $4}'192.168.20.130
Sed方法4:
[root@yangwen ~]# ifconfig eth0|sed -n '/inet addr/p'|sed -r 's#^.*ddr:(.*)Bc.*$#\1#g'192.168.20.130[root@ansheng ~]# ifconfig eth0|sed -n '/inet addr/p'|sed 's#^.*ddr:##g'|sed 's#B.*$##g'192.168.20.130
9、请给出默认情况 eth0 网卡配置文件的路径及客户端 DNS 的路径。
解答:
Eth0网卡配置路径:/etc/sysconfig/network-scripts/ifcfg-eth0 客户端DNS配置路径:/etc/resolv.conf
10、查找当前目录下所有文件,并把文件中的 www.baidu.com 字符串替换成 www.abc.cc
解答:
[root@yangwen ~]# find ./ -type f|xargs sed -i 's#www\baidu\.com#www\.abc\.cc#g'
11、问题:如何赋予 yangwen 文件 -rw-r–r-x 权限属性
解答:
[root@yangwen ~]# touch yangwen[root@yangwen ~]# ll total 0 -rw-r--r--. 1 root root 0 Jan 11 06:33 yangwen[root@yangwen ~]# chmod 645 yangwen [root@yangwen ~]# ll total 0 -rw-r--r-x. 1 root root 0 Jan 11 06:33 yangwen
12、执行下面命令时发现提示需要输入密码,请问提示输入的密码是哪个用户的密码。
[test@yangwen ~]$ sudo su - yangwen
解答:输入的是执行sudo命令的用户密码。
相关说明:
实际命令 | 命令说明 |
---|---|
su – / su – root | 该命令是真正用户切换命令(默认是切换到root),输入的是root的密码 |
sudo su – | 该命令是通过sudo权限进行角色转换(默认是切换到root),输入的是指向命令当时账号的密码,而非root密码 |
sudo su - ansheng | 该命令实际意思是通过sudo,以root的权限,进行su – ansheng用户切换,因此需要输入的是指向命令当时账号的密码,和sudo ls /root是一样的 |
13、请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
echo "yangwen";echo "yangwen"
解答:
[root@ansheng ~]# echo -n "yangwen";echo "yangwen"yangwen
14、请给出如下格式的 date 命令 例: 11-02-26。在给出实现按周输出 比如:周六输出为 6,请分别给出命令。
解答:
[root@yangwen ~]# date +%y-%m-%d 15-01-11
15、当从 root 用户切到普通用户时,执行 ifconfig 会提示。
[root@yangwen ~]$ ifconfig -bash: ifconfig: command not found
提示: c58 会遇到, c64 没有此问题。
请问这是为什么?如何解决,请给出详细解决过程。
解答:没有找到这个命令,ifconfig命令所在目录没有添加到PATH环境变量里面,解决步骤:
[root@yangwen ~]# /sbin/ifconfig
或者写入PATH环境变量
16、扩展问题:打印三天前的日期格式如: 2011-02-26
解答:
[root@yangwen ~]# date +%F 2015-01-11[root@yangwen ~]# date +%F -d '3 day ago'2015-01-08[root@yangwen ~]# date +%F -d '-3 day'2015-01-08
17、已知/yangwen/test.txt 文件内容为:
yangwen xizi xiaochao
请问如何把文件中的空格过滤掉(要求命令行实现)。
解答:
grep方法1:
[root@yangwen ~]# grep -v "^$" test.txt yangwen xizi xiaochao
sed方法2:
[root@yangwen ~]# sed '/^$/d' test.txt yangwen xizi xiaochao
awk方法3:
[root@yangwen ~]# awk /^[^$]/ test.txt yangwen xizi xiaochao
18、已知/yangwen/ett.txt 文件内容为:
yangwen anshengme test
请使用 grep 或 egrep 正则匹配的方式过滤出前两行内容
解答:
方法1:
[root@yangwen]# grep "ol" ett.txt yangwen
方法2:
[root@yangwen]# grep "oy" ett.txt yangwen
方法3:
[root@yangwen]# grep "ol.*oy" ett.txt yangwen
方法4:
[root@yangwen]# egrep "ol.+oy" ett.txt yangwen
19、如何快速查到 ifconfig 的全路径(假如你不知道其路径), 请给出命令。
解答:
whereis方法1:
[root@yangwen ~]# whereis -b ifconfig ifconfig: /sbin/ifconfig
which方法2:
[root@yangwen ~]# which ifconfig /sbin/ifconfig
20、请给出查看当前哪些用户在线的 linux 命令。
解答:
[root@yangwen /]# w 07:51:32 up 3:04, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.20.1 04:48 0.00s 0.65s 0.00s w
[root@yangwen /]# who root pts/0 2015-01-11 04:48 (192.168.20.1)
21、请给出正确的关机和重起服务器的命令。
解答:
关机:
[root@yangwen /]# shutdown -h now --->立刻关机(生产常用) [root@yangwen /]# shutdown -h +1 --->1分钟后关机 [root@yangwen /]# init 0[root@yangwen /]# halt --->立即停止系统,需要人工关闭i安源 [root@yangwen /]# halt -p[root@yangwen /]# poweroff --->立即停止系统,并且关闭电源
重启:
[root@yangwen /]# reboot --->生产常用 [root@yangwen /]# shutdown -r now --->生产常用 [root@yangwen /]# shutdown -r +1 --->1分钟后重启[root@ansheng /]# init 6
注销:
[root@yangwen /]# logout[root@yangwen /]# exit --->生产常用 [root@yangwen /]# Ctrl+d --->快捷键,生产常用
22、请写出下面 linux SecureCRT 命令行快捷键命令的功能?
Ctrl + a
Ctrl + c
Ctrl + d
Ctrl + e
Ctrl + l
Ctrl + u
Ctrl + k
tab
Ctrl+shift+c
Ctrl+shift+v
解答:
Ctrl + a —->光标移动到行首
Ctrl + e —->光标移动到行尾
Ctrl + c —->终止当前程序
Ctrl + d —->如果光标前有字符则删除,没有则退出当前中断
Ctrl + l —->清屏
Ctrl + u —->剪切光标以前的字符
Ctrl + k —->剪切光标以后的字符
Ctrl + y —->复制u/k的内容
Ctrl + r —->查找最近用过的命令
tab —->命令或路径补全
Ctrl+shift+c —->复制
Ctrl+shift+v —->粘贴
1.每隔1分钟,打印一个+号到 ansheng.log ,请给出 crontab 完整命令。
解答:
[root@yangwen ~]# crontab -e*/1 * * * * /bin/echo "+" >> /root/ansheng.log[root@yangwen ~]# /etc/init.d/crond restart Stopping crond: [ OK ]Starting crond: [ OK ]
2.每隔 2 个小时将/etc/services 文件打包备份到/tmp 下(最好每次备份成不同的备份包)。
解答:
[root@yangwen ~]# crontab -e 00 */2 * * * /bin/tar zcvf /tmp/services-`date +%F-%H`tar.gz /etc/services[root@yangwen ~]# /etc/init.d/crond restart Stopping crond: [ OK ]Starting crond: [ OK ]
3.每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包)
解答:
[root@yangwen ~]# cat a.sh #/bin/bashcd /var/www/ && /bin/tar zcf /data/html-`date +%m-%d-%H`.tar.gz html/[root@ansheng ~]# crontab –e 00 00 * * * /bin/sh /root/a.sh
4.每周 六、日 上午 9:00 和下午 14: 00 来老男孩这里学习 (执行程序/server/script/ansheng.sh代替学习 )。
解答:
[root@yangwen /]# crontab -e 00 09,14 * * 6,7 /bin/sh /server/script/ansheng.sh
5.请描述下列路径的内容是做什么的?
/etc/sysctl.conf
/etc/rc.local
/etc/hosts
/etc/fstab
/var/log/secure
解答:
/etc/sysctl.conf —–>内核调优的文件
/etc/rc.local —–>开机自启动命令的文件
/etc/hosts —–>本机的域名解析文件
/etc/fstab —–>开机设备自动挂载的文件
/var/log/secure —–>系统登陆的安全日志
6.请说出下列 grep 正则表达式的含义
$
.(点号)
\
*
{n,m}
[^t]
^[^t]
解答:
^ —–>以什么什么开头的
$ —–>以什么什么结尾的
.(点号) —–>代表任意一个字符
\ —–>转义符,让有着特殊意义的字符变成没有任何意义的字符
—–>重复前面的字符0次或多次
{n,m} —–>前面的字符重复N到M次[^t] —–>过滤出不包含t的^[^t] —–>过滤出不以t开头的
8.授权 yangwen 目录及其子目录 755 的权限,请给出命令。
解答:
[root@yangwen /]# ll -d ansheng/ drwxr-xr-x. 3 root root 4096 Jan 14 04:57 yangwen/[root@yangweng /]# ll yangwen/ total 4 drwxr-xr-x. 2 root root 4096 Jan 14 04:57 linux -rw-r--r--. 1 root root 0 Jan 14 04:57 test[root@yangwen /]# chmod -R 755 /yangwen/[root@yangwen /]# ll ansheng/ total 4 drwxr-xr-x. 2 root root 4096 Jan 14 04:57 linux -rwxr-xr-x. 1 root root 0 Jan 14 04:57 test[root@yangwen /]# ll -d yangwen/ drwxr-xr-x. 3 root root 4096 Jan 14 04:57 yangwen/
9.把 ansheng 目录及其子目录的属主改为 ansheng,组改为 root,请给出命令。
解答:
[root@yangwen /]# ll yangwen/ total 4 drwxr-xr-x. 2 root root 4096 Jan 14 04:57 linux -rwxr-xr-x. 1 root root 0 Jan 14 04:57 test[root@yangwen /]# ll -d yangwen/ drwxr-xr-x. 3 root root 4096 Jan 14 04:57 yangwen/[root@yangwen /]# chown -Ryangwen:root ansheng/[root@yangwen /]# ll yangwen/ total 4 drwxr-xr-x. 2 yangwen root 4096 Jan 14 04:57 linux -rwxr-xr-x. 1 yangwen root 0 Jan 14 04:57 test[root@yangwen /]# ll -d yangwen/ drwxr-xr-x. 3 yangwen root 4096 Jan 14 04:57 yangwen/
10.描述下 umask 的作用,并举例。
解答:
Umask是设置Linux创建文件或者创建目录默认权限的,默认的权限文件是644,目录是755,目录计算方法:默认最大权限 - umask权限 = 创建目录默认权限文件计算方法:偶数:默认最大权限-umask权限=创建文件默认权限;奇数:默认最大权限-umask权限+(Umask奇数对应权限位+1)=创建文件默认权限
11.添加一个用户 ansheng,并指定属于 sa 组,要求组 ID 为 801, uid 为 808,并且不建立家目录及禁止其登陆。
解答:
[root@yangwen /]# groupadd sa -g 801[root@yangwen /]# useradd yangwen -g sa -s /sbin/nologin -M[root@yangwen /]# id yangwenguid=500(yangwen) gid=801(sa) groups=801(sa)[root@ansheng /]# su - yangwen This account is currently not available.[root@yangwen /]# ls /home/
12.如何查看用户的 uid 及属于的组信息。
解答:
[root@yangwen /]# id yangwenguid=500(yangwen) gid=801(sa) groups=801(sa)