当前位置: 首页 > 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 的…...

Vue + Element UI 前端篇(十五):嵌套外部网页

Vue Element UI 实现权限管理系统 前端篇&#xff08;十五&#xff09;&#xff1a;嵌套外部网页 嵌套外部网页 在有些时候&#xff0c;我们需要在我们的内容栏主区域显示外部网页。如查看服务端提供的SQL监控页面&#xff0c;接口文档页面等。 这个时候就要求我们的导航菜…...

Jabbi的Rust学习日记(二)

特征&#xff1a; 就目前我学习到的rust知识来看&#xff0c;我认为rust有以下几个特征&#xff1a; 链式调用表达式强类型 use 使用use导入包&#xff0c;我觉得rust的导包和python的很像 main main函数是rust可执行程序最先执行的代码&#xff0c;可以说是程序的入口&…...

【杂】环形时钟配色笔记

配色网站笔记 coolorsflatuicolorscolordrophttps://www.webdesignrankings.com/resources/lolcolors/ 配色2...

会话跟踪技术学习笔记(Cookie+Session)+ HTTP学习笔记

一、核心知识点&#xff08;重点&#xff09;&#xff1a; 1.1 Cookie 1. Cookie&#xff1a;是一种客户端会话技术&#xff0c;数据会被保存在客户端&#xff0c;Cookie会携带数据访问服务器&#xff0c;用以完成一次会话内多次请求间的数据共享 2. 过程&#xff1a;浏览器…...

分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网络)分类预测

分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网络)分类预测 目录 分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网络)分类预测预测效果基本介绍程序设计参考资料致谢 预测效果 基本介绍 分类预测 | MATLAB实现PCA-BiLSTM(主成分双向长短期记忆神经网…...

Yarn 和 npm 的区别

Yarn 和 npm 都是 JavaScript 的包管理工具&#xff0c;它们的主要区别在于以下几个方面&#xff1a; 性能&#xff1a;Yarn 的安装速度和包的下载速度通常比 npm 更快&#xff0c;这是因为 Yarn 使用本地缓存和并行下载等技术来提高性能。 可靠性&#xff1a;Yarn 具有更好的…...

第20章 原子操作实验(iTOP-RK3568开发板驱动开发指南 )

在上一章节的实验中&#xff0c;对并发与竞争进行了实验&#xff0c;两个app应用程序之间对共享资源的竞争访问引起了数据传输错误&#xff0c;而在Linux内核中&#xff0c;提供了四种处理并发与竞争的常见方法&#xff0c;分别是原子操作、自旋锁、信号量、互斥体&#xff0c;…...

Android 开机自启动

APP需要开机自启动&#xff0c;要通过开机广播实现。 1&#xff0c;在AndroidManifest.xml中增加权限 <!-- .接收启动完成的广播权限 --><uses-permission android:name"android.permission.RECEIVE_BOOT_COMPLETED" /> 2&#xff0c;在AndroidManifes…...

01_前端css编写的三种方式

前言 CSS的引入方式共有三种&#xff1a;行内样式、内部样式表、外部样式表 一、内联式引入 用法&#xff1a; 在元素上直接通过style属性进行设置css样式设置 示例&#xff1a; <h1 style"color:red;">style属性的应用</h1> <p style"font-si…...

07-垃圾收集算法详解

上一篇&#xff1a;06-JVM对象内存回收机制深度剖析 1.分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法&#xff0c;这种算法没有什么新的思想&#xff0c;只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代&#xff0c;这样我们就可以根据各…...

tp5做企业网站/磁力王

style.display ""&#xff1b;是清除display样式&#xff0c;display将使用默认值&#xff08;块元素会变成block&#xff0c;内联元素会变成inline&#xff09;style.display"none"&#xff1b; 中“none”是一个值&#xff0c;表示元素将隐藏转载于:htt…...

国外b站免费版/十大免费excel网站

用到了 dumpbin /exports dll路径 extern "C"指令中的C&#xff0c;表示的一种编译和连接规约&#xff0c;而不是一种语言。C表示符合C语言的编译和连接规约的任何语言&#xff0c;如Fortran、assembler等 extern关键字&#xff0c;extern是C/C语言中表明函数和全局…...

拼多多网站怎么做/企业网站建设推广

AOP是OOP的延续&#xff0c;是Aspect Oriented Programming的缩写&#xff0c;意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续&#xff0c;设计模式孜孜不倦追求的是调用者和…...

企业营销型网站做的好/seo查询外链

重写 什么是重写&#xff1f; 重写就是在子类中对于父类可以继承的方法的重新编写。 重写时父类的返回值与形参不可以改变&#xff01; 举个例子&#xff1a; public static void main(String[] args) {Child anew Child();a.which();//执行Child的方法Mother b new Mother(…...

bootstrap 手机网站/百家号优化

我应该创建一个文件(完成,它称为“ factoriales.txt”)并在其中打印10的值&#xff01; (即3628800),问题是,我似乎无法将值写入文件中.我已经知道怎么写文本了,但是这行不通…请帮忙&#xff01;import java.io.File;import java.io.FileWriter;import java.io.IOException;pu…...

视频网站开发论文/网站搜索引擎优化的步骤

eclipse导入SVN项目报错preface取消代理设置遇到 eclipse marketplace 不能打开推荐一个 eclipse 暗黑主题参考链接preface 这个问题之前已经遇到 过一次&#xff0c; 竟然忘记了。 handshake failed 说明 网络层都没有联通&#xff0c; 这里就需要考虑网络连接问题了。 最近 公…...