服务器 Linux 的文件系统初探
好久没更新文章了,最近心血来潮,重新开始知识的累计,做出知识的沉淀~
万事万物皆文件
- 文件系统:操作系统如何管理文件,内部定义了一些规则或者定义
- 所以在 Linux 中所有的东西都是以文件的方式进行操作
- 在 Linux 中,文件的访问不和 Windows 的一样。Windows 依靠的是通过盘符进行访问
- Linux 维护着一个树状结构的文件模型:只有一个根节点 ,他的名字叫做 /;一个节点上可以有多个子节点
查找文件的方式相对路径:
相对路径
- 以当前路径为基准点,查找其他资源
- vi ../etc/sysconfig/network
绝对路径
- 以根目录为基准点,查找其他资
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
日常使用中,只要找到路径即可,但是如果是一些配置文件,尽量写绝对路径
Linux 二级文件目录
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同
的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这
些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光
驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,
比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复
杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终
端的devpts文件系统。该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上
有 /var/run 目录,应该让它指向 run。
Linux 的文件操作
Linux 命令在线查询:https://www.linuxcool.com/
cd 改变当前工作目录ls ll 查询命令,显示出指定目录下所有的文件mkdir 创建文件目录
mkdir -p a/b/c/d/e/f 会自动创建文件父目录
mkdir -p lucky/{1234}ls 一次可以创建多个子目录rmdir 删除空文件夹,可以安全的删除文件目录
rmdir: failed to remove ‘a1’: Directory not empty
rmdir: failed to remove ‘baidu’: Not a directorycp 拷贝文件或者文件目录
cp 源文件 目标目录
cp abcd /opt
cp /opt/abcd ./
cp -r lucky /opt 拷贝文件夹下所有的内容mv 移动文件或者文件夹,修改文件名称
mv a1 /opt
mv abc /opt
mv a abcdrm 删除文件,删除文件夹
rm install.log
rm -f install.log
rm -r abcd
rm -rf abcd 谨慎使用,从删库到跑路touch 如果没有就创建一个文件,如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间
stat 查看文件的状态,Inode 当前文件在文件系统的唯一标识,类似于IDln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种
软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接,方式同样适用于目录。
硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。
ln [选项] 源文件 目标文件
读取文件信息
cat 将整个文档加载到内存中,并进行一次性显示;除非后面使用管道,传递数据tac 将整个文档加载到内存中,并进行一次性按行逆序显示more less 分页查看文档内容head 从文章开始读取N行;默认如果超过10行读取10行,否则读取现在行数;head -5 profiletail 从文章末尾读取N行find 查找指定的文件;find 要查找的范围 -name 名字;find /etc -name profile
VI 和 VIM 编辑器
打开文件
正常打开 vi profile
打开文件,并将光标置于第8行 vi +8 profile
打开最后一行 vi + profile;按n查找下一个,按N查找上一个
打开指定搜索单词的位置 vi +/if profile
三种模式
使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、编辑模式和底行模式,这 3 种工作模式可随意切换, 如下图所示。
- 命令模式:每一个按键都有其具体的功能。
- 编辑模式:输入什么就是什么。
- 底行(命令行)模式:保存文件或对文件中的指定内容执行查找或替换等操作。
命令模式
使用 Vim 编辑器打开文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k(上)j(下) h(左)l(右)移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
G :跳转至文件末尾。
gg :跳转至文件第一行。
数字gg :跳转到指定行,例如: 2gg ,跳转到第 2 行。
^ :跳转至行首。
$ :跳转至行末。
w :跳到下个单词处。
数字w :跳转到指定个数的单词处。
yw :复制一个单词。
3yw :复制三个单词。
yy :复制一行。
3yy :复制三行。
p :粘贴复制内容。
6p :粘贴 6 次。
dw :删除一个单词。
3dw :删除三个单词。
dd :删除一行。
3dd :删除三行。
u :回退到上一步的操作。
Ctrl + r :回退 u 执行的操作。
. :重复上一步操作。
x :剪切当前光标处字符。
3x :剪切三个字符。
r :替换,然后输入一个字符替换,例如: r1 ,光标处字符会被替换为 1 。
3r :替换三个字符。
kjhl :方向键,分别对应上下左右。
ZZ :保存并退出。
ZQ :不保存退出。
Ctrl + s :锁屏。
Ctrl + q :解锁。
编辑模式
这个没什么好说的,就和正常文本输入一样,输入什么就是什么。
底行模式
:set nu :打开行号。
:set nonu :关闭行号。
/要查找的内容 :搜索指定的字符串。
n :查找下一个。
N :查找上一个。
s/要查找的内容/替换为的内容/修饰符 :替换字符串。
/i :忽略大小写。
/g :替换当前行所有,不加 /g 只替换当前行的第一个。
3,8s/abc/lucky/g :替换指定行,不加 /g 只替换指定行的第一个。
%s/要查找的内容/替换为的内容/g :替换全文,不加 % 表示只替换光标所在行。
:w :保存。
:q :退出。
:wq :保存并退出。
:q! :强制退出,不保存。
如果上次异常退出(比如文件正在编辑忽然断电或者直接把 Shell 窗口关闭了)会保留同名隐藏文件。
每次启动会给与提示。如果确定当前文件没问题,请删除隐藏文件。
o :只读模式打开文件。
e :读写模式打开文件。
r :通过 .swp 文件恢复文件内容。
d :删除 .swp 文件。
q :退出文件。
a :终止操作(也会退出文件)。
打开文件
vi 文件名 :正常打开。
vi +8 文件名 :打开文件并跳转至第 8 行。
vi + 文件名 :打开文件并跳转至最后一行。
vi +/要查找的内容 文件名 :打开文件并搜索指定的字符串。
n :查找下一个。
N :查找上一个。
计算机间的数据传输
Window--Linux
lrzsz 需要手动安装 yum install lrzsz -y
- rz 将文件从window上传到Linux
- sz 文件 将文件从Linux传输到Window
xftp 较为通用的文件传输方式
Linux--Linux
- scp 源数据地址(source) 目标数据地址(target)
- scp apache-tomcat-7.0.61.tar.gz root@192.168.1.1:/opt
- scp root@192.168.1.4:/opt/apache-tomcat-7.0.61.tar.gz ./
- scp -r apache-tomcat-7.0.61 root@192.168.1.4:/opt
文件大小
分区信息 df -h
指定文件目录大小 du -h --max-depth=1 apache-tomcat-7.0.61
swap 一个特殊分区,以硬盘代替内存;当内存使用满的时候,可以将一部分数据写出到swap分区
文件压缩
tar
- 主要针对的文件是 xxx.tar.gz
- 解压缩 tar -zx(解压)v(过程)f(文件) xxx.tar.gz
- 压缩 tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件);
zip和unzip
- 安装 yum install zip unzip -y
- 压缩 zip -r tomcat.zip apache-tomcat-7.0.61
- 解压缩 unzip tomcat.zip
无论生活以怎样的方式向你走来,你都必须接受它,尽可能地享受它。
相关文章:

