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来查看文件类型 可以根据显示,查看第一个字符,就表示文件类型。 - 字符:普通文件,类似于Windows的记事本。 d 字符:目录文件,类似于Wind…...
一、认识GitHub项目 —— TinyWebServer
认识GitHub项目 —— TinyWebServer 一、前言 这个项目是Linux下C轻量级Web服务器。几乎是想从事C服务器开发方向的同学的必备初始项目了。属于那种,“烂大街”,但是你又不能不会的项目。 对这个项目笔者打算多分几章讲解,帮助刚用GitHub&a…...
66.C++多态与虚函数
目录 1.什么是多态 2.多态的分类 3.对象转型 3.1 向上转型: 3.2 向下转型: 4.虚函数 1.什么是多态 生活中的多态,是指的客观的事物在人脑中的主观体现。例如,在路上看到⼀只哈士奇,你可以看做是哈士奇…...
【ICer的脚本练习】通过perl脚本来检查仿真log的结果
系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这是一个非常简单的perl脚本示例,展示一下perl语言“极简”的编码习惯。perl是我脚本入门的语言,一度也是最擅长的,但是因为python的强势现在我基本不写perl了。上一个大的perl脚本…...
创邻科技图数据库课程走进一流高校
《图数据库原理和实践》 正式开课! 最近,浙江大学计算机学院新开了一门名为 《图数据库原理和实践》 的新课程,该课程由创邻科技和浙江大学联合推出,吸引了许多学生踊跃参与! 曾为浙大学子的创邻科技CTO周研博士作为…...
RabbtiMQ的安装与在Springboot中的使用!!!
一、安装Erlang与Rabbitmq 安装教程本教程是在centos8下试验的,其实linux系统的都差不多RabbitMQ官方:Messaging that just works — RabbitMQRabbitMQ是开源AMQP实现,服务器端用Erlang语言编写,Python、Ruby、 NET、Java、JMS、c…...
【可定制、转换时间戳】解析nc文件,并保存为csv文件
解析nc文件,并保存为csv文件 写在最前面解析nc文件(代码汇总放最后面)读取nc文件获取气象文件中所有变量解析时间解析部分代码汇总 写入csv文件 写在最前面 愿称之为:支持私人订制、非常完美的版本 参考: 解析部分参…...
介绍串行和并行两种通信方式
前言 参考文章: 串行和并行- CSDN搜索 并行传输和串行传输的区别_金陵大掌柜的博客-CSDN博客 串行和并行介绍 (1)串行和并行是计算机领域中两个重要的概念。串行是指在计算机中,任务按照顺序一个一个执行,每个任务执行…...
优化爬虫效率:利用HTTP代理进行并发请求
网络爬虫作为一种自动化数据采集工具,广泛应用于数据挖掘、信息监测等领域。然而,随着互联网的发展和网站的增多,单个爬虫往往无法满足大规模数据采集的需求。为了提高爬虫的效率和性能,我们需要寻找优化方法。本文将介绍一种利用…...
关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径
问题 关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径 解决方法: shell 脚本命令:(配置自定义缓存路径 java-Djava.io.tmpdir ) 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 相关系列文章 建站系列(一)— 网站基本常识 建站系列(二)— 域名、IP地址、URL、端口详解 建站系列(三)— 网络协议 建站系列…...
王道数据结构编程题 查找
二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };递归二分查找 题目描述 写出二分查找的递归算法。初…...
vue 部分知识点总结
计算属性和方法有什么区别,怎么选择? 在编程中,计算属性和方法都是用于处理数据的工具,但它们有一些区别。以下是它们的区别和如何选择的几个因素: 执行方式:计算属性是基于依赖的响应式系统,在…...
谷粒商城----ES篇
一、product-es准备 P128 ES在内存中,所以在检索中优于mysql。ES也支持集群,数据分片存储。 需求: 上架的商品才可以在网站展示。上架的商品需要可以被检索。 分析sku在es中如何存储 商品mapping 分析:商品上架在es中是存s…...
Redis3.2.1如何设置远程连接?允许局域网访问
背景: 电脑A的redis需要开放给电脑B使用,二者处于同一局域网 【后面会补充更详细的踩坑历程,先发出来作为记录】 过程: 在你查了很多方法后,如果还是没有解决, 尝试考虑一下你的redis配置文件是不是修…...
网络原理(二)TCP的可靠传输
网络原理(一)目录 网络原理应用层传输层先说UDP(不可靠传输)重点说明TCP(可靠传输)一、确认应答二、超时重传三、链接管理建立连接断开链接 四、滑动窗口五、流量控制&am…...
Chat GPT 使用教学,文字创作、学习
目录 文章长篇文章学习任何东西文章 大纲、目录、标题、内容 写出10个即将被AI取代的工作的文章标题 当然,以下是一些可能会被AI取代的工作的文章标题:"未来十年,AI将如何改变传统制造业的就业格局?" "智能客服崛起:人工智能如何重塑客户服务行业?"…...
Android之 Canvas绘制
一 Canvas介绍 1.1 Canvas 是绘制图形的重要类之一,它可以在 View 或 SurfaceView 上绘制各种图形和文本. 1.2 要创建 Canvas,首先需要有一个 View 或 SurfaceView 对象,在 View 或 SurfaceView 的绘制方法中,可以通过 Canvas 的…...
新手友好:在快马平台用mc、jc相关案例轻松上手前端开发
作为一个刚接触前端开发的新手,我最近在InsCode(快马)平台尝试做了一个特别适合练手的小工具——代码行数统计器。这个项目用最基础的HTML、CSS和JavaScript实现,但包含了前端开发的几个核心概念,特别适合想通过实际案例学习的朋友。 项目功能…...
OpenClaw环境隔离方案:ollama-QwQ-32B镜像与本地Python虚拟环境整合
OpenClaw环境隔离方案:ollama-QwQ-32B镜像与本地Python虚拟环境整合 1. 为什么需要环境隔离 上周我在尝试将OpenClaw接入本地部署的ollama-QwQ-32B模型时,遇到了一个棘手的问题:我的开发环境突然崩溃了。事后排查发现,是OpenCla…...
深入解析:高级 Android 开发工程师职位与面试全攻略
引言:移动互联网时代的核心力量 在当今移动互联网蓬勃发展的时代,智能手机已成为人们日常生活中不可或缺的一部分。作为连接用户与数字服务的桥梁,移动应用扮演着至关重要的角色。而在移动应用的生态中,Android 系统凭借其开放性和庞大的用户基础,占据了全球移动操作系统…...
给嵌入式新手的保姆级指南:JTAG、SWD、J-Link、ST-Link到底怎么选?
嵌入式开发调试工具全指南:从JTAG到SWD的实战选择策略 第一次拿到STM32开发板时,看着板子上那排密密麻麻的调试接口针脚,我盯着J-Link和ST-Link这两个名词发了半小时呆——它们到底有什么区别?为什么有的教程用JTAG接线࿰…...
Gradio项目快速公网演示:除了share=True,你还有这几种轻量级内网穿透方案
Gradio项目快速公网演示:5种轻量级内网穿透方案横向评测 当你开发了一个酷炫的机器学习模型演示,或是精心设计的数据可视化界面,最迫切的需求往往是如何快速分享给同事或客户。Gradio的shareTrue参数可能是大多数开发者首先想到的方案&#x…...
避开这5个坑!用HipSTR分析NGS数据时最容易出错的STR检测问题
避开这5个坑!用HipSTR分析NGS数据时最容易出错的STR检测问题 STR检测在二代测序数据分析中扮演着关键角色,但实际操作中常会遇到各种"坑"。本文将结合实战经验,剖析使用HipSTR进行STR检测时最容易出错的五个关键环节,帮…...
别再乱选了!Ansys EDA桌面版导入IBIS模型,Pin Import和Buffer Import到底怎么用?
Ansys EDA桌面版IBIS模型导入指南:Pin Import与Buffer Import深度解析 在信号完整性(SI)和电源完整性(PI)仿真领域,IBIS模型的使用一直是工程师们关注的焦点。作为行业标准的Ansys EDA工具链(原E-desktop)提供了强大的SIPI仿真能…...
终极免费EVE舰船配置神器:Pyfa完整实战指南
终极免费EVE舰船配置神器:Pyfa完整实战指南 【免费下载链接】Pyfa Python fitting assistant, cross-platform fitting tool for EVE Online 项目地址: https://gitcode.com/gh_mirrors/py/Pyfa 在EVE Online这个充满挑战的宇宙中,打造一艘完美的…...
流程可视化引擎定制指南:从技术实现到业务价值转化
流程可视化引擎定制指南:从技术实现到业务价值转化 【免费下载链接】Drawflow Simple flow library 🖥️🖱️ 项目地址: https://gitcode.com/gh_mirrors/dr/Drawflow 在数字化转型过程中,企业面临着业务流程可视化与实际业…...
快马平台快速原型:十分钟用AI生成你的第一个龙虾养殖系统Docker部署方案
最近在研究如何用Docker快速搭建一个龙虾养殖模拟系统,发现用InsCode(快马)平台可以大大简化这个过程。作为一个快速原型验证工具,它让我在十分钟内就完成了从构思到部署的全流程。下面分享下我的实践心得: 项目构思阶段 这个模拟系统需要展示…...
