LINUX 文件基本管理

news2024/10/8 23:28:38

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

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三种模式切换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/994020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

认识异常【超详细】

文章目录 1. 异常的概念与体系结构1.1 异常的概念1.2 异常的体系结构1.3 异常的分类1. 编译时异常2. 运行时异常 2. 异常的处理2.1 防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1 异常声明throws2.3.2 try-catch捕获并处理2.3.3 finally 2.4 异常的处理流程 3. 自定义异常类 1.…

常见缺少msvcp140.dll问题及解决方法,分享多种方法帮你解决

在日常使用电脑的过程中&#xff0c;我们可能会遇到各种问题&#xff0c;比如电脑提示msvcp140.dll文件丢失。这个问题通常是由于某些程序或游戏需要这个dll文件来正常运行&#xff0c;但是由于某种原因&#xff0c;这个文件被误删或者损坏了。那么&#xff0c;如何解决这个问题…

FFmpeg入门之简单介绍

FFmpeg是什么意思: Fast Forward Moving Picture Experts Group ffmpeg相关文档: Documentation FFmpeg ffmpeg源码下载: https://git.videolan.org/git/ffmpeg.git https://github.com/FFmpeg/FFmpeg.git FFmpeg能做什么? 多种媒体格式的封装与解封装 : 1.多种音…

五)Stable Diffussion使用教程:文生图之高清修复

上一篇我们说到图生图,这一篇来说说高清修复。 上一篇我们通过一个例子实现了图生图的功能,使用一张图片生成了另一种风格的图片。 然而,我们生成的图片质量不尽如人意。 虽然我们之前也提到设置分辨率、精炼提示词去提升画面质量等等,但是实际用下来发现,分辨率拉得太…

UMA 2 - Unity Multipurpose Avatar☀️六.Advanced Occlusion高级遮挡功能解决皮肤服饰穿模

文章目录 🟥 本节功能效果展示🟧 基础项目配置🟨 本节项目配置🟩 配置MeshHideAsset1️⃣ 创建MeshHideAsset2️⃣ 配置SlotDataAsset3️⃣ 配置遮挡信息🟦 将 MeshHideAsset 配置到 Recipe🟥 本节功能效果展示 未遮挡前的穿模问题: 遮挡后效果:

【以太网通信】MDIO 管理接口及控制器设计

MDIO 管理接口是以太网 MAC 和 PHY 之间的接口&#xff0c;用于管理/配置以太网 PHY 芯片。本文主要介绍 MDIO 管理接口定义&#xff0c;以及 MDIO 控制器设计。 目录 1 MDIO 管理接口 2 MDIO 控制器设计 1 MDIO 管理接口 MDIO 管理接口是以太网 MAC 和 PHY 之间的接口&#…

VS2010 Windows API 串口编程 (二)

目录 一串口通信基础 1.1串口通信原理与特点 1.2串口通信的传输方式 1.3串口通信的同步技术 1.4串行接口标准 二 API函数实现串口通信 2.1打开串口 2.1.1串口是否有驱动 2.1.2连接串口 2.1.3串口逻辑端口号大于10无法打开问题…

TCP原理(全网最详细)

一、确认应答&#xff08;可靠性机制&#xff09; TCP诞生的初衷就是可靠传输 可靠传输是TCP最核心的部分&#xff0c;TCP内部很多机制都是在保证可靠传输&#xff08;可以理解为发一条消息&#xff0c;上面显示已读未读&#xff0c;可靠传输就是发一条消息我知道对方是否收到…

【wordPress】WordPress删除index.php后缀【亲测有效】(手把手教学)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

BUUCTF test_your_nc

这是一题pwn入门题 使用linux中的file命令查看文件类型 file test64-bit告诉我们是64位程序 IDA64进行反编译 可以看到main函数中直接执行/bin/sh了 使用nc直接连接上面的地址 nc node4.buuoj.cn 28561然后就可以直接执行shell命令了 cat /flag

【Redis】深入探索 Redis 的数据类型 —— 哈希表 hash

文章目录 前言一、hash 类型相关命令1.1 HSET 和 HSETNX1.2 HGET 和 HMGET1.3 HKEYS、HVALS 和 HGETALL1.4 HEXISTS 和 HDEL1.5 HLEN1.6 HINCRBY 和 HINCRBYFLOAT1.7 哈希相关命令总结 二、hash 类型内部编码三、hash 类型的应用场景四、原生&#xff0c;序列化&#xff0c;哈希…

怎样去掉win11快捷方式的小箭头

前有创造注册表新值的方法,现在有了注册表加文件的方法 开始 先下载这个文件,里面有要用到的信息 下载 保存文件到电脑,并解压 有两个文件, 一个是 Remove_shortcut_arrow_icon.reg 一个是blank.ico 把第二个文件移动到 C:\Windows 文件夹, 然后点击打开文件, 如果提示是…

Windows11下Python安装GTK4

在Python下使用GTK无法直接使用pip安装PyGObject库 打卡MSYS终端&#xff0c;依次执行&#xff1a; pacman -Suy pacman -S mingw-w64-x86_64-gtk4 mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-pip mingw-w64-x86_64-python3-gobject mingw-w64-x86_64-libadwaita min…

Kotlin File writeText appendText appendBytes readBytes readText

Kotlin File writeText appendText appendBytes readBytes readText import java.io.Filefun main(args: Array<String>) {val filePath "./myfile.txt"val file File(filePath)file.writeText("hello,") //如果原有文件有内容&#xff0c;将完全覆…

八大排序——快速排序

Hello&#xff0c;大家好&#xff0c;今天分享的八大排序里的快速排序&#xff0c;所谓快速排序是一个叫霍尔的人发明&#xff0c;有很多人可能会觉得为什么不叫霍尔排序&#xff0c;其中原因就是因为它快&#xff0c;快速则体现了它的特点&#xff0c;今天我们就来讲一下快速排…

李宏毅-hw5-translation-有关transformer、seq2seq的探索

一、ppt研读&#xff1a; 1.关于这个 input Embedding 的内容: 2.关于Positional Encoding&#xff1a; 二、慢慢积累&#xff0c;一点点阅读代码&#xff1a; 虽然这次的模块挺多的&#xff0c;但是&#xff0c;这样也就意味着&#xff0c;把这个内化为自己的&#xff0c;就…

【面试经典150 | 数组】合并两个有序数组

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;合并排序方法二&#xff1a;双指针方法三&#xff1a;原地操作-从前往后方法四&#xff1a;原地操作-从后往前 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章…

Axure RP 9 for Mac/Windows图文安装教程

Axure RP 9是一款一款专业级快速产品原型设计工具&#xff0c;使用它可以让用户快速、高效创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。 Axure RP 9 for Mac采用了极简主义的设计&#xff0c;界面布局更加清爽简洁&#xff0c;操作也非常简单&#xff0c;并且…

系统架构设计专业技能 ·操作系统

现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 操作系统 一、操作系统概述二、进程管理2.1 进程概念2.2 进…

VSCode中配置命令行参数

VSCode中配置命令行参数 在跑程序调试的时候&#xff0c;可以直接使用脚本运行程序&#xff0c;这个时候调试代码只能用pdb ,我觉得不太习惯&#xff0c;而且感觉不是很好&#xff0c;所以想这能不能将运行程序的脚本中的命令直接配置到vscode上&#xff0c;就有了这篇记录。 …