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

LINUX 文件基本管理

一、文件类型和根目录结构

1、文件类型

可以通过 ls -l  或者 ll来查看文件类型

可以根据显示,查看第一个字符,就表示文件类型。

- 字符:普通文件,类似于Windows的记事本。

d 字符:目录文件,类似于Windows的文件夹。

c 字符:字符设备文件,串口端口设备,顺序读写,键盘。

b 字符:块设备文件,可供存储的接口设备,随机读写,硬盘。

p 字符:管道文件,用于进程间的通信。

s 字符:套接字文件,通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套字来进行数据通信。

l 字符:符号连接,又叫软连接,和云文件不是一个文件,例如Windows的快捷方式,如果原始文件被删除,所有指向它的符号连接也就都被破坏了。软连接有自己的node,是linux中特俗文件的一种,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。

注:硬链接与软连接相似,但不是特殊文件类型,只能引用同一文件系统中的文件,它引用的文件在文件系统中的物理索引(inode),当移动或删除原始文件时,硬链接不会被破坏,因为他所引用的是文件的物理数据而不是文件在文件结构的位置。

软连接与硬链接的区别

软连接:

1)是存放在另一个文件的路径形式;

2)软连接可以跨文件系统;

3)软连接可以对一个不存在的文件名建立链接;

4)软连接可以对目录进行连接。

5)软连接与源文件inode编号不一样。

硬链接:

1)以文件副本的形式存在,但不占实际空间;

2)硬链接只能在同一个系统文件进行创建;

3)硬链接只能给存在的文件进行创建;

4)不能给目录创建硬链接;

5)硬链接给源文件的inode编号相同。

链接创建格式

软连接:ln -s  源目录/文件  新名

硬链接:ln  源文件  新名

例如

[root@node1 test_1]# ln -s a.txt b.txt  --创建软链接
[root@node1 test_1]# ln a.txt c.txt     --创建硬链接
[root@node1 test_1]# ls -li
total 0
1321200 -rw-r--r--. 2 root root 0 Sep  9 16:55 a.txt
1321201 lrwxrwxrwx. 1 root root 5 Sep  9 16:55 b.txt -> a.txt
1321200 -rw-r--r--. 2 root root 0 Sep  9 16:55 c.txt

2、目录结构

FHS文件系统层级标准,定义了在LINUX系统中的目录结构和目录内容,即让用户链接到安装软件通常放置于哪个目录下。

目录结构特点

使用树形目录结构来组织和管理文件。

整个系统只有一个根目录,Linux系统中根目录用“/”表示。

其他所有分区意外及外部设备都是以根目录为起点,挂接在目录树的某个目录中的,通过访问挂载点目录,即可以实现对这些分区的访问。

/ :Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录。

/boot:存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动。

/root:超级用户的个人目录,普通用户没有权限访问。

/home:存放一般用户的个人目录。

/bin:是库英文缩写,存在系统的各种库文件。

/usr:一般用户程序安装所在的目录,用于安装各种应用程序。

/etc:存放了系统管理时要用到的各种配置文件和子目录。

/var:通常各种系统日志文件放在这里。

/dev:dev是设备(device)的英文缩写。包含所有的设备文件。

/mnt:可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点。

/tmp:用来存放不同程序执行时产生的临时文件。

/srv:srv是服务(server)的简写,服务启动之后需要访问的数据目录。

/sys:本目录是将内核的一些信息映射文件,以供应用程序所用。

/proc:可以在这个目录下获取系统信息。这些信息是在内容中由系统自己产生的。

3、路径以及工作目录

路径分类

绝对路径:是指以根目录“/”为起点表示系统中某个文件(或目录)的位置的方式。

相对路径:是以当前目录为起点,表示系统中某个文件或目录或在目录结构中的位置的方式。

如:[root@node1 ~]# cd /var/log  ---绝对路径

二、命令行管理文件

1、文件命名规则

