Centos7.9系统对于文件和文件夹的常用命令操作说明

一、背景描述

        在我们的日常工作和生活中,会遇到需要连接Linux服务器操作的情况,最常遇到的一些操作就是文件和文件夹的操作,将这些常用操作记录一下,方便后续的使用。

二、文件常用操作指令

        Linux下的指令可以通过按下【tab】键进行自动补全;同时按下键盘的【Ctrl+c】可以打断指令执行,正常来说如果指令执行很快且不需要再次确认是不需要打断的。

2.1、新建文件

# 新建文件指令【touch】(查看指令帮助命令为:touch --help)
# 1、新建一个文件指令
touch 文件名称+文件后缀名
# 示例
touch coffeemilk.txt# 2、批量创建多个文件指令
touch 文件名称+{开始编号..结束编号}+文件后缀名
# 示例
touch coffeemilk{1..10}.txt# 3、在指定目录下创建文件
touch 路径+文件名称+文件后缀名
# 示例
touch /root/test.txt

2.2、查看目录下的文件

# 查看目录下的文件命令(该命令的帮助语法是:ls --help)# 1、显示当前目录下的所有内容命令(ls全称list)
ls# 2、查看当前目录下的所有文件(包括隐藏文件;.开头的就是隐藏文件)
ls -a# 3、查看当前目录下指定类型的文件
ls *.文件后缀名
# 示例 查看当前目录下所有文本文件
ls *.txt# 4、以一行一个文件的方式显示当前文件夹下的内容(注意这是-1,是数字1,不是字母l)
ls -1# 5、查看当前文件夹下的所有文件详情(【注意这是字母l,不是数字1】包含权限、创建人员、大小、时间等信息)
ls -l# 6、查看当前目录下的所有文件详细信息(包括隐藏文件;.开头的就是隐藏文件)
ls -al

2.3、文件重命名

# 方法一:使用move命令进行重命名
mv 旧文件名称+旧文件后缀名 新文件名称+新文件后缀名 # 示例(将test.txt文件修改为helloworld.txt)
mv test.txt helloworld.txt

# 方法二:使用rename命令进行重命名
rename 旧文件名称+旧文件后缀名 新文件名称+新文件后缀名 旧文件名称+旧文件后缀名# 示例(将coffeemilk.txt的文件重命名为test.txt)
rename coffeemilk.txt test.txt coffeemilk.txt

2.4、文件删除

# 删除文件命令rm
# 1、删除当前文件夹下的文件命令【注意:linux没有回收站,所以在确认删除的时候输入了y就直接删除了,无法恢复】
rm 文件名称+文件后缀名# 示例(删除当前文件夹下的test.txt文件)
rm test.txt# 2、删除指定文件夹下的文件命令【注意:linux没有回收站,所以在确认删除的时候输入了y就直接删除了,无法恢复】
rm /文件路径/文件名称+文件后缀名# 示例(删除root文件夹下的helloworld.txt文件)
rm /root/helloworld.txt# 2、删除当前文件夹下的多个文件命令【注意:linux没有回收站,所以在确认删除的时候输入了y就直接删除了,无法恢复】
rm 文件1名称+文件1后缀名 文件2名称+文件2后缀名 文件3名称+文件3后缀名 ...# 示例(删除当前件夹下的coffeemilk1.txt、coffeemilk2.txt、coffeemilk3.txt文件)【注意:linux没有回收站,所以在确认删除的时候输入了y就直接删除了,无法恢复】
rm coffeemilk1.txt coffeemilk2.txt coffeemilk3.txt 

# 强制删除当前文件夹下指定文件,不需要用户确认是否删除,直接强制删除(该命令慎用,一旦执行则文件直接删除完毕,无法找回)
rm -f 文件名称+文件后缀名# 示例(删除coffeemilk4.txt)
rm -f coffeemilk4.txt# 强制批量删除当前文件夹下的文件,不需要用户确认是否删除,直接强制删除(该命令慎用,一旦执行则文件直接删除完毕,无法找回)
rm -f 文件名称{开始编号..结束编号}+文件后缀名
# 示例 批量删除coffeemilk6至10的txt文件
rm -f coffeemilk{6..10}.txt

2.5、复制和移动文件

# 1、在当前文件夹下复制文件
cp 旧文件名称+旧文件后缀名 新文件名称+新文件后缀名 
# 示例(复制coffeemilk5.txt文件并且重新给新文件取名为test.txt)
cp coffeemilk5.txt test.txt# 2、将文件复制到指定文件夹
cp 旧文件名称+旧文件后缀名 需要复制到的文件夹路径
# 示例 
cp test.txt /opt/

