Linux-文件管理及归档压缩
1.根下的目录作用说明:
/
:Linux系统中所有的文件都在根下/bin
:(二进制命令目录)存放常用的用户命令/boot
:系统启动时的引导文件(内核的引导配置文件,grub配置文件,内核配置文件)
例:kernel.grub(引导装载程序)/dev
:设备文件目录(所有的设备文件都放在次目录下)比如:键盘、鼠标、声卡、显卡、磁盘
磁盘:第一块盘/dev/sda
,第二块盘/dev/sdb
/etc
:配置文件目录
/etc/passwd
用户信息文件
/etc/shadow
用户密码文件
/etc/group
存储用户组信息
/etc/fstab
系统开机启动自动挂载分区列表
/etc/hosts
设定用户自己的IP与域名对应信息
例:.conf文件是配置文件的常见扩展名,用于存储各种应用程序、服务或系统组件的配置参数/home
:普通用户家目录默认存放目录(普通用户的用户文件位置,例:用户tcx,家目录为/home/tcx
)–桌面文件、环境变量的配置文件、用户级别的配置文件等/lib
:存放库文件(Linux库文件一般为*.so
文件,Windows库文件一般为*.dll
文件)/mnt
,/media
:临时挂载光盘/opt
:可选目录,有些软件包可以安装到该目录下(此目录无指定文件存放,可任意合理使用)/proc
:操作系统中运行的所有程序的内存空间映射过来的(虚拟目录),不是一个真实的文件系统/sys
:放硬件相关的文件/run
:和/proc
目录功能差不多/srv
:可放置本地部署服务/sbin
:放置管理员权限才能的执行的命令/tmp
:存放临时文件(系统中业务运行时产生各种各样的临时文件)–不要存放重要数据!!(操作系统会自动清理该目录)/var
:存放日志文件(系统运行和软件运行时产生的日志信息)/usr
:存放应用程序和文件
/usr/bin
普通用户使用的应用程序
/usr/sbin
管理员使用的应用程序
/usr/lib
库文件Glibc(32位)
/usr/lib64
库文件Glibc/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.有关文件查看命令:
-
查看
/
目录下的文件:ls /
-
查看文件的磁盘空间使用:
df -h
-
查看文件内容:
cat 1.txt
-
查看目录结构(用到tree命令(需安装):
yum install -y tree
)
查看根目录:tree /
查看第一层目录内容:
tree / -L 1
3.文件的管理(增删改查):
-
创建文件和目录
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
-
删除文件或目录:
rm删除文件(-r递归删除目录下的文件及文件夹,-f强制删除不提示):
- 以file开头的所有文件:rm -rf file*
- 单个文件:rm -rf a.txt
- 多个文件:rm -rf a.txt dir
-
复制文件
cp
(-r 复制目录到指定目录下,无参数即复制文件):
–将passwd文件复制到/opt/目录下:cp /etc/passwd /opt/
–将/etc/目录移动到/opt下(使用-r):–通过alias命令可知(cp命令是cp -i的别名):若想覆盖不提示可用"\"避免–
\cp /etc/passwd /opt/
-
移动文件mv:
mv passwd /tmp/
注:切忌乱移动系统配置文件!!!(会导致系统使用时出问题)
4.文件的查看命令:
- cat命令(直接输出文件内容)–标准输出:
cat /etc/passwd
- more命令(可翻页,可检索(同下图less方法检索一样)文件内容):
more /etc/passwd
more命令上下翻页:空格键
和Enter键
(向下翻页),B键(向上翻页) - less命令(可翻页,可检索文件内容):
less /etc/passwd
less命令查看文件- 翻页:鼠标滚轮、键盘上下键(up、down)、空格键都可以进行翻页
- 检索文件内容:例 匹配有for的全部内容(输入/for再按Enter键开始检索)
- head命令(查看文件前几行):
head -n 3 /etc/passwd
- tail命令(查看文件末尾内容–
-f
可实时查看文件内容):- 查看文件最后三行:
tail -n 3 /etc/passwd
- 不指定行数(默认查看最后10行):
tail /etc/passwd
- 实时动态查看(最新)文件内容:
tail -f /var/log/secure
- 查看文件最后三行:
- vim查看:
- 定位行数(例 定位到第50行):输入
50
,然后按大写的G键 - 显示文件内容的行号:输入
:set number
,然后按Enter键
- 定位行数(例 定位到第50行):输入
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 5月 10 12:10 etc.tar
-rw-r--r-- 1 0 root 8.7M 5月 10 12:14 etc.tar.bz2 #常用
-rw-r--r-- 1 0 root 9.8M 5月 10 12:11 etc.tar.gz #常用
-rw-r--r-- 1 0 root 7.0M 5月 10 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/
#解压到指定文件
相关文章:

