Linux-目录结构、命令、文件属性、打包压缩、grep过滤、find查找

Linux-目录结构与命令集合

1. Linux 目录结构概述

在Linux中目录一切从根开始,Linux目录类似于倒挂的大树
使用Linux之前最好对Linux目录结构有个概念,熟悉下常用的目录

1.2Linux目录(根下)

(1)Windows目录:文件夹,一般分类存放文件
(2)Linux目录:
在这里插入图片描述

1.3Linux的路径

路径说明举例子
绝对路径从根开始的是绝对路径举例: /etc/hosts 、/etc/sys/
相对路径不是从根开始的路径是相对路径举例: var var/log

2.Linux的命令

(1)进入到某个目录: cd
(2)列表显示目录的内容:ls
(3)显示所在的目录:pwd
(4)创建目录:mkdir
(5)创建文件:touch
(6)移动:mv
(7)复制(也叫拷贝):cp
==(8)编辑和修改文件:vim ==
==(9)删除:rm 忘记rm命令 ==
==(10)输出信息到屏幕的命令 echo ==

提示:操作命令和目录的时候可以使用tab键

(1)①cd与pwd命令含义

**命令** **含义**
**cd**change directory进入到某个目录
**pwd**print working directory显示当前所在位置 (绝对路径)
①举例:#进入到/opt/ 目录然后查看所在目录
进入到某个目录:cd
查看当前所在的目录:pwd
[root@zhx ~]# 
[root@zhx ~]# cd /opt/    #进入到/opt/ 目录命令cd 
[root@zhx opt]# pwd     #查看当前所在的目录使用命令pwd
/opt
[root@zhx opt]# 
②举例:#进入到/etc/sysconfig/network-scripts/目录然后查看所在目录
[root@zhx ~]# #进入到/etc/sysconfig/network-scripts/目录然后查看所在目录
[root@zhx ~]# cd /etc/sysconfig/
[root@zhx sysconfig]# cd network-scripts/
[root@zhx network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@zhx network-scripts]#

cd命令的其它用法

cd命令的其它用法说明
cd ~ (~波浪线表示家目录)快速回到家目录
cd快速回到家目录
cd ..(.英文状态的点)返回到上一层目录
cd ../ (/斜线表示根)返回到上一层目录
cd - (-表示减号)返回到上一次所在目录里
①举例:在某个目录里,想要回到家目录~
cd /etc/selinux/tmp/
cd ~ (~表示家目录) 
cd 
[root@localhost tmp]# pwd
/etc/selinux/tmp
[root@localhost tmp]# cd 
[root@localhost ~]# pwd
/root
②举例子:在某个目录里,想要回到上一层目录里
[root@localhost tmp]# pwd
/etc/selinux/tmp
[root@localhost tmp]# cd ..
[root@localhost selinux]# pwd
/etc/selinux
[root@localhost tmp]# pwd
/etc/selinux/tmp
[root@localhost tmp]# cd ../
[root@localhost selinux]# pwd
/etc/selinux
③举例:返回到上次所在的目录:cd  -
[root@localhost ~]# cd /etc/selinux/tmp/
[root@localhost tmp]# pwd
/etc/selinux/tmp
[root@localhost tmp]# cd /opt/
[root@localhost opt]# pwd
/opt
[root@localhost opt]# cd -
/etc/selinux/tmp
[root@localhost tmp]# pwd
/etc/selinux/tmp
[root@localhost tmp]#

提示:如果返回到多层目录可以使用命令:cd ../../

(2)列表显示目录的内容:ls
ls list列表 查看目录里的内容

**ls 命令选项**
ls long 以长格式显示(显示详细信息) 比如文件的大小、时间、所有者信息
t time 按着修改时间排序
r 逆序排序
-h以人类可读形式显示大小
-l以长格式列出文件和目录信息
-a显示目录下的所有文件,包括以“.” 字符开始的隐藏文件
-d目录时,列出目录本身而非目录的文件,
-A列出所有文件,包括隐藏文件,不包括“.”与“…” 这两个文目录
-S文件大小进行排序
(1)举例子:查看根/下面的内容显示详细信息(举例子:类似于windows的查看详细信息)
[root@localhost ~]# ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr  zhx
[root@localhost ~]# ls -l /
总用量 16
lrwxrwxrwx.   1 root root    7 6月  26 16:25 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 6月  26 16:35 boot
drwxr-xr-x.  20 root root 3240 8月  13 13:45 dev
drwxr-xr-x.  80 root root 8192 8月  13 13:45 etc
drwxr-xr-x.   5 root root   46 8月   1 15:24 home
lrwxrwxrwx.   1 root root    7 6月  26 16:25 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 6月  26 16:25 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   2 root root    6 4月  11 2018 opt
dr-xr-xr-x. 115 root root    0 8月  13 13:45 proc
dr-xr-x---.   2 root root  135 7月  22 16:45 root
drwxr-xr-x.  26 root root  740 8月  13 13:45 run
lrwxrwxrwx.   1 root root    8 6月  26 16:25 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 8月  13 13:45 sys
drwxrwxrwt.   8 root root  127 8月  13 14:31 tmp
drwxr-xr-x.  13 root root  155 6月  26 16:25 usr
drwxr-xr-x.  19 root root  267 6月  26 17:09 var
drwxr-xr-x.   3 root root   33 8月  13 14:26 zhx
(2)ls  -l  可以简写为ll    
[root@localhost ~]# ll  /
总用量 16
lrwxrwxrwx.   1 root root    7 6月  26 16:25 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 6月  26 16:35 boot
drwxr-xr-x.  20 root root 3240 8月  13 13:45 dev
drwxr-xr-x.  80 root root 8192 8月  13 13:45 etc
drwxr-xr-x.   5 root root   46 8月   1 15:24 home
lrwxrwxrwx.   1 root root    7 6月  26 16:25 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 6月  26 16:25 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   2 root root    6 4月  11 2018 opt
dr-xr-xr-x. 114 root root    0 8月  13 13:45 proc
dr-xr-x---.   2 root root  135 7月  22 16:45 root
drwxr-xr-x.  26 root root  740 8月  13 13:45 run
lrwxrwxrwx.   1 root root    8 6月  26 16:25 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 8月  13 13:45 sys
drwxrwxrwt.   8 root root  127 8月  13 14:51 tmp
drwxr-xr-x.  13 root root  155 6月  26 16:25 usr
drwxr-xr-x.  19 root root  267 6月  26 17:09 var
drwxr-xr-x.   3 root root   33 8月  13 14:26 zhx
(3)查看根目录/ 下面按着修改时间 逆序排序
[root@localhost ~]# ls -lrt /
总用量 16
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
drwxr-xr-x.   2 root root    6 4月  11 2018 opt
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   2 root root    6 4月  11 2018 media
lrwxrwxrwx.   1 root root    7 6月  26 16:25 bin -> usr/bin
lrwxrwxrwx.   1 root root    9 6月  26 16:25 lib64 -> usr/lib64
lrwxrwxrwx.   1 root root    7 6月  26 16:25 lib -> usr/lib
lrwxrwxrwx.   1 root root    8 6月  26 16:25 sbin -> usr/sbin
drwxr-xr-x.  13 root root  155 6月  26 16:25 usr
dr-xr-xr-x.   5 root root 4096 6月  26 16:35 boot
drwxr-xr-x.  19 root root  267 6月  26 17:09 var
dr-xr-x---.   2 root root  135 7月  22 16:45 root
drwxr-xr-x.   5 root root   46 8月   1 15:24 home
dr-xr-xr-x. 114 root root    0 8月  13 13:45 proc
dr-xr-xr-x.  13 root root    0 8月  13 13:45 sys
drwxr-xr-x.  20 root root 3240 8月  13 13:45 dev
drwxr-xr-x.  80 root root 8192 8月  13 13:45 etc
drwxr-xr-x.  26 root root  740 8月  13 13:45 run
drwxr-xr-x.   3 root root   33 8月  13 14:26 zhx
drwxrwxrwt.   8 root root  127 8月  13 14:51 tmp
(4)举例:以人类可读形式显示大小 
[root@localhost ~]# ll -lh /
总用量 16K
lrwxrwxrwx.   1 root root    7 6月  26 16:25 bin -> usr/bin
dr-xr-xr-x.   5 root root 4.0K 6月  26 16:35 boot
drwxr-xr-x.  20 root root 3.2K 8月  13 13:45 dev
drwxr-xr-x.  80 root root 8.0K 8月  13 13:45 etc
drwxr-xr-x.   5 root root   46 8月   1 15:24 home
lrwxrwxrwx.   1 root root    7 6月  26 16:25 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 6月  26 16:25 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   2 root root    6 4月  11 2018 opt
dr-xr-xr-x. 114 root root    0 8月  13 13:45 proc
dr-xr-x---.   2 root root  135 7月  22 16:45 root
drwxr-xr-x.  26 root root  740 8月  13 13:45 run
lrwxrwxrwx.   1 root root    8 6月  26 16:25 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 8月  13 13:45 sys
drwxrwxrwt.   8 root root  127 8月  13 14:51 tmp
drwxr-xr-x.  13 root root  155 6月  26 16:25 usr
drwxr-xr-x.  19 root root  267 6月  26 17:09 var
drwxr-xr-x.   3 root root   33 8月  13 14:26 zhx

