【小白学Linux运维】6.文件的管理和归档压缩原创
金蝶云社区-水电费有点贵
水电费有点贵
9人赞赏了该文章 55次浏览 未经作者许可,禁止转载编辑于2024年11月18日 21:12:54
summary-icon摘要由AI智能服务提供

本文介绍了cenos作为服务器管理系统的文件管理功能,包括Linux系统目录结构和路径、文件管理基本操作、文件查看方法,以及使用tar命令和zip命令进行文件的归档、压缩和解压。这些是学习cenos服务器管理的基础知识。

cenos作为服务器管理系统,除非技术上做维护管理之外,同是还需要对服务器上的文件做管理,同Windows系统一样它也有自己的文件,

只是管理的方式不同,以执行命令的方式操作,在cenos中一切届时文件,所以文件管理是学习基础一部分。


文件的基本管理和文件的归档和压缩

本节所讲内容:

3.1 Linux 系统目录结构和相对路径与绝对路径

3.2 文件的管理

3.3 查看文件

3.4 tar 命令进行文件的归档和压缩

3.5 zip 管理压缩文件


3.1 Linux 系统目录结构和相对路径与绝对路径

3.1.1 系统目录结构

在 WIN 系统中,查看文件先进入相应的盘符,然后进入文件目录

在 WIN 中,它是多根 c:\ d:\ e:\

Linux 只有一个/根目录

Ls  /


使用 tree 命令查看 linux 目录结构,如果没有这个命令,需要手工安装一下

安装流程:

cd /etc/yum.repos.d/

rm -rf *

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-

7.repo

cd


根下的目录作用说明:

说 明

/

处于 linux 系统树形结构的最顶端,它是 linux 文件系统的入口,所有的目录、

文件、设备都在 / 之下

/bin


bin 是 Binary 的缩写。常用的二进制命令目录。比如 ls、cp、mkdir、cut

等;和/usr/bin 类似,一些用户级工具

/boot

存放的系统启动相关的文件,例如:kernel.grub(引导装载程序)

/dev


dev 是 Device 的缩写。设备文件目录,比如声卡、磁盘……在 Linux 中

一切都被看做文件。终端设备、磁盘等等都被看做文件

设备文件: /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1,

/dev/zero, /dev/null, /dev/cdrom

/etc

常用系统及二进制安装包配置文件默认路径和服务器启动命令目录,如:

/etc/passwd 用户信息文件

/etc/shadow 用户密码文件

/etc/group 存储用户组信息

/etc/fstab 系统开机启动自动挂载分区列表

/etc/hosts 设定用户自己的 IP 与主机名对应的信息

/home

普通用户的家目录默认存放目录

/lib

库文件存放目录,函数库目录

/mnt

/media

/mnt 和/media 一般用来临时挂载存储设备的挂载目录,比如有 cdrom、U 盘

等目录

/mnt/hgfs: 安装 vmware-tools 后,使用共享文件夹功能,可以共享虚

拟机和真机的目录,实现文件相互复制,一般这个功能没有用。我们直接使用

xshell 来上传文件

/opt

表示的是可选择的意思,有些软件包也会被安装在这里。如:gitlab

/proc


操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如 cpu、硬盘

分区、内存信息等)存放在这里。/proc 目录是伪装的文件系统 proc 的挂载目

录,proc 并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统

内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个

目录的内容不在硬盘上而是在内存里

查看咱们的 CPU 信息

cat /proc/cpuinfo

/sys

系统目录,存放硬件信息的相关文件

/run

运行目录,存放的是系统运行时的数据,比如进程的 PID 文件

/srv

服务目录,存放的是我们本地服务的相关文件

/sbin

大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户 root 的可

执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录 sbin 中包含

的命令都是 root 权限才能执行的


/tmp

该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文

件。/tmp 就是用来存放临时文件的。/var/tmp 目录和该目录的作用是相似的,

不能存放重要数据,系统会定期删除这个目录下的没有被使用的文件。

它的权限比较特殊

[root@xuegod63 ~]# ls -ld /tmp

drwxrwxrwt 10 root root 12288 Oct 3 20:45 /tmp/ 粘滞位(sticky

bit)目录的 sticky 位表示这个目录里的文件只能被文件的 owner(所有者)和

root 删除


/var

系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是

一些变化的文件。比如/var 下有/var/log 目录用来存放系统日志的目录,还有

mail、/var/spool/cron

/usr

存放应用程序和文件,

/usr/bin 普通用户使用的应用程序

/usr/sbin 管理员使用的应用程序