Linux-文件管理及归档压缩
1.根下的目录作用说明: /:Linux系统中所有的文件都在根下/bin:(二进制命令目录)存放常用的用户命令/boot:系统启动时的引导文件(内核的引导配置文件,grub配置文件,内核配置文件) 例…...
结合Jenkins、Docker和Kubernetes等主流工具,部署Spring Boot自动化实战指南
基于最佳实践的Spring Boot自动化部署实战指南,结合Jenkins、Docker和Kubernetes等主流工具,提供从环境搭建到生产部署的完整流程: 一、环境准备与工具选型 1.基础设施 Jenkins服务器:安装Jenkins LTS版本,配置JDK(推荐JDK 11+)及Maven/Gradle插…...

微软认证考试科目众多?该如何选择?
在云计算、人工智能、数据分析等技术快速发展的今天,微软认证(Microsoft Certification)已成为IT从业者、开发者、数据分析师提升竞争力的重要凭证。但面对众多考试科目,很多人不知道如何选择。本文将详细介绍微软认证的考试方向、…...
MCP协议在LLM系统中的架构与实现原理研究
MCP协议的角色和功能定位 模型上下文协议(Model Context Protocol, MCP) 是由Anthropic公司(Claude模型的发布方)提出的一种开放协议,旨在标准化大型语言模型(LLM)与外部数据源、工具和服务之间的交互方式。可以将MCP类比为AI应用的“USB-C接口”:通过统一的接口协议,…...

Dify工作流实践—根据word需求文档编写测试用例到Excel中
前言 这篇文章依赖到的操作可查阅我之前的文章: dify里的大模型是怎么添加进来的:在Windows本地部署Dify详细操作 flask 框架app.route()函数的开发和调用:PythonWeb开发框架—Flask工程创建和app.route使用详解 结构化提示词的编写&…...

