当前位置: 首页 > news >正文

Linux文件和文件夹命令详解

1.Linux文件类型详解

常见的Linux文件类型:
普通文件(Regular File):(例如文本文件、二进制文件、图片、视频和压缩文件等;)
普通文件是最常见的文件类型,存储了实际的数据;
可以包含文本、二进制数据、程序代码等;
在文件系统中使用普通文件的名称来标识。
​
目录(Directory):(例如 home、bin、usr、etc 等目录;)
目录用于组织和存储文件和其他目录;
目录中包含了文件系统中其他文件和目录的入口;
由于目录本身也是文件,所以可以在目录中存储数据。
​
符号链接(Symbolic Link):(例如 /usr/bin 目录下的 python3 等符号链接文件;)
符号链接是一个指向另一个文件或目录的特殊文件;
它创建了一个新的文件路径,指向目标文件或目录;
符号链接可以跨越文件系统边界。
​
设备文件(Device File):(例如 /dev/sda 表示硬盘设备文件, /dev/null 表示空设备文件;)
设备文件是用于与硬件设备进行通信的特殊文件;
在Linux中,设备文件分为两种类型:字符设备文件和块设备文件;
字符设备文件用于处理字符流数据,比如键盘或串口设备;
块设备文件用于处理以固定大小块为单位的数据,比如硬盘驱动器。
​
命名管道(Named Pipe):(例如系统进程间通信中的管道;)
命名管道是一种进程间通信机制,允许不相关的进程通过该管道进行通信;
命名管道在文件系统中具有唯一的名称,并将数据传递给连接到该命名管道的进程。
​
套接字(Socket):(例如作为网络通信的套接字文件;)
套接字用于不同主机之间的网络通信;
通过套接字,进程可以通过网络发送和接收数据。
​
字符特殊文件(Character Special File):(例如键盘、鼠标等设备特殊文件。)
字符特殊文件是一种特殊设备文件,用于与设备驱动程序进行低级别的通信;
与字符设备文件相比,字符特殊文件通过一次发送和接收字符来处理数据。

2.Linux文件夹新建,删除,复制,剪切命令

1.文件夹新建命令:
mkdir:用于创建一个新的文件夹。
例如:mkdir folder_name 将创建一个名为 “folder_name” 的文件夹。
​
2.文件夹删除命令:
rmdir:用于删除一个空文件夹。
例如:rmdir folder_name 将删除名为 “folder_name” 的空文件夹。
rm:用于删除一个非空文件夹及其内容。
例如:rm -r folder_name 将删除名为 “folder_name” 的文件夹及其内容。
​
3.文件夹复制命令:
cp:用于复制文件夹及其内容到目标位置。
例如:cp -r folder_name destination 将复制名为 “folder_name” 的文件夹及其内容到指定的 “destination” 目录中。
​
4.文件夹剪切命令:
mv:用于剪切文件夹到目标位置,同时可以更改文件夹名称。
例如:mv folder_name destination 将剪切名为 “folder_name” 的文件夹到指定的 “destination” 目录中。
例如:mv folder_name new_folder_name 将重命名名为 “folder_name” 的文件夹为 “new_folder_name”。

3.Linux文件新建,删除,复制,剪切以及重命名命令详解

1.文件新建命令:
touch:用于创建一个新文件。
示例:touch file_name.txt 将在当前目录下创建一个名为 “file_name.txt” 的空文件。
​
2.文件删除命令:
rm:用于删除一个或多个文件。
示例:rm file_name.txt 将删除名为 “file_name.txt” 的文件。
若要删除多个文件,可以使用通配符,如 rm *.txt 将删除所有以 “.txt” 结尾的文件。
若要删除包括子目录在内的所有文件和文件夹,可以使用 rm -r folder_name。
​
3.文件复制命令:
cp:用于复制文件到目标位置。
示例:cp file_name.txt destination 将复制名为 “file_name.txt” 的文件到指定的 “destination” 目录中。
若要递归地复制整个文件夹及其内容,可以使用 cp -r folder_name destination。
若要保留源文件的元数据(如权限和时间戳等),可以使用 cp -p file_name.txt destination。
​
4.文件剪切(移动)及重命名命令:
mv:用于将文件移到目标位置,同时也可用于重命名文件。
示例:mv file_name.txt destination 将移动名为 “file_name.txt” 的文件到指定的 “destination” 目录中。
若要重命名文件,可以将目标位置指定为新的文件名,例如:mv old_file_name.txt new_file_name.txt。

4.Linux文件查找find搜索命令