# 将文件移动到指定文件夹
mv 旧文件名称+旧文件后缀名 需要复制到的文件夹路径
# 示例(如将/root路径下的文件coffeemilk5.txt文件移动到/opt路径下)
mv coffeemilk5.txt /opt/

2.6、文件内容的编辑保存删除操作

        Linux中通常使用vi编辑器(类似Windows的文本编辑器)对文件内容进行操作【vi 文件名称+文件后缀名】即可打开文件;

Vi编辑器的编辑保存文件的三种模式
序号vi编辑器的模式模式说明
1常规模式

打开文件后默认是常规模式,在常规模式中可以使用各种快捷键,帮我们快速编辑文件。比如:快速按下键盘的D键2次(dd)就是删除当前光标所在整行的数据;

2编辑模式需要先切换为英文输入法,然后按i、o、a这三个键中的任意一个键都可以进入到编辑模式,这样才能向文件中写内容,内容写完之后,需要回到常规模式(在编辑模式中直接按下esc键即可回到常规模式)
 
3命令模式

在常规模式时按:(英文的冒号)进入命令模式,命令模式按esc回到常规模式,命令模式下输入q然后按下Enter键(回车)表示退出文件。

q 退出不保存;

wq 保存并退出;

q! 表示强制退出不保存;

wq! 强制保存并退出。

set number 每行内容都添加行号

 2.7、文件内容的查看

vi命令可以查看文件内容,但是每次都要vi进去,看完再退出来,比较麻烦,如果只是查看文件内容,可以使用如下指令操作:

只是查看文件内容指令
序号只是查看文件内容指令指令说明
1cat

# 从上往下顺序查看文本所有内容指令
cat 文件名称+文件后缀名

# 示例:查看test.txt文本所有内容
cat test.txt

# 从上往下顺序查看文本所有内容指令且现实行号
cat  -n 文件名称+文件后缀名

# 示例:查看test.txt文本所有内容且显示行号
cat -n test.txt

2tac

# 从下往上倒序查看文本所有内容指令
tac 文件名称+文件后缀名

# 示例:查看test.txt文本所有内容
tac test.txt

3head

# 1、查看文件前十行内容指令

head 文件名称+文件后缀名

# 示例:查看test.txt文件的前10行内容

head test.txt

# 2、查看文件前指定行内容指令

head -查看的行数

# 示例:查看test.txt文件的前2行内容

head -2 test.txt

4tail

# 1、查看文件尾部十行内容指令

tail 文件名称+文件后缀名

# 示例:查看test.txt文件的尾部10行内容

tail test.txt

# 2、查看文件尾部指定行内容指令

tail -查看的行数

# 示例:查看test.txt文件的尾部2行内容

tail -2 test.txt

2.8、统计文件的行数和字节数

统计文件内容的行数和字节数
序号指令指令说明
1

wc 文件名称+文件后缀名

(wc test.txt)

统计行数、单词个数、字节数
2

wc -l 文件名称+文件后缀名

(wc -l test.txt)

统计文件的总行数(这是字母l,不是数字1,也不是字母i)
3

wc -c 文件名称+文件后缀名

(wc -c test.txt)

统计文件总的字节数(Bytes)
4

wc -L 文件名称+文件后缀名

(wc -L test.txt)

统计文件中最长行的长度
5

wc -w 文件名称+文件后缀名

(wc -w test.txt)

统计文件中单词的个数,默认以空白字符做为分隔符(在Linux系统中,一段连续的数字或字母组合为一个词; 空格,换行不为一个词)

2.9、管道符

管道符号【|】 ,可以将前面指令的执行结果,作为后面指令的操作内容。

管道符的典型使用场景
序号管道符使用场景示例指令
1统计指令执行结果有多少行ip addr|wc -l
2统计目录下有多少个文件ls /root|wc-l
3查看指令的指定行内容ip addr|tail -5|head -2 

2.10、模糊与精确匹配文件内容

 【grep】指令是按行过滤字符串,默认是模糊匹配,只要单词中含有某些内容就过滤出单词所在的每行数据。

模糊与精确匹配文件内容
序号模糊与精确匹配文件内指令指令说明
1

grep '需要模糊匹配的内容' 文件名称+文件后缀名

(grep '编辑' test.txt)

模糊匹配内容在文件中的哪些行显示
2

grep -n '需要模糊匹配的内容' 文件名称+文件后缀名

(grep -n '编辑' test.txt)

模糊匹配内容在文件中的哪些行显示且显示行号
3

