RHCSA

文件管理

linux命令在线手册:
Linux命令大全(手册)_Linux常用命令行实例详解_Linux命令学习手册
Linux命令 - 在线工具
第 1 章 概述 | Red Hat Product Documentation


Linux命令离线手册:
《鸟哥私房菜》 鸟哥的Linux私房菜简体首页
《Linux常用命令》
man 命令 

目录管理命令 

新建目录: mkdir

查看目录: ls

切换目录: cd

修改目录: mv

删除目录: rmdir

路径查看: pwd

==============================================================================
打开终端后我们默认处于主目录(家目录) 标志就是: ~
Linux 中目录 类似与win的 文件夹。

mkdir :
mkdir命令来自英文词组make directories的缩写,其功能是创建目录文件。
该命令的使用简单,但需要注意,
若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。
若目录不存在,则立即创建一个目录。
可以创建具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,
要想一次性创建则需要加入-p参数,进行递归操‍作。

语法格式 : mkdir 参数 目录名

常用参数: -m 创建目录的同时设置权限
-v 显示执行过程详细信息
-p 递归创建多级目录
-z 设置目录安全上下文

mkdir Dir1 #建立一个目录文件,默认的目录权限是 0755 权限。 rwxr-xr-x
mkdir -m 700 Dir2 #创建一个目录文件并设置700权限,不让除属主以外的任何人读、写、执行它:
mkdir Dir3 Dir4 Dir5 #一次性创建多个目录文件
mkdir -p Dir1/Dir2/Dir3/Dir4/Dir5 #一次性创建多个有嵌套关系的目录文件



ls
ls命令来自英文单词list的缩写,中文译为“列出”,其功能是显示目录中的文件及其属性信息,
是最常使用的Linux命令之‍一。 默认不添加任何参数的情况下,ls命令会列出当前工作目录中的文件信息,
常与cd或pwd命令搭配使用,十分方便。

带上参数后,我们可以做更多的事情。作为最基础、最频繁使用的命令,有必要仔细了解其常用功‍能。

语法格式:ls 参数 文件名

常用参数:
-a 显示所有文件及目录 -r 依据首字母将文件以相反次序显示
-A 不显示当前目录和父目录 -R 递归显示所有子文件
-d 显示目录自身的属性信息 -S 依据内容大小将文件排序显示
-i 显示文件的inode属性信息 -t 依据最后修改时间将文件排序显示
-l 显示文件的详细属性信息 -X 依据扩展名将文件排序显示
-m 以逗号为间隔符,水平显示文件信息 -color 以彩色显示信息

参考示例:
ls #显示当前目录中的文件名(默认不含隐藏文件)
ls -l #以详细信息模式输出文件名及其属性信息, 简写 ll

ls -a #显示当前目录中的文件名(默认含隐藏文件,Linux中隐藏文件用 . 开头)
. 一个点的文件是当前路径
.. 两个点的文件是上级路径
.abc .开头的文件是Linux系统中的隐藏文件

ls /etc #显示指定目录中的文件列表,默认查看是当前工作目录。
ls / #指定查看根目录下有哪些文件
ls ./ #查看自己当前目录下有哪些文件 等价于 ls
ls ../ #查看当前目录的上级目录有哪些文件
ls ../abc #查看上级目录中abc目录中有哪些文件
ls ../../../ #查看上级的上级的上级目录有哪些文件,最多到根目录(/)位置截止

ls -i #显示当前目录中的文件名及inode属性信息
ls -Sl /etc #依据文件内容大小进行排序,显示指定目录中文件名及其属性详情信息


cd
cd命令来自英文词组change directory的缩写,
其功能是更改当前所处的工作目录,路径可以是绝对路径,也可以是相对路径,
若省略不写则会跳转至当前使用者的家目‍录。

语法格式:cd 参数 目录名

常用参数:
-L 切换至符号链接所在的目录 ~ 切换至用户家目录
-P 切换至符号链接对应的实际目录 .. 切换至当前位置的上一级目录
- 切换至上次所在目录

参考示例
cd #就是直接改命令后enter键会回到自己的家目录
cd ~ #切换至当前用户的家目录,等价于 cd 回车 默认进入家目录


