Linux-文件管理及归档压缩

发布于:2025-06-05 ⋅ 阅读:(28) ⋅ 点赞:(0)
1.根下的目录作用说明:
  1. /:Linux系统中所有的文件都在根下
  2. /bin:(二进制命令目录)存放常用的用户命令
  3. /boot:系统启动时的引导文件(内核的引导配置文件,grub配置文件,内核配置文件)
    例:kernel.grub(引导装载程序)
  4. /dev :设备文件目录(所有的设备文件都放在次目录下)比如:键盘、鼠标、声卡、显卡、磁盘
    磁盘:第一块盘/dev/sda,第二块盘/dev/sdb
  5. /etc:配置文件目录
    /etc/passwd 用户信息文件
    /etc/shadow 用户密码文件
    /etc/group 存储用户组信息
    /etc/fstab 系统开机启动自动挂载分区列表
    /etc/hosts 设定用户自己的IP与域名对应信息
    例:.conf文件是配置文件的常见扩展名,用于存储各种应用程序、服务或系统组件的配置参数
  6. /home:普通用户家目录默认存放目录(普通用户的用户文件位置,例:用户tcx,家目录为/home/tcx)–桌面文件、环境变量的配置文件、用户级别的配置文件等
  7. /lib:存放库文件(Linux库文件一般为*.so文件,Windows库文件一般为*.dll文件)
  8. /mnt/media:临时挂载光盘
  9. /opt:可选目录,有些软件包可以安装到该目录下(此目录无指定文件存放,可任意合理使用)
  10. /proc:操作系统中运行的所有程序的内存空间映射过来的(虚拟目录),不是一个真实的文件系统
  11. /sys:放硬件相关的文件
  12. /run:和/proc目录功能差不多
  13. /srv:可放置本地部署服务
  14. /sbin:放置管理员权限才能的执行的命令
  15. /tmp:存放临时文件(系统中业务运行时产生各种各样的临时文件)–不要存放重要数据!!(操作系统会自动清理该目录)
  16. /var:存放日志文件(系统运行和软件运行时产生的日志信息)
  17. /usr:存放应用程序和文件
    /usr/bin 普通用户使用的应用程序
    /usr/sbin 管理员使用的应用程序
    /usr/lib 库文件Glibc(32位)
    /usr/lib64 库文件Glibc
  18. /lib/lib64/usr/lib/usr/lib64的软连接:存放系统最基本的动态链接共享库,包含许多被/bin/sbin中的程序使用的库文件
    注:lib\*.a是静态库,lib\*.so是动态库
    静态库在编译时被加载到二进制文件中
    动态库在运行时加载到进程的内存空间中

【‌Linux系统中常用的文件后缀包括可执行文件(无扩展名)、Shell脚本(.sh)、共享库(.so)、软件包(.deb/.rpm)、配置文件(.conf)、压缩/归档文件(.tar.gz/.zip)以及各类文本和源代码文件(如.txt/.py/.c)等

2.有关文件查看命令:
  1. 查看/目录下的文件:ls /

  2. 查看文件的磁盘空间使用:df -h

  3. 查看文件内容:cat 1.txt

  4. 查看目录结构(用到tree命令(需安装):yum install -y tree)
    查看根目录: tree /

    查看第一层目录内容:tree / -L 1

3.文件的管理(增删改查):
  1. 创建文件和目录

    touch创建空文件:touch 1.txt / touch {1…10}.txt

    echo通过重定向(覆盖/追加)方式创建文件:echo hello > re.txt / echo by >> ce.txt

    vim创建文件:vim mou.txt(保存并退出,文件才会创建–否则创建不成功)

    注:创建文件时,注意用正确的文件名后缀!!!!

    mkdir创建目录(如果遇到不存在的目录,用-p进行递归创建删除文件):mkdir -p /opt/file1/file2/file3

  2. 删除文件或目录:

    rm删除文件(-r递归删除目录下的文件及文件夹,-f强制删除不提示):

    • 以file开头的所有文件:rm -rf file*
    • 单个文件:rm -rf a.txt
    • 多个文件:rm -rf a.txt dir
  3. 复制文件cp(-r 复制目录到指定目录下,无参数即复制文件):
    –将passwd文件复制到/opt/目录下:cp /etc/passwd /opt/
    –将/etc/目录移动到/opt下(使用-r):在这里插入图片描述

    –通过alias命令可知(cp命令是cp -i的别名):若想覆盖不提示可用"\"避免–\cp /etc/passwd /opt/在这里插入图片描述

  4. 移动文件mv:mv passwd /tmp/

    注:切忌乱移动系统配置文件!!!(会导致系统使用时出问题)

4.文件的查看命令:
  1. cat命令(直接输出文件内容)–标准输出:cat /etc/passwd
  2. more命令(可翻页,可检索(同下图less方法检索一样)文件内容):more /etc/passwd
    more命令上下翻页:空格键Enter键(向下翻页),B键(向上翻页)
  3. less命令(可翻页,可检索文件内容):less /etc/passwd
    less命令查看文件
    • 翻页:鼠标滚轮、键盘上下键(up、down)、空格键都可以进行翻页
    • 检索文件内容:例 匹配有for的全部内容(输入/for再按Enter键开始检索)
      在这里插入图片描述
  4. head命令(查看文件前几行):head -n 3 /etc/passwd
  5. tail命令(查看文件末尾内容–-f可实时查看文件内容):
    • 查看文件最后三行:tail -n 3 /etc/passwd
    • 不指定行数(默认查看最后10行):tail /etc/passwd
    • 实时动态查看(最新)文件内容:tail -f /var/log/secure
  6. vim查看:
    • 定位行数(例 定位到第50行):输入50,然后按大写的G键
    • 显示文件内容的行号:输入:set number,然后按Enter键