Find 命令的基本用法:find [path] [expression]
其中,path 表示指定要搜索的路径,expression 表示要对查找结果进行限定的表达式。
​
以下列举了一些常用的表达式:
-name 指定要查找的文件或目录名称
示例:find /home/user -name "*.txt" 将在目录 /home/user 下查找所有以 “.txt” 结尾的文件。
​
-type 指定查找的文件类型
f:查找普通文件;
d:查找目录;
l:查找符号链接文件;
示例:find /home/user -type f -name "*.txt" 将在目录 /home/user 下查找所有以 “.txt” 结尾的普通文件。
​
-mtime 按文件修改时间(单位为天)查找文件
示例:find /home/user -mtime -7 将在目录 /home/user 下查找最近7天内修改的文件。
​
-size 按文件大小查找文件
+n:查找大于 n 的文件;
-n:查找小于 n 的文件;
示例:find /home/user -size +1M 将查找文件大小超过 1MB 的文件。
-user 按文件属主查找文件
示例:find /home/user -user root 将查找所有属于 root 用户的文件。
​
-perm 按权限查找文件
示例:find /home/user -perm 644 将查找所有权限为 644 的文件。
​
-exec 在查找结果中执行命令
示例:find /home/user -name "*.txt" -exec rm {} \; 将查找所有以 “.txt” 结尾的文件并删除它们。

5.Linux文件,文件夹以及通配符的使用

其常用的通配符有 *、?、[] 三种。
* 通配符能够匹配零个或多个字符,如 *.txt 可以匹配所有 .txt 结尾的文件。
? 通配符能够匹配任意一个字符,如 file?.txt 可以匹配 file1.txt、file2.txt 等文件,但不能匹配 file10.txt。
[] 通配符可用来匹配多个字符中的一个。如 file[123].txt 可以匹配 file1.txt、file2.txt 或 file3.txt
​
以下是一些基本的文件和文件夹操作:
显示当前工作目录下的所有文件和文件夹:ls
显示指定目录下的所有文件和文件夹:ls /path/to/directory
进入指定目录:cd /path/to/directory
返回上一级目录:cd ..
创建一个名为 newfile 的空文件:touch newfile
创建一个名为 newdirectory 的目录:mkdir newdirectory
删除一个名为 file.txt 的文件:rm file.txt
删除一个名为 directory 的空目录:rmdir directory
递归删除一个名为 directory 的目录及其下所有文件和子目录:rm -r directory

6.Linux文件查看命令:Cat,More,Less,Head,Tail

cat 命令:
cat 命令用于查看文件内容,并将其全部输出到终端。
示例:cat file.txt 将显示文件 file.txt 的全部内容。
​
more 命令:
more 命令用于分页显示文件内容,逐页显示,按 Enter 键进行翻页。
示例:more file.txt 将按页显示文件 file.txt 的内容。
​
less 命令:
less 命令也用于分页显示文件内容,类似于 more 命令,但它支持向上和向下滚动,并提供更多功能。
示例:less file.txt 将按页显示文件 file.txt 的内容。
​
head 命令:
head 命令用于显示文件的前几行,默认为显示前 10 行。
示例:head file.txt 将显示文件 file.txt 的前 10 行内容。
​
tail 命令:
tail 命令用于显示文件的后几行,默认为显示后 10 行。
示例:tail file.txt 将显示文件 file.txt 的后 10 行内容。

7.Linux文件vi编辑命令

vi 是一款强大的文本编辑器,它常用于编辑各种类型的文件。下面是一些常用的 vi 编辑命令:
​
打开文件:
vi filename:打开名为 filename 的文件,如果文件不存在,则创建一个新文件。
​
切换到不同的模式:
命令模式(Command Mode):启动 vi 编辑器时默认的模式,可执行各种编辑器命令,例如保存、退出、搜索等。
插入模式(Insert Mode):在此模式下,可以输入和编辑文本内容。
可视模式(Visual Mode):可用于选择块文本以便复制、剪切或粘贴。
​
常用编辑命令:
i:在当前光标位置插入文本。
a:在当前光标位置的下一个位置插入文本。
o:在当前行的下方插入一个新行并进入插入模式。
x:删除当前光标所在位置的字符。
dd:删除当前行。
yy:复制当前行。
p:粘贴剪贴板中的内容。
​
保存和退出:
:w:保存文件但不退出 vi 编辑器。
:wq:保存文件并退出 vi 编辑器。
:q:退出 vi 编辑器(如果未修改文件内容)。
:q!:强制退出 vi 编辑器,放弃对文件的修改。

8.Linux文件权限的处理

