云计算运维入门2
文章目录
云计算运维入门2
一、修改网卡命名
1.两种网卡命名规则的来源
-
ens32是systemd可预测命名(RHEL7+/CentOS7+/Rocky/RHEL9 默认)
命名逻辑:
ens:板载 PCI 网卡- 数字32:PCI 插槽设备编号,虚拟机 VMware、KVM 里会随机生成 ens32、ens33、ens160
特点:
- 名字随机,重装 / 克隆虚拟机、换硬件会变;
- 无行业统一规范,新人看不懂;
-
eth0/eth1/eth2是传统内核固定命名(经典旧规范)
早期 CentOS6、老服务器统一使用:
- 第一块网卡 eth0
- 第二块网卡 eth1
- 第三块网卡 eth2
特点:
顺序固定、直观、运维传统标准。
2.企业/实际工作中改成eth0/eth1的核心好处
-
运维阅读直观,降低沟通成本(最核心)
- 新人/老运维一眼分清网卡序号:eth0=业务网、eth1=存储网、eth2=管理网
- ens32/ens33/ens160数字无规律,新人分不清哪块是业务、哪块是存储
- 写文档、交接、故障排查时,描述简单:“eth0 不通” 比 “ens32 不通” 好理解
-
批量脚本、自动化部署统一规范
生产批量虚拟机、云主机、物理机做标准化交付:
-
自动化脚本(Ansible、Shell、kickstart)写死网卡名eth0,不用适配随机ensXX
-
防火墙、bond绑定、网桥、网络配置脚本不用每次改网卡变量
-
批量克隆虚拟机后,网卡名称不会错乱,避免批量上线故障
-
老系统迁移、传统业务兼容
很多老旧监控、业务程序、硬件管理工具硬编码
eth0:- 老监控 zabbix、自研采集脚本、工控业务系统只识别eth开头网卡
- 机房老交换机、IPMI运维平台报表、巡检脚本只适配eth0/eth1
- 不改名字会导致监控采集失败、业务报错
-
多网卡服务器区分业务场景更清晰
企业多网卡服务器标准划分:
- eth0:业务内网(对外服务)
- eth1:存储网络(连接 NAS/分布式存储)
- eth2:管理网(运维远程登录、IPMI)
固定命名形成机房统一标准,任何运维接手都能快速定位网卡用途
-
避免虚拟机克隆后网卡名混乱
VMware/KVM克隆虚拟机时,默认ens编号会随机变化:
- 克隆一台机器,原本 ens32 变成 ens33,网络配置文件失效
- 统一改为 eth0 后,克隆机器网卡顺序永远一致,网络配置无需大幅修改
3.什么场景不用改 ensXX
-
公有云阿里云/腾讯云ECS,厂商强制ens/ensXX命名,不能修改
-
单网卡、简单测试机器,不做批量自动化
-
新纯云原生环境,全部用NetworkManager动态识别,无传统脚本依赖
4.如何修改网卡名
- 首先进入boot目录下的grub2目录中
cd /boot/grub2

- 编辑目标文件
vim grub.cfg

- 在第100行找到以Linux16 开头的代码
:100
键盘按键Shift+A,光标跳转至本行末尾,在本行末尾添加
net.ifnames=0

- 退出编辑,重启生效
reboot

- 此时网卡名就修改成了
eth0,如果没有开启系统自带的NetworkManager,网卡就会无法激活,使用命令:
systemctl enable --now NetworkManager
开启服务即可

-
NetworkManager(NM)完整作用讲解
NetworkManager 是 Linux 主流网络管理服务,替代传统静态脚本
network,统一管理网卡、IP、DHCP、WiFi、网桥、VPN 等所有网络设备,CentOS7/8/RHEL7 默认预装启用,主要功能有:- 自动管理网卡硬件:开机自动识别网卡(eth0/ens33),自动加载驱动
- IP 配置管理(静态 / DHCP):DHCP 自动获取地址、网关、DNS、主机名
- 多网络场景支持:有线网卡(eth0)、无线 WiFi、虚拟网卡、网桥、Bond 链路聚合、VLAN 子接口
- 网络切换与优先级:多网卡同时在线时,自动路由优先级控制
- 配套系统联动:和
grub内核网卡命名参数(net.ifnames=0)兼容,识别自定义 eth0
二、Linux里一些简单指令
1.切换目录–cd
- 更改当前的工作目录,即切换目录
- 绝对路径(以/开始的路径)
- 相对路径(以当前工作目录开始的路径)
[root@server ~]# cd / 切换到根目录
[root@server /]# cd /root 绝对路径切换到 root 管理员家目录
[root@server ~]# cd /home 切换到 /home 目录,普通用户家目录统一存放于此
[root@server home]# cd ~ ~ 代表当前登录用户的家目录,root 用户执行等价 cd /root
[root@server ~]# cd /etc 绝对路径切换到 /etc,系统配置文件存放目录
[root@server etc]# cd .. .. 代表上一级父目录,执行后回到根目录
[root@server /]# cd . . 代表当前所在目录本身,执行后目录不会发生任何变化,仅停留在当前 / 根目录
2.浏览目录内容–ls
[root@server ~]# ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg
[root@server ~]# ls /
afs bin boot dev dvd.repo etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
3.查看当前的工作目录–pwd
[root@server ~]# pwd
/root
[root@server ~]# su - fox
[centos@server ~]$ pwd
/home/centos
# 注意:windows和linux系统的目录路径表示的不同
4.修改密码–passwd
[root@server /]# passwd
更改用户 root 的密码 。
新的密码:
(无效的密码: 密码少于 8 个字符)
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server /]# passwd fox
更改用户 fox 的密码 。
新的密码:
无效的密码: 密码未通过字典检查 - 太简单或太有规律
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server /]# passwd -d fox # 清除fox账户密码
清除用户的密码 fox。
passwd: 操作成功
5.重置root密码
- 第1步 重启系统,在下图所示界面按e键,在屏幕上显示内核启动参数