5.文件的归档和压缩(tar命令):

–归档:将多个文件打包至一个文件夹中

1).man手册查看tar使用方法man tar
2).用法tar [OPTION...] [FILE]...
参数
-c create 创建文件
-x -extract [ˈekstrækt] 提取 解压还原文件
-v --verbose 显示执行详细过程
-f --file 指定备份文件
-t --list 列出压缩包中包括哪些文件,不解包,查看包中的内容
-C (大写)--directory 指定解压位置
常用参数组合:
cvf(多个文件打包到一个文件中) 打包
xvf(将压缩包内的文件释放到指定位置中去) 解包
tvf(显示文件) 查看

3).压缩方式(以什么样的方式压缩,就要用什么样的方式解包)压缩率约大,压缩/解压缩所消耗的资源量就越多
‌ —gz 、 xz 和 bz2 是三种不同的压缩算法,它们在压缩率、速度和适用场景上有所不同。
常用参数:
-z, --gzip 以gzip方式压缩 扩展名: tar.gz(gz算法的压缩速度快,压缩率也较高,但比xz和bz2低)
-j : 以bz2方式压缩的 扩展名:tar.bz2(bz2算法的压缩率比gz高,但速度也比gz慢)
-J: 以xz 方式压缩 扩展名:tar.xz(xz算法提供了较高的压缩率,但压缩和解压速度相对较慢)

记录打包和解包执行的时间:
time tar
tar xf

#例1:创建.tar.gz 包
[root@tcx ~]# tar cvf /root/etc.tar /etc 
[root@tcx test]# tar czvf /root/etc.tar.gz /etc 	#归档,注意备份的名字后缀
[root@tcx test]# tar xzvf /root/etc.tar.gz 			#解压缩
[root@tcx test]# tar xvf /root/etc.tar.gz 			#解压缩

#例2:创建.tar.bz2包
语法: #tar jcvf newfile.tar.bz2 SOURCE
[root@tcx ~]# tar -cjvf ~/etc.tar.bz2 /etc 
[root@tcx ~]# tar -xjvf ~/etc.tar.bz2 			#解压缩
[root@tcx ~]# tar -xvf ~/etc.tar.bz2 			#解压缩
[root@tcx ~]# tar xvf ~/etc.tar.bz2 -C /opt 	#解压到opt目录下

#例3:创建.tar.xz包
[root@tcx ~]# tar -cJvf etc.tar.xz /etc
[root@tcx ~]# tar -xJvf etc.tar.xz 				#tar.xz 这类包,解压缩
[root@tcx ~]# tar -xvf etc.tar.xz 

#对比三种压缩方式后压缩比例:
[root@tcx ~]# time tar czf /root/etc.tar.gz /etc
[root@tcx ~]# time tar cjf /root/etc.tar.bz2 /etc
[root@tcx ~]# time tar cJf /root/etc.tar.xz /etc
[root@tcx ~]# ll -h etc.tar* (*为通配符,代表任意字符任意次)
-rw-r--r-- 1 0 root 28M 510 12:10 etc.tar
-rw-r--r-- 1 0 root 8.7M 510 12:14 etc.tar.bz2 		#常用
-rw-r--r-- 1 0 root 9.8M 510 12:11 etc.tar.gz 		#常用
-rw-r--r-- 1 0 root 7.0M 510 12:16 etc.tar.xz 		#这个压缩比例最高,压缩的时间是最长
5.1扩展:

1).解压指定文件到指定目录

1.执行该命令之后,系统会生成一个名为 boot.tar.gz 的压缩文件,这个文件包含了 /boot/grub2/ 目录下的所有内容
[root@tcx ~]# tar czf boot.tar.gz /boot/grub2/	
2.从 boot.tar.gz 压缩包中把 boot/grub2/grub.cfg 文件提取出来,并将其解压到 /opt 目录下
[root@tcx ~]# tar -C /opt -xvf boot.tar.gz boot/grub2/grub.cfg 
3.查看主机上 /opt/boot/grub2/ 目录的内容。
[root@tcx ~]# ls /opt/boot/grub2/

2).解压某一类型文件到指定目录(--wildcards 文件名匹配,使用通配符)

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

3).排除指定文件并解压

[root@tcx ~]# rm -rf /opt/boot
[root@tcx ~]# tar -C /opt -xvf boot.tar.gz boot/grub2 --exclude=boot/grub2
/i386-pc
[root@tcx ~]# ls /opt/boot/grub2/
6.zip管理压缩文件

压缩:
[root@tcx ~]# touch {1..20}.txt 创建文件
[root@tcx ~]# zip doc.zip *.txt 压缩文件

解压
[root@tcx ~]# unzip doc.zip
[root@tcx ~]# unzip doc.zip -d /tmp/ #解压到指定文件


网站公告

今日签到

点亮在社区的每一天
去签到