云计算运维学习 day2--Linux基础命令
目录
3.7解决 profile 文件修改错误,引发找不到命令的问题
4.1文件名命名规则(可使用touch、vim等命令创建文件并命名)
1.认识Linux
1.1Linux的简介
Linux是一种广泛使用的开源操作系统,它基于类UNIX的设计理念,提供了一个多用户、多任务的环境,支持多线程和多CPU处理。Linux操作系统核心是Linux内核,它负责管理硬件资源并提供系统服务,通常与GNU工具和服务捆绑在一起,形成一个完整的操作系统,被称为GNU/Linux。
1.2Linux的组成
1.Linux内核:运行程序和管理硬件设备的核心程序。
2.Shell:系统的用户界面,提供用户与内核交互的接口。
工作原理:用户给Shell发送命令,Shell将命令翻译给内核,内核收到命令控制硬件工作,向Shell反馈工作情况,再由Shell向用户返回工作信息。

3.应用程序:Linux上的一些软件应用,比如:文本编辑器,编程语言等等。
1.3终端
1.终端:又称终端设备,是计算机网络最外围的设备,用于用户的输入与运行结果的输出。

2.虚拟终端:在同一个设备上虚拟出多个终端,终端之间互不影响,默认存在6个,可通过快捷键:ctrl+alt+F(1/2/3/4/5/6)快速创建/切换。
1.4Shell命令提示符
例:[root@service2 ~]#

账户名:又称用户名,当前登录的账户。
主机名:代表你的主机IP,主机IP的域名。
当前目录位置~:root管理员是/root,普通用户是/home/用户账户名。
提示符标志:#代表管理员,$代表普通账户。
1.5修改root密码(包含知道密码与忘记密码的情况):
1.在知晓原先密码的情况下修改root密码: 登录进入root账户,先输入passwd命令,在输入输入两遍新密码(密码输入时是不会显示的,正常输入即可),即可完成修改。(注意:普通用户设置新密码时需要满足要求,但root管理员可以强行修改密码)
passwd
当看到以下这句话时,意味着密码修改成功:
![]()
密码少于8个字符:

密码太过简单:

2.当你忘记原先的root密码,无法登录root的情况下,修改root密码(rd.break法):
2.1开启虚拟机,在选项界面,按上下键切换,选定第一行,按E进入编辑:

2.2 下滑,在linux16这一行的尾部添加:rd.break,完成后按ctrl + X退出编辑
rd.break

2.3 之后你会进入一个临时救援模式,你需要将真实根目录挂载为可读写模式(默认情况下,/sysroot是以只读(ro)方式挂载的,直接修改密码会失败)
mount -o remount,rw/sysroot/
mount | grep sysroot

挂载成功如下图:
![]()
2.4 使用chroot命令,将你的根目录切换到真实系统目录/sysroot下,设置新密码
chroot /sysroot/
echo 新的root密码 | passwd --stdin root

2.5 强置重启文件系统的上下文。(如果你的系统之前已经关闭了SElinux,可以跳过这一步)
touch ./autorelabel
原因:在rd.break的临时环境中,SELinux 并未运行。直接修改了存储密码的 /etc/shadow 文件,会导致该文件的 SELinux 安全上下文标签不正确。touch ./autorelabel 这个操作会告诉系统在下次启动时重新检查和修复所有文件的标签,确保一切正常。
2.6 两次exit退出临时环境即可

1.6 关闭网络接口的可预测命名规则(按需关闭)
目的:CentOS 7以后,操作系统建立了一套新的网卡命名规则(根据网卡的硬件物理位置、总线地址、MAC地址等信息来生成名称),虽然它固定了网口的名称,但是很多老脚本、老配置文件里写死了eth0,在新系统上会找不到网卡。
1.编辑Linux的启动文件
vim /boot/grub2/grub.cfg
2.进入文件后,输入:100跳转至文件的第100行,按住shift + A,跳转至行尾,添加net.ifnames=0,关闭网络接口的“可预测命名”规则。修改完成后,按:wq 保存并退出。
net.ifnames=0

3. 重启虚拟机
reboot
4.输入nmcli查看所有连接配置:
nmcli c s

2.Linux中的命令基础
2.1命令格式
1.格式:
主命令 参数 操作对象
例如:

意思:以长格式列出etc目录下的所有文件和目录
2.命令分类:内置命令和外置命令
内置命令:由Shell自带的命令
外置命令:独立的可执行程序文件
3.参数:指定命令的执行特性,具体执行哪一项功能
短选项:例如:-l,-d,多个短选项可合并。例如-ld。
长选项:例如:--help,
4.操作对象:命令的作用对象,可以是文件或者目录,多个操作对象间用空格分开。
5.注意事项:
终止命令:ctrl + c。
补全:输入命令/文件的前几个关键字,按 Tab 键补全(需提前安装bash-completion)。
2.2查看命令帮助
1.查看bash内的命令帮助(用于Shell内置命令)
help 命令

2.使用命令 --help (查看外部程序的命令)
命令 --help

3.man命令(几乎适用所有命令)
man 命令

空格翻页,按 Q 退出。
2.3date命令
1.作用:用于显示和设置系统的时间。

2.格式:
date -选项参数 +显示日期时间的格式参数

-选项参数:
-d:用于时间的加减,适合写脚本
-s:设置系统的时间
-显示日期时间的格式参数:
%Y:显示完整的年份
%y:只显示年份的后两位
%m:显示月份
%d:显示当月的天数
%H:显示小时
%M:显示分钟
%s:显示秒数
3.同步时间:系统时间修改后,通常需要同步到硬件时钟(BIOS),防止重启后失效。
hwclock --systohc
4.创建一个以当前日期命名的文件
touch file_$(date "+%Y-%m-%d")

2.4timedatectl命令
1.作用:设置系统时间,同步时区。
2.格式:
timedatectl 参数

status:显示状态信息
list-timezones:列出已知时区
set-timezones:设置生效时区
set-time:修改时间
2.5cal命令
1.作用:查看日期
2.格式:
cal

2.6ls命令
1.作用:列出目录下的文件/目录
2.格式:
ls 选项 操作对象
选项:
-l:以长格式显示内容,包含文件的类型,权限,所有者,内存。
-h:更清楚的显示文件内存,一般与-l搭配,如-lh或者 ll -h
-a:显示隐藏文件/目录
-R:以递归的方式显示目录下的内容以及其子目录的全部内容
3.ls的颜色表示(系统自带的ls是个别名,ls --color=auto):
白色:普通文件。
蓝色:目录。
红色:压缩包文件。
黄色:设备文件。
绿色:可执行文件。
3.Linux文件类型和根目录
3.1Linux文件类型
1.使用ls -l或ll命令进行查看:
ls -l 或 ll

2.字符代表的文件类型:
d:表示目录。
-:表示普通文件。
c:表示字符设备文件。
b:表示块设备文件。
p:表示管道文件。
s:表示套接字文件。
l:表示链接文件。
3.2Linux目录结构
1.结构特点:
1.使用树形结构来组织文件。
2.整个系统只有一个根目录,用"/"表示。
3.其他所有分区以及外部设备都挂接在目录树下的某一目录中,通过访问挂载点目录,来访问这个分区。
2.结构图:

常见目录:
/:Linux中的根目录。
/boot:存放启动文件的目录。
/root:超级用户的个人目录。
/home:存放一般用户的个人目录。
/bin:存放普通用户的可执行程序或者命令。
/sbin:和bin类似,存放系统管理文件,只有root可使用。
/lib:存放系统的各种库文件。
/lib64:存放系统本身所需的64位程序的共享函数库。
/usr:一般用户程序安装所在的目录,用于安装各类程序。
/opt:提供给较大型的第三方程序使用,避免文件分散至多个目录。
/etc:存放系统管理时所需的配置文件及其子目录。
/var:存放各种系统日志文件。
/run:保存自系统启动以来的系统信息。
/dev:包含所有设备文件。
/mnt和/media:临时将别的文件系统挂在当前目录下。
/tmp:存放不同程序执行时的临时文件。
/srv:服务启动后需要访问的数据目录。
/sys:包含内核信息映射文件,供应用程序使用。
/proc:获取系统信息。
注意:
1.系统目录不要随便删除,特别是第一级目录。
2.目录是区分大小写的。
3.3路径
1.路径:表示某一文件或者目录所处的位置。
2.分类:绝对路径和相对路径。
绝对路径:以根目录"/"为起点,表示系统的某个文件或者目录的位置。
相对路径:以当前目录为起点,表示系统的某个文件或者目录的位置。
3.4工作目录(当前目录)
1.使用 pwd 命令显示当前目录
pwd

2.使用 cd 命令切换工作目录
cd 目录:切换到指定目录
cd .:切换成当前目录
cd ..:返回上一级目录
cd :返回登录时的初始目录

