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

Linux 文件系统

Linux 中,所有的文件都是从根目录开始的,且所有的设备都是文件。例如,一块硬盘是一个文件,这块硬盘上的分区也是一个文件,声卡也是一个文件。 这种表示设备的文件叫做设备文件。设备文件一般来说是保存在/dev这个目录中。 一块硬盘是一个设备文件,一般是/dev/sda (第一块) ; 而硬盘上的每一个分区也是设备文件,比如第一 个分区叫做/dev/sda1 ,第二个叫做 /dev/sda2。 假设你可以直接读写硬盘的设备文件,但是,你得到的是硬盘的原始数据,类似于 0 1 这样的二进制。因此,你可以直接像修改文件一样修改硬盘的分区表等结构,而每一个分区也是一个设备文件,同样,你得到的也是原始数据。但是,没有人通过手工修改原始数据,来复制文件、删除文件。为了让你操作设备里面的数据,就需要进行挂载。例如,你可以将/dev/sda1挂载到/boot上,驱动程序就会将原始数据转换成能操作的结构,此时,对/boot 的修改等价于修改 /dev/sda1 ,只不过你可以进行复制、删除等操作。
挂载 指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此 目录就等同于访问设备文件 说明: 并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目 录。

Linux文件系统操作命令

1显示文件命令


cat命令
格式:cat [选项] …[文件]…
说明:把多个文件连接后输出到屏幕显示,若加“>文件名”则输出到另一个文件中。
常用选项:
-b:从1开始对所有非空输出行进行编号
-n:从1开始对所有输出行编号
-s: 将连续两行以上的空白行合并成一行空白行
more命令
格式 :more [选项] [文件名]
说明:该命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按如下键继续:
(1)Space键:默认显示文本的下一屏内容
(2)Enter键:默认显示文本的下一行内容
(3)d键或CTRL+D:向下显示文本半屏,默认为11行
(4)b键或CTRL+B:默认显示文本的上一屏内容
(5)q键:退出more命令
常用选项:
-num:指定一个整数,表示一屏显示多少行
-d:在每屏底部显示提示信息,包括当前显示的百分比,按键提示等
-c或-p:不滚屏,在显示下一屏之前先清屏
+num:从行号num开始显示
+/pattern:定义一字符串,在文件中查找该字符串,从该字符串后显示(如要在a.txt中查找字
符串“abc”并从该字符串处显示,则命令为:more +/abc a.txt)
less命令
格式:less[选项] [文件]
说明:与more命令相似,分屏显示文件内容,less命令允许用户向前或向后浏览文件,按q键退
出。
常用选项:
-i:搜索时忽略大小写,除非搜索串中包含大写字母
-I:搜索时忽略大小写
-m:显示读取文件的百分比
-M:显示读取文件的百分比、行号及总行数
-N:在每行前输出行号
-p pattern:定义一字符串,在文件中查找该字符串,从该字符串后开始显示(如要在a.txt中
查找字符串“abc”并从该字符串处显示,则命令为:less -p abc a.txt)
head命令
格式:head [选项] …[文件]…
说明:用于查看一个文本文件的开头部分,行数由参数值决定,默认是10
常用选项:
-n:显示文件前面n行,不指定此参数显示前10行(如显示a.txt前面5行内容,命令为:head -5
a.txt)
tail命令
格式:tail [选项] …[文件]…
说明:用于查看文本文件末尾若干行,行数由参数值决定,默认为10。
常用选项:
-n:显示文件最后面的n行,不指定此参数显示10行(如显示a.txt后5行内容,命令为:tail -5
a.txt)

2. 搜索,去掉重复行命令


grep命令 (在文件中搜索内容)
格式:grep [选项] 查找模式 [文件]
常用选项:
-c:计算符合匹配字符串的行数
-E:将查找模式解释成扩展的正则表达式,相当于egrep
-F:将查找模式解释称单纯的字符串,相当于fgrep
-i:忽略字符大小写
-n:在显示包含匹配字符串的行之前,标示处该行的行号
-v:反转查找,显示不包含匹配字符串的文本行
-x:只显示全行都严格匹配的行
-R:递归的搜索源目录下所有文件及子目录
在grep命令中使用正则表达式可以是模式匹配加入一些规则,能够在抽取信息中加入更多选择============================================================================
常使用的一个命令是
grep 搜索内容 * -nR
uniq命令
格式:uniq [选项]… [输入文件[输出文件]]
说明:检查及删除文本文件中重复出现的行
常用选项:
-c:显示输出中,在每行行首加上本行在文件中出现的次数
-d:只显示文件中的各重复行
-u:只显示文件中不重复的各行