1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符;

2)文件名不能超过255个字符;

3)区分大小写文件;

4)目录也是文件,在同一路径下,两个不同类型文件不能同名。

2、目录操作命令

1)创建目录

基本语法

mkdir [选项参数] [/路径/]目录名

选项参数

-p :可以快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖。

-v:显示创建目录的详细过程。

2)删除目录

基本语法

 rm -r [-f] 目录文件名

-f:强制删除,无提示; -r:删除会有提示信息,需要确认。 

 3)统计目录及文件空间占用情况

基本语法

 du [选项] [目录名]

 选项:

-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。

-s:只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。

-h:以K、M、G为单位显示磁盘使用情况,提高信息的可读性。

3、普通文件

1)创建普通文件

基本语法

touch [OPTION]... FILE...

touch 可以进行多个文件创建。

2)删除普通文件

 rm [-f] 文件名

3)查看文件详细信息

stat 文件名/或文件路径

 access:表示访问文件的时间。

modify:表示修改文件内容时间。

change:表示修改文件元数据的时间。

birth:表示文件创建时间。

4、数据流和重定向

1)数据流

标准输入(stdin):默认情况下,标准输入指键盘获取的输入,代码为0。

标准输出(stdout):默认情况下,命令执行所回传正确的信息会输出到屏幕上,代码为1。

标准错误输出(stderr):默认情况下,标准错误输出可理解为命令执行失败后,所回传的错误信息会输出到屏幕上,代码为2。

2)重定向操作符

重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。重定向操作符本身不是命令,而是命令中附加的可以改变命令的输入输出对象的特殊符号。

输出重定向操作符:>、>>

输入重定向操作符:<、<<

3)输入重定向

<:从文件中读取数据。

<<:不表示追加,而是表示输入结束符的意思,即作为一个结束符。

例如

[root@node1 ~]# cat < a.txt 
111
111[root@node1 ~]# cat < a.txt << end
> kkk
> lll
> aaa
> end
kkk
lll
aaa

4)输出重定向

>:输出重定向(覆盖文件内容)

>>:输出重定向(追加内容,不覆盖文件内容)

例如

[root@node1 ~]# date "+%H:%M:%S" > b.txt
[root@node1 ~]# cat b.txt 
22:26:27
[root@node1 ~]# date "+%H:%M:%S" > b.txt
[root@node1 ~]# cat b.txt 
22:26:40
[root@node1 ~]# date "+%H:%M:%S" >> b.txt
[root@node1 ~]# cat b.txt 
22:26:40
22:26:51

三、vi/vim编辑器

1、vi/vim编辑器介绍

所有LINUX系统都会内建vi文本编辑器,其他的文本编辑器则不一定存在,vim具有程序编辑的能,可以将文字颜色用不同颜色标识,方便程序设计;当程序简单,使用编辑器速度相当快。

vi/vim编辑器设置了三种模式:命令模式、末行模式、编辑模式,每种模式分别支持多种不同的快捷键,提高了工作效率。

基本语法

vim 文件路径(文件名)
vi 文件路径(文件名)

当运行编辑器时,默认进入命令模式。

2、命令模式

使用上下左右键,进行光标移动;

w:光标按照单词后跳转;

b:光标按照单词向前跳转;

^:光标跳转至行首;

$:光标跳转至行尾;

gg:文档行首第一个字符;

G:文档最后一行第一个字符;

行号+gg/G:指定跳转至指定行;

yy:复制光标所在行;

行号(n)+yy:复制光标所在行开始n行;

p:粘贴到光标所在下一行;

P:粘贴到光标所在上一行;

u:撤销;

dd:删除光标所在行;

行号(n)+dd:删除从光标开始的n行;

d^:删除光标前至行首字符;

d$:删除光标及之后的所有字符;

3、末行模式

按esc键可以从末行模式切换到命令模式,按 : 或者 / 命令可以切换到末行模式。

