Linux- 系统随你玩之--操作文件和目录

news2025/1/12 23:44:46

文章目录

  • 1、前言
  • 2、文件、目录相关的指令
  • 2.1、当前所在目录
    • 2.2、当前目录所有的文件和目录
    • 2.3、切换当前工作目录
    • 2.4、 创建目录与文件
    • 2.6 、拷贝文件
  • 3 、文本查看
    • 3.1、cat 查看文件内容
    • 3.2、head 查看前n行内容
    • 3.3、tail 查询后n行内容
  • 4、文本编辑
    • 4.1、vi 指令
    • 4.2、more 指令
    • 4.3、less 指令

1、前言

上二篇我们讲解了系统用户、用户组及登录用户相关知识,本节我们以用户登录系统后常用的文件操作进行介绍。

2、文件、目录相关的指令

2.1、当前所在目录

pwd指令 会显示自己目前所在的工作目录的绝对路径名称。
在这里插入图片描述

2.2、当前目录所有的文件和目录

使用方式 : ls [选项] [目录或是文件]
常用选项:

 -a :显示当前目录所有的文件和目录,包括隐藏的 (文件名以.开头就是隐藏)-l :以列表的方式显示信息
 -h : 显示文件大小时,以 k , m, G 单位显示

在这里插入图片描述

2.3、切换当前工作目录

使用方式 : cd [dirName]
dirName 为目录名称,可为绝对路径或相对路径。若目录名称省略,则切换至home 目录。

~ 也表示为 home 目录的意思, 
. 则是表示当前所在的目录, 
.. 则表示当前目录位置的上一层目录,
 ../..跳转至当前目录的上二层。

在这里插入图片描述

2.4、 创建目录与文件

mkdir 指令 目录
通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。

1:创建一个目录 /home/csdn/fyydlz
mkdir /home/csdn/fyydlz
2:创建多级目录 /home/csdn/fyydlz/text
mkdir -p /home/csdn/fyydlz/text

在这里插入图片描述

touch 创建空文件
touch 指令
一、用来创建新的空文件。
二、用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
1: 创建一个空文件 text.txt
touch text.txt
说明:如果文件存在,则表示刷新该文件的修改时间