3. 比较文件内容命令

diff命令
格式:diff [选项]… 文件列表
说明:diff命令比较文本文件,并找出它们的不同
常用选项:
-b:忽略空格造成的不同
-B:忽略空行造成的不同
-i:忽略大小写的不同
-r:当比较的文件都是目录时,递归比较子目录中的文件

4. 复制,删除和移动文件命令

cp命令
格式:cp [选项] 源文件或目录 目标文件或目录
说明:cp命令完成文件的复制。如果源是普通文件,该命令把源文件复制成指定的目标文件或复制
到指定的目标目录中.
常用选项:
-a:等同于-dpR
-d:复制符号链接(即快捷方式文件)时,把目标文件或目录也建立为符号链接,并指向与源文件
或目录链接的原始文件或目录
-f:强行复制文件或目录
-i:覆盖目标文件前需要确认
-n:不覆盖已存在的目标文件
-p:复制源文件或目录内容的同时也复制文件属性
-R或-r:递归复制目录,将源目录下所有文件及子目录都复制到目标位置================================================================================
rm命令
格式:rm [选项] …文件或目录…
说明:rm命令可以删除文件或目录,删除目录必须要加“-r”选项
常用选项:
-f:强制删除文件或目录
-i:删除文件或目录前提示要用户确认
-r或-R:递归删除目录及其下属各级子目录和相应的文件=================================================================================
mv命令
格式:mv [选项] 源文件或目录 目标文件或目录
说明:mv命令可移动文件或目录;更改文件或目录的名称
常用选项:
-i:覆盖文件前需要确认
-f:若目标文件或目录已存在,直接覆盖
-n:不覆盖已存在的文件
-u: 移动或更改文件名时,若目标文件已存在,且文件日期比源文件新,则不覆盖目标文件

5. 字符串裁剪函数(一般与管道符联合使用)
cut -d "分割字符" -f 字段
参数:
-d 指定我们的分割字符
-f 指定我们显示的区域
示例代码:
tail -1 /etc/passwd | cut -d ":" -f 1,3,4
grep "linux" /etc/passwd | cut -d ":" -f 1,3
6. echo命令
echo命令是linux中最基础的命令,也是很常用的命令,特别是在写shell脚本的时候,会经常被用
到。
作用:输出内容
echo -n 表示不换行输出

7. 文件内容统计命令

wc命令
格式:wc [选项] …[文件]…
说明:wc命令统计给定文件中的字节数、字数、行数
常用选项:
-c或–bytes:统计字节数
-m或–chars:统计字符数
-l或–lines:统计行数
-w或–words:统计字数
8. 查找文件和目录命令
find 命令
格式:find [路径名…] [表达式]
说明:find命令用于查找符合条件的文件和目录,路径名是用空各隔开的要搜索文件的目录名清单,
表达式包含要寻找的文件的匹配规范或说明。表达式是从左向右求值的,只要表达式中的测试结果为
真,则进行下一个测试
常用表达式:
-name<范本样式>:指定字符串作为寻找文件或目录的名称
注意:可以在指定的路径下查找,例如:find /usr/include -name stdio.h 或 find . -
name stdio.h

9. 管道连接符 |

说明:管道就是将一个命令的输出当作另一个命令的输入,通过|连接多个命令。
cat /etc/passwd | grep -n 'linux'
ls /usr/include | grep "stdio.h"

10. 文件的压缩和备份