【LC实战派】小智固件编译
这篇写给立创吴总,是节前答应他配合git代码的说明;也给所有对小智感兴趣的小伙伴。 请多提意见,让这份文档更有价值 - 第一当然是拉取源码 - git clone https://github.com/78/xiaozhi-esp32.git 完成后,先查看固件中实际的…...
HTTP(超文本传输协议)详解
目录 一、基本概念 二、HTTP报文(结构) (一) 请求报文 (二) 响应报文 三、HTTP请求方法 1. GET方法 2. POST方法 3. PUT方法 4. HEAD方法 5. DELETE 6. OPTIONS 一、知识扩展 7. TRACE 8. CONNECT 四、HTTP持久通信 (一) HTTP keep-alive…...
Unity安卓平台开发,启动app并传参
using UnityEngine; using System;public class IntentReceiver : MonoBehaviour {public bool isVR1;void Start(){Debug.LogError("app1111111111111111111111111");if (isVR1){LaunchAnotherApp("com.HappyMaster.DaKongJianVR2");}else{// 检查是否有传…...

jdbcTemplate.query备忘录
jdbcTemplate.query中使用全部字符串和参数注入, 查询速度为什么差距这么大 如何正确使用JdbcTemplate参数化查询 1、使用?占位符 String sql "SELECT * FROM users WHERE name LIKE ?"; List<User> users jdbcTemplate.query(sql,new Object[…...

如何搭建Z-Blog PHP版本:详细指南
Z-Blog是一款功能强大且易于使用的博客平台,支持PHP和ASP两种环境。本文将重点介绍如何在PHP环境下搭建Z-Blog博客系统,帮助您快速上线自己的个人博客站点。 准备工作 1. 获取Z-Blog PHP版本 首先,访问Z-Blog官方网站下载最新版本的Z-Blog…...
Docker 常用命令详解
🐳 Linux 安装 Docker 及常用命令详解(适用于 Ubuntu) 📦 一、安装 Docker(Ubuntu 系统) 1. 更新系统 sudo apt update sudo apt upgrade -y2. 安装必要依赖 sudo apt install -y apt-transport-https …...
uniapp uni-id-co errCode“:“uni-id-captcha-required“,“errMsg“:“Captcha required
连续登录失败后就会出现图形验证码校验,如果前端不需要图形验证码校验,uni-id-co文件夹下找到module下的login文件夹下的login.js,注释掉Captcha相关校验,关掉即可 const {preLoginWithPassword,postLogin } require(../../lib/utils/login)…...

Github Copilot新特性:Copilot Spaces-成为某个主题的专家
概述 当今的工程团队都会面临知识碎片化的问题。关键的上下文分散在代码、文档和团队成员的头脑中,这使得他们很难在一个新的领域快速上手并完成工作。Copilot Spaces 通过集中您的项目上下文解决了这个问题,因此 Copilot 可以根据您的工作提供更智能、…...
React 第五十三节 Router中 useRouteError 的使用详解和案例分析
前言 useRouteError 是 React Router v6.4 引入的关键错误处理钩子,用于在 路由错误边界(Error Boundary) 中获取路由操作过程中发生的错误信息。 它提供了优雅的错误处理机制,让开发者能够创建用户友好的错误界面。 一、useRou…...
12分钟讲解主流React库
本内容是对 Every React Library Explained in 12 Minutes 内容的翻译与整理。 React Router React Router 是一个用于控制网站导航的库,同时也允许你自定义网站的 URL。它使用自定义组件,如 BrowserRouter、Routes 和 Route 组件,以创建 UR…...
《doubao-lite-32k 模型缓存机制使用指南》
doubao-lite-32k 模型缓存机制使用指南 一、缓存概述 1. 缓存作用 doubao-lite-32k 模型的缓存(Session 缓存)主要用于多轮对话场景,实现以下功能: 存储历史对话信息(Token),避免重复传输上下文,减少计算资源消耗。 优化长上下文(最长 32K Token)处理效率,提升多…...

攻防世界-XCTF-Web安全最佳刷题路线
每次写序都是最烦恼的,都不知道写什么,CTF是团队竞赛,有很多分支(Web安全,密码学,杂项,Pwn,逆向,安卓),可以每个领域都涉猎,或许感觉那…...

t021-高校物品捐赠管理系统【包含源码材料!!!!】
视频演示地址 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装高校物品捐赠管理系统软件来发挥其高效地信息…...

设计模式——面向对象设计六大原则
摘要 本文详细介绍了设计模式中的六大基本原则,包括单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则和合成复用原则。每个原则都通过定义、理解、示例三个部分进行阐述,旨在帮助开发者提高代码的可维护性和灵活性。通过具体代码…...

Python制作史莱姆桌面宠物!可爱的
史莱姆桌面宠物 一个可爱的桌面史莱姆宠物,它会在您的任务栏上移动并提供可视化设置界面。 这里写目录标题 史莱姆桌面宠物功能特点安装与运行直接运行方式创建可执行文件 使用说明自定义GIF说明打包说明开源地址 功能特点 可爱的史莱姆在任务栏上自动移动支持…...
React hook之userReducer
在 React 中,useReducer 是一个用于管理复杂状态逻辑的 Hook,它类似于 Redux 中的 reducer 模式,但更轻量且适用于组件内部或结合 Context API 实现全局状态管理。以下是 useReducer 的详细用法指南: 1. 基本语法 const [state, …...

Dify源码教程:账户和密码传递分析
概述 Dify系统中账户创建过程中的密码处理是Web应用安全的重要环节。本教程详细分析了从前端表单到后端存储的完整流程,展示了Dify如何安全地处理用户凭据。 前端部分 在 dify/web/app/install/installForm.tsx 文件中,当用户填写完表单并点击安装按钮…...
如果科技足够发达,是否还需要维持自然系统(例如生物多样性)中那种‘冗余’和‘多样性’,还是可以只保留最优解?
这是一个非常深刻的问题,触及到了进化生物学、复杂系统理论和未来科技哲学的交汇点。 你可以这样理解这个问题的结构: “如果科技足够发达,是否还需要维持自然系统(例如生物多样性)中那种‘冗余’和‘多样性’&#x…...

数据分析图表类型及其应用场景
说明:顶部HTML文件下载后可以直接查看,带有示图。 摘要 数据可视化作为现代数据分析的核心环节,旨在将复杂、抽象的数据转化为直观、易懂的图形形式。这种转化显著提升了业务决策能力,优化了销售与营销活动,开辟了新…...
第四十二天打卡
知识点回顾 回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 作业:理解下今天的代码即可 # 定义一个回调函数 def handle_result(result):"""处理计算结果的回调函数"""print(f"计算结果是: {result}")# 定…...

Github 2025-06-03Python开源项目日报 Top10
根据Github Trendings的统计,今日(2025-06-03统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10Rust项目1HTML项目1C项目1 系统设计指南 创建周期:2507 天开发语言:Pyt…...
Vim查看文件十六进制方法
在 Vim 中查看文件的十六进制格式,可以通过以下步骤实现: 方法 1:使用内置命令(无需插件) 用 Vim 以二进制模式打开文件: vim -b 文件名或打开文件后执行: :set binary转换为十六进制视图&…...

电脑提示dll文件缺失怎么办 dll修复方法
当你在使用某些应用程序或启动电脑时,看到提示“DLL文件缺失”的错误信息,这通常意味着某个必要的动态链接库(DLL)文件无法被找到或加载,导致软件无法正常运行。本文将详细介绍如何排查和修复DLL文件缺失的问题&#x…...

【自动思考记忆系统】demo (Java版)
背景:看了《人工智能》中的一段文章,于是有了想法。想从另一种观点(⭕️)出发,尝试编码,告别传统程序员一段代码解决一个问题的方式。下图是文章原文和我的思考涂鸦✍️,于是想写一个自动思考记…...
【AAOS】【源码分析】用户管理(二)-- 整体架构
整体介绍 Android多用户功能作为 Android Automotive 的重要组成部分,为不同驾驶员和乘客提供了一个更加定制化、隐私保护的使用环境。Android 多用户的存在,它可以让多个用户使用同一台设备,同时保持彼此的数据、应用和设置分隔开来。 各用户类型的权限 能力SystemAdminS…...