![在这里插入图片描述](https://img-blog.csdnimg.cn/2ee61087862b45de8c885c9be545d691.png)

## 2.5、删除目录与文件
**1、rmdir 指令 [remove directory]**
rmdir 指令:从一个目录中删除一个或多个子目录项即有空目录要删除,删除某目录时也必须具有对父目录的写权限。
注意:删除空目录,如果目录下有内容时无法删除的。

```powershell
例子:删除一个目录 /home/fyydlz
rmdir /home/fyydlz[要求 /home/fyydlz空目录]

**2、rm 文件名 **
rm: 为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
默认rm不允许删除目录,可以使用参数 -r 删除目录。
参数如下:

-d或–directory     直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或–force       强制删除文件或目录,忽略不存在的文件,不提示确认。
-i或–interactive   删除既有文件或目录之前先询问用户。
-I          在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生。
-r或-R或–recursive  递归删除,将指定目录下的所有文件及子目录一并删除。

**例子:**
rm -f 文件名 【暴力删除】
rm -r 文件夹
rm -rf 文件或文件夹

2.6 、拷贝文件

cp 指令拷贝文件到指定目录。
命令格式为:cp 源文件 目标文件(夹)
参数:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

指令 cp 将当前目录 fyydlz/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

$ cp –r fyydlz/ newtest  

3 、文本查看

cat | head | tail 查看文件内容

3.1、cat 查看文件内容

查看文件内容,一般适合于查看文件内容较少的文件。
cat 文件名
-n :显示行号
在这里插入图片描述

3.2、head 查看前n行内容

head -n 文件名
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容。

head 文件 (功能描述:查看文件头 10 行内容)
head -n 5 文件
例: 查看/etc/profile 的前面 5 行代码
head -n 5 /etc/profile

在这里插入图片描述

3.3、tail 查询后n行内容

tail -n 文件名
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。

  • tail 文件 (功能描述:查看文件头 10 行内容)
  • tail -n 5 文件 (功能描述:查看文件头 5 行内容, 5 可以是任意行数)
  • tail -f 文件 (功能描述:实时追踪该文档的所有更新)使用Xshell写该命令,当linux对该文档有更新时会在Xshell显示

在这里插入图片描述

4、文本编辑

4.1、vi 指令

vi 文件名
进入命令模式[不能输入内容]---->i----->编辑模式【可以输入内容】---->Esc推到命令模式
—:wq[保存退出]
—:q![退出不保存]

vi fyydlz.txt

4.2、more 指令

more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more功能上类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
在这里插入图片描述

4.3、less 指令

less [参数] 文件
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示数据量极大的文件具有较高的效率。
命令参数:

-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。

在这里插入图片描述

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

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

相关文章

华为三层交换机做中继,WinServer2012当DHCP服务器

ENSP桥接一台 Windows Server&#xff0c;当DHCP服务器 1、拓扑图 2、汇聚交换机设置 <Huawei>sys# 关闭消息提示 [Huawei]undo in en[Huawei]sys SW1# 批量创建 VLAN [SW1]vlan batch 10 20 30 100# 设置 VLAN 为 Trunk [SW1]int g0/0/1 [SW1-GigabitEthernet0/0/1]p…

【电商】电商后台---FMS财务管理系统

文章对电商财务系统进行了系统的介绍&#xff0c;希望通过此文能够加深你对电商系统的认识。 目前互联网电商公司的系统非常多、系统间的关系也非常复杂&#xff0c;最近各公司都热衷于中台&#xff0c;应用的技术也相当之多&#xff0c;技术实力弱点的公司只能借助于各平台加快…

uAvionix获得FAA合同,部署和演示多个无人机同时飞行的C波段频率分配管理(FAM)

uAvionix宣布&#xff0c;它已赢得美国联邦航空管理局(FAA)的合同&#xff0c;作为uAvionix SkyLine™指挥和控制通信服务提供商(C2CSP)管理平台的组件&#xff0c;对频率分配管理器(FAM)进行多次端到端演示。 这次大规模演示将使运营SkyLine平台的频率管理组织(FMO)能够将国际…

基于STM32与TB6600的机械臂项目(代码开源)

前言&#xff1a;本文为手把手教学STM32的机械臂项目——Robot Arm&#xff0c;本次项目采用的是STM32作为MCU。该机械臂的基础模型为国外开源项目&#xff0c;诸多前辈经过长时间的验证与改进&#xff0c;其机械臂精度可以满足日常需求。本项目机械臂为三自由度机械臂&#xf…

mongodb-9.数据库连接,集合创建

文章目录数据库连接集合创建查询删除查询显示指定字段限制查询条数 limit &#xff0c;skip排序索引创建聚合查询数据库连接 mongodb URL mongodb://[username:password]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]语法说明如下&#xff1a;…

JSP ssh网络点餐系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh网络点餐系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Mye…

vue3 antd项目实战——input输入框限制输入内容和长度,Form表单动态校验规则

input输入框设置只能输入中文&#xff0c;输入长度为20&#xff0c;输入不能为空知识调用场景复现解决方案1.下方有提示文字2.限制输入内容只能是中文3.限制输入长度为204.动态校验规则&#xff08;必填项&#xff09;input源代码&#xff08;按需调整即可&#xff09;知识调用…

【区块链 | EVM】深入理解学习EVM - 深入理解EVM操作码,让你写出更好的智能合约

那些非典型的开销导致经典的软件设计模式在合约编程语言中看起来既低效又奇怪。如果想要识别这些模式并理解他们导致效率变高/低的原因&#xff0c;你必须首先对以太坊虚拟机&#xff08;即 EVM&#xff09;有一个基本的了解。 你的一些编程“好习惯”反而会让你写出低效的智能…

Linux当中的Sersync实时同步服务及其实战举例

目录 一、实时同步 1.定义 2.原理 3.实时同步场景 4.实时同步工具 &#xff08;1&#xff09;sersync &#xff08;2&#xff09;Lysncd 二、实时同步实例 1.环境规划 2.配置思路 NFS存储服务如下&#xff1a; &#xff08;1&#xff09;安装NFS &#xff08;2&am…

40. 使用块的网络(VGG)

虽然AlexNet证明深层神经网络卓有成效&#xff0c;但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。 在下面的几个章节中&#xff0c;我们将介绍一些常用于设计深层神经网络的启发式概念。 与芯片设计中工程师从放置晶体管到逻辑元件再到逻辑块的过程类似&#x…

Node.js--》三大常见模块的使用讲解

目录 fs文件系统模块 fs.readFile()方法 fs.writeFile()方法 readFile与writeFile的使用 fs模块路径动态拼接问题 path路径模块 path.join()方法 path.basename() path.extname() path.parse() http模块 req请求对象 res响应对象 解决中文乱码问题 响应不同内容…

Python实现猎人猎物优化算法(HPO)优化支持向量机回归模型(SVR算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的优…

计算机系统基础实验 - 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示

实验3 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 实验序号&#xff1a;3 实验名称&#xff1a;同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 适用专业&#xff1a;软件工程 学 时 数&#xff1a;2学时 一、实验目的 1.掌握定点数乘法溢出的判定方法…

Kafka触发Rebalance的场景分析

文章目录前言触发Rebalance的原因1. 消费者成员发生变化2. 分区数发生变化3. 订阅Topic发生变化Rebalance全流程介绍场景一&#xff1a;新成员入组场景二&#xff1a;成员主动离组场景三&#xff1a;成员崩溃离组场景四&#xff1a;组成员提交位移前言 所谓Rebalance就是让Con…

Python小工具-复制嵌套目录下的多个word文档到指定目录

文章目录Python小工具-复制嵌套目录下的多个word文档到指定目录需求原始数据工具实现思路代码实现1-6 配置项目7 定义file_type_to_reduce_dir函数完成文件复制或移动8 定义list_dir_by_level函数完成遍历调用函数并执行待改进地方完整代码自我反省Python小工具-复制嵌套目录下…

全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

文章目录1 概述2 启动速度优化简介2.1 启动流程2.2 测量方法2.2.1 printk time2.2.2 initcall_debug2.2.3 bootgraph.2.2.4 bootchart2.2.5 gpio 示波器.2.2.6 grabserial.2.3 优化方法2.3.1 boot0启动优化2.3.1.1 非安全启动.2.3.1.2 安全启动2.3.2 uboot启动优化2.3.2.1 完全…

07、SpringCloud 系列:Alibaba - 介绍

SpringCloud 系列列表&#xff1a; 文章名文章地址01、Eureka - 集群、服务发现https://blog.csdn.net/qq_46023503/article/details/12831902302、Ribbon - 负载均衡https://blog.csdn.net/qq_46023503/article/details/12833228803、OpenFeign - 远程调用https://blog.csdn.…

一套ASP.NET优惠券领取微信小程序源码(前台+后台)

ASP.NET优惠券领取微信小程序源码&#xff08;前台后台&#xff09; 源码免费分享&#xff01;需要源码学习可私信我。 一、源码特点 1、这是一个微信小程序对接淘宝的淘宝客api自助搜索优惠券领取程序&#xff0c;简单易学。 2、后台采用asp.netMvc框架开发、实现了调用阿里妈…

Java I/O(五)NIO应用之Netty

Netty 目录Netty1 Netty概览2 Netty核心组件2.1 Bootstrap和ServerBootStrap&#xff08;启动引导类&#xff09;2.2 Channel&#xff08;网络操作抽象类&#xff09;2.3 EventLoop&#xff08;事件循环&#xff09;2.4 EventLoopGroup&#xff08;事件循环组&#xff09;2.7 C…

【Vue】创建 Vue 实例与对象配置、容器与实例的关系、插值延伸和 Vue 开发工具的初步使用

创建 Vue 实例 引入 Vue 注意在 Head 中 <script type"text/javascript" src"./vue.js"></script>另一个 javascript 中创建 Vue 实例&#xff0c;注意在 Body 尾部 <script type"text/javascript">const x new Vue() <…