Linux操作系统学习:day03
内容来自:Linux介绍
视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g++ -动态库/静态库 -makefile-gdb调试](
目录
- day03
- 17、创建删除目录
- 创建目录
- 删除目录
- 18、文件的拷贝
- 19、mv 命令
- 20、查看文件内容的相关命令
- 21、给文件创建软连接或硬链接
day03
17、创建删除目录
创建目录
目录的创建分为两种, 一种是创建单个目录, 另一种是一次性创建多层目录, 使用的命令是mkdir
, 后边参数是要创建的目录的名字, 如果是多层目录需要添加参数-p
。
# 单层目录
$ mkdir 新目录的名字# 多层目录, 需要加参数 -p
$ mkdir parent/child/baby1/baby2 -p
删除目录
如果要删除已经存在的路径一共有两种方式, 可以使用rmdir
或者rm
rmdir
: 只能删除空目录,有点low,不好用rm
: 可以删除文件也可以删除目录, 如果删除的的是目录, 需要加参数-r
, 意思是递归(recursion)
rm
命令还有另外两个经常使用的参数:
-i
: 删除的时候给提示-f
: 强制删除文件, 没有提示直接删除并且不能恢复, 慎用
# 1. low, 矮穷矬, 只能删除空目录
$ rmdir 目录名# 2. 高大上, 可以删除目录也可以删除文件
# 删除目录需要加参数 -r, 递归的意思, 删除之后是不能恢复的
$ rm 目录名 -r
示例:
# 删除时不给提示
rm -rif c# 删除时给提示
rm -rfi c
tips:i
和 f
同时用的话,谁写在后面谁生效。
18、文件的拷贝
cp 就是copy, 拷贝, 使用这个命令可以拷贝文件也可以拷贝目录
-
拷贝文件 =>
文件不存在得到新文件, 文件存在就覆盖
# `语法: cp 要拷贝的文件 得到的文件`# `场景1: 文件A, 将A拷贝一份得到文件B` $ cp 文件A 文件B# `场景2: 文件A存在的, 文件B也是存在的, 执行下边的拷贝 ==> 文件A覆盖文件B` $ cp 文件A 文件B
-
拷贝目录 ==>
目录不存在得到新目录, 该目录被拷贝到存在的目录中
# 拷贝目录需要参数 -r # 场景1: 目录A, 通过拷贝得到不存在的目录B $ cp 目录A 目录B -r# 场景2: 目录A存在的, 目录B也是存在的, 执行下边的拷贝 ==> 目录A会被拷贝并将其放到目录B中 $ cp 目录A 目录B -r# 场景3: 把A目录里的某一个或者多个文件拷贝到B目录中 $ cp A/a.txt B # 拷贝 A目录中的 a.txt 到目录B中 $ cp A/* B -r # 拷贝 A目录中的所有文件到目录B中, 不能确定A目录中是否有子目录, 因此需要加 -r
19、mv 命令
mv 就是move, 这个Linux命令既能移动文件所在目录也可以给文件改名。
-
文件的移动
# 语法: mv 要移动的文件目录 # 有一个文件A, 移动到目录B中 # 其中A可以是文件也可以是目录, B必须是目录而且必须是存在的 $ mv A B
-
文件改名
# 语法: mv 要改名的文件 新名字(原来是不存在的,这点很重要) # 其中A可以是文件也可以是目录,并且是存在的, B原来是不存在的 $ mv A B
-
文件覆盖
# 语法: mv 存在文件A 存在的文件B # 其中A是文件(非目录)并且是存在的, B也是一个文件(非目录)并且也存在 # A文件中的内容覆盖B文件中的内容, A文件被删除, 只剩下B文件 $ mv A B
20、查看文件内容的相关命令
如果想要查看文件内容方式有很多, 最常用的是
vim
, 下面介绍一下vim
以外的一些的一些方式:
-
cat
该命令可以将文件内容显示到终端, 由于终端是有缓存的, 因此能显示的字节数也是受限制的。
如果文件太大数据就不能完全显示出来了,因此该命令适合查看比较小的文件内容。
$ cat 文件名
-
more
该命令比
cat
要高级一点, 我们可以以翻屏的方式查看文件中的内容,使用方式如下:$ more 文件名 # 快捷键 - 回车: 显示下一行 - 空格: 向下滚动一屏 - b: 返回上一屏 - q: 退出more
-
less
该命令和
more
命令差不多, 我们可以以翻屏的方式查看文件中的内容,使用方式如下:$ less 文件名 # 快捷键 - b: 向上翻页 - 空格: 向后翻页 - 回车: 显示下一行 - 上下键: 上下滚动 - q:退出
-
head
使用该命令可以查看文件头部的若干行信息, 使用方式如下:
# 默认显示文件的前10行 $ head 文件名 # 指定显示头部的前多少行 $ head -行数 文件名
-
tail
使用该命令可以查看文件尾部的若干行信息, 使用方式如下:
# 默认显示文件的后10行 $ tail 文件名 # 指定显示尾部的最后多少行 $ tail -行数 文件名
21、给文件创建软连接或硬链接
链接分两种类型:
软连接
和硬链接
。软连接相当于windows中的快捷方式,硬链接前边也已经介绍过了文件并不会进行拷贝,只是多出一个新的文件名并且硬链接计数会加1。
-
软连接
基本语法格式:
ln -s 源文件路径 软链接文件的名字(可以带路径)
示例:
# 查看目录文件 [root@VM-8-14-centos ~/luffy]# ll total 8 drwxr-xr-x 3 root root 4096 Jan 25 17:27 get -rw-r--r-- 1 root root 37 Jan 25 17:26 onepiece.txt# 给 onepiece.txt 创建软连接, 放到子目录 get 中 [root@VM-8-14-centos ~/luffy]# ln -s /root/luffy/onepiece.txt get/link.lnk [root@VM-8-14-centos ~/luffy]# ll get total 4 lrwxrwxrwx 1 root root 24 Jan 25 17:27 link.lnk -> /root/luffy/onepiece.txt drwxr-xr-x 2 root root 4096 Jan 24 21:37 onepiece
在创建软链接的时候, 命令中的
源文件路径
建议使用绝对路径, 这样才能保证创建出的软链接文件在任意目录中移动都可以访问到链接的那个源文件。tips:软链接文件以
.lnk
结尾,且软链接更换目录后会失效。 -
硬链接
基本语法格式:
ln 源文件 硬链接文件的名字(可以带路径)
示例:
# 创建硬链接文件, 放到子目录中 [root@VM-8-14-centos ~/luffy]# ln onepiece.txt get/link.txt# 查看链接文件和硬链接计数, 从 1 --> 2 [root@VM-8-14-centos ~/luffy]# ll get total 8 lrwxrwxrwx 1 root root 24 Jan 25 17:27 link.lnk -> /root/luffy/onepiece.txt -rw-r--r-- 2 root root 37 Jan 25 17:26 link.txt drwxr-xr-x 2 root root 4096 Jan 24 21:37 onepiece
硬链接和软链接不同, 它是通话文件名直接找对应的硬盘地址, 而不是基于路径, 因此
源文件
使用相对路径即可, 无需为其制定绝对路径。tips:
- 创建硬链接后,硬链接计数会增加;
- 目录是不允许创建硬链接的;
- 硬链接源文件路径不需要绝对路径,只需要相对路径;
- 软链接源文件路径使用绝对路径。
相关文章:

Linux操作系统学习:day03
内容来自:Linux介绍 视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g -动态库/静态库 -makefile-gdb调试]( 目录 day0317、创建删除目录创建目录删除目录 18、文件的拷贝19、mv 命令20、查看文件内容的相关命令21、给文件创建软连接或硬链接 day03 …...

快排(霍尔排序实现+前后指针实现)(递归+非递归)
前言 快排是很重要的排序,也是一种比较难以理解的排序,这里我们会用递归的方式和非递归的方式来解决,递归来解决是比较简单的,非递归来解决是有点难度的 快排也称之为霍尔排序,因为发明者是霍尔,本来是命名…...

客户端输入网址后发生的全过程解析(协议交互、缓存、渲染)
目录 1. 输入 URL 并按下回车键2. DNS 解析3. TCP 连接4. 发送 HTTP 请求5. 服务器处理请求6. 发送 HTTP 响应7. 浏览器接收响应8. 渲染网页9. 执行脚本10. 处理其他资源11. TLS/SSL 加密(如果使用 HTTPS)握手过程 12. 协议协商和优化 总结 1. 输入 URL …...

未来科技:Web3如何重塑物联网生态系统
随着Web3技术的崛起,物联网(IoT)的发展正迎来一场深刻的变革。本文将深入探讨Web3如何重塑物联网生态系统,从技术原理到应用实例,全面解析其对未来科技发展的影响和潜力。 1. Web3技术简介与发展背景 Web3技术是建立在…...

C++之模板(二)
1、类模板 2、使用类模板 类模板在使用的时候要显示的调用是哪种类型,而不是像函数模板一样能够根据参数来推导出是哪种类型。 Stack.h #include <stdexcept>template <typename T> class Stack { public:explicit Stack(int maxSize);~Stack();void …...
相机的标定
文章目录 相机的标定标定步骤标定结果影响因素参数分析精度提升一、拍摄棋盘格二、提升标定精度 标定代码实现 相机的标定 双目相机的标定是确保它们能够准确聚焦和成像的关键步骤。以下是详细的标定步骤和可能的结果,同时考虑了不同光照条件和镜头光圈大小等因素对…...

C# 利用XejeN框架源码,编写一个在 Winform 界面上的语法高亮的编辑器,使用 Monaco 编辑器
析锦基于Monaco技术实现的Winform语法高亮编辑器 winform中,我们有时需要高亮显示基于某种语言的语法编辑器。 目前比较强大且UI现代化的,无疑是宇宙最强IDE的兄弟:VS Code。 类似 VS Code 的体验,可以考虑使用 Monaco Editor&a…...
03- jQuery事件处理和动画效果
1. jQuery的事件处理 1.1 绑定事件处理函数 on() 将一个或多个事件的处理方法绑定到被选择的元素上。on()方法适用于当前或未来的元素,如用脚本创建的新元素。 $(selector).on(event,childSelector,data,function) 参数描述event必需。规定要从被选元素添加的一…...

RabbitMQ 入门
目录 一:什么是MQ 二:安装RabbitMQ 三:在Java中如何实现MQ的使用 RabbitMQ的五种消息模型 1.基本消息队列(BasicQueue) 2.工作消息队列(WorkQueue) 3. 发布订阅(Publish、S…...

物联网协议应用
目录 前言一、WIFI简介二、NTP协议2.1 NTP简介2.2 NTP实现 三、HTTP协议3.1 HTTP协议简介3.2 HTTP服务器 四、MQTT协议4.1 MQTT协议简介4.1.1 MQTT通信模型4.1.2 MQTT协议实现原理4.1.3 MQTT 控制报文 4.2 移植MQTT协议 前言 本文主要介绍一下物联网协议如NTP协议、HTTP协议和M…...

十分钟学会微调大语言模型
有同学给我留言说想知道怎么训练自己的大语言模型,让它更贴合自己的业务场景。完整的大语言模型训练成本比较高昂,不是我们业余玩家能搞的,如果我们只是想在某个业务场景或者垂直的方面加强大模型的能力,可以进行微调训练。 本文…...
结合简单工厂和工厂方法模式:实现灵活的对象创建
前言 在软件开发过程中,创建对象的方式直接影响代码的灵活性和可维护性。设计模式提供了一种解决复杂问题的方法,其中简单工厂模式和工厂方法模式是两种常用的创建型模式。在这篇文章中,我们将结合这两种模式,通过一个实际案例&a…...

网抑云特殊版,登录即永久
前言 今天分享一款特殊版本的音乐软件,相信大家在听网抑云的时候会有两大烦恼, 一是歌曲需要开通VIP才可以收听,不管怎么说也是国内厂商普遍操作 但是第二种烦恼你万万想不到的是,开通了会员后,惊奇的发现ÿ…...

Kotlin 实战小记:No-Arg 引用解决 No constructor found的问题
一、问题 新的项目试用一下kotlin, 调用数据库查询数据的时候报了这个问题:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in com.neusoft.collect.entity.cm.CmRoom matc…...
HTML(5)——列表表格
列表 无序列表 作用:布局排列整齐的不需要规定顺序的区域。 标签:ul嵌套il,ul是无序列表,li是列表条目 注:ul标签只能包裹li标签,li标签可以包含任何内容 有序列表 作用:布局排列整齐的需…...

FreeBSD通过CBSD管理低资源容器jail来安装Ubuntu子系统实践
简介 FreeBSD、CBSD、Jail和Ubuntu,四者的组合方案可以说是强强联合,极具性价比和竞争力!同时安装简单方便,整体方案非常先进。 CBSD是为FreeBSD jail子系统、bhyve、QEMU/NVMM和Xen编写的管理层。该项目定位为一个综合解决方案…...

SpringCloud总结(springcloud alibaba)
目录 版本说明(很重要) springcloud alibaba对应组件版本说明 简述 spring cloud albaba 几大模块 周会讨论 - spring cloud alibaba每周都会有周会讨论,社区活跃 spring cloud alibaba官网 注册配置中心 简单介绍 nacos 步骤 示例代码 依赖…...

轻轻松松上手的LangChain学习说明书
本文为笔者学习LangChain时对官方文档以及一系列资料进行一些总结~覆盖对Langchain的核心六大模块的理解与核心使用方法,全文篇幅较长,共计50000字,可先码住辅助用于学习Langchain。 一、Langchain是什么? 如今各类AI…...
全面对比与选择指南:Milvus、PGVector、Zilliz及其他向量数据库
本文全面探讨了Milvus、PGVector、Zilliz等向量数据库的特性、性能、应用场景及选型建议,通过详细的对比分析,帮助开发者和架构师根据具体需求选择最合适的向量数据库解决方案。 文章目录 向量数据库概述向量数据库的关键功能向量数据库的扩展和选择向量…...
svm 超参数
https://www.cnblogs.com/ChevisZhang/p/12932674.html https://wenku.baidu.com/view/b8a2c73cfd4733687e21af45b307e87100f6f861.html?wkts1718332423081&bdQuerysvm%E7%9A%84%E8%B6%85%E5%8F%82%E6%95%B0 用交叉验证找到最好的参数 C 和γ 。使用 RBF 核时,…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...