服务器 Linux 的文件系统初探
好久没更新文章了,最近心血来潮,重新开始知识的累计,做出知识的沉淀~ 万事万物皆文件 文件系统:操作系统如何管理文件,内部定义了一些规则或者定义所以在 Linux 中所有的东西都是以文件的方式进行操作在 Linux 中&am…...

关于Unity转微信小程序的流程记录
1.准备工作 1.unity微信小程序转换工具,minigame插件,导入后工具栏出现“微信小游戏" 2.微信开发者工具稳定版 3.MP微信公众平台申请微信小游戏,获得游戏appid 4.unity转webgl开发平台,Player Setting->Other Setting…...

AI入门指南:什么是人工智能、机器学习、神经网络、深度学习?
文章目录 一、前言二、人工智能(AI)是什么?起源概念人工智能分类人工智能应用 三、机器学习是什么?概念机器学习常见算法机器学习分类机器学习与人工智能的关系 四、神经网络是什么?概念神经网络组成部分神经网络模型神经网络和机器学习的关系…...
网络安全中的IOC是指的什么?
网络安全中的IOC(Indicators of Compromise)指的是威胁指标,是网络安全领域中的一个重要概念。它指的是可以用来识别计算机系统、网络或应用程序中已经受到攻击或遭受威胁的特定特征。这些特征可以是恶意文件、恶意域名、已知攻击工具等&…...

掌握AJAX技术:从基础到实战
文章目录 **引言****1. 什么是AJAX?****2. AJAX的工作原理**AJAX 示例使用 Fetch API 实现 AJAX **3. 如何在项目中使用AJAX****4. 处理AJAX请求的常见问题****5. AJAX与JSON的结合****6. 使用AJAX框架和库****7. 实战:创建一个动态表单****8. AJAX中的事…...

Unity UGUI 实战学习笔记(6)
仅作学习,不做任何商业用途 不是源码,不是源码! 是我通过"照虎画猫"写的,可能有些小修改 不提供素材,所以应该不算是盗版资源,侵权删 因为注册和登录面板的逻辑与数据存储方面已经相对完善 服务器面板逻辑…...

