第1章 linux启动过程
1、开机自检bios2、mbr引导3、GRUB 菜单:选择不同的内核4、加载内核5、运行init进程6、读取/etc/inittab运行级别配置文件7、执行 /etc/rc.d/rc.sysinit 脚本 (系统的初始化脚本)配置主机名,IP地址8、执行 /etc/rc.d/rc(根据运行级别运行相应的软件)9、显示登陆界面
第2章 练习题
2.1 第1题
如何过滤出已知当前目录下clsn中的所有一级目录(提示:不包含clsn目录下面目录的子目录及隐藏目录,即只能是第一级目录)?
2.1.1 环境创建
mkdir /clsn -pcd /clsnmkdir ext/clsn test xiaodong xiaofan xingfujie -ptouch jeacen clsn wodi.gz yingsui.gz
2.1.2 方法一 tree
-d显示目录,-L 1找当前目录
[root@znix clsn]# tree -dL 1.├── data└── test
2.1.3 方法二 find
-maxdepth 最大目录深度 ! 表示非、排除
[root@znix clsn]# find . -maxdepth 1 -type d ! -name "."./data./test
2.1.4 方法三 ls +grep
^d 表示以d开头的。
[root@znix clsn]# ls -l |grep "^d"drwxr-xr-x 3 root root 4096 Aug 23 15:51 datadrwxr-xr-x. 3 root root 4096 Aug 23 15:51 test
2.1.5 方法四 ls -F + grep
ls -F 给不同的文件加上不同的标记 文件夹为/
[root@znix clsn]# ls -F /clsn/|grep "/"tandao/test/
2.1.6 方法五ls+awk
^d表示以d开头的。
[root@znix clsn]# ls -l |awk '/^d/'drwxr-xr-x 3 root root 4096 Aug 23 15:51 datadrwxr-xr-x. 3 root root 4096 Aug 23 15:51 test
2.1.7 方法六ls+awk
$2>1 , 表示第二列大于1
[root@znix clsn]# ls -l /clsn/|awk '$2>1'total 20drwxr-xr-x 3 root root 4096 Aug 23 15:51 datadrwxr-xr-x. 3 root root 4096 Aug 23 15:51 test
2.2 第2题
2.2.1 cd命令
[root@znix tmp]# cd /clsn/[root@znix clsn]# pwd/clsn[root@znix clsn]# cd /tmp/[root@znix tmp]# pwd/tmp[root@znix tmp]# cd -/clsn[root@znix clsn]# #cd - ==== cd $OLDPWD(存放着 你上一次所在的位置)
cd .. ###进入到上一级目录 当前目录的上一级目录
. ###当前目录 cp /etc/hosts .
cd ~ ###当前用户的家目录 回老家
cd ###回老家
cd - ###进入到上一次所在的位置
2.2.2 练习
进入到/etc/sysconfig/network-scripts/目录,并查看你所在位置
#进入到上一级目录,并查看你所在位置
#进入到/root目录下面,并显示你所在位置
#快速返回到/你上一次的位置
#回到老家
[root@znix ~]# cd /etc/sysconfig/network-scripts/[root@znix network-scripts]# pwd/etc/sysconfig/network-scripts[root@znix network-scripts]# cd ..[root@znix sysconfig]# pwd/etc/sysconfig[root@znix sysconfig]# cd /root/[root@znix ~]# pwd/root[root@znix ~]# cd -/etc/sysconfig[root@znix sysconfig]# cd[root@znix ~]# pwd/root
2.3 第3题
一个目录中有很多文件(ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文件。如何看?
-r时逆序显示 -t按时间顺序排序
[root@znix clsn]# ls -lrttotal 20-rw-r--r--. 1 root root 7 Aug 17 17:00 t.sh-rw-r--r--. 1 root root 0 Aug 17 17:00 clsn.txt-rw-r--r--. 1 root root 0 Aug 17 17:00 alex.txt-rw-r--r--. 1 root root 0 Aug 17 17:28 b-rw-r--r--. 1 root root 8 Aug 17 19:35 test.shdrwxr-xr-x 3 root root 4096 Aug 23 15:51 datadrwxr-xr-x. 3 root root 4096 Aug 23 15:51 test-rw-r--r-- 1 root root 43 Aug 24 12:02 nginx.conf
2.3.1 指定ls命令显示日期的格式
[root@znix etc]# ls -l --time-style=long-iso
2.4 第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服务)
2.4.1 模拟环境
创建目录
[root@znix clsn]# mkdir -p /application/apache2.2.17[root@znix clsn]# ls -l /application/total 4drwxr-xr-x 2 root root 4096 Aug 30 10:10 apache2.2.17
2.4.2 创建软连接
[root@znix clsn]# ln -s /application/apache2.2.17/ /application/apache[root@znix clsn]# cd /application/[root@znix application]# ls -ltotal 4lrwxrwxrwx 1 root root 26 Aug 30 10:12 apache -> /application/apache2.2.17/drwxr-xr-x 2 root root 4096 Aug 30 10:10 apache2.2.17
2.4.3 模拟升级
[root@znix application]# mkdir -p /application/apache2.4.17[root@znix application]# ls -l /application/total 8lrwxrwxrwx 1 root root 26 Aug 30 10:12 apache -> /application/apache2.2.17/drwxr-xr-x 2 root root 4096 Aug 30 10:10 apache2.2.17drwxr-xr-x 2 root root 4096 Aug 30 10:16 apache2.4.17
2.4.4 修改软连接
先将旧的软链接删除,防止出错。
[root@znix application]# \rm -f /application/apache[root@znix application]# ls -l /application/total 8drwxr-xr-x 2 root root 4096 Aug 30 10:10 apache2.2.17drwxr-xr-x 2 root root 4096 Aug 30 10:16 apache2.4.17[root@znix application]# ln -s /application/apache2.4.17/ /application/apache[root@znix application]# ls -l /application/total 8lrwxrwxrwx 1 root root 26 Aug 30 10:17 apache -> /application/apache2.4.17/drwxr-xr-x 2 root root 4096 Aug 30 10:10 apache2.2.17drwxr-xr-x 2 root root 4096 Aug 30 10:16 apache2.4.17
2.5 第5题
已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张,现在要求只能保留最近 7 天的访问日志!
2.5.1 方法一 find |xargs
-mtime +7 表示7天以前 7表示第七天, -7表示最近7天
[root@znix ~]# find /app/logs/ -type f -name "*.log" -mtime +7 |xargs ls -ltr-rw-r--r-- 1 root root 0 May 1 00:00 /app/logs/access_www_2017-05-01.log-rw-r--r-- 1 root root 0 May 2 00:00 /app/logs/access_www_2017-05-02.log-rw-r--r-- 1 root root 0 May 3 00:00 /app/logs/access_www_2017-05-03.log-rw-r--r-- 1 root root 0 May 4 00:00 /app/logs/access_www_2017-05-04.log-rw-r--r-- 1 root root 0 May 5 00:00 /app/logs/access_www_2017-05-05.log-rw-r--r-- 1 root root 0 May 6 00:00 /app/logs/access_www_2017-05-06.log-rw-r--r-- 1 root root 0 May 7 00:00 /app/logs/access_www_2017-05-07.log-rw-r--r-- 1 root root 0 May 8 00:00 /app/logs/access_www_2017-05-08.log-rw-r--r-- 1 root root 0 May 9 00:00 /app/logs/access_www_2017-05-09.log-rw-r--r-- 1 root root 0 May 10 00:00 /app/logs/access_www_2017-05-10.log-rw-r--r-- 1 root root 0 May 11 00:00 /app/logs/access_www_2017-05-11.log-rw-r--r-- 1 root root 0 May 12 00:00 /app/logs/access_www_2017-05-12.log
2.5.2 方法二 $(find )
[root@znix ~]# ls -l $(find /app/logs/ -type f -name "*.log" -mtime +7)
2.5.3 方法三 find -exec {} \;
[root@znix ~]# find /app/logs/ -type f -name "*.log" -mtime +7 -exec ls -l {} \;
2.6 第6题
调试系统服务时,希望能实时查看/var/log/messages系统日志的更新。
-f 显示文件的实时更新。
[root@znix ~]# tail -f /var/log/secure
tailf与tail -f 大致相同。
[root@znix ~]# tailf /var/log/secure
2.7 第7题
打印轻量级 web 服务的配置文件 nginx.conf 内容的行号及内容
2.7.1 文件创建
stu{01..5}生成 stu01、stu02···stu05 字符
[root@znix clsn]# echo stu{01..5}|xargs -n1 >nginx.conf[root@znix clsn]# cat nginx.confstu01stu02stu03stu04stu05
2.7.2 方法一 cat
-n 显示文件行号
[root@znix clsn]# cat -n nginx.conf1 stu012 stu023 stu034 stu045 stu05
2.7.3 方法二 vim
输入:再输入命令
:set nu ##显示行号:set nonu ##取消显示行号
快捷键
G 把光标移动到最后一行gg 把光标移动到第一行o 在当前行下面插入一个空行 并进入到编辑模式
2.7.4 方法三 nl
nl 专门用于显示行号
[root@znix clsn]# nl nginx.conf1 stu012 stu023 stu034 stu045 stu05
2.7.5 方法四 grep -n
-n 显示行号,. 表示所有内容
[root@znix clsn]# grep -n "." nginx.conf1:stu012:stu023:stu034:stu045:stu05
2.7.6 方法五 awk
print NR 表示显示行号,$0 表示行的内容
[root@znix clsn]# awk '{print NR,$0}' nginx.conf1 stu012 stu023 stu034 stu045 stu05