计算机中的单位
字节 byte 一个英文字符
1KB=1024byte
1MB=1024KB=1024^2bytes
1GB=1024MB=1024^3bytes
1TB=1024GB=1024^4bytes
1PB=1024TB=1024^5bytes

(4)创建目录:mkdir
mk make dir directory

mkdir 创建目录选项参数
-p ①创建多层目录,父目录及其子目录及子目录的子目录,②创建目录时已存在的也不会报错提示目录已存在
-v显示创建目录的过程
-m设置新创建目录的默认目录对应的权限

举例子:

(1)创建/zhx 目录
[root@localhost ~]# mkdir /zhx
[root@localhost ~]# cd /zhx/
[root@localhost zhx]# pwd
/zhx
(2)如果目录存在则创建失败
[root@localhost ~]# mkdir /zhx
mkdir: 无法创建目录"/zhx": 文件已存在
[root@localhost ~]# mkdir /zhx
mkdir: 无法创建目录"/zhx": 文件已存在
[root@localhost ~]# mkdir /zhx
mkdir: 无法创建目录"/zhx": 文件已存在
(3)创建多层目录   选项参数-p  
[root@localhost ~]# mkdir  /zhx/zhxx/zhui/zhxd
mkdir: 无法创建目录"/zhx/zhxx/zhui/zhxd": 没有那个文件或目录
[root@localhost ~]# mkdir -p  /zhx/zhxx/zhui/zhxd
[root@localhost ~]#

(5)创建文件或修改文件属性:touch

touch 命令选项参数
-a更改指定文件的最后访问时间
-m更改指定文件的最后修改时间
(1)举例子:在/zhx/目录下创建zhx.txt文件   创建/zhx/zhx.txt
①先创建目录
②在创建文件
相对路径创建文件
[root@localhost ~]# cd /zhx/
[root@localhost zhx]# touch zhx.txt
[root@localhost zhx]# ls
zhx.txt  zhxx
[root@localhost zhx]#
绝对路径创建多个文件 zhx,txt      zhang.txt
[root@localhost zhx]# touch    /zhx/zhx.txt    /zhx/ zhang.txt

(6)移动:mv
==mv移动 move ==

**mv** 在哪个目录下移动到哪个目录下
**移动** mv文件或目录…移动到哪个目录
**改名** mv文件或目录文件
(1)举例子:移动/zhx/zhx.txt   到/opt/ 目录
[root@localhost ~]# mv /zhx/zhx.txt /opt/
[root@localhost ~]# ls -l /opt/
总用量 0
-rw-r--r--. 1 root root 0 8月  13 14:26 zhx.txt
(2)举例子:还可以改名操作(文件或目录都可以)把/opt/zhx.txt   改成/opt/zhuix.txt
[root@localhost ~]# mv /opt/zhx.txt /opt/zhuix.txt
[root@localhost ~]# ls /opt/
zhuix.txt
[root@localhost ~]# ls -l /opt/
总用量 0
-rw-r--r--. 1 root root 0 8月  13 14:26 zhuix.txt

(7)复制(叫拷贝):cp
cp copy 复制文件或目录

**cp 命令选项**
**-a** all意思是所有,详情-dpr
**-r** 递归复制,复制目录及目录的内容
**-p** 复制的时候保持文件的所有者、权限信息及时间属性
**-d** 复制的文件是符号链接,那么复制符号链接本身,保留符号链接所指向的目标文件或目录
**-d** 复制的文件是符号链接,那么复制符号链接本身,保留符号链接所指向的目标文件或目录
**-i** 覆盖已有文件提示用户确认 一下
**-t** 默认格式是“cp 源文件 目标文件” ,使用
(1)复制/etc/resolv.conf   到/zhx/目录下
[root@localhost ~]# cp /etc/resolv.conf /zhx/
[root@localhost ~]# ls -l /zhx/
总用量 4
-rw-r--r--. 1 root root 51 8月  13 16:09 resolv.conf
drwxr-xr-x. 3 root root 18 8月  13 14:16 zhxx

cp的另外含义 :备份 基本操作:备份

==(9)删除:rm ==
rm remove移除、删除文件或目录

**rm选项参数**
**-f**force强制删除文件不提示.(危险操作生产中注意)
**-r**递归删除,删除目录及目录的内容
(1)举例子:删除/opt/zhx.txt
[root@localhost ~]# rm  /opt/zhuix.txt 
rm:是否删除普通空文件 "/opt/zhuix.txt"?y或n 
[root@localhost ~]# ls -l /opt/
总用量 0
(2)强制删除文件
[root@localhost ~]# ls -l /zhx/
总用量 4
-rw-r--r--. 1 root root 51 8月  13 16:09 resolv.conf
drwxr-xr-x. 3 root root 18 8月  13 14:16 zhxx
[root@localhost ~]# rm -f  /zhx/resolv.conf 
[root@localhost ~]# ls -l /zhx/
总用量 0
drwxr-xr-x. 3 root root 18 8月  13 14:16 zhxx

==(10)输出信息到屏幕的命令 echo ==

(1)举例子:输出zzz   aaaa  到屏幕
[root@localhost ~]# echo zzz  aaaa
zzz aaaa
(2)举例子:输出内容到文件中 /zhx/zhx.txt   写入zzzzz 
[root@localhost ~]# echo zzz >/zhx/zhx.txt 
[root@localhost ~]#
(3)举例子:输出有规律的
[root@localhost ~]# echo {0..100} >/zhx/zhx.txt 
[root@localhost ~]# cat /zhx/zhx.txt 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

重点:(1)>大于号重定向符号,先清空文件内容,然后在写入内容

  (2)>>两个大于号是追加重定向,不清空,把内容写入到文件末尾   

==(11)显示文件的内容命令:cat ==

