当前位置: 首页 > 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 问题分析: 可能是…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...