查找替换

保存退出

其他操作

 4、vi/vim三种模式切换

相关文章:

LINUX 文件基本管理

一、文件类型和根目录结构 1、文件类型 可以通过 ls -l 或者 ll来查看文件类型 可以根据显示&#xff0c;查看第一个字符&#xff0c;就表示文件类型。 - 字符&#xff1a;普通文件&#xff0c;类似于Windows的记事本。 d 字符&#xff1a;目录文件&#xff0c;类似于Wind…...

一、认识GitHub项目 —— TinyWebServer

认识GitHub项目 —— TinyWebServer 一、前言 这个项目是Linux下C轻量级Web服务器。几乎是想从事C服务器开发方向的同学的必备初始项目了。属于那种&#xff0c;“烂大街”&#xff0c;但是你又不能不会的项目。 对这个项目笔者打算多分几章讲解&#xff0c;帮助刚用GitHub&a…...

66.C++多态与虚函数

目录 1.什么是多态 2.多态的分类 3.对象转型 3.1 向上转型&#xff1a; 3.2 向下转型&#xff1a; 4.虚函数 1.什么是多态 生活中的多态&#xff0c;是指的客观的事物在人脑中的主观体现。例如&#xff0c;在路上看到⼀只哈士奇&#xff0c;你可以看做是哈士奇&#xf…...

【ICer的脚本练习】通过perl脚本来检查仿真log的结果

系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这是一个非常简单的perl脚本示例,展示一下perl语言“极简”的编码习惯。perl是我脚本入门的语言,一度也是最擅长的,但是因为python的强势现在我基本不写perl了。上一个大的perl脚本…...

创邻科技图数据库课程走进一流高校

《图数据库原理和实践》 正式开课&#xff01; 最近&#xff0c;浙江大学计算机学院新开了一门名为 《图数据库原理和实践》 的新课程&#xff0c;该课程由创邻科技和浙江大学联合推出&#xff0c;吸引了许多学生踊跃参与&#xff01; 曾为浙大学子的创邻科技CTO周研博士作为…...

RabbtiMQ的安装与在Springboot中的使用!!!

一、安装Erlang与Rabbitmq 安装教程本教程是在centos8下试验的&#xff0c;其实linux系统的都差不多RabbitMQ官方&#xff1a;Messaging that just works — RabbitMQRabbitMQ是开源AMQP实现&#xff0c;服务器端用Erlang语言编写&#xff0c;Python、Ruby、 NET、Java、JMS、c…...

【可定制、转换时间戳】解析nc文件,并保存为csv文件

解析nc文件&#xff0c;并保存为csv文件 写在最前面解析nc文件&#xff08;代码汇总放最后面&#xff09;读取nc文件获取气象文件中所有变量解析时间解析部分代码汇总 写入csv文件 写在最前面 愿称之为&#xff1a;支持私人订制、非常完美的版本 参考&#xff1a; 解析部分参…...

介绍串行和并行两种通信方式

前言 参考文章&#xff1a; 串行和并行- CSDN搜索 并行传输和串行传输的区别_金陵大掌柜的博客-CSDN博客 串行和并行介绍 &#xff08;1&#xff09;串行和并行是计算机领域中两个重要的概念。串行是指在计算机中&#xff0c;任务按照顺序一个一个执行&#xff0c;每个任务执行…...

优化爬虫效率:利用HTTP代理进行并发请求

网络爬虫作为一种自动化数据采集工具&#xff0c;广泛应用于数据挖掘、信息监测等领域。然而&#xff0c;随着互联网的发展和网站的增多&#xff0c;单个爬虫往往无法满足大规模数据采集的需求。为了提高爬虫的效率和性能&#xff0c;我们需要寻找优化方法。本文将介绍一种利用…...

关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径

