Linux(文件管理)

文件命名规则

        除了字符“/”之外,所以的字符都可以使用,但要注意,在目录名或文件名中,不建议使用某些特殊字符,如:<、>、?、*等

如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来。

建议文件命名规则:

  • 由于linux严格区分大小写,所以尽量都用小写字母

  • 如果必须对文件名进行分割,建议使用"_",例如:file_bj_2020.log

文件创建

主要用touch创建文件

touch 文件名称


创建多个文件

touch 文件名称1 文件名称2 文件名称3


根据序号创建多个文件

touch 文件名称{开始序号..结束序号}

文件删除 

Linux当中一切都为文件

rm [选项] 文件或文件夹的名称


其中选项为:

        -r:针对文件夹,代表递归删除,先把目录下的所有文件删除,然后在删除文件夹

        -f:强制删除,不提示


rm:是否删除普通空文件 '***.txt' [可以回复 y or n]

        y 代表确认删除

        n 代表取消

 在Linux操作系统中,Ctrl+C不是复制,而是中断某个操作

复制与剪切

 cp复制操作

cp [选项] 源文件或文件夹 目录路径 /新文件或文件夹的名称

其中选项当中的-r 是主要针对文件夹 

 剪切/移动操作  

mv 源文件或文件夹 目标路径

之所以不需要-r是因为:

        mv默认支持移动目录及其内容,即使目录非空也能直接操作

        cp则不同:复制目录时必须加-r,否 则会报错

 重命名操作

mv 源文件或文件夹名称 新文件或文件夹的名称

打包压缩与解压缩

打包压缩

                打包:默认情况下,Linux的压缩概念一次只能压缩一个文件。

                针对多文件或文件夹无法进行直接压缩。所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。

tar [选项] 打包后的名称.tat 多个文件或文件夹

选项说明:

        -c:打包

        -f:filename,打包后的文件名称

        -v:显示打包的进度

        -u:update缩写,更新原打包文件中的文件

        -t:查看打包的文件内容


tar-tf

tar-uf 打包后的文件名称


tar-uf

tar-uf 打包后的文件名称

u=>> update,更新,如果还想往tar包中更新或追加内容都可以通过-u选项        

                压缩:也是一个文件和目录的集合,且这个集合也被存储在一个文件中。

                但它们不同之处在于,压缩所占用的磁盘空间比集合中所有文件大小的总和要小

 tar [选项] 归档文件名 要处理的文件或目录

选项说明:
    -c:创建新的归档文件。
    -x:从归档中解出文件。
    -t:列出归档文件中的内容,用于查看已打包的文件列表。
    -f:指定归档文件名。此选项在使用tar时几乎是必须的,以明确操作的目标文件。
    -v:显示处理过程中的文件信息(可选)。
    -z:通过gzip过滤归档,用于创建.tar.gz或.tgz文件。
    -j:通过bzip2过滤归档,用于创建.tar.bz2文件。
    -J:通过xz过滤归档,用于创建.tar.xz文件。

特性gzipbzip2xz
压缩速度最快中等最慢
压缩率较低中等最高
100m文件压缩后大小约90M约80M约70M

对压缩包进行解压

解压过程非常简单,就是把压缩的参数中的c换成x就可以实现解压缩了

*.tar.gz格式的压缩包
tar -zxf 名称.tar.gz


*.tar.bz2格式的压缩包
tar -jxf 名称.tar.bz2


*.tar.xz格式的压缩包
tar -Jxf 名称.tar.xz

 zip压缩与解压缩

zip【选项】压缩后的文件名称.zip 文件或文件夹

选项说明:
    -r :递归压缩,主要针对的是文件夹

Linux下已经有了gzip、bzip2以及xz压缩命令,之所以还需要使用zip压缩,是因为zip格式在Windows以及Linux中都是可以正常使用的

unzip解压缩

unzip 压缩包名称   =>>  解压到当前目录
unzip 压缩包名称 -d 指定路径   =>>  解压到指定路径下

查看文件

cat - 文件内容快速查看

cat [选项] 文件名

选项说明:

        -n:显示行号(包括空行)

        -e:显示行尾结束符($)

        -t: 显示制表符(^I )

注意事项:

        对大文件慎用(内存压力)

        禁止直接编辑文件(需配合>>追加)

more - 分屏查看器

# 案例1:查看日志文件
more /var/log/messages  # 按空格键下翻页