- 第2步 找到linux这行,末尾空格后 输入 rd.break,然后按ctl+x

- 第3步 以读写方式挂载/sysroot

- 第4步:设置密码

- 第5步退出,输入2次exit,完成后可用新密码登录

三、Linux中执行命令
1.格式
主命令 参数 操作对象
# 注意:
下面是对于命令的语法的一些符号的说明:
[] :表示的是可选
...: 表示的可以存在多个参数
|:表示是可选的
<>:必填
{}:表示作为一个整体存在的
2.注意
-
终止当前的命令:按【Ctrl+C】键可中断正在执行的命令
-
两种补全:
- 补全命令:输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全
- 补全文件名和目录名:输入文件的前几个字符后,按tab键可自动补全
-
例:访问网卡配置文件
[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32

[root@server ~]# cat /etc/redhat-release

[root@server ~]# uname -r

3.查看命令帮助

-
命令 --help
[root@server ~]# cat ——help 示例如下:cat [OPTION]... [FILE]... 表明cat后面可以加上多个可选的选项以及多个可选的文件参数

-
man
- man命令用来提供在线帮助,使用权限是所有用户。
- 使用man命令可以调阅其中的帮助信息,非常方便实用。
man command[root@server ~]# man ls

在man命令帮助信息的界面中,所包含的常用操作按键如下:
| 按键 | 作用 |
|---|---|
| 空格键,PaGe down | 向下翻一页 |
| PaGe up,b | 向上翻一页 |
| home | 直接前往首页 |
| end | 直接前往尾页 |
| / | 从上至下搜索某个关键词,如“/linux” |
| ? | 从下至上搜索某个关键词,如“?linux” |
| n | 定位到下一个搜索到的关键词 |
| N | 定位到上一个搜索到的关键词 |
| q | 退出帮助文档 |
man命令的帮助信息的结构如下:
| 结构名称 | 代表意义 |
|---|---|
| NAME | 命令的名称 |
| SYNOPSIS | 参数的大致使用方法 |
| DESCRIPTION | 介绍说明 |
| EXAMPLES | 演示(附带简单说明) |
| OVERVIEW | 概述 |
| DEFAULTS | 默认的功能 |
| OPTIONS | 具体的可用选项(带介绍) |
| ENVIRONMENT | 环境变量 |
| FILES | 用到的文件 |
| SEE ALSO | 相关的资料 |
| HISTORY | 维护历史与联系方式 |
- man手册的几个部分
区段1:用户指令,普通用户执行的命令(ls、cat、man、cd)
区段2:系统调用,内核提供的 C 语言系统函数(open、read)
区段3:程序库调用,C 标准库函数(printf、malloc)
区段4:设备,查看特殊文件的帮助(主要是/dev目录下的文件)
区段5:文件格式,各类配置文件语法(/etc/passwd、nmconnection)
区段6:游戏,查看游戏的帮助
区段7:杂项,惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
区段8:系统指令,查看系统管理员可用的命令的帮助,root 运维命令(systemctl、yum、fdisk)
区段9:内核内部指令,内核底层函数、驱动相关
使用如下命令可以知道某个命令在man的哪个区段有相关帮助文档:
[root@server ~]# whatis man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@server ~]# man -f man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@server ~]# man 1 man
[root@server ~]# man 7 man
4.date命令
- 作用:date命令用于显示或设置系统的时间与日期,确保时间同步是配置好的即可

- 举例:备份文件
touch file_$(date "+%Y-%m-%d")

5.timedatectl命令
-
作用:timedatectl命令用于设置系统的时间,英文全称为:“time date control”,若发现电脑时间跟实际不符?如果只差几分钟的话,我们可以直接调整,但如果差几个小时,那么除了调整当前的时间,还有必要检查下时区了
-
格式
timedatectl [OPTIONS...] COMMAND ...
- timedatectl命令中的参数以及作用:
| 参数 | 作用 |
|---|---|
| status | 显示状态信息 |
| list-timezones | 列出已知时区 |
| set-timezone | 设置生效时区 |
| set-time | 设置系统时间 |
6.查看日历
- 格式:cal 月份 年份
[root@server ~]# cal 05 2023
[root@server ~]# cal 2023
7.查看目录下的文件:ls(list)
-
作用:查看目录下的内容
-
格式
ls -参数 操作对象
- 参数
| 参数 | 功能 |
|---|---|
| -l | 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式。 |
| -d | 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息。 |
| -c | 按文件的修改时间排序后,予以显示。 |
| -h | 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果。 |
| -R | 以递归的方式显示指定目录及其子目录中的所有内容。 |
| -a | 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件。 |
| -A | 与-a选项的作用类似,但不显示表示当前目录的“.”和表示父目录的“…”。 |
| -i | 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。 |
| -s | 按照文件大小排序 |
[root@server ~]# ls /
[root@server ~]# ls -dl /root
-
ls浏览后颜色表示
-
白色:普通文件
-
蓝色:目录
-
红色:压缩包文件
-
黄色:设备文件
-
绿色:可执行文件
-
四、 linux文件类型和根目录结构
1.Linux文件类型
| 第一个字符 | 文件类型 | 说明 |
|---|---|---|
| - | 普通文件 | 类似于Windows的记事本 |
| d | 目录文件 | 类似于windows文件夹 |
| c | 字符设备文件 | 串行端口设备,顺序读写,键盘 |
| b | 块设备文件 | 可供存储的接口设备,随机读写,硬盘 |
| p | 管道文件 | 用于进程间的通信 |
| s | 套接字文件 | 通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信 |
| l | 符号链接又叫软链接,和原文件不是一个文件 | 例如Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了。软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。 |
| 硬链接 | 只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。 |
[root@localhost ~]# ll /usr/bin/ls
-rwxr-xr-x. 1 root root 143368 Apr 27 2020 /usr/bin/ls
[root@localhost ~]# ll -d /home
drwxr-xr-x. 3 root root 20 Apr 16 14:46 /home
[root@localhost ~]# ll /dev/tty
crw-rw-rw-. 1 root tty 5, 0 Jun 9 11:48 /dev/tty
[root@localhost ~]# ll /dev/sr0
brw-rw----. 1 root cdrom 11, 0 Jun 9 11:48 /dev/sr0
[root@localhost ~]# ll /dev/nvme0n1
brw-rw----. 1 root disk 259, 0 Jun 9 11:48 /dev/nvme0n1
[root@localhost ~]# ll /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Aug 5 2020 /usr/bin/yum -> dnf-3
- 根目录下的文件不要动,否则极大概率系统会崩

2.Linux系统的目录结构
- 常见目录用途
| 文件名 | 描述 |
|---|---|
| / | Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录 |
| /boot | 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动 |
| /root | 超级用户的个人目录,普通用户没有权限访问 |
| /home | 存放一般用户的个人目录 |
| /bin | Binary的缩写,存放普通用户可执行的程序或命令 |
| /sbin | 和/bin类似,这些文件往往用来进行系统管理,只有root可使用 |
| /lib | 是库(library)英文缩写,存放系统的各种库文件 |
| /lib64 | 存放系统本身需要用到64位程序的共享函数库(library) |
| /usr | 一般用户程序安装所在的目录,用于安装各种应用程序 |
| /opt | 该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统 |
| /etc | 存放了系统管理时要用到的各种配置文件和子目录 |
| /var | 通常各种系统日志文件放在这里 |
| /run | 保存自系统启动以来描述系统信息的文件 |
| /dev | dev 是设备(device)的英文缩写。包含所有的设备文件 |
| /mnt和/media | 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点 |
| /tmp | 用来存放不同程序执行时产生的临时文件 |
| /srv | srv 是服务(server)的简写,服务启动之后需要访问的数据目录 |
| /sys | 本目录是将内核的一些信息映射文件,以供应用程序所用 |
| /proc | 可以在这个目录下获取系统信息,详解网址:https://mp.weixin.qq.com/s/4WUJGySmSYPapJKgTvRD1w |
- 注意:
-
系统自带的目录不要随意删除
-
目录的名称是区分大小写的
-
FHS标准并不是一种强制约束标准,但是一种经验的总结,应灵活使用
3.路径以及工作目录
- 路径:用“路径”来表示某个文件(或目录)在目录结构中所处的位置。顾名思义,路径是指从树型目录中的某个目录层次到达某一文件或子目录的一条线路,路径由以“/”为分隔符的多个目录名构成。
-
路径可分为:
- 绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式
- 相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。
-
工作目录
-
用户当前所处的位置,使用
pwd命令查看 -
更改当前的工作目录,即切换目录:
cd 路径
-
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /
[root@localhost /]# pwd
/
# 回到当前用户的家(主)目录
[root@localhost /]# cd ~
[root@localhost ~]# pwd
/root
# 回到当前目录的上一级目录
[root@localhost ~]# cd ..
# 切换到之前的目录
[root@localhost /]# cd -
/root
# 回到当前目录
[root@localhost ~]# cd .
五、从命令行管理文件
1.文件命名规则:
-
不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的
-
文件名不能超过255个字符
-
区分大小写file File FILE fIle root Root ROOT rOOt ROOT
-
目录也是文件,在同一路径下,两个不同类型文件不能同名
2.创建链接文件
(1)硬连接
-
原理:
-
linux系统允许多个文件指向同一个inode,即允许一个文件拥有多个有效地路径名
-
理解:硬连接就是指向原始文件inode的指针
-
-
查看方法
- ll 文件名
- stat 文件名
-
建立硬连接
- 格式:
ln -参数 源文件 目标连接文件- 举例:

- 注意:硬连接不能给目录建立
(2)软连接
-
原理:
- 软连接是一种符号连接,类似于windows的“快捷方式”,仅包含所连接的路径名
-
格式
ln -s 源文件 目标连接名 -
举例:

- 注意:软连接只是一种指向关系,删除源文件则数据不可访问
(3)软硬连接的区别
- 硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
- 软连接的指向关系可以查看,硬连接不可以查看
- 连接数不同,软连接数不会增加
- 文件大小不同,硬连接文件大小与源文件一样
- 软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
3.目录操作命令
-
创建目录(make directory)
格式:
mkdir [-p] [/路径/]目录名参数:
- -p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
- -v 显示创建目录的详细过程
举例:
[root@server ~]# mkdir t1 [root@server ~]# mkdir t2 t3 t4 # 批量一次性新建 [root@server ~]# mkdir -p n1/n2/n3 # 新建递归目录

-
du命令
作用:统计目录及文件的空间占用情况,查看某个目录中的各级子目录所占用的磁盘空间数。
命令格式:
du [参数] [目录名]参数:
选项 功能 -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。 -s 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。 -h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。
举例:

4.新建文件
(1)创建普通文件
touch用法1:
- 如果文件已存在,更新文件的三个时间,
stat可以查看文件的详细信息

touch用法2
- 如果文件不存在,则表示创建文件
- 格式:
touch 文件名1 文件名2 文件名3
touch {文件名1,文件名2,文件名3}

tree命令
-
作用:显示目录下文件的树形拓扑图及摘要
-
格式:
tree -参数 路径 -
参数
-a : 所有文件包含显示隐藏文件 -f : 列出文件的完整路径内容 -d :只显示目录 -L : 设置显示最大深度,如:tree -f -L 2 -
举例


(2)创建大容量文件
-
作用
- 制作指定个数及容量的空文件
-
格式
dd if=来源 of=新文件名 count=数据块个数 bs=块容量 -
分析
- if=/dev/zero zero空数据设备文件,可以向其它文件中填充无数个数据0
- of=新文件名,一般给出存储路径,/dev/null是 Linux 特殊空设备,俗称黑洞,写入它的所有数据会直接丢弃、不占用磁盘空间、不保存任何内容
- count=:新文件由几个数据块组成
- bs=:一个数据块容量
-
例1:制作空数据文件


- 例2:分区备份

- 例3:制作光盘镜像

5.删除文件
- 格式
rm -参数 文件名
-
用法:
-
删除文件: rm 文件名
-
删除目录:rm -r 目录名
-
强制删除不确认:rm -f 文件名
-
-
注意
-
删除前必须确认路径及名称
-
**删除文件时必须将文件名及扩展名写全
-
禁用
rm -fr /命令
-
6.数据流和重定向
(1)数据流
-
标准输入(standard input,简称stdin):默认情况下,标准输入指从键盘获取的输入
-
标准输出(standard output,简称stdout):默认情况下,命令执行所回传正确的信息会输出到屏幕上
-
标准错误输出(standard error output,简称stderr):默认情况下,标准错误输出可理解为命令执行失败后,所回传的错误信息会输出到屏幕上
-
不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这两条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去,而分别传送所用的特殊字符如下所示:
-
标准输入(stdin):代码为0
-
标准输出(stdout):代码为1
-
标准错误输出(stderr):代码为2
(2)重定向操作符
-
概念
- 重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。
- 重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
-
符号
- 输出重定向操作符:
>>> - 输入重定向操作符:
<<<
- 输出重定向操作符:
-
用法
命令 >文件 或 命令 1>文件 : 将命令执行后的结果不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 2>文件 : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 2>/dev/null : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备文件(黑洞)中,即将输出的错误信息丢弃掉
命令 &>文件 命令 >&文件 : 将命令执行后的正确输出信息和错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 >>文件 : 将命令执行后的正确输出信息以追加的方式写入到指定的文件中,不覆盖原文件内容,若指定的文件不存在,则自动创建该文件
命令 <文件 : 使命令从指定的文件中读取数据作为输入
命令 <<结束标识字符串 : 在命令行读取数据作为输入,直到遇到指定的结束标识字符串
- 例1:切换普通用户,将错误丢去黑洞,将正确数据存入stdout.txt

- 例2:读取输入写入test文件,当输入end时结束输入

(3)将标准输出重定向到文件
-
echo命令
- 作用:向终端设备上输出字符串或变量提取后的值
- 格式
echo "字符串" echo "$量"- 例:
[root@server ~]# echo "hello world"[root@server ~]# str1="hello world" [root@server ~]# echo "$str1" hello world [root@server ~]# num=1024 [root@server ~]# echo "$num" 1024 [root@server ~]# echo $SHELL /bin/bash -
将标准输出重定向到文件
[root@server ~]# echo "hello" > /root/test/file [root@server ~]# echo "world" >> /root/test/file
7.tee命令读取数据输出到文件
(1)tee命令
-
作用
-
读取标准输入的数据,并将其内容输出到文件的同时输出到屏幕(即想把输出保存到文件中,又想在屏幕上看到内容)
-
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件。
-

-
格式
tee 参数 文件名 -
参数
- -a或–append,附加到现有文件的后面,而非覆盖它
- -i或–ignore-interrupts 忽略中断信号
- –help 在线帮助
-
例
[root@server ~]# tee test1.txt aaa aaa bbb bbb ccc ccc # 输入ccc并回车后按下ctrl+d 结束输入 [root@server ~]# cat test1.txt aaa bbb ccc[root@server ~]# tee -a test1.txt # 追加 123 123 456 456 [root@server ~]# cat test1.txt aaa bbb ccc 123 456
(2)管道符:|
-
作用
- 管道符号,是unix一个很强大的功能,符号为一条竖线:“|”,用于两个命令或者多个命令相连接,将管道符左边命令的输出作为管道符右边命令的输入
-
格式
命令A | 命令2 | 命令3 …… -
例1:在
/etc目录下,查找名字叫 passwd 的文件;将搜到的所有文件路径保存到 file.txt 文件中;同时统计一共搜到多少个符合条件的文件并打印出行数
-
例2:将错误信息变为正确信息,并统计行数

-
某些情况需要慎用管道符
- 编写命令计算字符串长度
# 法1: [root@server ~]# time for i in {1..10000};do str1=`seq -s "nihao" 100`;echo ${#str1} &> /dev/null;done real 0m21.439s user 0m2.649s sys 0m17.714s # time计算耗时 # for 循环10000次 # seq生成nihao1、nihao2……nihao100# 法2:通过管道符调用awk实现 [root@server ~]# time for i in {1..10000};do str1=`seq -s "haodao" 100`;echo "${str1}" | awk '{print length($0)}' &> /dev/null;done real 0m55.732s user 0m13.067s sys 0m43.360s- 结论:方法1所耗时最少,效率最高,方法2中结合了管道符的使用,耗时最多,效率最低,由于linux中的shell是由C语言开发的,因此它底层命令效率是最高的,而方法1中用的是linux内置命令,内置的操作;方法2通过管道符,这涉及到类似二次加工,效率肯定也就低了
8.vi/vim文本编辑器
-
为什么学vi
- 在Linux系统中一切都是文件,配置一个服务就是使用文本编辑器修改配置文件的参数
- 所有的Unix 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在;
- 很多个别软件的编辑接口都会主动调用 vi,如:crontab, visudo 等指令
- Vim的发布最早可以追溯到1991年,英文全称为:“Vi IMproved”,也就是对vi编辑器的提升版本,最大的特点是以字体颜色辨别语法的正确性,方便程序设计,编辑速度快
-
vim编辑器的三种模式
结构图:

概念
1.命令模式:也成为了阅读模式,可以控制光标移动,对文本进行查看、删除、复制粘贴等操作(默认)
2.编辑模式:也称为插入模式,可以对文本进行编辑
3.末行模式:保存、退出、设置编辑环境
-
命令模式的快捷键
- 光标跳转按键
功能 按键 光标按单个字符移动 ↑、↓、←、→ 光标按照单词向后跳转 w 光标按照单词向前跳转 b 光标跳转至行首 ^ 光标跳转至行尾 $ 文档首行第一个字符 gg 文档最后一行第一个字符 G 跳转到指定行 行号gg 或者 行号G - 复制、粘贴、删除
功能 按键 删除光标所在行 dd 删除从光标处开始的n行 数字dd 删除光标前至行首字符 d^ 删除光标及之后的所有字符 d$ 复制光标所在行 yy 复制从光标处开始的n行 数字yy 将缓冲区的内容粘贴到光标所在行的下一行 p(小写) 将缓冲区的内容粘贴到光标所在行的上一行 P(大写) 撤销操作 u -
编辑模式的快捷键
- 可通过如下任意一种功能键从命令模式切换到编辑模式
- 按esc键可从编辑模式切换到命令模式
功能 按键 在光标前插入 i 在光标所在行行首第一个非空字符前插入 I(大写字母i) 在光标后插入 a 在光标所在行末尾插入 A 在光标所在行上一行插入 O(大写字母) 在光标所在行下一行插入 o(小写字母) 删除光标所在字符并进入插入模式 s(小写字母) 删除当前行并进入插入模式 S(大写字母) -
末行模式的快捷键
- 按
:或者/可从命令模式切换到末行模式 - 按esc键可从末行模式切换到命令模式。
- 按
查找关键字并替换
| 功能 | 按键 |
|---|---|
| 从上而下查找字符串“word”(可按n键定位到下一个匹配的的字符串) | /word |
| 将当前行中查找到的第一个字符“old”替换为“new” | : s /old/new |
| 将当前行中查找到的所有字符“old”替换为“new” | : s /old/new/g |
| 在行号“n1,n2”范围内替换所有的字符串“old”为“new” | :n1,n2 s/old/new/g |
| 将整个文件内的字符串“old”替换为“new” | :% s/old/new/g |
保存退出
| 功能 | 按键 |
|---|---|
| 退出vi/vim编辑器,未对文件做任何编辑操作才可退出 | :q |
| 不保存文档内容,强制退出vi/vim编辑器 | :q! |
| 保存文件 | :w |
| 将文件另存为/dir/file | :w /dir/file |
| 保存文件内容并退出vi/vim编辑器 | :wq 或者 ZZ |
| 强制保存并退出 | :wq! |
其他操作
| 功能 | 按键 |
|---|---|
| 在当前文件中读入其他文件内容 | :r /dir/file |
| 查找含有"word"的行并删除 | :g/word/d |
| 显示行号 | :set nu |
| 关闭行号显示 | :set nonu |
| 删除n1-n2行内容 | :n1,n2 d |
| 复制n1-n2行到第n行后面 | :n1,n2 co n |
- vim的配置文件
[root@server ~]# vim /etc/vimrc(全局) 或者 vim ~/.vimrc(局部)
set hlsearch "高亮度反白
set backspace=2 "可随时用退格键删除
set autoindent "自动缩排
set tabstop=4 "缩进
set softtabstop=4 softtabstop是“逢4空格进1制表符”,前提是你tabstop=4
set shiftwidth=4 自动缩进空格长度
set mouse=a "使用鼠标
set selection=exclusive
set selectmode=mouse,key
set ruler "可显示最后一行的状态
set showmode "左下角那一行的状态
set nu "可以在每一行的最前面显示行号啦!
set bg=dark "显示不同的底色色调
syntax on "进行语法检验,颜色显示
- vim 的异常处理
模拟异常
[root@server ~]# vim test
# 输入一些内容,正常保存退出
[root@server ~]# vim test
# 点击ctrl+z 键 模拟异常退出
[root@server ~]# vim test # 此时出现问题
E325: 注意
发现交换文件 ".test.swp"
所有者: root 日期: Sun Dec 18 14:05:17 2022
文件名: ~root/test
修改过: 否
用户名: root 主机名: node3
进程 ID: 8532 (仍在运行)
正在打开文件 "test"
日期: Sun Dec 18 14:05:05 2022
(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 test"
恢复修改的内容 (请见 ":help recovery")。
如果你已经进行了恢复,请删除交换文件 ".test.swp"
以避免再看到此消息。
交换文件 ".test.swp" 已存在!
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 退出((Q)), 中止((A)):
原因:在编辑过程中,某些原因倒置vim中断退出,下次打开时,同名的交换文件(.swp)与源文件内容不一致,需要进行后续设置
处理流程
- 正常打开
- 点击R键,后回车
- 正常编辑,保存退出
- 删除隐藏的交换文件
# 如上例的test文件
[root@server ~]# ls -a
[root@server ~]# rm -f .test.swp # 删除对应隐藏的交换文件
[root@server ~]# vim test # 再次尝试打开,结果显示正常
- 拓展
切屏:命令模式输入:vnew垂直分屏;命令模式输入:new水平分屏;键盘输入Ctrl+w可以左右切换光标;:r /etc/...可以打开新文件

六、文件内容显示
1.浏览普通文
(1)文件内容查看
cat 命令
- 作用:查看文件内容,适合数据量较少
- 格式:cat -参数 文件名
- 参数:
- -n:显示行号,加上
- -b:文件中所有非空行增加行号,编号从1开始
- 例1:
[root@server ~]# cat test.c
[root@server ~]# cat -n test.c

- 例2:将显示结果重定向输出到另一个文件中
[root@server ~]# touch pwd.txt
[root@server ~]# cat test.c > pwd.txt # > 为重定向符
[root@server ~]# cat pwd.txt

tac
- 作用:倒叙访问文件内容
- 格式:tac 参数 文件名
- 例如: tac /etc/passwd
more 命令
- 作用:翻页查看文件内容,适合内容较多的文件查看
- 格式:more 文件名
- 注意:使用回车则一行一行查看,使用空格则整页查看,点击q键退出查看
[root@server ~]# more -sp test.c # -sp 减少空白行,先清屏后输出
less命令
- 作用:同more命令
- 格式:less 文件名
- 注意:可以使用上下键进行浏览,点击q退出浏览
head命令
- 作用: 查看文档前n行的内容
- 格式:head -数字 文件名
- 例:
[root@server ~]# head /etc/passwd # 默认查看文档前10行内容
[root@server ~]# head -5 /etc/passwd # 查看文件前5行内容
tail命令
- 作用:查看文档后n行内容
- 格式:tail -参数 文件名
- 参数
- -数字:查看倒数行数
- -f:动态刷新, 实时显示日志文件并且能动态更新
- 例:
[root@server ~]# tail /etc/passwd # 默认查看文档后10行内容
[root@server ~]# tail -1 /etc/passwd
[root@server ~]# tail -f /var/log/messages # 监视日志
[root@server ~]# head -6 /etc/passwd | tail -1 # 查看第6行
(2)文件信息查看
file 命令
- 作用:查看文件类型
- 格式:file -参数 文件名
- 文件类型:
- ASCII file :ASCII文本字符文件
- empty:空文件
- block special :块设备文件
- character special :字符设备文件
- diretory:目录

stat命令
- 作用:显示文件属性信息
- 格式:stat 文件名
- 注意:一般通过该命令查看大小、Inode、硬链接、软连接

2.文件内容过滤显示—grep
作用:
- 在指定的普通文件中查找并显示含有指定字符串的行,也可与管道符一起使用
格式
grep -参数 查找条件 文件名
参数
| 选项 | 说明 |
|---|---|
| -c | 仅显示找到的行数 |
| -i | 忽略大小写 |
| -n | 显示行号 |
| -v | 反向选择——仅列出没有“关键词”的行 |
| -A | -A 2 搜索时显示匹配到的那一行以及下2行 |
| -B | -B 2 搜索时显示匹配到的那一行以及上2行 |
| -C | -C 2 搜索时显示匹配到的那一行以及上下2行 |

使用特殊符号匹配
| 匹配模式 | 说明 |
|---|---|
| grep h 文件名 | 查找文件里有字符h的行 |
| grep ^[q] 文件名 | 匹配以q开始的行 |
| grep ^[qf] 文件名 | 匹配以q或者f开头的行 |
| grep ^[^qf] 文件名 | 不匹配以q或者f开头的行 |
| grep ^[0-9] 文件名 | 匹配以数字开头的行 |
| grep q$ 文件名 | 匹配以q结束的行 |
| grep ^$ | 过滤空白行 |
| grep -r h ./* | 如果要明确搜索当前目录中的子目录有h的行 |
| grep -d s kip h ./* | 忽略当前目录下的子目录下的普通文件 |
3.切割显示-cut
作用
- cut命令用于按列提取文本内容
格式
cut -d "分隔符" -f列数字 文件名
示例
- 提取IP地址

- 例:提取内核版本号
[root@server ~]# uname -a | cut -d " " -f3

- 例:提取mac地址
[root@server ~]# ip a | grep link/ether | cut -d " " -f6

4.排序显示-sort
作用
- sort命令用于对文本内容进行排序显示
格式:
sort -d 分割符 -k 列数 文件名
参数
| 选项 | 作用 |
|---|---|
| -f | 忽略大小写 |
| -b | 忽略缩进与空格 |
| -n | 以数值型排序 |
| -r | 反向排序 |
| -u | 去除重复行 |
| -t | 指定间隔符 |
| -k | 设置字段范围 |
举例
- 用passwd文件中第三列数字来排序

5.去重显示-uniq
作用
- uniq命令用于去除文本中连续的重复行
格式
uniq -参数 文件名
示例
- 对比两个文本内容进行操作
[root@server ~]# cat uq1.txt
Welcome to openlab.com
Welcome to openlab.com
Welcome to openlab.com
Welcome to openlab.com
Red Hat certified
Free Linux Lessons
Professional guidance
Linux Course
[root@kongd ~]# uniq uq1.txt
Welcome to openlab.com
Red Hat certified
Free Linux Lessons
Professional guidance
Linux Course
6.文件中字符替换显示-tr
作用
- tr 指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出
格式
tr -参数 替换内容 新内容
参数
- -c :反选设定字符,符合 “替换内容” 的部份不做处理,不符合的剩余部份才进行转换
- -d :删除指令字符
- -s :缩减连续重复的字符成指定的单个字符
示例
- 小写字母全部转换成大写字母
[root@server ~]# cat /etc/passwd | tr a-z A-Z

- 提取IP地址
[root@server ~]# ip a | grep ens160 | grep inet | cut -d / -f1 | tr -s ' ' | cut -d ' ' -f3

七、文件的其他操作命令
1.文本内容统计wc
作用
- wc命令用于统计指定文本文件的行数、字数或字节数
格式
wc -参数 文件名
参数
| 选项 | 作用 |
|---|---|
| -l | 只显示行数 |
| -w | 只显示单词数 |
| -c | 只显示字节数 |
示例

2.复制、移动文件
(1)复制文件或目录
格式
cp -参数 源文件 目标文件
参数
| 选项 | 功能 |
|---|---|
| -a | 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录 |
| -d | 拷贝时保留链接 |
| -f | 在覆盖已经存在的目标文件时不提示 |
| -i | 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝 |
| -p | 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中 |
| -r | 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名 |
示例

(2)移动文件或目录
作用
- mv命令用于剪切或重命名文件
格式
mv [选项] 源文件名称 目标文件名称
注意
- 剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。
- 如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。
[root@server ~]# touch t3.txt
[root@server ~]# mv t3.txt /etc #源为文件,目标为目录 ,为移动
[root@server ~]# touch t3.txt
[root@server ~]# mv t3.txt t4.txt # 源为文件 ,目标为文件,位置不变,为改名
3.查找文件
(1)查找文件路径
whereis命令
- 作用:可以搜索系统命令的可执行文件路径和说明文档
- 格式
whereis 命令名
- 例

which命令
- 作用:搜索系统命令的可执行文件
- 格式
which 命令名
- 例

(2)查找文件-find(实时检索)
作用
- 按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件
格式
find 查找路径 查找条件 具体条件 操作
注意
- find命令默认的操作是print输出
- find是检索文件的,grep是过滤文件中字符串
参数
| 参数 | 作用 |
|---|---|
| -name | 根据文件basename匹配名称 |
| -size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
| -mtime [+|-]n | 匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前4~5那一天的文件) |
| -atime [+|-]n | 匹配访问文件的时间 |
| -ctime [+|-]n | 匹配修改文件权限的时间 |
| -newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
| -perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
| -user | 匹配所有者 |
| -group | 匹配所有组 |
| -nouser | 匹配无所有者的文件 |
| -nogroup | 匹配无所属组的文件 |
| -type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
| -depth | 先从该目录子目录下查找,再查找该目录 |
| -maxdepth levels -mindepth levels | 最多查找多少层目录;最少查找多少层目录 |
| -delete | 将找到的文件删除,如果是目录只能删除找到的空目录。 |
| -exec …… {}; | 后面可跟用于进一步处理搜索结果的命令 |
示例
- 按照文件名搜索
- -name: 按照文件名搜索
- -iname: 按照文件名搜索,不区分文件名大小写
- -inum: 按照 inode 号搜索
- 没有那个文件或目录:find命令在执行时,在内存中自己产生的临时文件,执行完既消失
- 注意:搜索位置越大,消耗系统资源越多,在生产服务器上搜索的时候,尽量不在根目录下搜索,把搜索的范围尽量控制在最小
# /目录下检索名为passwd的文件
[root@server ~]# find / -name "passwd" -print
# /etc下检索host开头的文件
[root@server ~]# find /etc -name "host*" -print
# 在/目录查找以a开头文件
[root@server ~]# find / -name "a*"
# 在/目录中查找以b开头的不区分大小写的文件
[root@server ~]# find / -iname "b"
# 在/etc目录下检索以b开头共4个字符的文件
[root@server ~]# find /etc -name "b???"
# 在/etc目录下检索第二个字母为c的文件
[root@server ~]# find /etc -name "?c*"
# /目录下检索扩展名为.cfg的文件
[root@server ~]# find / -name "*.cfg"
# /目录下检索扩展名为.txt的文件并统计个数
[root@server ~]# find / -name "*.txt" | wc -l

-
按照文件大小搜索
-
-size [+|-]大小: 按照指定大小搜索文件,“+”的意思是搜索比指定大小还要大的文件, “-”的意思是搜索比指定大小还要小的文件
-
单位:可以通过man find 查看size参数的单位
#这是默认单位,如果单位为b或不写单位,则按照512 Byte搜索。 ' b':for 512-byte blocks(this is the default if no suffix is used) #搜索单位是c,按照字节搜索。 'c':for bytes #搜索单位是w,按照双字节(中文)搜索。 'w':for two-byte words #按照KB单位搜索,必须是小写的k。 'k':for Kilobytes(units of 1024 bytes) #按照MB单位搜索,必须是大写的M 'M':for Megabytes(units of 1048576 bytes) #按照GB单位搜索,必须是大写的G ' G':for Gigabytes(units of 1073741824 bytes)
-
[root@master ~]# find / -size -1k
[root@master ~]# find / -size +100M
[root@server ~]# find . -empty # 空文件

- 按照修改时间搜索
- -atime [+|-]时间: 按照文件访问时间搜索
- -mtime [+|-]时间: 按照文件数据修改时间搜索
- -ctime [+|-]时间: 按照文件状态修改时间搜索
- -newer file: 把比file修改时间更新的文件列出来
- 注意:时间范围问题
- -5:代表 5 天内修改的文件。
- 5:代表前 5~6 天那一天修改的文件。
- +5:代表 6 天前修改的文件。
[root@master ~]# find / -mtime -10 -empty 10天以内的空文件
- 查找10天以内修改数据的文件

- 按照权限搜索
- -perm 权限模式: 查找文件权限刚好等于“权限模式”的文件 ,常用
- -perm -权限模式: 查找文件权限全部包含“权限模式”的文件
- -perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件
- 如果要在整个系统中搜索权限中包括SUID权限的所有文件,只需使用-4000即可:
[root@server ~]# find . perm 755
[root@server ~]# find / -perm -4000

- 按照所有者和所属组搜索
- -uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
- -gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
- -user 用户名: 按照用户名查找所有者是指定用户的文件
- -group 组名: 按照组名查找所属组是指定用户组的文件
- -nouser: 查找没有所有者的文件 ,常用,主要用于查找垃圾文件,还有一种情况就是外来文件,比如光盘和U盘中的文件如果是由Windows复制来的(也就是文件是由windows建立的),在Linux中查看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者(由其他系统打的源码包)
[root@server ~]# find . -user root
[root@server ~]# find / -nouser # 查看无所有者的文件

- 按照文件类型搜索
- -type d: 查找目录
- -type f: 查找普通文件
- -type l: 查找软链接文件
- ……
[root@server ~]# find /dev -type b #只匹配块设备文件
[root@server ~]# find ~ -type d #只匹配目录
[root@server ~]# find /dev -type c -size -10k #字符设备文件

- 逻辑运算符
- -a: and 逻辑与
- -o: or 逻辑或
- -not: not 逻辑非
- 优先级:与>或>非
[root@server ~]# find / -size +10k -a -size -50k
[root@server ~]# find /etc -name "e*" -o -name "f*"
[root@server ~]# find /etc -name "d*" -user root # 默认为and

- -exec参数
- 作用:用于把find命令搜索到的结果交由紧随其后的命令作进一步处理,类似于管道符,该参数必须为带减号的长参数。
- 使用-exec命令结尾必须为;
# 将/root 目录下的属于root账户的文件检索出来后拷贝到/目录下的find1目录中
[root@server ~]# find ~ -user root -exec cp -a {} /find1/ \;
4.压缩和解压缩
(1)zip和unzip命令
格式
zip FILE # 压缩
unzip FILE # 解压缩
示例

(2)gzip命令
- 压缩只针对文件,不针对目录,而且在压缩之后会删除源文件
# 例1: 使用gzip压缩文件
[root@server test]# gzip test1.txt
# 例2: 使用gzip压缩目录下文件
[root@server test]# gzip -r dir1
[root@server test]# ls dir1
#注意: 以上压缩之后原始文件就没有了。
# 例3: 压缩但保留原始文件
[root@server test]# gzip -c test2.txt > test2.txt.gz

或者一步到位

(3)bzip2命令
- 压缩只针对文件,不针对目录,而且在压缩之后会删除源文件
# bzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。
[root@server test]# [root@server test]# bzip2 test3.txt # 源文档不保留
[root@server test]# bzip2 -9 -c test3.txt > test3.txt.bz2 # 用最佳的压缩比压缩,并保留原本的档案

解压

5.tar归档命令
格式
tar -参数 [args]……
参数
- 常用参数
| 选项 | 功能 |
|---|---|
| -c | 创建.tar格式的包文件 |
| -x | 释放.tar格式的包文件 |
| -t | 查看包中的文件列表 |
- 必选参数
| 选项 | 功能 |
|---|---|
| -f | 用于指定打包文件名。 当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名 当与-x选项一起使用时,则释放该选项指定的tar包文件 |
- 辅助参数
| 选项 | 功能 |
|---|---|
| -v | 表示在命令执行时显示详细的提示信息 |
| -p | 打包时保留文件及目录的权限 |
| z | 调用gzip程序,以gzip格式压缩或解压缩文件(.tar.gz) |
| -j | 调用bzip2程序,以bzip2格式压缩或解压缩文件(.tar.bz2) |
| -J | 使用xz压缩或解压缩文件(.tar.xz),xz的压缩率通常比bzip2更高 |
| -C(大写字母C) | 和-x选项一起使用,表示释放包时指定释放的目标路径 |
- 额外参数
# 打包时排除某个文件
tar cf 文件名.tar --exclude=路径/文件 路径
注:此处的路径前后需要保持保持一致,统一使用绝对路径或者相对路径
格式
打包
- 作用:创建(非压缩的)打包文件,将指定的一个或多个文件或目录备份生成为一个指定的包文件
tar cvf/cfv/-cvf 文件名.tar 要打包的目录或文件名
- 列出包文件中的文件列表
tar t[v]f 包文件名`
打包压缩
- 作用:为节省存储空间,通常需要生成压缩格式的tar包文件,tar命令支持三种不同的压缩方式
tar czf/-czf 文件名.tar.gz 要打包压缩的目录或文件名……
tar cjf/-cjf 文件名.tar.bz2 要打包压缩的目录或文件名……
tar cJf/-cJf 文件名.tar.xz 要打包压缩的目录或文件名……
- 提取包文件到指定目录
tar xf/-xf/-xzf 文件名.tar.gz [-C 目标路径]
tar xf/-xf/-xjf 文件名.tar.bz2 [-C 目标路径]
tar xf/-xf/-xJf 文件名.tar.xz [-C 目标路径]
示例
- 将/etc下所有内容打包压缩到/root目录中
[root@server ~]# tar -cvf taretc.tar.gz /etc
- 解压缩
[root@server ~]# mkdir temp
[root@server ~]# mv taretc.tar.gz temp
[root@server ~]# cd temp
[root@server temp]#
[root@server temp]# tar -xvf taretc.tar.gz
- 注意:参数中-c 与 -x 不能同时使用

更多推荐
所有评论(0)