**cat命令选项**
-nnumber 显示文件内容及行号
(1)举例子:显示文件里的内容:
[root@localhost ~]# cat /zhx/zhx.txt 
zzz
(2)举例子:显示文件的内容,并以行号展示
[root@localhost ~]# cat -n /etc/passwd
     1	root:x:0:0:root:/root:/bin/bash
     2	bin:x:1:1:bin:/bin:/sbin/nologin
     3	daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4	adm:x:3:4:adm:/var/adm:/sbin/nologin
     5	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6	sync:x:5:0:sync:/sbin:/bin/sync
     7	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8	halt:x:7:0:halt:/sbin:/sbin/halt
     9	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10	operator:x:11:0:operator:/root:/sbin/nologin
    11	games:x:12:100:games:/usr/games:/sbin/nologin
    12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13	nobody:x:99:99:Nobody:/:/sbin/nologin
    14	systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    15	dbus:x:81:81:System message bus:/:/sbin/nologin
    16	polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    17	tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    18	abrt:x:173:173::/etc/abrt:/sbin/nologin
    19	sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    20	postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    21	fwkyx:x:989:998::/home/fwkyx:/bin/bash
    22	admin:x:1001:1001::/home/admin:/bin/bash

3.服务器

服务器概述:称为services ,一般运行Linux系统、Windows系统的设备软件和服务。Xshell远程连接的是服务器,支持各种app,小程序及各种服务类软件 服务器:分为服务器硬件和服务器软件。在硬件服务器(计算机)上安装服务器软件,才可以对外提供服务。 比如:让其他的计算机访问当前服务器,为其他的计算机提供服务。 (1)服务器硬件:是指在互联网上具有独立IP地址的计算机,比如我们自己用的计算机也可以作为服务器使用。 (2)服务器软件:就是一个计算机程序。比如Mysql服务器软件,tomcat服务器软件。服务器软件分为很多类型,比如:ftp服务器,数据库服务器,web服务器软件,邮件服务器等。

3.1 服务器种类

**服务器种类**特点
物理服务器需要购买之后部署在机房里
公有云:云服务器给分配好的
私有云:虚拟机数据安全、内部使用

(1)物理服务器:机架式服务器
(2)服务器:dell戴尔服务器、浪潮服务器、国产服务器、华为服务器、联想服务器…
在这里插入图片描述

(3)机房:
在这里插入图片描述

4.目录结构

**/etc/**含义应用
**/etc/hostname**主机名配置文件每个主机名含义是不一样的
**/etc/hosts**ip与主机名对应关系在网站中访问使用
**/etc/sysconfig/network-scripts/ifcfg-eth0 或ens33**网卡配置文件
**/etc/rc.local**开机自启动的配置文件开机的时候运行的命令,服务都会在这个文件中
**/etc/fstab**开机自动挂载的配置文件磁盘配置挂载
**/etc/motd**文件里面的内容,会在系统登录后显示出来
**/etc/issue 或/etc/issue.net**文件里面的内容,会在系统登录前显示出来这个文件内容清空
(1)更改主机名:①nmtui  
①[root@localhost ~]# nmtui
[root@localhost ~]#

①更改主机名命令:nmtui 回车
在这里插入图片描述
②[root@localhost ~]# hostnamectl set-hostname zhx

②[root@localhost ~]# hostnamectl set-hostname zhx
[root@localhost ~]# cat /etc/hostname 
zhx
[root@zhx ~]#

在这里插入图片描述
③hostname命令查看或更改主机名临时,重启Linux失效

[root@localhost ~]# hostname   
localhost
[root@localhost ~]# hostname zhx
[root@localhost ~]# cat /etc/hostname 
localhost
[root@localhost ~]# hostname
zhx

④网卡配置文件

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=01e695c1-a3b3-435b-a31a-4cde8cff2a75
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5

⑤开机自启动配置文件/etc/rc.local

使用的时候需要给/etc/rc.d/rc.local增加执行权限
chmod +x   /etc/rc.d/rc.local

/etc/rc.local是个软连接,快捷方式,源文件是/etc/rc.d/rc.local

[root@localhost ~]# ll /etc/rc.local 
lrwxrwxrwx. 1 root root 13 6月  26 16:27 /etc/rc.local -> rc.d/rc.local
[root@localhost ~]#

在这里插入图片描述
⑥/etc/issue 或/etc/issue.net 系统登录前的提示信息
在这里插入图片描述
/var/

**/var/经常变化的**
**/var/log**系统和服务的各种日志目录
**/var/log/secure**存放用户登录情况日志
**/var/log/messages**各种服务的日志

/proc/

**/proc/系统、进程信息、内核**含义
**/proc/cpuinfo **cpu信息
**/proc/meminfo **内存信息
**/proc/loadavg**系统负载,衡量系统繁忙的指标
**/proc/mounts**系统磁盘挂载信息

①cpu信息

cpu颗数,cpu核心数
cpu颗数:有多少个物理cpu.
cpu核心数:1颗有多少个核心,每个核心相当于一个工人。
lscpu 命令查看cpu信息,颗数,核心数
[root@localhost ~]# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
座:                 1
NUMA 节点:         1
厂商 ID:           GenuineIntel
CPU 系列:          6
型号:              154
型号名称:        12th Gen Intel(R) Core(TM) i5-12500H
步进:              3
CPU MHz:             3110.413
BogoMIPS:            6220.82
超管理器厂商:  VMware
虚拟化类型:     完全
L1d 缓存:          48K
L1i 缓存:          32K
L2 缓存:           1280K
L3 缓存:           18432K
NUMA 节点0 CPU:    0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip gfni vaes vpclmulqdq movdiri movdir64b spec_ctrl intel_stibp flush_l1d arch_capabilities
[root@localhost ~]# 

在这里插入图片描述

5.Linux环境优化

5.1检查是否能联网

①检查是否能联网

[root@localhost ~]# ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=102 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=123 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=99.1 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=4 ttl=128 time=117 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=5 ttl=128 time=98.3 ms
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 98.328/108.093/123.604/10.352 ms

②配置yum源,安装软件的软件仓库

①配置yum源(软件仓库)
先备份:
cp  /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak
curl  -o  /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl  -o  /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
②安装Linux软件
yum  install  -y    vim  tree  wget  bash-completion  bash-completion-extras   lrzsz  net-tools  sysstat  iotop
iftop  htop unzip  nc  nmap telnet  bc  psmisc   httpd-tools   bind-utils  nethogs  expect  
yum  -y install  sl  cowsay   

6.命令vi的升级版vim编辑器

①vi对比vim的区别

**编辑器**含义
**vi**Linux系统就有,不需要安装没有vim功能多
**vim**需要安装,vi的升级版

vi和vim使用方法
(1)打开文件(打开也自动创建)

①先检查/zhx/目录
ll /zhx/zhx.txt
②vim  /zhx/zhx.txt

③进入编辑模式可以写入内容
按小写字母i
在这里插入图片描述
退出编辑模式
按Esc键退出编辑模式
在这里插入图片描述
保存与退出
输入:按 :wq write(写和保存的含义) quit(退出)
输入:按:q! 强制不保存退出
在这里插入图片描述
检查编辑文件保存的内容

[root@localhost ~]# cat /zhx/zhx.txt 
ddffscdvvf
[root@localhost ~]# 

②vim几种模式
命令模式:用vi或vim打开文件后进入的模式
编辑模式:俗称插入模式按一些快捷键小写字母i
底行模式:保存与退出,搜索
可视块模式:批量编辑内容

在这里插入图片描述
③vim快捷键使用方法
移动光标类快捷键