grep -w '需要精确匹配的内容' 文件名称+文件后缀名

(grep -w '你好' test.txt)

精确匹配内容在文件中的哪些行显示
4

grep -wn '需要精确匹配的内容' 文件名称+文件后缀名

(grep -wn '你好' test.txt)

精确匹配内容在文件中的哪些行显示且显示行号
5

指令|grep '需模糊匹配的内容'

(ip addr|grep 'net'

ip addr|grep -w 'net')

可以对指令内容的结果进行模糊或精确匹配

2.11、获取文件指定列的内容

【awk】是按照列过滤的指令;$1代表第一列,$2代表第二列,$NF代表最后一列,列默认是由空格分开的。

获取文件指定列的内容
序号指令说明
1

awk '{print $1}' 文件名称+文件后缀名

(awk '{print $1}' info.txt)

获取Info.txt文件中以空格区分的第一列内容
2

awk '{print $NF}' 文件名称+文件后缀名

(awk '{print $NF}' info.txt)

获取Info.txt文件中以空格区分的最后一列内容
3

awk -F ',' '{print $1}' 文件名称+文件后缀名

(awk -F ',' '{print $1}' info.txt)

获取Info.txt文件中以逗号区分的第一列内容

 2.12、对文件内容排序和去重

对文件内容排序和去重
序号指令说明
1

sort 文件名称+文件后缀名

(sort coffeemilk.txt)

对文件进行顺序排序(先数字后字母(且先小写字母后大写字母))
2

sort -n 文件名称+文件后缀名

(sort -n coffeemilk.txt)

对文件进行顺序排序(先数字后字母(且先小写字母后大写字母))
3

sort -r 文件名称+文件后缀名

(sort -r coffeemilk.txt)