# 案例2:跳过前10行
more +10 /etc/passwd  # 从第11行开始显示


交互命令:

        空格键:下一页

        Enter:下一行

        q:退出

        :f 显示当前位置

回车键向下移动一行
d向下移动半页
空格键向下移动一页
d向上移动一页,后期引入功能,早期more只能前进不能后退
q退出 more

less - 高级分页工具

核心优势:

        1.支持上下移动

        2.搜索功能

# 案例1:实时追踪日志
less +F /var/log/nginx/access.log  # 按Ctrl+C退出

# 案例2:搜索关键字
less /etc/ssh/sshd_config  # 输入 /Port 搜索


常用参数

        -s:禁用行换行

        -i:忽略搜索大小写

        -N:显示行号

回车键向下移动一行
d向下移动半页
空格键向下移动一页
b向上移动一页
上下方向键向上与向下移动,less命令特有功能键,鼠标滑轮
less -N 文件名称显示行号
/ 字符串搜索指定的字符串
q退出less
n/N下一个/上一个

head - 文件头部查看

head [选项] 文件名

参数:

        -n 5:显示前5行

        -c 100:显示前100字节

tail - 文件尾部追踪

 tail [选项] 文件名

参数:

        -f:实时追踪(Ctrl+c退出)

        -F:追踪文件名变更(适用于日志轮转)

        -n +5: 从第5行开始显示

统计文件信息

wc - 统计文件内容数量

命令:wc, wc = word count

作用:用于统计文件内容信息(包括行数、单词数。字节数)

语法:

        wc [参数选项] 文件名

参数:

        -l:表示lines,行数(以回车/换行符为标准)

        -w:表示words,单词数 依照空格来判断单词数量

        -c:表示bytes, 字节数(空格,回车,换行)

 du - 统计文件大小

命令:du

作用:查看文件或目录(会递归显示子目录)占用磁盘空间大小

语法:

        # du  [参数选项]  文件名或目录名

常见参数:

        -s :summaries,只显示汇总的大小,统计文件夹的大小

         -h:表示以高可读性的形式进行显示,如果不写-h,默认以KB的形式显示文件大小

文本处理

find - 文件搜索利器

搜索条件

 -name "*.txt":按名称匹配

 -mtime +7:7天前修改

 -size +100k:大于100KB

管道符

工作原理:将前一个命令的输出作为后一个命令的输入