行之间的:
光标移动到最后一行  G (shift+g)
光标移动到第一行   gg
光标移动到某一行  100gg
上下左右快捷键:左←h    右→ l   上↑k   下↓ j
列之间的:
光标移动到行首:^(数字6)
光标移动到行首:$(数字4)
复制,删除(剪贴) 可以在前面加上数字:
复制当前行:yy  			复制3行:3yy
删除当前行:dd    
粘贴到当前行:p   		粘贴3行:3p
撤销快捷键: 
撤销  u 
显示行号:  在底行模式输入:set  nu  或set  number 
取消行号: 在底行模式输入:set  nonu
搜索(默认向下查找):   在底行模式输入  / 加上要找的的内容
继续向下搜索     n (next)
继续向上搜索      N 
临时取消高亮显示 :输入:noh
批量操作:
批量删除多行或复制多行:  shift +V 进入到可视行模式(批量操作)  按上下键 选择要处理的内容    
(1)举例子:
按ctrl +v  ,进入批量操作模式,然后选择要操作的区域 ,删除d  
(2)举例子:
按ctrl  +v    ,进入批量操作模式,然后选择要操作的区域,选完后,按shift  + i (I)  ,进入编辑模式,写入内容,按Esc等待即可.

④vim故障
举例子:
当编辑文件时突然断网文件意外退出时再打开文件时提示信息,会生成隐藏的文件:/zhx/.zhx.txt.swp

E325: 注意
发现交换文件 "/zhx/.zhx.txt.swp"
           所有者: root    日期: Sun Aug 20 11:38:34 2023
           文件名: /zhx/zhx.txt
           修改过: 是
           用户名: root      主机名: localhost.localdomain
          进程 ID: 2295
正在打开文件 "/zhx/zhx.txt"
             日期: Sun Aug 20 09:24:26 2023

(1) Another program may be editing the same file.  If this is the case,
   be careful not to end up with two different instances of the same
   file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
   如果是这样,请用 ":recover" 或 "vim -r /zhx/zhx.txt"
   恢复修改的内容 (请见 ":help recovery")。
   如果你已经进行了恢复,请删除交换文件 "/zhx/.zhx.txt.swp"
   以避免再看到此消息。

交换文件 "/zhx/.zhx.txt.swp" 已存在!
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)):

在这里插入图片描述
原因为什么会生成隐藏文件?
①vim编辑文件的时候,会生成临时文件(隐藏文件)
②正常保存退出文件时,隐藏文件会消失。
③异常情况:断网、断电、编辑一个文件打开多个时
查看隐藏文件
在这里插入图片描述
处理方法如下:

①删除临时文件。根据提示的路径删除对应的文件即可
[root@localhost zhx]# rm -f .zhx.txt.swp
②查看隐藏文件
[root@localhost zhx]# ls -la /zhx/
总用量 4
drwxr-xr-x.  3 root root  33 8月  20 11:58 .
dr-xr-xr-x. 18 root root 235 8月  13 14:07 ..
-rw-r--r--.  1 root root  11 8月  20 09:24 zhx.txt
drwxr-xr-x.  3 root root  18 8月  13 14:16 zhxx
③恢复未保存的数据(根据提示信息恢复)
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)):
[root@localhost zhx]# vim -r zhx.txt
[root@localhost zhx]# 

7.查看日志的组合命令

概述:查看文件内容里面有上万行甚至上千行,文件特别大、使用cat查看文件 、vim编辑文件时,系统可能出现卡顿、内存不足现象。
使用不占用系统资源命令查看系统的日志:①head②tail③more④less

7.1查看日志的命令

(1)head 命令显示文件的头几行,默认显示头10行

**head 命令选项参数**
**-n **默认显示文件头10行
①举例子:显示/et/passwd 的前8行
[root@localhost ~]# head -n8 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
[root@localhost ~]# head -n 8 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
[root@localhost ~]# head -8 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

(2)tail命令显示文件后几行,默认是后10行
==命令tailf等价于tail -f ==

**tail 命令选项参数**
**-n number**默认显示文件最后10行
**-f **显示文件末尾实时更新的日志
(1)举例子:显示/etc/passwd的后8行
[root@localhost ~]# tail -n8 /etc/passwd
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
fwkyx:x:989:998::/home/fwkyx:/bin/bash
admin:x:1001:1001::/home/admin:/bin/bash
[root@localhost ~]# tail -8 /etc/passwd
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
fwkyx:x:989:998::/home/fwkyx:/bin/bash
admin:x:1001:1001::/home/admin:/bin/bash
[root@localhost ~]# tail -n 8 /etc/passwd
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
fwkyx:x:989:998::/home/fwkyx:/bin/bash
admin:x:1001:1001::/home/admin:/bin/bash

(3)可以实时查看文件的更新