3.5PATH环境变量
1.作用:自动查询二进制命令,告诉Shell去哪里寻找用户输入的命令。
2.查看当前的PATH($:表示取变量值)
echo $PATH

3.6自行设置环境变量
1.作用:将自己的程序放在PATH环境下。
2.临时设置环境变量,仅在当前终端生效:
export 变量名 = 变量值

3.设置普通用户的永久环境变量:
1.编辑普通用户目录下的.bashrc文件
vim .bashrc

2.最后一行插入 export 变量名 = 变量值,完成后退出
export 变量名 = 变量值

3.文件生效
source .bashrc

4.重启查看环境变量
echo $MY_project

5.小贴士:设置环境变量时,等号(=)两边不要留空格,否则会报错。如下所示:

4.设置超级用户的永久环境变量,(普通用户也可使用)
1.编辑 /etc/profile文件
vim /etc/profile
2.在最后一行,插入环境变量,完成后退出。
export 变量名 = 变量值

3.使用source使文件生效
source /etc/profile
![]()
4.重启虚拟机,查看环境变量是否生效
echo $MY_PATH
超级用户:

普通用户:

4.实战:将自己的程序放入全局变量当中,(普通用户和超级用户都可以访问)
1.创建一个目录(注意不要在根目录下创建),将文件放在该目录当中
cd /usr/local/bin
mkdir myenv
cd myenv
vim 你的程序


2.在文件中放入你的程序(我这里是输出hello,用于测试),完成后退出
echo "hello"
![]()
3.,返回根目录,编辑 /etc/profile 文件
cd
vim /ect/profile
4.在最后一行插入:原先的环境变量路径+你的环境变量,意思是在原先的PATH后面增加一个你的环境变量(注意,不要少了这个冒号,否则会导致文件错误,找不到命令)。
export PATH=$PATH:你定义的环境变量

5.使文件生效
source /etc/profile
6.修改 hello 文件权限,使文件能够被root和普通用户读、写和执行。(关于chmod的更多用法会在下面介绍)
cd /usr/local/bin/myenv
chmod 777 hello

7.重启,查看程序是否成功加入全局变量:
hello
普通用户:

超级用户:

3.7解决 profile 文件修改错误,引发找不到命令的问题
问题原因:profile文件被破坏,修改存在错误
解决方法:将文件恢复正常,修正编辑错误的信息
问题如下:

使用完整的vim命令,修改 profile 文件:
/usr/bin/vim /etc/profile
4.使用命令行管理文件
4.1文件名命名规则(可使用touch、vim等命令创建文件并命名)
1.不能使用 / 为文件命名。
2.文件名字符不能超过255。
3.区分大小写。
4.不同类型的文件也不能同名。
4.2链接文件
1.硬盘数据分类:
元数据:关于数据的数据,描述数据的对象的基本信息,即数据的大小,创建者等。
用户数据:数据本身,具体的文件数据内容。
2.硬链接与软链接的区别:
硬链接:源文件被销毁,数据依然存在,占用与源文件相同大小的空间。
软链接:源文件被销毁,所有链接文件也被销毁,占用较小的空间。
软链接可以通过 ls -l 命令查看指向关系,硬链接无法查看指向。
软链接不受文件系统的影响,任何文件都可以指向目录的软链接。
3.硬链接:指向原始文件indoe(文件编号)的指针。
4.硬链接原理:Linux中允许多个文件指向同一个indoe,即一个文件允许多个地址指向它。
5.建立硬链接:
格式:
ln -参数(可选) 源文件 目标链接文件
![]()
查看硬链接数:
stat 源文件

参数:
-f:若目标文件已存在,可使用 -f 强制覆盖。
6.硬链接注意:
硬链接创建完成后,即使删除源文件,数据依然可以访问,只有硬链接数是0时,数据才会被销毁。
硬链接不能给目录建立。
目录自带两个硬链接,即 . :当前目录和 .. :上一级目录。
不可以在不同的文件系统中创建硬链接,不允许跨设备,跨分区。
7.软链接原理:一种符号的连接方式,仅包含指向文件的路径,类似windows中的快捷方式。
8.软链接格式:
ln -s 源文件 目标链接文件

查看软链接文件
stat 源文件

9.更改软链接指向:
ln -snf 指向的新文件名 软链接名
例:将t3.txt指向更改成t2.txt
ln -snf t2.txt t3.txt

10.软链接注意:
目标文件只是一种指向关系,删除源文件数据会丢失。
可以使用ll命令查看源文件及其位置。
删除软链接,只是删除指向关系,不会造成源数据丢失。
4.3目录操作命令(mkdir命令)
1.创建目录 mkdir,多目录间用空格间隔。
mkdir -[参数] [/路径]目录1 目录2 目录3 ..