对文件进行逆序排序(先字母后数字(且先大写字母后小写字母)
4

sort -r -n 文件名称+文件后缀名

(sort -r -n coffeemilk.txt)

对文件进行逆序排序(先数字后字母(且先大写字母后小写字母)
5

sort 文件名称+文件后缀名|uniq

( sort coffeemilk.txt |uniq)

对文件内容顺序排序后去重

注意:直接使用uniq对文件进行去重是没有效果的,必须要先对文件内容进行排序后再去重

6

sort 文件名称+文件后缀名|uniq -c

( sort coffeemilk.txt |uniq -c)

对文件内容顺序排序后去重,且在对应的内容前面显示重复的次数
7

sort -r 文件名称+文件后缀名|uniq

( sort -r coffeemilk.txt |uniq)

对文件内容逆序排序后去重

注意:直接使用uniq对文件进行去重是没有效果的,必须要先对文件内容进行排序后再去重

8

sort -r 文件名称+文件后缀名|uniq -c

( sort -r coffeemilk.txt |uniq -c)

对文件内容逆序排序后去重,且在对应的内容前面显示重复的次数

 

三、文件夹常用操作指令

3.1、查看当前所在文件夹

# 查看当前所在的文件夹路径
pwd

3.2、创建文件夹

# 1、在当前路径下创建文件夹
mkdir 需创建的文件夹名称
# 示例(在当前路径下创建名为coffeemilk的文件夹)
mkdir coffeemilk# 2、批量创建多个目录
mkdir 文件夹名称{开始编号..结束编号}
# 示例(批量创建名称为coffeemilk1至9的文件夹)
mkdir coffeemilk{1..9}# 3、在当前目录下一次性创建多级子目录
mkdir -p 目录1/目录2/目录3/...
# 示例(在当前目录下创建test/coffeemilk/network/)
mkdir -p test/coffeemilk/network/

3.3、切换文件夹

# 1、切换到指定目录
cd 目录路径
# 示例1(切换到/opt目录下)
cd /opt/
# 示例2(切换到/root/test/coffeemilk目录下)
cd /root/test/coffeemilk/# 2、切换到上一级目录
cd ..# 3、进入上一级的上一级目录 ,还可以继续../
cd ../..# 4、直接切换到根目录
cd /

3.4、文件夹重命名

# 方法一:使用move命令进行重命名
mv 旧文件夹名称 新文件夹名称# 示例(将coffeemilk文件夹修改为牛奶咖啡)
mv coffeemilk 牛奶咖啡

# 方法二:使用rename命令进行重命名
rename 旧文件夹名称 新文件夹名称 旧文件夹名称# 示例(将coffeemilk1的文件夹重命名为牛奶咖啡1)
rename coffeemilk1 牛奶咖啡1 coffeemilk1

3.5、删除文件夹

# 1、删除当前文件夹下的一个空文件夹(该命令只能删除空文件夹)
rmdir 文件夹名称
# 示例(删除当前文件夹下名为coffeemilk2的空文件夹)
rmdir coffeemilk2# 2、递归删除非空文件夹下的文件及其所有内容
rm -r 文件夹名称【删除之前都会与用户确认,一旦删除,该文件夹及其文件内容则无法恢复】
# 示例(递归删除非空文件夹test)
rm -r test# 3、批量删除当前文件夹下的空文件夹(该命令只能批量删除空文件夹)
rmdir 文件夹名称{开始编号..结束编号}
# 示例(批量删除名为coffeemilk3至9开头的空文件夹)
rmdir coffeemilk{3..9}# 4、强制递归删除非空文件夹及其包含的内容(慎用,该命令不会与用户确认是否删除,直接删除文件夹内容,一旦删除无法恢复)
rm -rf 需删除的文件夹名称
# 示例(强制删除coffeemilk3文件夹及其包含的子文件夹和内容)
rm -rf coffeemilk3

3.6、复制和移动文件夹

# 1、在当前文件夹下复制文件夹
cp -r 需复制的文件夹名称 新文件夹名称
# 示例(复制【牛奶咖啡】文件夹并且重新给新文件取名为【复制出来的文件夹】)
cp -r 牛奶咖啡 复制出来的文件夹# 2、将文件夹复制到指定文件夹
cp -r 需复制的文件夹名称 需要复制到的文件夹路径
# 示例 (将当前文件夹下的【复制出来的文件夹】复制到/root文件夹下)
cp -r 复制出来的文件夹 /root/

# 将文件夹移动到指定文件夹
mv 文件夹名称 需要复制到的文件夹路径
# 示例(如将/root路径下的文件夹【牛奶咖啡】动到/opt路径下)
mv 牛奶咖啡 /opt/

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

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

相关文章

SpringBoot使用spring.factories加载默认配置

在日常开发过程中,发布一些产品或者框架时,会遇到某些功能需要一些配置才能正常运行,这时我们需要的提供默认配置项,同时用户也能覆盖进行个性化 创建Initializer public class FrameContextInitializer implements Application…

VUE 组件之间的传值

通过做过的项目,目前学到几种组件之间的传值方法,留个笔记,才发现,其实不管是组件之间,还是父子组件之间,传值方法挺多的呢。 (1)模板引用 defineExpose 官网简介:模板…

5.3 Python len()函数:获取字符串长度或字节数

Python len()函数详解:获取字符串长度或字节数 Python 中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用 len 函数。 len 函数的基本语法格式为: …

ElasticSearch7.17.19集群搭建+Kibana

下载 1、下载elasticSearch 官网:https://www.elastic.co/cn/downloads/elasticsearch解压 tar -zxvf elasticsearch-7.17.19-linux-x86_64.tar### 修改用户组,es不允许root用户启动 chown es:es elaticsearch### 修改elasticsearch.yml # 所有节点名…

Unity - DrawCall

CPU 向 GPU 发送指令来渲染一个或多个物体的过程。每个 DrawCall 都会触发 GPU 执行一次绘制操作,包括设置渲染状态、传递顶点数据和纹理等。DrawCall 的增加会导致渲染性能下降 合批:将多个物体合并为一个批次进行渲染。其中分为静态合批和动态合批。 …

ConcurrentModificationException (异常通常是由于在一个线程遍历集合的同时,另一个线程修改了集合),解决方案如下

ArrayList 不是线程安全的集合。如果多个线程可能同时访问和修改ArrayList,可以考虑以下几种方法来解决这个问题:1、使用线程安全的集合: 使用 CopyOnWriteArrayList 或者 Collections.synchronizedList 包装的 ArrayList。 代码如下: private final BlockingQueue<List…

如何从docker容器中导入或者导出文件

在Docker中&#xff0c;从容器中导入或导出文件通常可以通过以下几种方法实现&#xff1a; 从容器中导出文件 使用 docker cp 命令 这是最直接的方法&#xff0c;可以从容器内部复制文件到宿主机的文件系统&#xff1a; docker cp <容器ID或容器名称>:<容器内的文…

双指针算法专题(移动零 复写零 快乐数)

目录 前言 1. 移动零 &#xff08;1&#xff09;题目及示例 &#xff08;2&#xff09;一般思路 &#xff08;3&#xff09;双指针解法 2. 复写零 &#xff08;1&#xff09;题目及示例 &#xff08;2&#xff09;一般解法 &#xff08;3&#xff09;双指针解法 3. 快…

在Mac OS上使用Visual Studio Code创建C++ Qt的Hello World应用

引言 Qt是一个跨平台的应用程序和用户界面框架&#xff0c;而Visual Studio Code是一个功能强大的编辑器&#xff0c;两者结合可以极大地提升开发效率。本文将指导你在Mac OS上使用Visual Studio Code创建一个简单的Qt Hello World窗口应用。 环境准备 确保你的MacBook OS运行…

Effective C++ 改善程序与设计的55个具体做法笔记与心得 5

五. 实现 26. 尽可能延后变量定义式的出现时间 请注意: ‌‌‌‌  尽可能延后变量定义式的出现&#xff0c;这样做可增加程序的清晰度并改善程序效率。 解释&#xff1a; 增加程序的清晰度&#xff1a;这样可以让读者在第一时间内更好地理解变量的用途。变量定义在第一次使…

黑马苍穹外卖6 清理redis缓存+Spring Cache+购物车的增删改查

缓存菜品 后端服务都去查询数据库&#xff0c;对数据库访问压力增大。 解决方式&#xff1a;使用redis来缓存菜品&#xff0c;用内存比磁盘性能更高。 key :dish_分类id String key “dish_” categoryId; RestController("userDishController") RequestMapping…

批量重命名神器揭秘:一键实现文件夹随机命名,自定义长度轻松搞定!

在数字化时代&#xff0c;我们经常需要管理大量的文件夹&#xff0c;尤其是对于那些需要频繁更改或整理的文件来说&#xff0c;给它们进行批量重命名可以大大提高工作效率。然而&#xff0c;传统的重命名方法既繁琐又耗时&#xff0c;无法满足高效工作的需求。今天&#xff0c;…

transformers datasets

☆ 问题描述 在进行自然语言处理项目时&#xff0c;经常需要加载和处理不同的数据集。为了简化这一过程&#xff0c;我们可以使用datasets库来方便地加载、切分、查看和处理数据。本解决方案提供了如何使用datasets库加载、查看和处理数据的详细示例&#xff0c;包括如何加载在…

Java中的类加载器与热部署技术详解

Java中的类加载器与热部署技术详解 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在软件开发中&#xff0c;特别是在大型应用和服务的开发过程中&#xff0c;类…

ic基础|功耗篇03:ic设计人员如何在代码中降低功耗?一文带你了解行为级以及RTL级低功耗技术

大家好&#xff0c;我是数字小熊饼干&#xff0c;一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结&#xff0c;并通过汇总成文章的形式进行输出&#xff0c;相信无论你是在职的还是…

【C++PCL】点云处理稳健姿态估计配准

作者:迅卓科技 简介:本人从事过多项点云项目,并且负责的项目均已得到好评! 公众号:迅卓科技,一个可以让您可以学习点云的好地方 重点:每个模块都有参数如何调试的讲解,即调试某个参数对结果的影响是什么,大家有问题可以评论哈,如果文章有错误的地方,欢迎来指出错误的…

TI毫米波雷达可以用串口调试助理来获取原始数据吗?

摘要&#xff1a;本文介绍一下如何使用普通的串口调试助理来读取到AWR1843毫米波雷达的数据的。 使用的硬件如下图所示。 软件就是普通的串口助理&#xff0c;我用的是SSCOM&#xff0c;其他串口助理也是可以的&#xff0c;核心作用其实就是发送一行行的指令而已。 操作方法&am…

【免费】中国电子学会2024年03月份青少年软件编程Python等级考试试卷二级真题(含答案)

2024-03 Python二级真题 分数&#xff1a;100 题数&#xff1a;37 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 期末考试结束了&#xff0c;全班的语文成绩都储存在列表score中&#xff0c;班主任老师请小明找到全班最高分&#xff0c;小明准备用…

20240623(26.0) 重要财经新闻

财经关注 ► 券商中国&#xff1a;北交所于6月21日晚间受理了3家企业的IPO申请。6月20日晚间&#xff0c;沪深交易所各受理了1家IPO申请。这也意味着&#xff0c;三大交易所IPO受理全部恢复。与此同时&#xff0c;三大交易所IPO上市委会议也已经全部重启。 ► 全球多地近期遭遇…

Linux开发讲课9--- Linux的IPC机制-内存映射(Memory Mapping)

Linux的IPC&#xff08;Inter-Process Communication&#xff0c;进程间通信&#xff09;机制是多个进程之间相互沟通的方法&#xff0c;它允许不同进程之间传播或交换信息。Linux支持多种IPC方式&#xff0c;包括但不限于&#xff1a; 管道&#xff08;Pipe&#xff09;&#…