gzip命令
格式:gzip [选项] [文件…]
说明:gzip压缩会产生后缀为“.gz”的压缩文件,并删除原始文件
常用选项:
-c:压缩后文件输出到标准输出设备,不改变原始文件
-d:解开压缩文件
-f:强行压缩文件
-n:压缩文件时,不保存原来的文件名称及时间戳记
-N:压缩文件时,保存原来的文件名称及时间戳记
-r:递归处理,将指定目录下的所有文件及子目录一并处理
zip压缩命令
压缩文件
zip test.zip linked.h linked.c
解压文件
unzip test.zip
tar(tape archive)命令
格式:tar [选项…] [文件或目录]…
说明:tar是用来建立、还原文件的工具程序,它可以加入、解开备份文件内的文件
常用选项:
-A:新增tar文件到已存在的备份文件
-c:建立新的备份文件
-f<备份文件>:列出备份文件的内容
-v:显示指令执行过程
-x:从备份文件中还原文件
-z:gzip操作 .gz
-j:bzip2操作 .bz2
–delete:从备份文件中删除指定的文件
 压缩文件 tar -cvf 压缩文件名 文件列表解压文件 tar -xvf 文件名(-xzvf,-xjvf)解压到指定目录tar -xzvf 123.tar.gz -C

11.目录操作命令

cd 命令
格式: cd [ 目的目录 ]
说明:切换目录至目的目录,前提是用户必须拥有进入目的目录的权限。其中目的目录可为绝对路
径或相对路径,若目录名称省略,则切换至使用者的主目录或 cd ~
pwd 命令
格式: pwd
说明: pwd 命令不带任何选项或参数, Linux 系统用 pwd 命令来查看 当前所在目录 的完整路径
ls 命令
格式: ls [ 选项 ]… [ 文件或目录 ]…
说明: ls 命令可列出目录的内容,包括文件和子目录的名称
常用选项:
-a :列出目录下的所有文件和目录,包括以 “.” 开头的隐藏文件
-A :列出除了 “.” (当前目录)及 “…” (当前目录的上级目录外的任何文件和目录)
-b :把文件名中不可输出的字符用反斜杠加字符编号的形式列出
-c :输出文件的最后更改时间,并根据这个时间排序
-C :分成多列显示文件和目录
-F :加上文件类型的指示符号,其中 “*” (星号)表示可执行的普通文件; “/” 表示目录; “@” 表示
符号链接; “| 表示管道文件 “=” 表示套接字
-d :将目录像文件一样显示,而不是显示其下的文件
-l :列出文件详细信息,输出信息分成 7 个字段列表,具体含义如下所示:

相关文章:

Linux 文件系统

在 Linux 中&#xff0c;所有的文件都是从根目录开始的&#xff0c;且所有的设备都是文件。例如&#xff0c;一块硬盘是一个文件&#xff0c;这块硬盘上的分区也是一个文件&#xff0c;声卡也是一个文件。 这种表示设备的文件叫做设备文件。设备文件一般来说是保存在/dev这个目…...

47、PHP实现机器人的运动范围

题目&#xff1a; PHP 实现机器人的运动范围 描述&#xff1a; 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格&#xff0c;但是不能进入行坐标和列坐标的数位之和大于k…...

Linux第四节课(指令与权限)

1、date指令(时间) 程序运行到自己的每一个关键时刻&#xff0c;都要自己打日志&#xff01; 日志包括时间、日志等级、日志具体信息、其他信息等&#xff0c;然后按照行为单位写入文件中&#xff0c;这个文件被称为日志文件&#xff01; 在日志文件中筛选信息时&#xff0c…...

扫雷-C语言

一、前言&#xff1a; 众所周知&#xff0c;扫雷是一款大众类的益智小游戏&#xff0c;它的游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子&#xff0c;同时避免踩雷&#xff0c;踩到一个雷即全盘皆输。 今天&#xff0c;我们的目的就是通过C语言来实现一个简…...

RockyLinux 9 PXE Server bios+uefi 自动化部署 RockLinux 8 9

pxe server 前言 PXE&#xff08;Preboot eXecution Environment&#xff0c;预启动执行环境&#xff09;是一种网络启动协议&#xff0c;允许计算机通过网络启动而不是使用本地硬盘。PXE服务器是实现这一功能的服务器&#xff0c;它提供了启动镜像和引导加载程序&#xff0c;…...

接口测试基础

一、认识接口测试 接口测试 接口&#xff1a;系统之间数据交互的通道。 硬件接口 软件接口 接口测试&#xff1a;基于不同的输入参数&#xff0c;校验接口响应数据与预期数据是否一致。 为什么要学接口测试? 提前介入测试、尽早发现问题 中级测试工程师必备技能 接口测试学…...