性能优化

        避免无用输出(如cat file | grep pattern可简化为grep pattern file

        使用buffer工具加速大数据流传输

命令核心功能最佳场景性能特征
cat文件拼接/快速预览小文件(<100行)直接输出
less高效分页浏览大文件(>1GB)智能加载
grep内容过滤日志分析正则支持
find文件检索系统级搜索精准定位

grep - 模式匹配神器

正则表达式

 ^root:行首匹配

 \.conf$:行尾匹配

 [0-9]{3}-[0-9]{4}:匹配电话号码格式

 基础搜索参数

- -i(忽略大小写)

grep -i "hello" file.txt # 搜索 "hello"、"Hello"、"HELLO" 等

- -v(反向匹配,显示不包含模式的行)

grep -v "error" log.txt # 排除所有包含 "error" 的行

- -w(全词匹配,仅匹配完整单词)

grep -w "cat" file.txt # 匹配 "cat",但不匹配 "category" 或 "cats"

- -n(显示匹配行的行号)

grep -n "TODO" code.py # 输出格式:行号:匹配内容

- -l(仅显示包含匹配项的文件名,不显示具体内容)

grep -l "success" *.log # 列出所有包含 "success" 的日志文件名

- -c(统计匹配行的数量)

grep -c "404" access.log # 统计 "404" 出现的次数

 组合案例

1. 在单个文件中查找关键词

场景:查看日志文件并搜索“error”  

cat system.log | grep "error"

或更高效的方式(直接使用grep):  

grep "error" system.log

 作用:快速定位文件中的错误信息。

2. 在多个文件中查找关键词

场景:搜索所有.txt文件中的“hello”

cat *.txt | grep "hello"

注意:如果需知道结果来自哪个文件,直接使用grep更合适:

grep "hello" *.txt

作用:跨文件搜索时,显示文件名和匹配内容。


总结

命令选项描述
mldir-p递归创建目录,从左到右一级一级创建目录
rmdir-p同时删除多级空目录(从右向左一级一级删除)
touch创建一个或多个文件
rm-r或-f-r:递归删除目录;-f:强制删除,不提示
命令选项描述
cp-r递归复制,主要针对文件夹
mv移动或重命名文件/目录
命令选项描述
tar-c、-x、-t、-f、-v、-z、-j、-J-c: 创建新的归档文件;-x: 从归档中解出文件;-t: 列出归档文件中的内容;-f: 指定归档文件名;-v: 显示处理过程中的文件信息;-z: 使用gzip压缩;-j: 使用bzip2压缩;-J: 使用xz压缩
zip-r递归压缩,主要针对的是文件夹
unzip-d解压到指定路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/79167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows服务器部署全攻略:Flask+Vue+MySQL跨平台项目实战(pymysql版)

当你的后端(Flask+pymysql,Windows开发)与前端(Vue,Mac开发)需要统一部署到Windows服务器时,通过「IIS反向代理+原生组件适配」方案可实现稳定交互。以下是针对Windows环境的专属部署指南,解决路径适配、服务启动等核心问题。 一、Windows服务器环境准备(必做!) 1…

wpf 输入框 在输入时去除水印

wpf ScrollViewer 在输入数据时去除水印 在WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;ScrollViewer控件通常用于显示滚动内容。如果你想在ScrollViewer中使用数据输入&#xff08;例如文本输入&#xff09;&#xff0c;并且希望在输入时去除水…

动态思维——AI与思维模型【91】

一、定义 动态思维思维模型是一种强调在思考问题和分析情况时&#xff0c;充分考虑到事物的变化性、发展性和相互关联性&#xff0c;不局限于静态的、孤立的视角&#xff0c;而是以发展变化的眼光看待事物&#xff0c;能够根据不同时间、环境和条件的变化&#xff0c;灵活调整…

多模态大语言模型arxiv论文略读(五十五)

MoMA: Multimodal LLM Adapter for Fast Personalized Image Generation ➡️ 论文标题&#xff1a;MoMA: Multimodal LLM Adapter for Fast Personalized Image Generation ➡️ 论文作者&#xff1a;Kunpeng Song, Yizhe Zhu, Bingchen Liu, Qing Yan, Ahmed Elgammal, Xiao…

Go-web开发之帖子功能

帖子功能 route.go r.Use(middleware.JWTAuthMiddleware()){r.POST("/post", controller.CreatePostHandler)r.GET("/post/:id", controller.GetPostDetailHandler)}post.go 定义帖子结构 type Post struct {Id int64 json:"id" …

C++ 项目中的多语言字符串管理方案(支持自动提示与动态加载)

&#x1f4ac; C 项目中的多语言字符串管理方案&#xff08;支持自动提示与动态加载&#xff09; 在中大型 C 应用中&#xff0c;我们常常会面临界面提示文本繁多、需要支持多语言切换的问题。为了解决字符串管理混乱、缺乏自动提示、难以维护等问题&#xff0c;本文将提供一种…

数控滑台:将制造业推向智能化的关键装备

随着制造业的不断发展和智能化进程的加速推进&#xff0c;数控滑台作为一种关键的装备&#xff0c;在各种工业生产中发挥着越来越重要的作用。数控滑台不仅提高了生产效率&#xff0c;节约了人力物力资源&#xff0c;还大大降低了生产过程中的错误率&#xff0c;保障了产品的质…

【STM32】定时器输入捕获

STM32 定时器输入捕获功能笔记 一、什么是输入捕获&#xff08;Input Capture&#xff09; 输入捕获是利用定时器的输入通道&#xff0c;在检测到信号电平变化&#xff08;如上升沿或下降沿&#xff09;时&#xff0c;立即将当前计数器的值捕获并保存到捕获寄存器&#xff08…

Qt通过QXlsx库文件写入到excl文件,读取excl文件

第一&#xff1a;下载QXlsx库文件 https://download.csdn.net/download/qq_32663053/90739425 第二&#xff1a;在Qt项目中引入QXlsx库&#xff0c;需要把QXlsx库文件放在项目文件夹下 第三&#xff1a;将tableview中的数据存入到excl文件 代码&#xff1a; void MainWindow…

【KWDB 创作者计划】一款面向 AIoT 的多模数据库实战体验

一、KWDB&#xff1a;AIoT 时代的数据库新选择 KWDB 是由开放原子开源基金会孵化的分布式多模数据库&#xff0c;专为物联网、工业互联网等场景设计。其核心价值在于时序与关系数据融合处理能力&#xff1a; ​多模统一引擎​&#xff1a;单个实例可同时建立时序库&#xff08…

【教学类-102-22】蝴蝶彩色1——通义万相“彩色蝴蝶”透明切边基础图片制作(五款板式、批量下载、修图、透明、切边)

一、下载图片 关键词&#xff1a;卡通简笔画&#xff0c;白色背景&#xff0c;黑白轮廓线&#xff0c;、鲜艳&#xff0c;彩色&#xff0c;一只蝴蝶&#xff0c;简单&#xff0c;可爱&#xff0c;矢量图&#xff0c;大。 简笔画 强度1 4:3(长方形适配A4纸&#xff09; 五…

【JAVA】方法定义与重载:JVM方法调用机制(8)

核心知识点详细解释 Java方法的定义和使用 在Java中&#xff0c;方法是一段具有特定功能的代码块&#xff0c;它可以接受参数并返回一个值。方法的定义包括方法的修饰符、返回类型、方法名、参数列表和方法体。其基本语法如下&#xff1a; 修饰符 返回类型 方法名(参数列表)…

基于STM32的带恒温系统智能外卖柜设计

标题:基于STM32的带恒温系统智能外卖柜设计 内容:1.摘要 随着外卖行业的迅速发展&#xff0c;对外卖存放设备的智能化和功能性要求日益提高。本设计的目的是开发一种基于STM32的带恒温系统智能外卖柜。方法上&#xff0c;以STM32微控制器为核心&#xff0c;结合温度传感器、加…

【综述】相位解包裹算法对比分析

引言 相位解包裹是基于干涉的位相测量技术中的重要环节&#xff0c;如合成孔径雷达干涉、光学干涉测量技术、医学成像技术、数字全息三维成像、相干衍射成像等技术中都涉及位相解包裹。位相解包裹也称为位相展开、位相解截断、位相解缠绕等。与之相反的过程谓之包裹位相、截断…

Rust 学习笔记:关于枚举与模式匹配的练习题

Rust 学习笔记&#xff1a;关于枚举与模式匹配的练习题 Rust 学习笔记&#xff1a;关于枚举与模式匹配的练习题以下程序能否通过编译&#xff1f;若能&#xff0c;输出是什么&#xff1f;考虑这两种表示结果类型的方式&#xff0c;若计算成功&#xff0c;则包含值 T&#xff1b…

C++负载均衡远程调用学习之QPS性能测试

目录 1.昨日回顾 2.QPS_TEST_PROTOBUF协议的集成 3.QPS_TEST_SERVER端实现 4.QPS_TEST_QPS简单介绍 5.QPS_TEST_QPS客户端工具编写和性能测试 1.昨日回顾 2.QPS_TEST_PROTOBUF协议的集成 ## 14) Reactor框架QPS性能测试 ​ 接下来我们写一个测试用例来测一下我们…

【MySQL数据库】视图

1&#xff0c;视图的基本介绍 视图是一个虚拟表&#xff0c;其内容由查询定义。与真实表一样的是&#xff0c;视图包含带有名称的列和行数据&#xff1b;与真实表不一样的是&#xff0c;视图本身并不在数据库中存储数据。视图的数据变化会影响到基表&#xff0c;基表的数据变化…

Linux系统安装方式+适合初学者的发行版本

Linux系统安装方式适合初学者发行版—目录 一、Linux系统的安装方式1. 物理机直接安装2. 虚拟机安装3. 双系统安装4. Live USB试用5. 云服务器安装 二、适合初学者的Linux发行版1. Ubuntu2. Linux Mint3. Zorin OS4. Pop!_OS5. Elementary OS6. Fedora7. Manjaro 三、选择建议场…

Linux C++ JNI封装、打包成jar包供Java调用详细介绍

在前面 Android专栏 中详细介绍了如何在Android Studio中调用通过jni封装的c库。 在Android使用 opencv c代码&#xff0c;需要准备opencv4android&#xff0c;也就是c的任何代码&#xff0c;是使用Android NDK编译的&#xff0c;相当于在windows/mac上使用Android stdido交叉…

4.1 模块概述

1.Python结构 工程 > 包 > 模块 Python工程: “Python项目中最大的文件夹(本质就是一个文件夹)” --- 左侧的 CODE文件夹 为Python工程 Python包: 本质就是一个文件夹,但是python包中具备具体的标识,如果没有标识则不能导入 --- 左侧的 01.Python基础 文件夹为python包 P…