举例子:打开两个窗口查看安全日志的实时更新,一个窗口看实时更新的日志,另外一个窗口往/var/log/secure文件追加内容
①tail  -f  等价于tail  --follow 
[root@localhost ~]# tail -f /var/log/secure
Aug 20 11:44:19 localhost sshd[2331]: pam_unix(sshd
Aug 20 11:44:45 localhost sshd[2358]: Accepted pass
Aug 20 11:44:45 localhost sshd[2358]: pam_unix(sshdd=0)
Aug 20 12:03:54 localhost sshd[2298]: pam_unix(sshd
Aug 20 12:03:56 localhost sshd[2433]: Accepted pass
Aug 20 12:03:56 localhost sshd[2433]: pam_unix(sshdd=0)
Aug 20 12:58:29 localhost sshd[2358]: pam_unix(sshd
Aug 20 12:58:29 localhost sshd[2433]: pam_unix(sshd
Aug 20 12:59:27 localhost sshd[2976]: Accepted pass
Aug 20 12:59:27 localhost sshd[2976]: pam_unix(sshdd=0)

Aug 20 13:12:51 localhost sshd[3063]: Accepted pass
Aug 20 13:12:51 localhost sshd[3063]: pam_unix(sshdd=0)

1
1
1
1
1
1
1

②[root@localhost ~]# echo 1 >>/var/log/secure
[root@localhost ~]# 

错误的关键词一般包括:failed 、failure、error

(3)less 按着页显示文件的内容

命令选项参数:q 退出,空格/f  下一页  ,b 上一页(back)  ,到最后一行G ,到第一行小g ,到其中某一行:55g

(4)more按着页显示文件的内容,到最后一行退出

8.wc 统计类命令

==wc命令与其它命令配合使用,统计多少次数==
把前面的命令的结果,传递给后面的命令 使用管道符号(竖线)| 命令组合使用
管道符号 |

**概述:word count 统计文件中单词情况,用来统计文件中的行数**

**wc 命令选项参数**
**-l**line 行,统计文件中有多少行
举例子:统计/zhx/zhx.txt中有多少行
[root@localhost ~]# wc  /zhx/zhx.txt 
 5  5 65 /zhx/zhx.txt
[root@localhost ~]# wc -l  /zhx/zhx.txt 
5 /zhx/zhx.txt
[root@localhost ~]#

9.查询位置的命令

(1)which
查询命令的位置

举例子
[root@localhost ~]# which awk 
/usr/bin/awk
[root@localhost ~]# which awk wc cd 
/usr/bin/awk
/usr/bin/wc
/usr/bin/cd

(2)whereis
查询命令相关的位置和其它的位置

举例子:
[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
[root@localhost ~]# whereis ls wc
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
wc: /usr/bin/wc /usr/share/man/man1/wc.1.gz
[root@localhost ~]# whereis ls wc awk
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
wc: /usr/bin/wc /usr/share/man/man1/wc.1.gz
awk: /usr/bin/awk /usr/libexec/awk /usr/share/awk /usr/share/man/man1/awk.1.gz
[root@localhost ~]# whereis -b  ls wc awk
ls: /usr/bin/ls
wc: /usr/bin/wc
awk: /usr/bin/awk /usr/libexec/awk /usr/share/awk

(3)查找命令绝对路径

10.文件比较命令(1)diff(2)vimdiff

概述:当文件备份了一份,比较两个文件是否一致的命令
(1)diff
举例子

(1)比较两个文件一致的情况下:是没有结果
[root@localhost zhx]# diff zhx.txt zhx.txt.gai 
[root@localhost zhx]# 
(2)比较两个文件不一致的情况下:有结果
[root@localhost zhx]# diff zhx.txt zhx.txt.gai 
1a2,9
> zhx.txt
> zhx.txt
> zhx.txt
> zhx.txt
> zhx.txt
> zhx.txt
> zhx.txt
> zhx.txt

(2)vimdiff

举例子:vimdiff 相当于打开连个文件也可以编辑文件,退出时退出两次:wq
(1)[root@localhost zhx]# vimdiff zhx.txt zhx.txt.gai
还有 2 个文件等待编辑
[root@localhost zhx]#

查看结果如下图
在这里插入图片描述

11.排序去重(1)sort(2)uniq

提示:sort命令时按着字母或字符进行对比,会影响数字进行对比导致失败,在命令加个选项参数加上-n
vim编辑文件的选项参数:dG删除文件内容

(1)sort含义排序

**sort 选项参数**解释说明
**-n **把排序的内容当作数字,按照数字大小进行排序
**-k **对文件里某一列进行排序
**-t **指定分隔符,必须是指一个分隔符
**-r **对文件逆序排序
**-u**去除重复行
①对文件进行排序
[root@localhost zhx]# cat zhx.txt
0000
01
34
78
456
10
3333
44

[root@localhost zhx]# sort zhx.txt

0000
01
10
3333
34
44
456
78
[root@localhost zhx]# sort -n zhx.txt

0000
01
10
34
44
78
456
3333
[root@localhost zhx]# 
(2)对指定列进行排序参数选项-k
[root@localhost zhx]# cat zhx.txt
w   22
b   37
b   19
[root@localhost zhx]# sort -n -k 2 zhx.txt
b   19
w   22
b   37
(3)对文件逆序排序参数选项:-r 
[root@localhost zhx]# sort -rnk 2 zhx.txt
b   37
w   22
b   19
(4)通过sort对多列进行排序
sort -rn -k2 -k4  xxxx.txt
(5)以.点为分隔符进行排序
sort  -t “.”   -rn     -k2,2   -k3,3    xxx.txt 

提示:-rn 表示对数字进行排序,-k2,2 仅对第二列进行排序,-k3,3表示对第三列进行排序

(2)uniq
uniq去重(去掉重复的只留下一个)

uniq 选项参数解释说明
-c 去重并显示次数,重复显示多少次

提醒:uniq命令只能对相邻的行进行(去重),其次不相邻使用sort命令进行整理

(1)单独进行文件进行去重
uniq   xxx.txt        
(2)相邻的进行去重
uniq  -c  xxx.txt       
(3)不相邻的进行去重
sort  xxx.txt  |uniq  -c  |sort  -rn  |head -5 

Linux中上传和下载命令:lrzsz(windows和Linux之间的上传、下载)
zip包解压命令格式:unzip xxx.zip(某某包名 )

12.日期相关命令

(1)date命令

date 选项参数解释说明
+显示时间或日期
-s修改时间
-d指定格式显示时间或日期
(1)中文的显示时间,英文的显示时间不一样
[root@localhost ~]# date
2023年 08月 20日 星期日 17:31:38 CST
(2)按指定时间显示日期
[root@localhost ~]# date +%F
2023-08-20
[root@localhost ~]# date +%Y%m%d
20230820
[root@localhost ~]# date +%T
17:40:41
[root@localhost ~]# date +%H:%M:%S
17:43:00
(3)按着指定格式显示时间或日期
[root@localhost ~]# date -d '1 day'
2023年 08月 22日 星期二 09:57:36 CST
[root@localhost ~]# date -d '-1 day'
2023年 08月 20日 星期日 09:57:44 CST
[root@localhost ~]# 
(4)手动修改时间
[root@localhost ~]# date  -s   ‘xxxx-xx-xx  xx:xx:xx’

时间类相关词语:year年、month月、day天、hour小时、mintue分钟、second秒

(2)ntpdate命令

(1)检查ntpdate命令
[root@localhost ~]# ntpdate
-bash: ntpdate: 未找到命令
(2)安装ntpdate命令
[root@localhost ~]# yum -y install ntpdate
(3)同步时间(前提有网)
[root@localhost ~]# ntpdate ntp1.aliyun.com

(3)时区修改

[root@localhost ~]# timedatectl
      Local time: 一 2023-08-21 10:19:32 CST
  Universal time: 一 2023-08-21 02:19:32 UTC
        RTC time: 二 2023-08-22 02:19:31
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai

在这里插入图片描述
在这里插入图片描述

特殊符号:反引号``,反引号的命令优先执行等价于=$()

举例子:
[root@localhost ~]# ll `which w`
-rwxr-xr-x. 1 root root 19912 4月   1 2020 /usr/bin/w
[root@localhost ~]#

13.文件属性

[root@localhost ~]# ls -lhi
总用量 4.0K
33574978 -rw-------. 1 root root 1.3K 6月  26 16:35 anaconda-ks.cfg
[root@localhost ~]# 

在这里插入图片描述

13.1inode与block的含义

①inode索节点或inode号码,类似于人的身份证号码的唯一标识,用inode号可以访问找到文件的入口,是一个空间,存放文件属性信息。(例如:权限、所有者、文件大小、文件名称)
①inode存放着block的位置:指向文件的位置指针
③block:数据块存放数据

13.2 inode与block的特点有哪些

(1)inode索引节点,存放的时属性信息,block位置
(2)每次创建1个非空文件至少占用1个inode,1个block
(3)1个block默认是4k,inode、block是在格式化时候创建的
(4)创建小文件不足4k时,1个block还有剩余空间存放,其它文件无法使用
(5)创建文件大于4,会占用多个block

13.3如何查看inode和block

(1)block块查看

[root@localhost ~]# df 
文件系统                           1K-块    已用     可用 已用% 挂载点
devtmpfs                         1001948       0  1001948    0% /dev
tmpfs                            1013936       0  1013936    0% /dev/shm
tmpfs                            1013936    9732  1004204    1% /run
tmpfs                            1013936       0  1013936    0% /sys/fs/cgroup
/dev/mapper/centos_zhx--83-root 17811456 2057128 15754328   12% /
/dev/sda1                        1038336  140408   897928   14% /boot
tmpfs                             202788       0   202788    0% /run/user/0
[root@localhost ~]# df -h    #磁盘使用空间情况
文件系统                         容量  已用  可用 已用% 挂载点
devtmpfs                         979M     0  979M    0% /dev
tmpfs                            991M     0  991M    0% /dev/shm
tmpfs                            991M  9.6M  981M    1% /run
tmpfs                            991M     0  991M    0% /sys/fs/cgroup
/dev/mapper/centos_zhx--83-root   17G  2.0G   16G   12% /
/dev/sda1                       1014M  138M  877M   14% /boot
tmpfs                            199M     0  199M    0% /run/user/0
[root@localhost ~]#

(2)inode查看

[root@localhost ~]# df -i    
文件系统                          Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                         250487     389  250098       1% /dev
tmpfs                            253484       1  253483       1% /dev/shm
tmpfs                            253484     729  252755       1% /run
tmpfs                            253484      16  253468       1% /sys/fs/cgroup
/dev/mapper/centos_zhx--83-root 8910848   62428 8848420       1% /
/dev/sda1                        524288     326  523962       1% /boot
tmpfs                            253484       1  253483       1% /run/user/0

13.4 文件类型含义

(1)Windows和Linux文件类型
①Windows下面文件是通过扩展名来识别不同类型:扩展名修改会导致文件类型不可用.(举例子:xxx.exe )
②Linux下面扩展名可以随意更改

Linux的扩展名说明
.cfg 或conf 配置文件
.sh 或.baskshell脚本
.pyPython脚本

(2)Linux文件类型

Linux文件类型说明
d目录 dir
l软连接(快捷方式)
d文件 file
d文件 file
c字符设别 char
b块设备 block 硬盘
s套接字 socket 文件

在这里插入图片描述
(3)怎样查看文件类型
①file命令可以查看文件类型

查看文件类型说明
text普通文件:脚本
data数据文件:用特定命令查看
二进制文件用命令查看
[root@localhost ~]# ll /etc/hostname /var/log/wtmp /bin/ls
-rwxr-xr-x. 1 root root 117608 8月  20 2019 /bin/ls
-rw-r--r--. 1 root root     10 8月  17 18:46 /etc/hostname
-rw-rw-r--. 1 root utmp  81792 8月  26 07:47 /var/log/wtmp
[root@localhost ~]# file  /etc/hostname /var/log/wtmp /bin/ls
/etc/hostname: ASCII text    # 普通文件
/var/log/wtmp: data   ##数据
/bin/ls:       ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
[root@localhost ~]#

(4)软硬链接的含义
概述
①硬链接:在同一个分区中文件的inode相同,这些文件称为硬链接。

②软链接:类似Windows的快捷方式,是文件,存放文件的路径(名称和位置,目录或文件都可以)
举例子:Windows的快捷方式
在这里插入图片描述
③创建软硬链接的方法命令
ln(link)创建软链接或硬链接,默认情况下创建的是硬链接

创建软链接在相对路径下创建的:

*号是键盘里上面的数字8上面的*在Linux中代表所有
软链接的源文件改名、移动哪个目录、删除操作,软链接会是什么状态?是红底白字显示,如何恢复创建一个同样的名字即可恢复

[root@localhost zhx]# ll
总用量 8
-rw-r--r--. 1 root root  29 8月  26 10:27 zhx.txt
-rw-r--r--. 1 root root 129 8月  20 14:45 zhx.txt.gai
lrwxrwxrwx. 1 root root   7 8月  26 10:27 zhx.txt.soft -> zhx.txt
drwxr-xr-x. 3 root root  18 8月  13 14:16 zhxx
[root@localhost zhx]# mv zhx.txt /opt/
[root@localhost zhx]# ll 
总用量 4
-rw-r--r--. 1 root root 129 8月  20 14:45 zhx.txt.gai
lrwxrwxrwx. 1 root root   7 8月  26 10:27 zhx.txt.soft -> zhx.txt
drwxr-xr-x. 3 root root  18 8月  13 14:16 zhxx

在这里插入图片描述

创建软链接的格式:ln -s 源文件 软链接文件
在这里插入图片描述
硬链接

[root@localhost zhx]# ll
总用量 4
-rw-r--r--. 1 root root   0 8月  26 11:34 zhx.txt
-rw-r--r--. 1 root root 129 8月  20 14:45 zhx.txt.gai
lrwxrwxrwx. 1 root root   7 8月  26 10:27 zhx.txt.soft -> zhx.txt
drwxr-xr-x. 3 root root  18 8月  13 14:16 zhxx
[root@localhost zhx]# ln zhx.txt zhx.txt.hard
[root@localhost zhx]# ll zhx.txt 
-rw-r--r--. 2 root root 0 8月  26 11:34 zhx.txt
[root@localhost zhx]# ll zhx.txt zhx.txt.hard 
-rw-r--r--. 2 root root 0 8月  26 11:34 zhx.txt
-rw-r--r--. 2 root root 0 8月  26 11:34 zhx.txt.hard

含义:
硬链接:同一个分区中inode号码相同的文件,称为硬链接。
软链接:符号链接softlink(symlink) 类似Windows的快捷方式,存放源文件的位置。
通过啥创建出来的:
硬链接通过ln创建,软链接通过ln -s 创建
特点:
软链接可以给文件、目录创建
硬链接只能给文件创建,不能给目录创建
删除软链接,源文件可以正常使用
删除源文件,软链接成红底白字闪烁状态
删除硬链接,源文件,软链接不影响
删除源文件和硬链接,则文件就彻底删除了,就类似于入口没有了
可以创建软链接进行服务的升级与回滚操作
升级:删除旧的软链接,创建软链接指向新的版本
回滚:删除旧的软链接,创建软链接指向旧的版本

在这里插入图片描述
④Linux三种时间

Linux三种时间说明
mtimeModify 修改时间
ctimeChange 文件属性变化时间
atimeAccess 访问时间,举例:只要看一次文件,文件时间会更新

stat命令查看文件属性信息:查看文件或目录都可以

[root@localhost ~]# stat /zhx/
  文件:"/zhx/"
  大小:92        	块:0          IO 块:4096   目录
设备:fd00h/64768d	Inode:51633048    硬链接:3
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2023-08-26 14:12:27.256338311 +0800
最近更改:2023-08-26 14:12:24.059338264 +0800
最近改动:2023-08-26 14:12:24.059338264 +0800
创建时间:-
[root@localhost ~]# stat /zhx/zhx.txt
  文件:"/zhx/zhx.txt"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:51634848    硬链接:2
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2023-08-26 11:34:34.946199798 +0800
最近更改:2023-08-26 11:34:22.186199612 +0800
最近改动:2023-08-26 14:12:24.059338264 +0800
创建时间:-

14.打包压缩命令(可用来数据备份)

打包压缩命令说明
tar使用tar命令,创建、查看、解压、解压到指定目录下
zip解压zip格式的是unzip
gzipWindows和Linux的桥梁

提示:用cp命令备份拷贝一份会占用Linux的空间,但用打包压缩备份会占用空间少

14.1 tar命令

(1)Windows的是压缩
(2)Linux的分为两步:①打包②压缩
①打包:举例子就是把文件装在一个文件袋里。
②压缩:压缩文件节省Linux服务器空间
(3)tar命令的用法分为四步:①创建②查看③解压④解压到指定目录下

tar命令参数选项参数选项说明
zgzip 压缩或解压
c创建新的tar包
v显示详细的tar命令执行过程
f指定压缩文件的名称名字
f不解压查看tar包的内容
j使用bzip2命令压缩或解压
x解压tar包
C指定解压的目录或路径
--exclude=PATTERN打包过程中排除不需要处理的文件或目录

①tar命令创建
在这里插入图片描述

f: file   指定压缩包名字, 参数选项f放在参数选项最后面,不放在参数选项最后会报错
v:verbose 显示执行的过程
c:create 创建压缩包(打包)
z: gzip  使用gzip压缩工具进行压缩  tar用来打包   gzip用来压缩
[root@localhost ~]# tar zcvf /opt/zhx.tar.gz  /zhx/
tar: 从成员名中删除开头的“/”
/zhx/
/zhx/zhxx/
/zhx/zhxx/zhui/
/zhx/zhxx/zhui/zhxd/
/zhx/zhx.txt.gai
/zhx/zhx.txt.soft
/zhx/zhx.txt
tar: 从硬连接目标中删除开头的“/”
/zhx/zhx.txt.hard

②查看压缩包内容有什么?
举例子:在Windows中查看压缩包内容


在Linux中查看压缩包内容:

t  list列表,查看压缩包内容
[root@localhost ~]# tar ztvf /opt/zhx.tar.gz 
drwxr-xr-x root/root         0 2023-08-26 14:12 zhx/
drwxr-xr-x root/root         0 2023-08-13 14:16 zhx/zhxx/
drwxr-xr-x root/root         0 2023-08-13 14:16 zhx/zhxx/zhui/
drwxr-xr-x root/root         0 2023-08-13 14:16 zhx/zhxx/zhui/zhxd/
-rw-r--r-- root/root       129 2023-08-20 14:45 zhx/zhx.txt.gai
lrwxrwxrwx root/root         0 2023-08-26 10:27 zhx/zhx.txt.soft -> zhx.txt
-rw-r--r-- root/root         0 2023-08-26 11:34 zhx/zhx.txt
hrw-r--r-- root/root         0 2023-08-26 11:34 zhx/zhx.txt.hard 连接到 zhx/zhx.txt

③解压:默认是解压到当前目录
在这里插入图片描述

参数选项x:extract  解压
[root@localhost ~]# tar zxvf /opt/zhx.tar.gz 
zhx/
zhx/zhxx/
zhx/zhxx/zhui/
zhx/zhxx/zhui/zhxd/
zhx/zhx.txt.gai
zhx/zhx.txt.soft
zhx/zhx.txt
zhx/zhx.txt.hard
[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 1277 6月  26 16:35 anaconda-ks.cfg
drwxr-xr-x. 3 root root   92 8月  26 14:12 zhx
[root@localhost ~]# cd zhx/
[root@localhost zhx]# ll
总用量 4
-rw-r--r--. 2 root root   0 8月  26 11:34 zhx.txt
-rw-r--r--. 1 root root 129 8月  20 14:45 zhx.txt.gai
-rw-r--r--. 2 root root   0 8月  26 11:34 zhx.txt.hard
lrwxrwxrwx. 1 root root   7 8月  26 10:27 zhx.txt.soft -> zhx.txt
drwxr-xr-x. 3 root root  18 8月  13 14:16 zhxx

④解压到其它目录下

解压/opt/zhx.tar.gz  到/tmp目录下
[root@localhost ~]# tar zxvf /opt/zhx.tar.gz  -C /tmp/
zhx/
zhx/zhxx/
zhx/zhxx/zhui/
zhx/zhxx/zhui/zhxd/
zhx/zhx.txt.gai
zhx/zhx.txt.soft
zhx/zhx.txt
zhx/zhx.txt.hard
[root@localhost ~]#

提示:tar: 从硬连接目标中删除开头的“/”
tar 命令的安全保护机制,使用的绝对路径转换为相对路径
防止保留绝对路径,防止发生覆盖
避免提示信息:我们使用相对路径进行打包没有提示

14.2 gzip压缩文件源文件没有了,剩下压缩包

gzip 创建压缩包

[root@localhost zhx]# gzip zhui.txt 
[root@localhost zhx]# ll
总用量 8
-rw-r--r--. 1 root root  29 8月  29 19:59 zhui.txt.gz

gzip 解压

[root@localhost zhx]# gzip -d zhui.txt.gz
[root@localhost zhx]# ll
总用量 4
-rw-r--r--. 1 root root   0 8月  29 19:59 zhui.txt

14.3 zip和unzip

(1)zip 压缩

压缩目录加上选项参数:-r  
压缩文件不用加-r 
[root@localhost ~]# zip -r  zhx.zip /zhx/
  adding: zhx/ (stored 0%)
  adding: zhx/zhxx/ (stored 0%)
  adding: zhx/zhxx/zhui/ (stored 0%)
  adding: zhx/zhxx/zhui/zhxd/ (stored 0%)
  adding: zhx/zhx.txt.gai (deflated 74%)
  adding: zhx/zhx.txt.soft (stored 0%)
  adding: zhx/zhx.txt (stored 0%)
  adding: zhx/zhx.txt.hard (stored 0%)
  adding: zhx/zhui.txt (stored 0%)
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 1277 6月  26 16:35 anaconda-ks.cfg
drwxr-xr-x. 3 root root   92 8月  26 14:12 zhx
-rw-r--r--. 1 root root 1439 8月  29 20:10 zhx.zip

==(2)解压unzip ==

[root@localhost ~]# unzip zhx.zip

15. grep 过滤

grep 选项参数参数选项说明
-i 不区分大小写,只用于单字符,默认是区分大小写的
-v显示不匹配的行,排除某些行,匹配所有的行
-E使用扩展的egrep
--color=autogrep过滤的匹配字符串添加颜色
-w匹配过滤的单词
-o输出匹配的内容

过滤/etc/passwd 中包含root的行

(1)举例子:过滤出/etc/passwd 包含root的行
[root@localhost ~]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# grep 'root' /etc/passwd|wc -l 
2

在这里插入图片描述

过滤/etc/passwd 中包含root 的行并显示其行号和内容

[root@localhost ~]# grep -n  'root' /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

在这里插入图片描述
过滤时不区分大小写

参数选项-i 不区分大小写
[root@localhost ~]# grep -i 'failed password'  /var/log/secure
Aug 29 20:44:03 localhost sshd[2872]: Failed password for root from 10.0.0.1 port 54986 ssh2
Aug 29 20:44:07 localhost sshd[2872]: Failed password for root from 10.0.0.1 port 54986 ssh2
Aug 29 20:44:10 localhost sshd[2872]: Failed password for root from 10.0.0.1 port 54986 ssh2

在这里插入图片描述

grep 的排除

[root@localhost ~]# grep -v 'nologin'  /etc/passwd 
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
fwkyx:x:989:998::/home/fwkyx:/bin/bash
admin:x:1001:1001::/home/admin:/bin/bash

16.find命令-查找

16.1 find命令选项参数及应用说明

find 在指定的目录中查找文件,同时也可以调用其它的命令执行相关的操作
*号表示任意符号或者所有的意思
管道的用法:通过管道|xargs 把字符串转换为参数
\这个符号是撬棍转义的含义

find 命令选项参数参数选项说明
-f 一些文件类型:d(目录) b(块设备文件) c(字符设备文件) p(管道文件) f(普通文件) s(socket文件)
-name按照文件名查找文件,支持*、?、[] 特殊通配符
-mtime按着文件的修改时间查找文件 -n表示文件的更改时间距n天以内,+n表示文件的更改时间距在n天以前, n表示距在n天
-atime按着文件的访问时间查找文件
-size根据大小查找文件 +号表示大于 -号表示小于 +10000k(小写k) +5M(大小M、G)
-maxdepth查找的最大目录数
-iname查找文件时不区分大小写
-exec对匹配的文件执行该参数所给出的shell命令

(1)举例子:查找/目录下的zhx.txt文件

[root@localhost ~]# find / -type f -name 'zhx.txt'
/tmp/zhx/zhx.txt
/zhx/zhx.txt

(2)举例子:找出/目录下以.txt结尾的文件

[root@localhost ~]# find  /zhx/  -type -f -name '*.txt'
/etc/pki/nssdb/pkcs11.txt
/var/cache/yum/x86_64/7/timedhosts.txt
/tmp/zhx/zhx.txt
/usr/lib/firmware/TDA7706_OM_v2.5.1_boot.txt
/usr/lib/firmware/TDA7706_OM_v3.0.2_boot.txt
/usr/lib/firmware/ar3k/1020200/RamPatch.txt
/usr/lib/firmware/ar3k/1020201/RamPatch.txt
/usr/lib/firmware/ar3k/30000/RamPatch.txt
/usr/lib/firmware/ar3k/30101/RamPatch.txt
/usr/lib/firmware/ar3k/30101coex/RamPatch.txt
................
................

(3)举例子:按着大小来查找文件

按着大小查找/根目录下 找出5kb的文件
[root@localhost ~]# find / -type f -size  +10000k
/boot/initramfs-0-rescue-34af3616a7524d8abfc23bbdb8821f7d.img
/boot/initramfs-3.10.0-1127.el7.x86_64.img
/proc/kcore
find: ‘/proc/10002/task/10002/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/10002/fdinfo/5’: 没有那个文件或目录
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/var/lib/rpm/Packages
/var/cache/yum/x86_64/7/base/gen/primary_db.sqlite
/var/cache/yum/x86_64/7/updates/gen/primary_db.sqlite
/var/cache/yum/x86_64/7/updates/6df07470753b2bea2aaf6f798d9b03d8a1f0a8d483270e4398d43becb1cc3393-primary.sqlite.bz2
/var/cache/yum/x86_64/7/epel/gen/primary_db.sqlite
/usr/lib/locale/locale-archive
/usr/lib/firmware/liquidio/lio_23xx_vsw.bin
/usr/lib64/libicudata.so.50.2
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/cc1
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto1
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/f951
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/cc1plus

(4)根据修改时间查找文件

①举例子:找出/zhx/目录下最近8天修改的文件
[root@localhost ~]# find /zhx/ -type f  -mtime -8
/zhx/zhx.txt
/zhx/zhx.txt.hard
/zhx/zhui.txt
②举例子:找出/zhx/目录下8天之前修改的文件
[root@localhost ~]# find /zhx/ -type f  -mtime +8
/zhx/zhx.txt.gai

(6)查找文件指定最多多少层目录

[root@localhost ~]# find / -maxdepth 2 -type f -name '*.txt'
/zhx/zhx.txt
/zhx/zhui.txt

(7)查找文件的时候不区分大小写

iname不区分大小写 ignore case

[root@localhost ~]# find /zhx/ -type f -iname '*.Txt'
/zhx/zhx.txt
/zhx/zhui.txt

(8)find命令与其它命令的使用方法

环境准备:
[root@localhost ~]# mkdir -p /zhx/cz
[root@localhost ~]# touch  /zhx/cz/zhx{01..20}.txt
①find找出的文件查看、删除
第一种方法:
[root@localhost ~]# ls -lh `find /zhx/cz -type f -name '*.txt'`
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx01.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx02.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx03.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx04.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx05.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx06.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx07.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx08.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx09.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx10.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx11.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx12.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx13.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx14.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx15.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx16.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx17.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx18.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx19.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx20.txt
第二种方法: 管道|xargs
[root@localhost ~]# find /zhx/cz -type f -name '*.txt' |xargs ls -lh
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx01.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx02.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx03.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx04.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx05.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx06.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx07.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx08.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx09.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx10.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx11.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx12.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx13.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx14.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx15.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx16.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx17.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx18.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx19.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx20.txt
第三种方法:-exec
[root@localhost ~]# find /zhx/cz -type f -name '*.txt' -exec ls -lh {} \;
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx01.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx02.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx03.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx04.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx05.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx06.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx07.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx08.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx09.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx10.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx11.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx12.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx13.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx14.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx15.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx16.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx17.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx18.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx19.txt
-rw-r--r--. 1 root root 0 8月  31 15:10 /zhx/cz/zhx20.txt
②find找出的文件进行打包压缩
第一种方法:
打包压缩:
[root@localhost ~]# tar zcf  /opt/zhx.tar.gz `find /zhx/cz -type f -name '*.txt'`
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls -lh /opt/
总用量 4.0K
-rw-r--r--. 1 root root 283 8月  31 18:14 zhx.tar.gz
查看压缩包内容:
[root@localhost ~]# tar tf /opt/zhx.tar.gz 
zhx/cz/zhx01.txt
zhx/cz/zhx02.txt
zhx/cz/zhx03.txt
zhx/cz/zhx04.txt
zhx/cz/zhx05.txt
zhx/cz/zhx06.txt
zhx/cz/zhx07.txt
zhx/cz/zhx08.txt
zhx/cz/zhx09.txt
zhx/cz/zhx10.txt
zhx/cz/zhx11.txt
zhx/cz/zhx12.txt
zhx/cz/zhx13.txt
zhx/cz/zhx14.txt
zhx/cz/zhx15.txt
zhx/cz/zhx16.txt
zhx/cz/zhx17.txt
zhx/cz/zhx18.txt
zhx/cz/zhx19.txt
zhx/cz/zhx20.txt
第二种方法:
[root@localhost ~]# find /zhx/cz/ -type f -name '*.txt' |xargs tar zcf  /tmp/zhx.xargs.tar.gz
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ll /tmp/
-rw-r--r--. 1 root root 283 8月  31 18:19 zhx.xargs.tar.gz
[root@localhost ~]# tar tf /zhx.xargs.tar.gz 
zhx/cz/zhx01.txt
zhx/cz/zhx02.txt
zhx/cz/zhx03.txt
zhx/cz/zhx04.txt
zhx/cz/zhx05.txt
zhx/cz/zhx06.txt
zhx/cz/zhx07.txt
zhx/cz/zhx08.txt
zhx/cz/zhx09.txt
zhx/cz/zhx10.txt
zhx/cz/zhx11.txt
zhx/cz/zhx12.txt
zhx/cz/zhx13.txt
zhx/cz/zhx14.txt
zhx/cz/zhx15.txt
zhx/cz/zhx16.txt
zhx/cz/zhx17.txt
zhx/cz/zhx18.txt
zhx/cz/zhx19.txt
zhx/cz/zhx20.txt
第三种方法:-exec 、\; 的执行文件是一个一个文件的压缩 
[root@localhost ~]# find /zhx/cz/ -type f  -name '*.txt' -exec tar zcf /tmp/exec.tar.gz {} \;
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
tar: 从成员名中删除开头的“/”
查看压缩包内容:
[root@localhost ~]# tar tf /tmp/exec.tar.gz 
zhx/cz/zhx20.txt
正常的执行打包压缩过程如下:
[root@localhost ~]# find /zhx/cz/ -type f  -name '*.txt' -exec tar zcf /tmp/exec.tar.gz {} +
tar: 从成员名中删除开头的“/”
[root@localhost ~]# tar tf /tmp/exec.tar.gz 
zhx/cz/zhx01.txt
zhx/cz/zhx02.txt
zhx/cz/zhx03.txt
zhx/cz/zhx04.txt
zhx/cz/zhx05.txt
zhx/cz/zhx06.txt
zhx/cz/zhx07.txt
zhx/cz/zhx08.txt
zhx/cz/zhx09.txt
zhx/cz/zhx10.txt
zhx/cz/zhx11.txt
zhx/cz/zhx12.txt
zhx/cz/zhx13.txt
zhx/cz/zhx14.txt
zhx/cz/zhx15.txt
zhx/cz/zhx16.txt
zhx/cz/zhx17.txt
zhx/cz/zhx18.txt
zhx/cz/zhx19.txt
zhx/cz/zhx20.txt
③find找出的文件进行移动或复制
cp拷贝的格式 源文件  目标文件
第一种方法:
[root@localhost ~]# cp `find /zhx/cz/ -type f -name '*.txt'` /opt/
[root@localhost ~]# ll /opt/
总用量 4
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx01.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx02.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx03.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx04.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx05.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx06.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx07.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx08.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx09.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx10.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx11.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx12.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx13.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx14.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx15.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx16.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx17.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx18.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx19.txt
-rw-r--r--. 1 root root   0 8月  31 18:40 zhx20.txt
第二种方法:提示:如果不加上-t 会报错
[root@localhost ~]# find /zhx/cz/ -type f -name '*.txt' |xargs cp -t /opt/
[root@localhost ~]# ll /opt/
总用量 4
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx01.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx02.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx03.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx04.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx05.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx06.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx07.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx08.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx09.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx10.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx11.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx12.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx13.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx14.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx15.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx16.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx17.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx18.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx19.txt
-rw-r--r--. 1 root root   0 8月  31 18:46 zhx20.txt
第三种方法:-exec {} \; 的方式
[root@localhost ~]# find /zhx/cz/ -type f -name '*.txt' -exec cp {} /opt/ \;
[root@localhost ~]# ll /opt/
总用量 4
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx01.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx02.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx03.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx04.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx05.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx06.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx07.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx08.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx09.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx10.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx11.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx12.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx13.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx14.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx15.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx16.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx17.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx18.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx19.txt
-rw-r--r--. 1 root root   0 8月  31 18:50 zhx20.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值