iOS面试之属性关键字(二):常见面试题
Q:ARC下,不显式指定任何属性关键字时,默认的关键字都有哪些? 对应基本数据类型默认关键字是:atomic,readwrite,assign 对于普通的 Objective-C 对象:atomic,readwrite,strong Q:atomic 修饰的属性是怎么样保存线程安全的&#x…...
java开发设计模式详解
目录 一、概述 1. 创建型模式(5种) 2. 结构型模式(7种) 3. 行为型模式(11种) 二、代码示例说明 1.单例模式(Singleton) 2.工厂方法模式(Factory Method) 3.抽象工厂模式(Abstract Factory) 4.建造者模式(Builder) 5.原型模式 (Prototype) 6.适…...

windows中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换(保姆级教程,值得收藏)
前言 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为…...
测试面试宝典(四十四)—— APP测试和web测试有什么区别?
一、系统架构和运行环境 APP 测试需要考虑不同的操作系统(如 iOS、Android 等)、设备型号和屏幕尺寸,以及各种网络连接状态(如 2G、3G、4G、WiFi 等)。而 Web 测试主要针对不同的浏览器(如 Chrome、Firefo…...

力扣高频SQL 50题(基础版)第三十七题
文章目录 力扣高频SQL 50题(基础版)第三十七题176.第二高的薪水题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题(基础版)第三十七题 176.第二高的薪水 题目说明 Employee 表: ----------------- …...

web基础之CSS
web基础之CSS 文章目录 web基础之CSS一、CSS简介二、基本用法2、CSS应用方式2.1 行内样式2.2内部样式2.3外部样式 三、选择器1、标签选择器2、类选择器3、ID选择器4、选择器的优先级 四、常见的CSS属性1、字体属性2、文本属性3、背景属性4、表格属性5、盒子模型的属性6、定位 总…...

全球轻型卡车胎市场规划预测:2030年市场规模将接近1153亿元,未来六年CAGR为2.0%
一、引言 随着全球物流行业的持续发展,轻型卡车胎作为物流运输的关键消耗品,其市场重要性日益凸显。本文旨在探索轻型卡车胎行业的发展趋势、潜在商机及其未来展望。 二、市场趋势 全球轻型卡车胎市场的增长主要受全球物流行业增加、消费者对轮胎性能要…...

8.2 数据结构王道复习 2.3.3 2.3.7选择题错题review
王道中这章主讲了线性表的定义、基本操作、顺序表示、链式表示。下方内容主分了文字部分和代码部分,便于记忆和整理。 在901中这章的要求集中在链表的基础操作中,应用题大概会出问答题。 【当前每一小节的应用题待做,先把选择题过完ÿ…...
【DL】神经网络与机器学习基础知识介绍(二)【附程序】
原文:https://mengwoods.github.io/post/dl/009-dl-fundamental-2/ 文章目录 激活函数卷积神经网络超参数其他程序 激活函数 激活函数的目的是在模型中引入非线性,使网络能够学习和表示数据中的复杂模式。列出常见的激活函数。 线性函数: y…...
6万字嵌入式最全八股文面试题大全及参考答案(持续更新)
目录 冒泡排序算法的平均时间复杂度和最坏时间复杂度分别是多少?在什么情况下使用冒泡排序较为合适? 选择排序算法是稳定的排序算法吗?为什么? 插入排序在近乎有序的数组中表现如何?为什么? 快速排序的基本思想是什么?它在最坏情况下的时间复杂度是多少? 归并排序…...
iceberg 用户文档(持续更新)
iceberg 用户文档 表 Schema 变更查看表的元数据信息表参数变更 表 Schema 变更 Iceberg 支持使用 Alter table … alter column 语法对 Schema 进行变更,示例如下 -- spark sql -- 更改字段类型 ALTER TABLE prod.db.sample ALTER COLUMN measurement TYPE doubl…...

基于YOLOv8的船舶检测系统
基于YOLOv8的船舶检测系统 (价格85) 包含 【散货船,集装箱船,渔船,杂货船,矿砂船,客船】 6个类 通过PYQT构建UI界面,包含图片检测,视频检测,摄像头实时检测。 (该…...

使用腾讯云域名解析实现网站重定向
前言 最近,在CSDN平台上我写了一系列博客,希望能与同学分享一些技术心得。然而,每当需要向他人推荐我的博客时,那串复杂且缺乏规律的CSDN博客首页域名总让我感到不便。这让我开始思考,如果能将这一域名替换为一个既个…...
为什么相比直接使用new和std::shared_ptr构造函数,make_shared在内存分配和管理方面更为高效。
使用std::make_shared相比于直接使用new和std::shared_ptr构造函数在内存分配和管理方面更为高效,主要原因如下: 内存分配效率 std::make_shared通过一次内存分配来同时分配控制块(用于引用计数等)和对象的内存。这种方式减少了…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...