参数:
-p:快速创建目录结构中指定的每个目录,对于已存在的目录不会覆盖。
-v:显示创建目录的过程。
2. du 命令
1.作用:查看目录的空间使用情况,以及各个子目录占用的磁盘空间。
2.格式:
du -[参数] [目录路径(为空是当前目录)]

参数:
-a:统计目录下的所有文件大小
-h:提高可读性,以M,K,G为单位
-s:只统计文件大小,不包含子目录及其下面的文件。
3.df 命令:
1.作用:查看磁盘分区空间使用情况。
2.格式:
df -[参数] [目录路径]

参数:
-h:显示数据大小的单位
-T:显示文件类型
4.4新建普通文件(touch、tree命令)
1.创建普通文件(touch命令的用法)
用法1:若文件存在,更改文件的访问,内容修改和元数据变化的时间。
touch 一个已存在的文件

用法2:若文件不存在,即创建一个新的文件
touch 文件1 文件2 文件3 ..

2.tree命令:
1. 作用:以树形结构图显示目录下的文件。
2.下载tree命令:
yum -y install tree
3.格式:
tree -[参数] [路径]

参数:
-a:显示全部文件
-f:列出文件的完整路径内容
-d:只显示目录
-L:设置显示的最大深度
4.5创建大容量数据(dd命令)
1.作用:创建指定个数以及大小的文件,类似将来源的文件内容放入新的文件当中,从而开辟空间。
2.格式:
dd if=来源 of=新的文件名 count=数据块个数 bs=容量(文件大小)

if=/dev/zero:zero:空数据设备文件,可以向其他文件塞入若干个0。
of=新文件名:可以在当前目录,也可以指定路径。
count:新文件由几个数据块(分配空间时的最小单位)组成。
bs:新文件的空间大小。
4.6删除文件(rm 命令)
1.作用:删除系统中的文件和目录。
2.格式:
rm -[参数] 文件名1 文件名2 ..
参数:
-r:删除目录。
-f:强制删除,不需要输入yes判断是否删除。
3.注意:
删除前注意你当前所处的目录。
删除时要写全文件名或者目录名。
4.7 数据流和重定向
1.数据流:主要包含标准输入,标准输出,标准错误输出。
标准输入(stdin):从键盘上获取的输入,代码为0
标准输出 (stdout):命令执行成功后,将正确的结果信息输出到终端Shell屏幕上,代码为1
标准错误输出(stderr):命令执行失败后,将错误的结果信息输出到终端Shell屏幕上,代码为2
2.重定向操作符:
1.概念:
将命令的输入和输出的数据流从默认设备上重定向到指定的位置。
重定向操作符实际上命令中附加的更改输入流和输出流的符号。
2.符号:
输出重定向操作符
> :用命令结果信息覆盖文件内容
>> :用命令结果信息追加到文件后面
输入重定向操作符:
< :读取文件内容作为输入
<< :读取文件内容作为输入,直到读到结束标识符
3.用法:
1.命令输出内容覆盖到文件中,当文件不存在时,会自动创建文件
命令 > 文件名

2.命令输出内容追加到文件当中
命令 >> 文件名

3.将错误的命令结果信息输出到文件当中
命令 2> 文件名

4.丢弃错误信息
命令 2> /dev/null
5.将命令输出后的正确和错误信息都放到文件当中
命令 &> 或 >& 文件名
6.文件中的内容作为输入
命令 < 文件名

7.文件中的内容作为输入,直到读取到结束标识符
<< 结束标识符

4.8将标准输出重定向到文件当中(echo 命令)
1.作用:向终端设备输出字符串或者变量值。
2.格式:
echo "字符串"
echo $变量名
3.将标准输出重定向到文件当中
echo "内容" > 或 >> 文件

4.9 tee命令读取数据并输出到文件当中
1.作用:读取键盘的输入数据,并把它输出到屏幕和文件当中。
2.格式:
tee -[参数] 文件名

参数:
-a:内容追加到文件末尾
-i:忽略中断信号
4.10管道符(|,一个竖线)
1.作用:用于多个命令相连接,将管道符(|)左边的输出内容作为右边的输入内容。
2.格式:
命令1 | 命令2 | 命令3
例:统计1.txt文件的函数,单词数和字符数。