为什么 from . import * 不会导入子模块

为什么 from . import * 不会导入子模块 在 Python 中&#xff0c;from . import * 并不会自动导入子模块。这是因为 import * 的行为是由模块的 __all__ 变量决定的。如果没有定义 __all__&#xff0c;它只会导入当前模块中定义的顶层变量和函数&#xff0c;而不会递归地导入…...

LangGPT结构化提示词编写实践

langGPT提示词 # Role: 浮点数比较助手 ## Profile - author: LangGPT - version: 1.0 - language: 中文 - description: 一个专门帮助用户进行浮点数比较的助手&#xff0c;确保LLM能够准确识别和对比浮点数。## Skills 1. 理解浮点数的结构和数值意义。 2. 精…...

React: class 和 style

一、class 1、在react中使用className属性来绑定类名 <div className"header flex-middle-middle">添加2个类名 </div>2、动态添加类名 <div className{item ${nameactive ? active : }}>动态添加active类名 </div>二、style 1、react中…...

【数据结构】包装类、初识泛型

&#x1f387;&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳&#xff0c;欢迎大佬指点&#xff01; 人生格言: 当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友…...

TCP客户端connect断线重连

文章目录 TCP客户端connect断线重连1、为什么要断线重连2、实现代码 TCP客户端connect断线重连 1、为什么要断线重连 客户端会面临服务器崩溃的情况&#xff0c;我们可以试着写一个客户端重连的代码&#xff0c;模拟并理解一些客户端行为&#xff0c;比如游戏客户端等. 考虑到…...

细说MCU用DMA改变DAC输出信号频率和改善输出波形质量的方法

目录 一、参考硬件 二、修改定时器参数改变输出波形频率 三、改善波形质量 四、代码修改 五、查看结果 一、参考硬件 本项目的软件硬件工程参考作者的其他文章&#xff1a;细说MCU用DMA实现DAC输出的方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/14065…...

Java高级面试题

文章目录 Java高级特性Java 8 中的新特性有哪些&#xff1f;Lambda 表达式的用途是什么&#xff1f;Stream API 的工作原理是什么&#xff1f;Optional 类的作用是什么&#xff1f;什么是函数式接口&#xff1f;Java 9 之后的新特性有哪些&#xff1f; 并发编程Java中的线程池是…...

USART串口理论知识总结

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 USART串口理论知识总结 1、通讯的串行和并行1.串口采用发送数据代码并用printf重代码 1、通讯的串行和并行 1.串口采用发送数据代码并用printf重代码 #include <stdint.h…...

基于 HTML+ECharts 实现智慧景区数据可视化大屏(含源码)

构建智慧景区数据可视化大屏&#xff1a;基于 HTML 和 ECharts 的实现 随着旅游业的蓬勃发展&#xff0c;智慧景区的概念逐渐深入人心。通过数据可视化&#xff0c;景区管理者可以实时监控游客流量、设施使用情况以及环境状况&#xff0c;从而提升游客体验和管理效率。本文将详…...

vxe-table——实现切换页码时排序状态的回显问题(ant-design+elementUi中table排序不同时回显的bug)——js技能提升

之前写的后台管理系统&#xff0c;都是用的antdelement&#xff0c;table组件中的【排序】问题是有一定的缺陷的。 想要实现的效果&#xff1a; antv——table组件一次只支持一个参数的排序 如下图&#xff1a; 就算是可以自行将排序字段拼接到列表接口的入参中&#xff0c…...

SQL

SQL全称 Structured Query Language&#xff0c;结构化查询语言。操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库统一标准 。 SQL通用语法 SQL语句可以单行或多行书写&#xff0c;以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的…...

maven archetype

1.简介 maven脚手架是为了创建一个项目模板&#xff0c;以后新建项目都能够复用该模板 maven中模板引擎使用的是velocity,在文件中可以使用它的语法获取变量等操作 2.实现 单模块脚手架实现 pom.xml <?xml version"1.0" encoding"UTF-8"?> &…...

浏览器打开抽奖系统html

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>在线抽奖 随机选取 自动挑选</title> <script src"https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <style> body {…...

微信小程序-使用Component方法代替Page方法构造页面