1.查看文件权限:
使用 ls -l 命令可以显示文件或目录的权限信息
例如:ls -l filename
​
2.修改文件权限:
使用 chmod 命令可以修改文件或目录的权限:
(1)使用数字表示权限:chmod 三个数字 文件 (读r:4,写w:2,执行x:1,无权限-:0) 
第一个数字表示所有者(user)的权限,第二个数字表示用户组(group)的权限,第三个数字表示其他用户(others)的权限。
chmod 777 文件 (给所有者,用户组,其他用户最高权限有读写执行)
(2)使用符号表示权限:
u:代表所有者(user);
g:代表用户组(group);
o:代表其他用户(others);
a:代表所有用户(all);
+:增加权限;
-:删除权限;
r:读权限;
w:写权限;
x:执行权限。
$ chmod u+r filename  // 给所有者添加读权限
$ chmod g-w filename  // 移除所属组的写权限
$ chmod o+x filename  // 给其他用户添加执行权限
$ chmod a=rw filename  // 给所有用户设置读写权限
​
3.修改文件所有者和所属组:
(1)使用 chown 命令可以修改文件或目录的所有者:
$ sudo chown new_owner filename
(2)使用 chgrp 命令可以修改文件或目录的所属组:
$ sudo chgrp new_group filename
​
4.递归修改文件权限:使用 -R 选项可以递归地修改文件和目录的权限。
$ chmod -R 755 directory  // 递归设置目录及其内容为rwxr-xr-x

9.Linux中zip,rar,tar.gz压缩和解压操作

1.zip 压缩和解压:
(1)压缩:使用 zip 命令,类似于以下命令:
$ zip archive.zip file1 file2 file3
这将把 file1、file2 和 file3 压缩为一个名为 archive.zip 的压缩包。
​
(2)解压:使用 unzip 命令,类似于以下命令:
$ unzip archive.zip
这将解压缩名为 archive.zip 的压缩包。
​
2.rar 压缩和解压:
(1)压缩:使用 rar 命令,类似于以下命令:
$ rar a archive.rar file1 file2 file3
这将把 file1、file2 和 file3 压缩为名为 archive.rar 的压缩包。
​
(2)解压:使用 unrar 命令,类似于以下命令:
$ unrar x archive.rar
这将解压缩名为 archive.rar 的压缩包。
​
3.tar.gz 压缩和解压:
(1)压缩:使用以下命令将文件(夹)压缩为 tar.gz 格式的文件(例如将一个名为 folder 的文件夹压缩为 folder.tar.gz):
$ tar -czvf folder.tar.gz folder
注:-c 选项表示新建一个压缩包,-z 选项表示使用 gzip 压缩,-v 选项表示在压缩的过程中显示详细信息,-f 选项表示指定压缩包的名称。
​
(2)解压:使用以下命令解压缩 tar.gz 格式的文件:
$ tar -xzvf folder.tar.gz
注:-x 选项表示解压缩,-z 选项表示使用 gzip 解压缩,-v 选项表示在解压缩的过程中显示详细信息,-f 选项表示指定要解压缩的压缩包。

相关文章:

Linux文件和文件夹命令详解

1.Linux文件类型详解 常见的Linux文件类型: 普通文件(Regular File):(例如文本文件、二进制文件、图片、视频和压缩文件等;) 普通文件是最常见的文件类型,存储了实际的数据&#xf…...

MIKE水动力笔记20_由dfs2网格文件提取dfs1断面序列文件

本文目录 前言Step 1 MIKE Zero工具箱Step 2 提取dfs1 前言 在MIKE中,dfs2是一个一个小格格的网格面的时间序列文件,dfs1是一条由多个点组成的线的时间序列文件。 如下两图: 本博文内容主要讲如何从dfs2网格文件中提取dfs1断面序列文件。 …...

微服务nacos实战入门

注册中心 在微服务架构中,注册中心是最核心的基础服务之一 主要涉及到三大角色: 服务提供者 ---生产者 服务消费者 服务发现与注册 它们之间的关系大致如下: 1.各个微服务在启动时,将自己的网络地址等信息注册到注册中心&#x…...

PyCharm 远程连接服务器并使用服务器的 Jupyter 环境

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

HBase中的数据表是如何用CHAT进行分区的?

问CHA:HBase中的数据表是如何进行分区的? CHAT回复: 在HBase中,数据表是水平分区的。每一个分区被称为一个region。当一个region达到给定的大小限制时,它会被分裂成两个新的region。 因此,随着数据量的增…...

rabbitMQ的direct模式的生产者与消费者使用案例

消费者C1的RoutingKey 规则按照info warn 两种RoutingKey匹配 绑定队列console package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback;/*** 消费者01的消息接受*/ p…...

分布式应用服务拆分

需求落地分布式应用服务 将需求转化为分布式应用服务的过程可以按照以下步骤进行: 理解需求:首先,你需要仔细阅读和理解业务需求。与相关的利益相关者(如业务分析师、产品经理等)进行沟通,确保你对需求的理…...