3.注意:管道符会增加运算时间,较低效率。
4.11vi/vim编辑器
1.概念:
命令模式:又称阅读模式,用于移动光标,查看文件内容
编辑模式:又称插入模式,用于修改文件内容
末行模式:保存,不保存,退出编辑模式。
三者的关系:

2.基本步骤:
1.命令窗口输入 vim 文件名,进入命令模式
2.移动光标,到想要修改的位置
3.按 i 键进入编辑模式,对文件内容进行修改
4.修改完成后,按 Esc 键退出编辑模式
5.按 :键进入末行模式
6.按 wq 保存并退出该文件
3.光标跳转快捷键
上下左右:移动光标,没按一次移动一格。
gg:跳转至文件第一行第一个字符
G:跳转至文件最后一行最后一个字符
w:向后跳转一个单词
b:向前跳转一个单词
^:跳转至行首
$:跳转至行尾
":行数":跳转至指定行
4.复制、粘贴和删除
dd:删除所在行
"数字dd":删除从光标开始的第n行
d^:删除光标至行首的字符
d$:删除光标至行尾的所有字符
yy:复制当前行
"数字yy":复制从光标开始的n行
p:将缓冲区的内容粘贴到光标所在的下一行
P:将缓冲区的内容粘贴到光标所在的上一行
u:撤销操作
5.编辑模式的快捷键
i:在光标前插入
I:光标所在行的行首第一个非空字符处插入
a:光标后插入
A:光标所在行尾处插入
o:光标下一行插入
O:在光标的上一行插入
s:删除当前字符并插入
S:删除当前行并插入
6.末行模式的快捷键
":"或" / ":从命令模式切换到末行模式
Esc:切换末行模式
7.查找关键字并代替
/word:自上到下寻找匹配的word(匹配字符),(按 n 键切换到下一个匹配的字符)
:s /old/new:当前行中的第一个字符"old"换成"new"
:s /old/new/g: 当前行中的所有字符"old"替换成"new"
:n1,n2 s/old/new/g:在行号(n1,n2)间的所有字符"old'替换成"new"
:% s/old/new/g:全部文件的"old"替换成"new"
8.保存退出
:q:退出编辑器,文件未被修改
:q!:强制退出编辑器,不保存修改内容
:w:保存文件
:wq / zz:保存并退出文件
:w 文件名:另存文件
9.其他操作
:r 文件名:在当前文件中读取其他文件内容
:g/word/d:找出包含word的行并删除
:set nu:显示行号
:set nonu:关闭显示行号
:n1,n2 d:删除(n1,n2)行
n1,n2 co n:复制(n1,n2)行到第n行后面
10.vim异常情况处理
1.出现原因,文件异常退出(ctrl + z退出文件),如下情况:

2.恢复:
1.在该界面按 R 键 或者 :recover 或者 使用 vim -r 文件 命令编辑
按 R 键
:recover
vim -r 文件名
修复完成:

2.删除产生的交换文件
rm -f .文件名.swp
![]()
3.文件正常打开,不会出现异常:
vim 文件名
5.文章内容显示命令
5.1浏览普通文件
1.cat 命令:
1.作用:查看内容较小的文件,在Shell界面显示
2.格式:
cat -[参数] 文件名
参数:
-n:显示行号
-b:为文件中所有空行加上行号
3.合并文件(文件1 文件2的内容放到文件3上):
cat 文件1 文件2 > 文件3
2.tac 命令:
1.作用:倒叙查看文件内容
2.格式:
tac 文件名
3.more 命令:
1.作用:查看内容较大的文件(空格翻页,q 键退出)
2.格式:
more 文件名
4.less 命令:
1.作用:查看内容较大的文件(上下键翻页,q 键退出)
2.格式:
less 文件名
5.head 命令:
1.作用:查看文件前n行的内容
2.格式:
head -n(数字) 文件名
6.tail 命令:
1.作用:查看文件末n行的内容
2.格式:
tail -[参数] 文件名
参数:
-数字:查看末尾几行的内容
-f:动态刷新
5.2文件信息(元数据)查看
1.file 命令:
1.作用:查看文件类型
2.格式:
file 文件名