一.使用Component方法的前提条件 在小程序js文件里使用Component方法代替Page方法需要在json文件里面定义usingComponents属性 {"usingComponents": {} }二.注意事项 1.在page页面里使用的钩子函数和事件监听方法都需要写在methods对象里面 methods:{update(){thi…...

Spark SQL----DISTRIBUTE BY子句

Spark SQL----DISTRIBUTE BY子句 一、描述二、语法三、参数四、例子 一、描述 DISTRIBUTE BY子句用于根据输入表达式对数据进行重新分区。与CLUSTER BY子句不同&#xff0c;这不会对每个分区内的数据进行排序。 二、语法 DISTRIBUTE BY { expression [ , ... ] }三、参数 e…...

HTML5-canvas1

1、canvas&#xff1a;创建画布 <canvas id"canvas"></canvas>2、画一条直线 var canvasdocument.getElementById(cancas&#xff09;; canvas.width800; canvas.height800; var contextcanvas.getContext(2d); //获得2d绘图上下文环境 //画一条直线 c…...

【NOI-题解】1009 - 数组逆序1162 - 数组元素的删除1211 - 数组元素的插入1161. 元素插入有序数组1159. 数组元素的移动

文章目录 一、前言二、问题问题&#xff1a;1009 - 数组逆序问题&#xff1a;1162 - 数组元素的删除问题&#xff1a;1211 - 数组元素的插入问题&#xff1a;1161. 元素插入有序数组问题&#xff1a;1159. 数组元素的移动 三、感谢 一、前言 本章节主要对数组问题中数组元素移…...

新电脑如何设置 npm 源及查看源、安装 cnpm、pnpm 和 yarn 的详细教程

当你获得一台新电脑&#xff0c;或需要在现有电脑上优化 JavaScript 和 Node.js 的开发环境时&#xff0c;正确配置 npm 是一步不可少的过程。本教程将详细指导你如何设置 npm 源&#xff0c;查看当前源&#xff0c;以及如何安装 cnpm、pnpm 和 yarn。 1. 设置 npm 源 npm (N…...

完全移动huggingface模型仓库(不是简单mv)

Linux中移动huggingface模型仓库 参考链接 先在bashrc中配置&#xff1a; export HF_DATASETS_CACHE"/your/path/dataset" export HF_HOME"/your/path/" export HUGGINGFACE_HUB_CACHE"/your/path/hub" export TRANSFORMERS_CACHE"/your…...

手机空号过滤批量查询的意义及方法

手机空号过滤批量查询是现代营销和通信管理中常用的技术手段&#xff0c;旨在通过批量处理手机号码&#xff0c;筛选出活跃号码和空号等无效号码&#xff0c;以提高营销效率和减少不必要的通信成本。以下是关于手机空号过滤批量查询的详细解答&#xff1a; 一、手机空号过滤批…...

Dockerfile制作部署wordpress-6.6

目录 一. 环境准备 二. 准备对应的配置文件 三. 编写Dockerfile 四. 构建镜像 五. 配置MySQL 六. 安装wordpress 七. 扩展 一. 环境准备 localhost192.168.226.25 rocky_linux9.4 Docker version 27.0.3 关闭防火墙和selinux&#xff0c;进行时间同步。 安装docker…...

项目的纪要

ai客服项目中发现的问题: 可以在控制台看到我们存储的cookie: 可以看到是这样的, 但是我们通过getCookie方法专门获取这个字段, 然后在控制台打印后 const userName getCookie(SA_USER_NICK_NAME); console.log(userName, userName); 输出结果是: 然后我们尝试通过de…...

ubuntu 更新源

前言 实现一键替换在线源 一键更新源 ubuntu 全球镜像站以下支持现有ubuntu 20&#xff0c;22&#xff0c;24 echo "Delete the default source" rm -rf /etc/apt/sources.listecho "Build a new source" cat <<EOF>>/etc/apt/sources.li…...

XGBoost、RF随机森林算法MATLAB实现

% 加载并预处理训练数据 opts1 = detectImportOptions(附件一AE.xlsx, PreserveVariableNames, true); train_data = readtable(附件一AE.xlsx, opts1); train_data.Time = datetime(train_data.time, InputFormat, yyyy-MM-dd HH:mm:ss); % 特征提取和标签准备 windowSize…...