matplotlib 绘制双纵坐标轴图像

效果图: 代码: 由于使用了两组y axis,如果直接使用ax.legend绘制图例,会得到两个图例。而下面的代码将两个图例合并显示。 import matplotlib.pyplot as plt import numpy as npdata np.random.randint(low0,high5,size(3,4)) …...

74基于matlab的PSO-ELM的多输入,单输出结果预测,输出训练集和测试机预测结果及误差。

基于matlab的PSO-ELM的多输入,单输出结果预测,输出训练集和测试机预测结果及误差,适应度值。数据可更换自己的,程序已调通,可直接运行。 74matlabPSO-ELM多输入单输出 (xiaohongshu.com)...

shell之head命令

head命令 head命令是UNIX和Linux环境中常用的命令,用于在标准输出上显示文件的开头内容。 具体来说,head命令默认会显示给定文件开头的10行内容。如果指定了多个文件名,head命令会逐个显示每个文件的开头内容,并在每个文件显示的…...

网络安全之了解安全托管服务(MSS)

数字化已深入千行百业。数字化将给各行各业带来巨大的变化,现实世界和虚拟世界也将联系得更加紧密。随着云计算、大数据等新技术结合企业级业务的落地,数字时代的安全面临着前所未有的新挑战。近年来,网络安全问题日益严重,在企业…...

linux进程间通信之共享内存(mmap,shm_open)

共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进 程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中&#xff0c…...

C/C++---------------LeetCode第1748.唯一元素的和

唯一元素的和 题目及要求哈希算法暴力算法在main里使用 题目及要求 给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。 请你返回 nums 中唯一元素的 和 。 示例 1: 输入:nums [1,2,3,2] 输出:4 解释:唯…...

什么是好用的HR人才测评?

对于HR来说,选用一个合适的测评工具,我想不外乎以下几点: 1、成本可控 不是所有的HR都能申请到足够的资金,去做专业的人才测评,尤其是中小企业,这可是一笔不小 的开支。即使是基层普通岗位的成本&#xf…...

【ARM Trace32(劳特巴赫) 使用介绍 5 -- Trace32 scan dump 详细介绍】

文章目录 1.1 JTAG 测试逻辑架构1.2 D型扫描触发器1.2.1 全扫描介绍1.3 IR 寄存器1.4 TDR(Test data registers)1.4.1 TDR 的实现1.4.1.1 Bypass Register1.4.1.2 Boundary-scan register1.5 Scan Dump1.5.1 soft fusion1.1 JTAG 测试逻辑架构 图 1-1 片上测试逻辑概念图 如前面…...

Java版B/S架构云his医院信息管理系统源码(springboot框架)

一、技术框架 ♦ 前端:AngularNginx ♦ 后台:JavaSpring,SpringBoot,SpringMVC,SpringSecurity,MyBatisPlus,等 ♦ 数据库:MySQL MyCat ♦ 缓存:RedisJ2Cache ♦ 消息队…...

面试经典(2/150)移除元素

面试经典(2/150)移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要…...

基于JavaWeb+SpringBoot+掌上社区疫苗微信小程序系统的设计和实现

基于JavaWebSpringBoot掌上社区疫苗微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种…...

python_主动调用其他类的成员

# 主动调用其他类的成员 # 方式一: class Base(object):def f1(self):print("5个功能") class Foo(object):def f1(self):print("3个功能")# Base.实例方法(自己传self),与继承无关Base.f1(self)obj Foo() obj.f1()print("#"*20)# 方式二:按照类…...

Pytorch部分报错问题

一、存在问题 1.链接库报错 问题报错:undefined symbol: __nvJitLinkAddData_12_1, version libnvJitLink.so.12 2.GPU不能使用 问题报错:在torch安装后测试gpu是否可用 torch.cuda.is_available() false 返回false 问题分析: 可能是…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中&#xff0c;提供了一系列静态方法用于操作数组&#xff08;如排序、搜索、填充、比较等&#xff09;。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序&#xff08;sort&#xff09; 对数组进行升序…...

ZYNQ学习记录FPGA(二)Verilog语言

一、Verilog简介 1.1 HDL&#xff08;Hardware Description language&#xff09; 在解释HDL之前&#xff0c;先来了解一下数字系统设计的流程&#xff1a;逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端&#xff0c;在这个过程中就需要用到HDL&#xff0c;正文…...

运行vue项目报错 errors and 0 warnings potentially fixable with the `--fix` option.

报错 找到package.json文件 找到这个修改成 "lint": "eslint --fix --ext .js,.vue src" 为elsint有配置结尾换行符&#xff0c;最后运行&#xff1a;npm run lint --fix...