3.文件类型:
ASCII 文件:ASCII字符文件
empty:空文件
block special:块设备文件
character special:字符设备文件
diretory:目录
2.stat 命令:
1.作用:显示文件属性信息
2.格式:
stat 文件名
5.3文件内容过滤显示(grep 命令)
1.作用:筛选出文件中包含指定字符的行
2.格式:
grep -[参数] "字符" 文件名
参数:
-c:仅显示找到的行数
-i:忽略大小写
-n:显示行号
-v:反向选择--列出没有匹配到字符的行
-A n:显示匹配到字符的那一行及下n行
-B n:显示匹配到字符的那一行及上n行
-C n:显示匹配到字符的那一行及上下n行
3.使用特殊符号匹配:
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 ./* 忽略当前目录下的子目录下的普通文件
5.4切割显示(cut 命令)
1.作用:按列提取文件内容
2.格式:
cut -d "分隔符" -f列数字 文件名

5.5排序显示(sort 命令)
1.作用:对文件内容进行排序显示
2.格式:
sort -[参数] 文件名
参数:
-f:忽略大小写
-b:忽略缩进与空格
-n:以数值型排序
-r:反向排序
-u:去除重复行
-t:指定间隔符
-k:设置字段范围
5.6去重显示(uniq 命令)
1.作用:去除文本中连续的重复行
2.格式:
uniq 文件名
5.7文件中字符替换显示(tr命令)
1.作用:读取标准输入的数据,经替换或删除后,将内容输出到标准输出
2.格式:
tr -[参数] 原内容 新内容
参数:
-c:反选设定字符,替换不匹配的字符
-d:删除设定字符
-s:缩减连续重复的字符为单个字符
6.文件的其他操作命令
6.1文本内容统计(wc 命令)
1.作用:统计指定文件的行数,字符数或字节数
2.格式:
wc -[参数] 文件名
参数:
-i:只显示行数
-w:只显示单词数
-c:只显示字节数
6.2复制、移动文件(cp、mv命令)
1.复制文件或目录( cp 命令):
1.作用:复制文件内容或者目录为一个新文件或新目录
2.格式:
cp -[参数] 源文件或目录 新文件名或目录
参数:
-a:拷贝目录时,保存文件的链接,属性及其子目录。
-d:保存文件链接。
-f:覆盖已存在文件的文件内容不显示提示。
-r:复制目录
-p:复制修改时间和访问时间等文件属性
-i:覆盖文件内容前给出提示
2.移动或者重命名文件(mv 命令)
1.作用:更改文件位置,重命名文件
2.格式:
mv 源文件 目标文件
用法1:若源文件为目录,则为移动
用法2:若源文件为文件,则为重命名
6.3查找文件
1.whereis命令:
1.作用:搜索系统命令的可执行文件路径和说明文档
2.格式:
whereis 命令
2.which命令:
1.作用:搜素系统命令的可执行文件
2.格式:
which 命令
2.find命令:
1.作用:按照文件名、时间、大小、权限、类型、所有者、所有组来搜素文件。
2.格式:
find 查找路径 -[参数] 查找条件
参数:
-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<br />-mindepth levels最多查找多少层目录;最少查找多少层目录
-delete:将找到的文件删除,如果是目录只能删除找到的空目录。
-exec …… {}\:后面可跟用于进一步处理搜索结果的命令
6.4压缩和解压缩命令
1.zip和unzip命令:
1.作用:压缩和解压缩文件
2.格式:
zip 文件名
unzip 文件名
2.gzip命令:
1.作用:压缩文件
2.格式:
gzip -[参数] 文件名
参数:
-c:保留源文件
3.bzip2命令:
1.作用:压缩文件(比gzip有更高的效率)
2.格式:
bzip2 -[参数] 文件名
参数:
-c:保留源文件
4.tar归档命令:
1.格式:
tar -[参数] 文件
参数:
-f(必须):指定打包文件名
-c:打包.tar文件
-x:释放.tar文件
-t:查看包中的文件列表
-v:显示详细信息
-p:打包时保留文件及目录的权限
-z:以gzip格式压缩和解压缩文件(.tar.gz)
-j:以bzip2格式压缩和解压缩文件(.tar.bz2)
-J:以xz格式压缩或解压缩文件(.tar.xz)
-C:与-x搭配使用,解压包文件到指定位置
2.常用搭配:
1.打包压缩格式:
tar -czf 文件名.tar.gz 要打包压缩的目录或文件名……
tar -cjf 文件名.tar.bz2 要打包压缩的目录或文件名……
tar -cJf 文件名.tar.xz 要打包压缩的目录或文件名……
2.解压文件到指定位置:
tar -xzf 文件名.tar.gz [-C 目标路径]
tar -xjf 文件名.tar.bz2 [-C 目标路径]
tar -xJf 文件名.tar.xz [-C 目标路径]
3.列出包中的文件列表:
tar t[v]f 包文件名

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)