cd /Dir #切换到根目录下指定目录,注意如果没有这个目录,
#或者权限不足则提示不能切换。
cd ./Dir #切换到当前目录下的指定目录 等价cd Dir
cd ../Dir #切换到上级目录下的指定目录


cd ./Dir1/xxx/yyy #切换到当前位置下的多层级目录
cd .. #进入到上一级所在目录,如果不清楚位置,pwd命令可以看到绝对路径。
cd ../../../ #通过多次的上级目录,切换到上级的上级的上级目录。
cd - #返回到上一次所在目录
cd / #直接进入到根目录所在位置



mv
mv命令来自英文单词move的缩写,中文译为“移动”,其功能与英文含义相同,
能够对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令,
我们需要留意它与复制命令的区别。当前mv命令应理解成重命名操作.

语法格式:mv 参数 源文件名 目标文件名

常用参数:
-b 覆盖前为目标文件创建备份 -v 显示执行过程详细信息
-f 强制覆盖目标文件而不询问 -Z 设置文件安全上下文
-i 覆盖目标文件前询问用户是否确认 --help 显示帮助信息
-n 不要覆盖已有文件 --version 显示版本信息
-u 当源文件比目标文件更新时,才执行覆盖操作

参考示例:
mv File1.cfg File2.cfg #将File1.cfg文件重命名为 File2.cfg文件,注意源文件必须存在。
mv File2.cfg ./Dir1/ #将指定文件File2.cfg移动到当前Dir1目录中,保留文件原始名称:
mv Dir1 ./Dir11/Dir2/ #将指定目录移动到当前Dir11目录中,并定义新的目录名称为Dir2:
touch a b c d #在当前目录下创建四个普通文件a b c d
mv -f ./Dir11/* . #将当前Dir11目录中所有的文件都移动到当前工作目录中,
若遇到文件已存在则直接覆盖,Dir11中文件将全部移走变空目录。

注意:所有操作都限于当前家目录,不要在 / 目录下工作,有权限限制。


rmdir
rmdir命令来自英文词组remove directory的缩写,其功能是删除空目录文件。
rmdir命令仅能删除空内容的目录文件,如需删除非空目录时,需要使用带有-R参数的rm命令进行操作。
而rmdir命令的递归删除操作(-p参数使用)并不意味着能删除目录中已有的文件,而是要求每个子目录
都必须是空的。

语法格式:rmdir 参数 目录名

常用参数:
-p 递归处理所有子文件 --help 显示帮助信息
-v 显示执行过程详细信息 --version 显示版本信息

参考示例:
rmdir Dir #删除指定的空目录,非空目录删除失败。
#非空就是目录中有任意文件都不能删除。

rmidr -p Dir #删除指定的空目录及其内部的子空目录

mkdir -p Dir1/Dir2/Dir3/Dir4 递归嵌套创建
ls Dir1/Dir2/Dir3/Dir4/
rmdir -p Dir1/Dir2/Dir3/Dir4/ 递归嵌套删除

mkdir dir1 dir2 dir3 并列创建
ls
rmdir dir1 dir2 dir3 并列删除

rmdir -v Dir #删除指定的空目录并显示删除的过程


pwd
pwd命令来自英文词组print working directory的缩写,其功能是显示当前工作目录的路径,
即显示所在位置的绝对路‍径。 在实际工作中,我们经常会在不同目录之间进行切换,
为了防止“迷路”,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作。

语法格式: pwd 参数

常用参数:
-L 显示逻辑路径 --version 显示版本信息
-P 显示实际物理地址 --help 显示帮助信息

参考示例:
pwd #查看当前工作目录路径


============================================================================
首先,mdir mycode
其次,ls 确认目录创建
再次,cd mycode 切换进入目录
然后,touch a.txt 创建普通文件
最后,cd ~ 返回家目录

如果目录问题,可以修改 mv
可以删除 rmdir

文件管理命令 

普通文件:不支持 cd 指令

新建文件: touch、vim, gedit

编辑文件: vim 、 gedit

查看文件: cat 、more、head、 tail 、vim 、stat

删除文件: rm

普通文件和目录文件:

修改文件: chmod、 chown、chgrp

拷贝文件: cp

移动文件: mv

链接文件: ln

===============================================================
touch
touch命令的功能是创建空普通文件与修改时间戳。
如果文件不存在,则会创建一个空内容的文本文件;
如果文件已经存在,则会对文件的Atime(访问时间)和Ctime(修改时间)进行修改操作,
管理员可以完成此项工作,而普通用户只能管理主机的文‍件。

语法格式:touch 参数 文件名

常用参数:
-a 设置文件的读取时间记录 -t 设置文件的时间记录
-c 不创建新文件 --help 显示帮助信息
-d 设置时间与日期 --version 显示版本信息
-m 设置文件的修改时间记录

参考示例:
touch File.txt #创建出一个指定名称的空文件,建议文件名要符合规范。
#注意:linux中没有文件后缀的概念。
touch File{1..5}.txt #结合通配符,创建多个指定名称的空文件
#File属于文件前缀,.txt属于文件后缀,
#{1..5} 是文件创建编号边界

touch -d "2023-05-18 15:44" File.cfg
#修改指定文件的查看时间和修改时间





gedit: 编辑器只能在可视化界面操作

gedit命令来自英文词组“GNOME text editor”的缩写,其功能是用于编辑文本信息,
是GNOME桌面环境的文本编辑器。gedit命令拥有非常强大的通用文本编辑功能,
能够创建和编辑各类型文本文件,用户还可以向gedit中添加自主选择的插件,
让编辑器支持更多高级功能。

语法格式:gedit [参数] [文件名]

常用参数:
-f 忽略部分错误信息 -R 递归处理所有子文件
-s 使用独立模式 -v 显示执行过程详细信息
-w 使用独占方式打开文件 --encoding 设置字符编码

参考示例:
gedit File.cfg #打开并编辑指定的文件:
gedit --encoding=UTF-8 File #打开文件时使用的字符编码


编辑器: vim gedit emacs .....

cat
cat命令来自英文词组concatenate files and print的缩写,其功能是在终端设备上显示文件内容。
在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head等,每个命令都有各自的特点。
cat命令适合查看内容较少的纯文本文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,
用户往往看不清所显示的具体内容,只好按Ctrl+C组合键中断命令执行,对于大文件干脆用more命令。

语法格式:cat 参数 文件名

常用参数:
-A 等价于-vET参数组合 -t 等价于-vT参数组合
-b 显示行数(空行不编号) -T 将TAB字符显示为^I符号
-e 等价于-vE参数组合 -v 使用^和M-引用,LFD和TAB除外
-E 每行结束处显示$符号 --help 显示帮助信息
-n 显示行数(空行也编号) --version 显示版本信息
-s 显示行数(多个空行算一个编号)

参考示例:
cat file #查看指定文件的内容
cat -n file #查看指定文件的内容并显示行号

cat /dev/null > file #搭配空设备文件和输出重定向操作符,清空指定文件的内容
cat /dev/cdrom > xxx.iso #搭配输出重定向操作符,将光盘设备制作成镜像文件:

more 查看大文件内容使用, 可以通过空格可以翻页和enter键翻行,默认在文件开头位置,q退出查看。
head 不论文件大小,默认查看前10行,可以通过 head -10 xxx 查看指定10行文件。
tail 不论文件大小,默认查看后10行,可以通过 tail -10 xxx 查看指定10行文件
stat 查看文件的属性信息,包括文件大小,权限,链接,时间,类型,属主 ......

==================================================================================
1、新建一个自己的目录: test
2、在自己的目录中新建普通文件: a.txt
3、在新建的普通文件中写入信息: 《静夜思》
4、使用不同的查看文件命令打印: a.txt
5、多写入一些内容,可以用more进行翻页输出。
==================================================================================
rm
rm命令来自英文单词remove的缩写,中文译为“消除”,其功能是删除文件或目录,
一次可以删除多个文件,或递归删除目录及其内的所有子文件。

rm也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意。
例如,执行 rm -rf /* 命令会清空系统中所有的文件,甚至无法恢复回来。
所以我们在执行之前一定要再次
确认在在哪个目录中、到底要删除什么文件,考虑好后再敲击Enter键,要时刻保持清醒的头‍脑。

语法格式:rm 参数 文件名

常用参数:
-d 仅删除无子文件的空目录 -v 显示执行过程详细信息
-f 强制删除文件而不询问 --help 显示帮助信息
-i 删除文件前询问用户是否确认 --version 显示版本信息
-r 递归删除目录及其内全部子文件

参考示例:
rm File.cfg #删除文件时默认会进行二次确认,敲击y进行确认
rm -i file.cfg #二次确认后删除,不确认文件保留。
rm -f File.cfg #强制删除文件而无须二次确认:

rm -rf Dir #删除指定目录及其内的全部子文件,一并强制删除:
rm -f *.txt #强制删除当前工作目录内所有以.txt为后缀的文件
rm -rf ./* #强制清空当前所在位置的文件,但是千万不要在根目录或者一级子目录执行。
rm -rf /* #强制清空服务器系统内的所有文件(慎用!!!):



chmod
chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。
默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。
设置权限时可以使用数字法,亦可使用字母表达式,对于目录文件,建议加入-R参数进行递归操作,
这意味着不仅对于目录本身,而且也对目录内的子文件/目录进行新权限的设定。

语法格式:chmod 参数 文件名

常用参数:
-c 改变权限成功后再输出成功信息 --no-preserve-root 不特殊对待根目录
-f 改变权限失败后不显示错误信息 --preserve-root 禁止对根目录进行递归操作
-R 递归处理所有子文件 --reference 使用指定参考文件的权限
-v 显示执行过程详细信息 --version 显示版本信息
--help 显示帮助信息


参考示例:
chmod 0775 File.cfg #设定某个文件的权限为0775

chmod -R a+r Dir #设定某个目录及其内部的子文件可被任何人读取
-R递归目录
a+r a ==》 all == u+g+o r ==>读

u g o ==>u 是拥有着权限 g 用户组权限 o 其他用户权限
rwx rwx rwx

chmod u+r a.txt # 所属用户增加可读权限
chmod u-r a.txt # 所属用户减少可读权限
chmod u=r a.txt # 所属用户设置可读权限

chmod a+r a.txt # 给所有人增加可读权限
chmod u+x,g+w a.txt # 同时修改多个权限
chmod ug+x a.txt # 同时修改多个权限
chmod u+s ./a.txt #为某个二进制命令文件新增SUID特殊权限位

chmod 777 a.txt # 给所有人增加读、写、执行权限
#小心使用,不是必须不要777权限。
chmod -R 777 目录 # 修改目录及目录下所有文件的权限
一般情况下,目录的默认权限是:0755
普通文件的权限是:0644

补充说明: 

注意:
用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,
一旦匹配权限立即生效,不再向右查看其权限
r和w权限对root 用户无效
只要所有者,所属组或other三者之一有x权限,root就可以执行


chown:超级用户用来修改文件的属主和文件组权限。
只有文件主和超级用户才可以便用该命令。

sudo chown -R root /usr/123 #将目录/usr/123及其下子目录的文件主改成root
sudo chown root:root xxx.cfg #修改xxx.cfg 文件的用户和属主身份。


chgrp: chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。
如果用户不是该文件的文件主或超级用户(root),则不能改变该文件的组。

sudo chgrp root abc #把文件abc属组由caoqb更改为root
sudo chgrp -vR root test1/ #把目录test1及其目录下的所有文件一并由caoqb更改为root

chown :改变文件拥有者
chgrp :改变文件所属群组
chmod :改变文件的权限

cp
cp命令来自英文单词copy的缩写,中文译为“复制”,其功能是复制文件或目录。
cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。
-r参数用于递归操作,复制目录时若忘记添加则会直接报错;
-f参数则用于当目标文件已存在时会直接覆盖而不再询问。这两个参数尤为常用。

语法格式:cp 参数 源文件名 目标文件名

常用参数:
-a 功能等价于pdr参数组合 -l 对源文件建立硬链接,而非复制文件
-b 覆盖目标文件前先进行备份 -p 保留源文件或目录的所有属性信息
-d 复制链接文件时,将目标文件也建立为链接文件 -r 递归复制所有子文件
-f 若目标文件已存在,则会直接覆盖 -s 对源文件建立软链接,而非复制文件
-i 若目标文件已存在,则会询问是否覆盖 -v 显示执行过程详细信息

参考示例:
使用这些命令之前,建议ls 查看文件是否在,如果不在 cp/mv 会操作失败。

cp File1.cfg File2.cfg #复制指定的源文件,并定义新文件的名称,相当于文件备份:
cp -r Dir1 Dir2 #复制指定的源目录,并定义新目录的名称:
cp -f File1.cfg ./dir1/ #将指定文件复制到/dir1目录中,并覆盖已有文件,不进行询问

cp -a File1.cfg File2.cfg #复制文件时,保留其原始权限及用户归属信息
cp File1.cfg File2.cfg ./dir2 #将多个文件一同复制到/dir2目录中

注意:拷贝操作 会有新的一份文件生成,所以源文件依旧存在。
如果只需要一份文件,而是移动了文件的位置请用mv命令。

cp xxx.txt yyy.txt zzz.txt ./dir1 #拷贝文件到指定目录,源文件依旧存在
mv xxx.txt yyy.txt zzz.txt ./dir1 #移动文件到指定目录,源文件不存在

共享文件拷贝:
从共享中拷贝文件到虚拟机的家目录: cp /mnt/hgfs/share/???.txt ~
从家目录考别文件到共享文件目录: cp ~/xxx.txt /mnt/hgfs/share
从U盘拷贝东西到家目录: cp /run/media/caoqb/TOOL/a.txt ~
1、格式:fat32格式
2、usb控制器的兼容性选 3.1



ln
ln命令来自英文单词link的缩写,中文译为“链接”,其功能是为某个文件在另外一个位置建立同步的链接。
Linux系统中的链接文件有两种形式,一种是硬链接,另一种是软链接。
软链接相当于Windows系统中的快捷方式文件,原始文件被移动或删除后,软链接文件也将无法使用;
硬链接则是将文件的inode属性块进行了复制,因此把原始文件移动或删除后,硬链接文件依然可以使用。

语法格式: ln 参数 源文件名 目标链接文件名

常用参数:
-b 为已存在的目标文件创建备份 -s 对源文件创建软链接
-d 允许管理员创建目录的硬链接 -S 设置备份文件的后缀
-f 强制创建链接而不询问 -t 设置链接文件存放于哪个目录
-i 若目标文件已存在,则需要用户二次确认 -v 显示执行过程详细信息
-L 若目标文件为软链接,找到其对应文件 --backup 备份已存在的文件
-n 将指向目录的软链接视为普通文件 --help 显示帮助信息
-P 若目标文件为软链接,直接链接它自身 --version 显示版本信息
-r 创建相对于文件位置的软链接

参考示例:
ln File1.cfg linkFile1.cfg #为指定的源文件创建快捷方式(默认为硬链接形式)
ln -s File1.cfg linkFile2.cfg #为指定的源文件创建快捷方式(设定为软链接形式)
ln -v File1.cfg File2.cfg #为指定的源文件创硬连接,并输出制作的过程信息 

vim管理命令 

vi/vim 命令:终端下编辑文件的首选工具,号称:编辑器之神

基本上vim可以分为三种模式,分别是
命令模式(command mode) ===>输入vi的命令和快捷键,默认打开文件时候的模式。

插入模式(Insert mode) ===>进入编辑模式,可以编辑文件

底行模式(last line mode) ===>调整文件内容 

 

常规基本操作:
1、vim file #vim后跟文件名打开文件,默认进入命令行模式,不能编辑文件
2、按下 i 字符即可进入插入模式,注意文件左下角会出现 "--插入(粘贴)-- "
3、开始编辑文件内容
4、按下 ESC 键,切换到命令行模式,再按下 shift + : 组合键,进入底行模式,标志是
文件左下角出现不停闪烁的":"在":"之后写 wq 回车 保存退出

sudo 命令是提权命令,在没有权限执行的时候,
在命名最前面加上该命令就会用root身份执行。
但是会要求执行时候输入密码,看不见但是输入正确即可。

sudo vim xxx #以管理员方式编辑xxx文件



其他操作命令:
cd ~/03day/ #回家的特定目录
cp /usr/include/python3.9/pyconfig-64.h ./ #拷贝文件xxx.h到 当前目录
ls #查看



1、移动命令,所有操作在命令行模式执行
0)默认支持方向键移动
1)向前移动: l 、 空格、->
2)向后移动: h、 <-
3)移动到下一行: +、ENTER、j、ctrl+n、方向下键
4)移动到上一行: - 、 k、 ctrl+p 、 方向上键

向上
|
|
- | k
|
|
向前<---h----光标当前位置 ---l--->向后
|
+ | j
|
|
向下

其他快捷操作:
移动到行首:0 移动到行尾:$
屏幕滚动下: ctrl+f 屏幕滚动上: ctrl+b
zt 定位到屏幕顶端 zb 定位到屏幕底端
gg 定位到文件开头 G 定位到文件末尾

2、编辑命令
1) 插入 i/I i 在光标当前插入
I 在光标行开头插入
2) 附加 a/A a 在光标后增加
A 在光标行最后增加
3)新行 o/O o 在光标行下新起一行
O 在光标行上面新起一行

4)删除 x/X x 删除光标所在处字符
X 删除光标前面的字符,
可以 nx /nX 表示删除多少个字符
5)删除行 dd/D dd 删除光标所在行
D 从光标所在位置开始到行末位
dgg 删除光标所在行到文件开头的所有数据
dG 删除光标所在行到文件末尾的所有数据
u 用来插销刚才的操作
6)剪贴与粘贴:
dd 剪贴一行
p 粘贴一行
7)复制与粘贴:
yy 复制一行
p 粘贴一行
8)复制与移动: 底行模式下执行
:开始行,结束行 co 目标行
例如 :1,2 co 5 把第一行到第二行复制到第五行
:开始行,结束行 m 目标行
例如: :1,2 m 5 把第一行到第二行移动到第五行
9)移动到指定行: :行号 行号G

3、查找与替换命令
1) 查找 在命令模式使用 "/" 在其后直接写需要查询的
关键字 然后 回车 ==》n/N 来查询
n 表示从光标处开始往下找
N 表示从光标处开始往上找
/\<xx\> 表示严格匹配查找 xx 字符

比如:/\<printf\> ==>严格匹配,只查找该单词
/printf ==>模糊匹配,只要包含该单词都高亮显示
在当前文档中严格匹配查找单词printf


2) 替换 :g/s1/s//s2/g
将文件中所有的s1字符串都替换成s2,
s1和s2可以使字母也可以是字符串
比如::g/printf/s//PRINTF/g
将当前文档中所有的小写printf全部替换成大写的printf


4、其他常用操作
u 撤销刚才的操作 . 重复刚才的动作
挂起 ctrl+z 恢复 fg
关键字补齐 ctrl+n 自动缩进 "="
高亮显示 % :sp(:vsp) 文件名 横(纵)向窗口, ctrl+w 多窗口切换
显示不同 :set diff 去掉显示不同语法 :set nodiff
显示行号 :set nu

5、保存退出命令
: wq 保存退出
: q 不保存退出
: x 保存退出
: wq! 强制保存退出
: q! 强制不保存退出
:wq /home/linux/xxx.c 指定位置保存文件



自动框架: .vimrc 文件
1、将 .vimrc 拷贝到虚拟机中
2、修改 .vimrc 文件内容 为自己的版权信息
3、将 .virc 拷贝到自己的家目录下
4、vim xxx.c 或者 vim xxx 可以带语法高亮操作文件  

压缩解压缩文件 

打包解包指令: tar

压缩解压指令: zip, xz

打包压缩解压缩: tar

===============================================================================
tar 指令:
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),
也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,
用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,
这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

语法
tar (选项) (参数)

选项:
-A或--catenate:新增文件到以存在的备份文件; -B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别; -x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容; -z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件; -v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件; -u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件; -v:显示操作过程;
-l:文件系统边界设置; -k:保留原有文件不覆盖;
-m:保留文件不被覆盖; -w:确认压缩文件的正确性;

操作案例:

打包: tar -cvf xxx.tar xxx
将 xxx 文件/目录打包成为 xxx.tar 包文件

解包: tar -xvf xxx.tar
将 xxx.tar 包文件,释放到当前目录中
注意:如果要指定位置解包
tar -xvf xxx.tar -C path





压缩:
zip xxx.zip xxx
将 xxx 文件压缩为 xxx.zip 的压缩文件
如果是目录文件则为:
zip -r xxx.zip xxx

xz -z xxx.tar 将xxx.tar 压缩成 xxx.tar.xz压缩文件,源文件直接压缩

解压缩:
unzip xxx.zip
将xxx.zip压缩文件解压缩到当前目录
如果要指定目录解压缩必须:
unzip xxx.zip -d path

xz -d xxx.tar.xz 可以将后缀是xz的文件解压成tar包



打包压缩命令:
tar -zcvf xxx.tar.gz xxx
将xxx文件/目录 打包压缩为 xxx.tar.gz 文件

tar -jcvf xxx.tar.bz2 xxx
将xxx文件/目录 打包压缩为 xxx.tar.bz2 文件


解压缩解包命令:
tar -zxvf xxx.tar.gz
将压缩文件直接解压缩解包到当前目录
可以将文件用 -C 参数指定解压缩到目录,比如: tar -zxvf xxx.tar.gz -C /temp

tar -jxvf xxx.tar.bz2
将压缩文件直接接压缩解包到当前目录

课堂练习:
将03day中的测试文件进行如上打包压缩和解包解压缩指令测试。


清华大学内核下载地址:
Index of /kernel/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

包/源管理命令 

Linux下的包/源管理命令:主要任务就是完成在Linux环境下安装/卸载/维护软件。

1、rpm 是最基础的rpm包的安装命令,需要提前下载相关安装包和依赖包。

2、yum/dnf 是基于rpm包的自动安装命令,可以自动在仓库中匹配安装软件和依赖包。

注意:以上是安装指令,以下是安装源。

3、光盘源 是指的 安装系统时候的操作系统光盘,它里面有很多自带的常用软件安装包,定位于当前主机。

4、局域网源 是指本地局域网不便连接互联网,而且客户机都在局域网内,定位于网内自建仓库局部使用。

5、互联网源 是指当前主机可以直接外接互联网,通过外网提供的的仓库完成在线安装软件。

6、源码安装 是指从互联网下载相关软件的源代码,在本机上进行配置,编译,安装 的过程。 

离线管理命令 

rpm 命令:
rpm命令来自英文词组redhat package manager的缩写,中文译为“红帽软件包管理器”,
其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,
常见的主流系统(如RHEL、CentOS、Fedora等)都采用这种软件包管理器,
推荐用固定搭配“rpm -ivh 软件包名” 安装软件,而卸载软件则用
固定搭配“rpm -evh 软件包名”,
简单好记又好用。  

 

语法格式:rpm 参数 软件包名

常用参数:
-a 显示所有软件包 -p 显示指定的软件包信息
-c 仅显示组态配置文件 -q 显示指定软件包是否已安装
-d 仅显示文本文件 -R 显示软件包的依赖关系
-e 卸载软件包 -s 显示文件状态信息
-f 显示文件或命令属于哪个软件包 -U 升级软件包
-h 安装软件包时显示标记信息 -v 显示执行过程信息
-i 安装软件包 -vv 显示执行过程详细信息
-l 显示软件包的文件列表

使用示例:
rpm -ivh telnet-0.17-85.el9.x86_64.rpm #直接安装不需要依赖
#正常安装软件包,需要提前下载rpm包文件
#https://rpmfind.net/linux/RPM/
#http://rpm.pbone.net/

rpm -ivh gthumb-3.12.4-1.1.x86_64.rpm #安装需要依赖

rpm -qa|grep telnet
telnet-0.17-85.el9.x86_64


rpm -qa #显示系统已安装过的全部RPM软件包
rpm -qa | grep ssh #过滤出其中某一个包
rpm -qa --last #列出所有已安装软件包,按照最近安装或更新时间排序
rpm -qa --last | head -20 #列出最近安装的20个软件

rpm -ql telnet #查询某个软件的安装路径
rpm -qi telnet #查看包的信息

whereis ifconfig ===》/sbin/ifconfig
rpm -qf /sbin/ifconfig #查看某一个程序来自哪个安装包

whereis ls ==》/usr/bin/ls
rpm -qf /usr/bin/ls


rpm -qd net-tools #查看安装包的帮助文档位置
rpm -qc rsync #查看安装的软件的配置文件位置
rpm -qR net-tools #查看安装软件的依赖包
rpm -qal net-tools-2.0-0.25.20131004git.1.al7.x86_64.rpm
#查看rpm包将要安装的文件

rpm -evh telnet #卸载通过RPM软件包安装的某个服务
rpm -e --nodeps telnet #卸载软件包,忽略其依赖项。

rpm -Uvh cockpit-185-2.el8.x86_64.rpm #升级某个软件包
rpm -Uvh --force cockpit-185-2.el8.x86_64.rpm
#强制安装软件包,即使存在版本

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值