问题 关于磁盘空间不够&#xff0c;导致报错 springboot内置tomcat相关的临时目录无法创建等问题&#xff0c;如何自定义配置 tomcat 缓存文件路径 解决方法&#xff1a; shell 脚本命令&#xff1a;&#xff08;配置自定义缓存路径 java-Djava.io.tmpdir &#xff09; tmp…...

Android HAL - hidl-gen

1.hidl-gen的使用 hidl-gen 编译器会将 .hal 文件编译成一组 .h 和 .cpp 文件,这些 自动生成的文件用于编译客户端 / 服务端实现链接到的共享库,同 时也可以生成 Android.bp 编译文件。 1.1 生成的文件 HIDL 软件包中自动生成的文件会关联到与该软件…...

CGAL 数值类型

文章目录 一、简介二、内置数值类型三、CGAL提供的数值类型四、GMP提供的数值类型五、LEDA提供的数值类型六、CORE提供的数值类型七、区间运算参考资料一、简介 数字类型必须满足一定的语法和语义要求,这样它们才能在CGAL代码中成功使用。一般来说,它们被认为是一个代数结构概…...

建站系列(六)--- 后端开发语言

目录 相关系列文章前言一、常见后端开发语言二、PHP三、Java四、Python五、Go 相关系列文章 建站系列&#xff08;一&#xff09;— 网站基本常识 建站系列&#xff08;二&#xff09;— 域名、IP地址、URL、端口详解 建站系列&#xff08;三&#xff09;— 网络协议 建站系列…...

王道数据结构编程题 查找

二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };递归二分查找 题目描述 写出二分查找的递归算法。初…...

vue 部分知识点总结

计算属性和方法有什么区别&#xff0c;怎么选择&#xff1f; 在编程中&#xff0c;计算属性和方法都是用于处理数据的工具&#xff0c;但它们有一些区别。以下是它们的区别和如何选择的几个因素&#xff1a; 执行方式&#xff1a;计算属性是基于依赖的响应式系统&#xff0c;在…...

谷粒商城----ES篇

一、product-es准备 P128 ES在内存中&#xff0c;所以在检索中优于mysql。ES也支持集群&#xff0c;数据分片存储。 需求&#xff1a; 上架的商品才可以在网站展示。上架的商品需要可以被检索。 分析sku在es中如何存储 商品mapping 分析&#xff1a;商品上架在es中是存s…...

Redis3.2.1如何设置远程连接?允许局域网访问

背景&#xff1a; 电脑A的redis需要开放给电脑B使用&#xff0c;二者处于同一局域网 【后面会补充更详细的踩坑历程&#xff0c;先发出来作为记录】 过程&#xff1a; 在你查了很多方法后&#xff0c;如果还是没有解决&#xff0c; 尝试考虑一下你的redis配置文件是不是修…...

网络原理(二)TCP的可靠传输

网络原理&#xff08;一&#xff09;目录 网络原理应用层传输层先说UDP&#xff08;不可靠传输&#xff09;重点说明&#xff34;&#xff23;&#xff30;&#xff08;可靠传输&#xff09;一、确认应答二、超时重传三、链接管理建立连接断开链接 四、滑动窗口五、流量控制&am…...

Chat GPT 使用教学,文字创作、学习

目录 文章长篇文章学习任何东西文章 大纲、目录、标题、内容 写出10个即将被AI取代的工作的文章标题 当然,以下是一些可能会被AI取代的工作的文章标题:"未来十年,AI将如何改变传统制造业的就业格局?" "智能客服崛起:人工智能如何重塑客户服务行业?"…...

Android之 Canvas绘制

一 Canvas介绍 1.1 Canvas 是绘制图形的重要类之一&#xff0c;它可以在 View 或 SurfaceView 上绘制各种图形和文本. 1.2 要创建 Canvas&#xff0c;首先需要有一个 View 或 SurfaceView 对象&#xff0c;在 View 或 SurfaceView 的绘制方法中&#xff0c;可以通过 Canvas 的…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...