/usr/lib 库文件 Glibc(32 位)

/usr/lib64 库文件 Glibc

/lib

/lib64

/usr/lib 和

/usr/lib64

的软链接

这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的

程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似

于 windows 里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库

注:lib***.a 是静态库 , lib***.so 是动态库

静态库在编译时被加载到二进制文件中

动态库在运行时加载到进程的内存空间中

简单的说:这些库是为了让你的程序能够正常编译运行的

其实类似于 WIN 中.dll 文件,几乎所有的应用程序都需要用到这些共享库




3.1.2 绝对路径和相对路径

路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式

就是路径

绝对路径:在 Linux 中,绝对路径是从"/"开始的,比如/usr、/etc/passwd。如果一个路径是从根

(/)开始的,它一定是绝对路径.

相对路径:相对路径一般是从当前位置开始的


[root@xuegod63 etc]# pwd #判断用户当前所处的位置

绝对路径: /开始的路径 /home/user1

相对路径: 相对于当前目录开始,a.txt ./a.txt ../root/b.txt 当前目录在/etc

[root@xuegod63 ~]# cd /etc/

[root@xuegod63 etc]# ll passwd

-rw-r--r-- 1 root root 2116 11 月 16 14:57 passwd

[root@xuegod63 etc]# ll /etc/passwd

-rw-r--r-- 1 root root 2116 11 月 16 14:57 /etc/passwd


3.2 文件的管理

文件管理方式有多种:

改变目录: cd

创建/修改/移动/删除: touch mkdir mv vi rm cp

3.2.1 创建文件和文件夹

命令:touch 文件名

作用:常用来创建空文件,如果文件存在,则修改这个文件的时间

语法:touch 文件名


Linux 不以后缀名判断文件类型,Linux 严格区分大小写

3.2.2 使用 vim 和重定向创建一个新文件

用 vim 命令创建一个新文件(可以先不做)

[root@xuegod63 mnt]# vim xuegod-1.txt


用重定向创建一新文件

[root@xuegod63 mnt]#echo aaa > xuegod.txt


3.2.3 命令之:mkdir

作用:创建目录

语法:mkdir (选项) 文件夹名子

批量创建多个文件


p参数

创建多层级级目录,#在创建一个目录的时候,如果这个目录的上一

级不存在的话,要加参数-p

使用terr命令查看层级结构


File显示文件类型


3.2.4 删除文件和目录

用到的命令:rm

作用:可以删除一个目录中的一个或多个文件或目录,对于链接文件,只是删除整个链接文件,而原

文件保持不变的

语法:rm (选项) 处理对象

选项:

-f 强制删除,没有提示

-r 删除目录,递归删除,把目录下的文件和文件夹也删除

rm -rf a 只删除a文件

rm -rf a dump_sda1 dump_sda1_v2 多个文件一起删除。

rm -rf (慎用,一定要在删除以前确定一下所在目录,防止误删除重要数据)



3.2.5 复制文件

命令:cp 源文件/目录 目标文件/目录

选项:-R/r:递归处理,将指定目录下的所有文件与子目录一并处理。复制目录时会使用 r 参数

例1:复制passwd文件到本目录下,“.”表示本当前目录下

理解起来就是复制 /etc/passwd到本目录下/opt下,和这个写法是一样的。


例2:拷贝目录时当目录里有子文件或者子目录时,直接拷贝是不行的

这时需要使用 -r参数


alsa目录的结构查看。


3.3 查看文件

3.3.1 命令之:cat

语法:cat 文件名

作用:查看文件内容,一次显示整个文件的内容

3.3.2 命令之:more

作用:以分页形式显示文件内容

说明: 按下回车刷新一行,按下空格刷新一屏,输入 q 键退出



3.3.3 命令之:less

作用:和 more 功能一样

语法:less +文件名

说明:linux 中 more 与 less 的区别

more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter 键是向下翻一行,在不需要后

退的情况下比较方便

less:支持前后翻滚,既可以向上翻页(pageup 按键),也可以向下翻页(pagedown 按键)。,空

格键是向下翻页,Enter 键是向下翻一行


3.3.4 命令之:head

作用: 用于显示文件的开头的内容。在默认情况下,head 命令显示文件的头 10 行内容

语法:head(选项)文件名

命令:head /etc/passwd

参数: -n 显示从文件头开始的行数

head -n 3 /etc/passwd

表示显示前3行


3.3.5 命令之:tail

作用: 用于显示文件中的尾部内容。默认显示文件内容最后 10 行

语法:tail (选项)文件名


