第二波命令-上部

Linux启动过程

开机自检(BIOS)##硬件检查

MBR引导

GRUB菜单(选择不同的内核)

加载内核

运行init进程(Linux系统里面第一个进程)

读取/etc/inittab配置文件(读取运行级别)

执行/etc/rc.d/rc.sysinit脚本(系统的初始化脚本 设置IP地址)

执行/etc/rc.d/rc脚本(根据系统的运行级别

在开机的时候启动不同的软件)

启动mingetty进程 显示界面

PATH 变量

PATH 存放的是Linux下命令的位置

[root@nfsnobody ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin



规律
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin

Linux执行命令的过程

是否是别名
在PATH中找命令是否存在
没有的话提示command not fonund
有就执行

显示一级目录

如何过滤出已知当前目录下nfsnobody中的所有一级目录
(提示:不包含nfsnobody目录下面目录的子目录及隐藏目录,即只能是一级目录)?
创建环境

mkdir /nfsnobody -p
cd /nfsnobody
mkdir ext/nfsnobody test xiaodong xiaofan xingfujie -p
touch jeacen nfsnobody wodi.gz yingsui.gz

方法一

tree
-d  只显示目录
-L level 最多显示多少层 -L 1 最多显示一层

[root@nfsnobody nfsnobody]# tree -dL 1
.
├── ext
├── test
├── xiaodong
├── xiaofan
└── xingfujie
5 directories

方法二

find
-maxdepth  最大的深度
[root@nfsnobody nfsnobody]# find -maxdepth 1 -type
d
.
显示出了目录 但是多了一个.
./xingfujie
./test
./xiaofan
./xiaodong
./ext
!排除取反 非
排除. 只显示目录
[root@nfsnobody nfsnobody]# find -maxdepth 1 -type
d ! -name "."
./xingfujie
./test
./xiaofan
./xiaodong
./ext

方法三grep

^以xxx/开头的行  三剑客使用 正则表达式

[root@nfsnobody nfsnobody]# ls -l |grep
"^d"
drwxr-xr-x. 3 root root 4096 Jul 10 19:45 ext
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 test
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaodong
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaofan
drwxr-xr-x. 2 root root 4096 Jul 10 19:45
xingfujie
^以xxx/开头的行  三剑客使用 正则表达式

方法四awk

$2表示第二列

[root@nfsnobody nfsnobody]# ls -l |awk '$2>1'                第二列大于一的
total 20
drwxr-xr-x. 3 root root 4096 Jul 10 19:45 ext
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 test
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaodong
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaofan
drwxr-xr-x. 2 root root 4096 Jul 10 19:45
xingfujie

方法五

[root@nfsnobody nfsnobody]# ls -F |grep
"/"
-F 不同的类型文件 加上不同的标记  目录加上/

方法六

[root@nfsnobody nfsnobody]# ls -ld */  ##看以/结尾的

压缩

/etc/目录为linux系统的默认的配置文件及服务启动命令的目录
a.请用tar打包/etc整个目录(打包及压缩)
b.请用tar打包/etc整个目录(打包及压缩,但需要排除/etc/services文件)
c.请把a点命令的压缩包,解压到/tmp指定目录下(最好只用tar命令实现)

tar下的参数


tar zcvf /tmp/etc.tar.gz  /etc/
压缩之后放在哪
要压缩的
z  gzip
通过gzip软件压缩
c  create
创建包
v  verbose 显示过程
f  file
指定文件 (在tar中  f 必须要在最后边)
t  list
显示压缩包内容
x  extaact 解压
压缩
zcvf  zcf
查看  ztf   tf
解压  zxf   xf

创建压缩包

一般压缩不用参数v  不用显示压缩过程 所以直接用zcf即可

[root@nfsnobody tmp]# tar ztf /tmp/etc.tar.gz   打包及压缩

解压

解压前先进入要解压到的目录

[root@nfsnobody tmp]# tar zxf etc.tar.gz   ##先进入tmp目录

解压到指定目录

解压使用参数zxf  z可以省略 xf即可

[root@nfsnobody tmp]# tar xf /tmp/etc.tar.gz -C
/opt/  解压到opt目录
[root@nfsnobody tmp]# ll /opt/                         解压后检查
total 8
drwxr-xr-x. 78 root root 4096 Jul 10 19:41 etc
drwxr-xr-x.
2 root root 4096 Mar 26  2015 rh

排除某个文件或目录

要求:排除services

排除多个
--exclude-from 加个名单  .txt
.txt里写上路径内容
[root@nfsnobody ~]# tar zcf /tmp/etc.tar.gz
/etc/ --exclude /etc/services
[root@nfsnobody ~]# tar tf /tmp/etc.tar.gz
|grep "services"  检查是否排除
etc/init/readahead-disable-services.conf

tar经典故障

tar: Removing leading `/' from member names

安全警告  删除 开始   /
把压缩包的 开头的/ 删除掉
由绝对路径 变为了相对路径
防止解压的时候覆盖源文件

cd ls及tail命令补充

cd命令补充

cd      change directory 进入目录
cd .     进入到当前目录
cd ..     进入到上一级目录
cd -     退回到上一次所在的目录
cd ~     返回家目录
-号单独在Linux并没有什么特殊含义 与命令连用会有含义 比如cd
cd /etc/sysconfig/network-scripts/
[root@nfsnobody network-scripts]# cd -
/root
[root@nfsnobody ~]#

cd命令练习题

进入到/etc/sysconfig/network-scripts/目录,并查看你所在位置
进入到上一级目录,并查看你所在位置
进入到/root目录下面,并显示你所在位置
快速返回到/你上一次的位置
回到老家

[root@nfsnobody ~]# cd /etc/sysconfig/network-scripts/   进入/etc/sysconfig/network-scripts/
[root@nfsnobody network-scripts]# pwd                    查看当前位置
/etc/sysconfig/network-scripts
[root@nfsnobody network-scripts]# cd ..                  进入上一级目录
[root@nfsnobody sysconfig]# pwd                          查看当前位置
/etc/sysconfig
[root@nfsnobody sysconfig]# cd                           进入到家目录 cd=cd~
[root@nfsnobody ~]# pwd                                  查看当前位置
/root

[root@nfsnobody ~]# cd -                               退出到上一次所在的目录
/etc/sysconfig
[root@nfsnobody sysconfig]# cd ~                       返回家目录
[root@nfsnobody ~]# pwd
/root
[root@nfsnobody ~]#

ls命令补充

ls -lrt 以实际
-r 逆序
-t 按照修改时间

tail命令

问题:调试系统服务时,希望能实时查看/var/log/messages系统日志的更新,如何做?

[root@nfsnobody etc]# tail -f /var/log/secure
#实时查看日志更新
tail -f====tailf

-F===-f --try  如果文件不存在  会不断重试
posted on 2019-12-04 12:03  合衬-nfsnobody.com  阅读(223)  评论(0编辑  收藏  举报