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命令选项** | ||
-n | number 显示文件内容及行号 |
(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 或.bask | shell脚本 | |
.py | Python脚本 |
(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三种时间 | 说明 | |
mtime | Modify 修改时间 | |
ctime | Change 文件属性变化时间 | |
atime | Access 访问时间,举例:只要看一次文件,文件时间会更新 |
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 | |
gzip | Windows和Linux的桥梁 |
提示:
用cp命令备份拷贝一份会占用Linux的空间,但用打包压缩备份会占用空间少
14.1 tar命令
(1)Windows的是压缩
(2)Linux的分为两步:①打包②压缩
①打包:举例子就是把文件装在一个文件袋里。
②压缩:压缩文件节省Linux服务器空间
(3)tar命令的用法分为四步:①创建②查看③解压④解压到指定目录下
tar命令参数选项 | 参数选项说明 | |
z | gzip 压缩或解压 | |
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=auto | grep过滤的匹配字符串添加颜色 | |
-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