第二波命令正向我方来袭 :开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志

 

1.1 linux开机启动过程

1.1.1  开机自检(BIOS-- MBR引导 -- GRUB菜单 -- 加载内核(kernel-- 运行INIT进程 -- 读取/etc/inittab配置文件 -- 执行/etc/rc.sysinit脚本(初始化脚本,如设置iphostname-- 执行/etc/rc.d/rc(根据运行级别开机自启的软件)脚本 -- 启动/sbin/mingetty进程(显示登录界面)

linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志_开机

 

1.2 什么是PATH环境变量,它有什么作用?

1.2.1 查看PATH环境变量

[root@georgekai ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

1.2.2 PATH作用:

1)环境变量

2)存放的是命令的位置

1.2.3 执行一个命令的过程?

1lsmkdir

2)系统会去PATH里面查找命令是否存在

3)存在就运行

4)不存在就报错:command not foundno sush file or directory

1.3 如何过滤出/oldboy目录下的第一层目录?

方法一:[root@georgekai oldboy]# tree -dL 1

 .

├── ext

├── test

├── xiaodong

├── xiaofan

└── xingfujie

注:1. -d 目录    -L 相当于--level,显示最多几层目录

 

方法二:[root@georgekai oldboy]# find -maxdepth 1 -type d  ! -name "."   

注:1. maxdepth 最深

 2. !  取反的意思

方法三:[root@georgekai oldboy]# ls -l |grep "^d"

drwxr-xr-x. 3 root root 4096 Dec 12 10:35 ext

drwxr-xr-x. 2 root root 4096 Dec 12 10:35 test

注:找出以d开头的行   ,   ^号只有三剑客才能使用,正则表达式 以.....开头的行

方法四:[root@georgekai oldboy]# ls -l | awk '$2>1'

注:$2  表示第二行

方法五:[root@georgekai oldboy]# ls -F |grep "/"

ext/

test/

注: -F  给不同的文件加上不同的标记(尾巴)

1.4 cd命令及其选项的使用

注:cd 属于内部命令,可用man cd 或者help cd查看帮助手册

1.4.1 cd  -

[root@georgekai oldboy]# cd -     

注:快速的回到上一次所在的位置

1.4.2 cd  .

[root@georgekai /]# cd .

注:表示当前目录

1.4.3 cd  ..

[root@georgekai /]# cd ..

: 返回上一级目录

1.4.4 cd  ~

[root@georgekai /]# cd ~

[root@georgekai /]# cd

注:进入当前用户的宿主目录,和cd一个作用

1.5 查看帮助手册:

1help cd   查看内部命令

2ls --help   查看外部命令

3man cd   查看完整帮助

注:中文版 man 手册(man.linuxde.nethttp://linux.51yip.com/  http://man.linuxde.net/

1.6 ls命令如何按照时间顺序显示

1.6.1 ls显示的时候按照时间顺序

注:默认为a-z显示

[root@georgekai oldboy]# ls -lt

注:-t 按照文件的修改时间显示 (最新的文件在最上面)

1.6.2 ls 按时间的逆序显示

[root@georgekai oldboy]# ls -lrt

注:-r 逆序显示内容(包括时间、字母),最新的文件在最下面

1.6.3 ls 按照时间的年/////显示

[root@georgekai oldboy]# ls -l --time-style=long-iso

 -rw-r--r--. 1 root root    0 2017-12-12 12:00 123.txt

1.7 通过命令对日志来进行切割  

 注:还可以通过软件对日志进行监控,监控磁盘空间的大小等

1.7.1 修改系统时间

[root@georgekai oldboy]# date -s "2017-12-19 11:01:00"

1.7.2 nginx/apache服务的访问日志按天记录在服务器本地目录/app/logs/下,最要求保留最近7天的访问日志,请问如何解决?(先用ls -l代替rm

1)显示第7天的日志(7

[root@georgekai logs]# find -type f -mtime 7

2)显示最近7天的日志(-7

[root@georgekai logs]# find -type f -mtime -7 |xargs ls -l

3)显示7天之前的日志(+7

[root@georgekai logs]# find -type f -mtime +7 |xargs ls -l

1.7.3 找出/aap/logs下面以.log结尾的并且修改时间是7天之前的文件并删除(先用ls -l代替)

创建运行环境:

mkdir -p /app/logs
cd /app/logs
for  time in  {01..20};do  date -s "201705$time"; touch access_www_$(date +%F).log ;done
date -s "20170520"

 

解决方法:

方法一:[root@georgekai logs]# find -type f -mtime +7 -exec ls -l {} \;

方法二:[root@georgekai logs]# find -type f -mtime +7 |xargs ls -l

方法三:[root@georgekai logs]# ls -l $(find -type f -mtime +7)

1.7.4 调试系统服务是,希望通过实时查看/vat/log/secure系统日志的更新,如何做?

[root@georgekai logs]# tail -f /var/log/secure

注:tail  -f  显示文件结尾实时更新

1.7.5 查找/oldboy 下所有以log结尾的大于1M的文件复制到/tmp下。

方法一:[root@georgekai /]# cp $(find /oldboy -type f -size +1024k -name "*.log") /tmp/

方法二:[root@georgekai /]# find /oldboy -type f -size +1024k -name "*.log" -exec cp {} /tmp/ \;

方法三:[root@georgekai /]# find /oldboy -type f -size +1024k -name "*.log"|xargs cp -t /tmp/

:cp -t  反向复制,把要复制的文件都放在了最后面(正常情况在前面)

1.7.6 2个或多个文件大小合并在一起

[root@georgekai logs]# cat /etc/services  /etc/services > /123.log

注:cat 全称是concatenate  ,合并联系在一起的意思


小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅,更新比51cto慢一些,不过要方便许多

linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志_开机_02

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志_启动过程_03