参数:

-n 显示文件尾部多少行的内容(n 为数字)

命令:tail -n 5  /etc/passwd  显示最后5行

-f 动态显示数据(不关闭),常用来查看日志


3.4 tar 命令进行文件的归档和压缩

3.4.1 归档和压缩文件

归档和压缩文件的好处:节约硬盘的资源 ,加快文件传输速率

tar 命令 作用:打包、压缩文件


这幅图的就是说 123456 这几个文件打包成了一个 a.tar 文件,但是这个 a.tar 还是很大,继续用

gzip 进行压缩,变成了一个更小的压缩文件。

作用:打包、压缩文件;tar 文件是把几个文件和(或)目录集合在一个文件里,该存档文件可以通

过使用 gzip、bzip2 或 xz 等压缩工具进行压缩后传输

查看 man tar 这里 man 不是男人的意思,是 manual 手册的缩写

用法:tar [OPTION...] [FILE]...

参数:

-c create 创建文件

-x -extract [ˈekstrækt] 提取 解压还原文件

-v --verbose 显示执行详细过程

-f --file 指定备份文件

-t --list 列出压缩包中包括哪些文件,不解包,查看包中的内容

-C (大写)--directory 指定解压位置

常用参数组合 cvf xvf tvf


例:给/boot/grub2 目录 打包

tar -cvf grub.tar /boot/grub2/ # tar 的参数前可以不使用‘-’

tar cvf grub.tar /boot/grub2/

查看 tar 包中的文件,不解包

tar tvf grub.tar

tar xvf grub.tar  #解压缩

ls boot

#得到 boot 目录


3.4.2 tar 归档+压缩

语法:tar czvf newfile.tar.gz SOURCE

语法:tar czvf 压缩后的文件名(tar.gz tar.bz2) 需要压缩的文件或目录

常用参数:

-z, --gzip

以 gzip 方式压缩 扩展名: tar.gz

-j :

以 bz2 方式压缩的 扩展名:tar.bz2

-J:

以 xz 方式压缩 扩展名:tar.xz


例 1:创建.tar.gz 包

[root@xuegod63 ~]# tar cvf /root/etc.tar /etc

[root@localhost test]# tar czvf /root/etc.tar.gz /etc #归档,注意备份的名字后缀

[root@localhost test]# tar xzvf /root/etc.tar.gz #解压缩

[root@localhost test]# tar xvf /root/etc.tar.gz #解压缩


例 2:创建.tar.bz2 包

语法: #tar jcvf newfile.tar.bz2 SOURCE

[root@xuegod63 ~]# tar -cjvf ~/etc.tar.bz2 /etc

[root@xuegod63 ~]# tar -xjvf ~/etc.tar.bz2  #解压缩

[root@xuegod63 ~]# tar -xvf ~/etc.tar.bz2   #解压缩

[root@xuegod63 ~]# tar xvf ~/etc.tar.bz2 -C /opt   #解压到 opt 目录下



例 3:创建.tar.xz 包

[root@xuegod63 ~]# tar -cJvf etc.tar.xz /etc

[root@xuegod63 ~]# tar -xJvf etc.tar.xz #tar.xz 这类包,解压缩

[root@xuegod63 ~]# tar -xvf etc.tar.xz


解压指定文件到指定目录

[root@xuegod63 ~]# tar czf boot.tar.gz /boot/grub2/

[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2/grub.cfg

[root@xuegod63 ~]# ls /opt/boot/grub2/


解压某一类型文件到指定目录

--wildcards 文件名匹配,使用通配符

[root@xuegod62 ~]# tar -tvf boot.tar.gz

[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz --wildcards *.lst

排除指定文件并解压

[root@xuegod62 ~]# rm -rf /opt/boot

[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2 --

exclude=boot/grub2/i386-pc

[root@xuegod63 ~]# ls /opt/boot/grub2/


zip 管理压缩文件

zip 是压缩程序,unzip 是解压程序。

例 1:压缩文件:

[root@xuegod63 ~]# zip a.zip /etc/passwd

例 2:将所有.jpg 文件压缩成一个 zip 包

[root@xuegod63 ~]# touch {1..4}.jpg

[root@xuegod63 ~]# ls

[root@xuegod63 ~]# zip all.zip *.jpg

解压缩:

[root@xuegod63 ~]# unzip ~/grub.zip

[root@xuegod63 ~]# unzip ~/grub.zip -d /opt/   #-d 解压到指定的目标/opt




图标赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
1人打赏
还没有人打赏,快来当第一个打赏的人吧!