Linux指令(3)

news2024/11/24 16:30:47

目录

1.上节复习

2.man指令

3.echo指令

4.cp指令

5.mv指令

6.重新认识

7.和文件相关的指令的辨析

8.三大重定向 

9.cat指令

10.more命令和less命令


1.上节复习

(1)我们上次学习了这个和文件的删除以及文件夹的删除的相关的指令,rm -rf这个样的话后面加上文件的名字和文件夹的名字,基本上就会不显示错误信息然后直接删除掉了;

我们前期是学习的rmdir指令删除掉普通空文件夹,后来我们发现这个好像并没有直接使用rm方便,rm指令无论是对于文件夹还是普通的文件,无论是有内容还是没有内容,我们都是可以使用这个指令删除文件内容的;

我们需要补充的就是这个*运算符,这个运算符可以帮助我们找到相关联的文件,例如这个我们使用ls *.c这个指令,这个时候就会显示出来所有的后缀是.c类型的文件,这个*就表示可以是任何的内容,我们也可以使用ls test.*这样的话这个就会显示所有的文件名字是test,文件类型不同的所有的文件;我们再删除的时候,敲入rm * -rf,因为没有任何的指定,这个时候就会删除这个目录下面的所有的文件;

2.man指令

(1)这个指令其实就相当于是一个字典,因为在这个linux里面是有很多指令的,我们不可能会完全记住,这个时候我们就可以使用这个man指令帮助我们进行理解,man+指令的名字,就会出现英文版的帮助文档供我们学习了解,尤其是这个对于我们不是很熟悉的指令;

(2)其实任何一个指令对应的都有这个操作手册,例如这个1号手册,2号手册,这个就是指令的一些分类,用来显示这个指令的不同的用途,当我们不指出这个是几号操作手册的时候,系统会按照这个顺序给出来,但是我们制定之后,就会只显示这个部分,平常我们不指定,后期我们熟悉之后可能会指定;

3.echo指令

(1)这个指令我们后续会用到,但是其实这个用法很简单,就是在这个指令后面的语句会显示在这个屏幕的上面;

(2)通过上面的实例就可以看出来,这个指令会把我们的内容显示在屏幕上面,不仅如此,这个还可以把内容写到文件里面去,但是不会显示,效果是这样的:

我们使用这个指令加上写入的内容,加上这个向右的箭头,加上这个文件的名字,就可以把这个内容写入到文件里面去,但是我还是把这个文件夹座位了写入的对象,这个时候的系统就会提示我们这个是一个文件夹(可能就无法写入到文件夹里面去吧);

(3)但是当我们使用上面的语法把内容写进去之后,这个是不会显示的,我们可以使用cat指令查看这个文件里面的内容,用来进行检查这个内容是不是真正的写入到了这个文件里面去;

具体的用法就是在这个cat指令的后面添加上这个文件的名字就可以了,这样就可以查看这个文件里面的内容,检查这个内容是不是真正的被写入到了这个文件里面去;

像这种应该显示在显示器上面,但是没有显示,而是直接写到这个文件里面去了,我们把这个现象叫做输出重定向; 

4.cp指令

(1)这个指令就是用来拷贝的,他可以把一个文件里面的内容拷贝到另外的一个文件里面去,我们还可以使用上面介绍的cat指令查看这个是否被拷贝到了新的文件里面去;

我们不需要提前创建这个文件,经过拷贝之后,这个文件是会被自动创建出来的,我们在拷贝完成之后可以进行查看这个文件的内容,同时可以查看当前的目录下面这个体系结构,这个时候我们就可以发现这个新的文件已经被创建了出来;

(2)我们上面的拷贝是默认拷贝到同一级的目录下面的,我们也是可以拷贝到不同级的目录下面,就是还记得我们之前使用的cd ..这个指令可以跳转到上一级目录里面去,同理,这个地方,我们只需要稍作修改就可以拷贝到上一级目录里面去,这个地方也是不需要我们自己进行这个创建的 ,这个系统在进行拷贝的时候也是会自动生成的;

按照常识一般在同一级目录下面这个文件的名字是不允许重复的,但是在不同级别的目录下面,这个文件的内容是可以重复的,因此我们使用上面的方式,就可以在不同级别的目录下面创建相同的文件名字的文件,同时我们也可以使用ls ../方式进行查看,同理这个ls指令一般也只会显示这个当前路径下面的文件信息,我们在后面添加上这个../ 之后,就可以查看上一级目录下面的文件信息,这个时候,我们可以看到这个上一级的路径里面已经创建出来这个文件,我们使用cat ../test.txt就可以查看这个文件里面的相关的信息,这个时候,发现这个拷贝是成功的;

(3)还有一点就是我们之前介绍过的这个-p指令后面假的选项可以用来表示这个创建连续的路径,就是一连串的路径,我们如果想要把这个一连串的路径文件全部拷贝给这个新的文件,这个时候我们仅仅使用上面的cp指令就不可以了,这个时候我们要在原来的基础上面添加这个-r选项,表示这个要拷贝的内容不是一个简单的文件内容,而是一个递归形式的文件,这个时候使用“cp -r 源头文件  目标文件” 就可以实现这个拷贝了;

5.mv指令

(1)在学习这个linux的时候,我们应该把这个学习的内容和这个windows里面的内容进行一一对应,这个就会更加有助于我们的理解,例如我们想要实现这个文件的重命名,就是修改这个文件的名字,在这个linux指令里面,也是有指令可以对于这个文件的名字进行修改:

我们这个是把这个原来文件名字叫做test2.txt的文件修改名字为test3.txt,使用的就是上面的mv指令,修改之后我们发现这个效果确实是达到了;

(2)当然这个mv指令的功能远远不仅如此,这个还有剪切的功能,就是我们把某一个文件剪切到上一级目录下面去,类似这样的,这个时候他和拷贝的区别就在于这个拷贝之后,无论是拷贝的新文件还是原来的文件都是存在的,但是这个剪切之后原来的文件就会不存在,但是这个新的文件会被创建出来,接下来给这个大家演示一下:

test.txt就是当前的目录下面的文件,我们想要使用这个剪切到上一级目录下面去,就是这个两个点表示的就是上一级目录,一个点表示的就是当前的目录下面,我们使用这个ls ..指令查看上一级目录下面的问价,这个时候发现就已经被剪切进去了,其实这个时候在当前的目录下面这个文件就已经不存在了(只不过我没有进行演示);

(3)我们剪切过去之后还是可以剪切回来的,这个方法基本是一样的,我们可以使用这个ls指令验证当前的目录下面的文件和上一级目录下面的文件;

(4)概括起来,这个mv指令就是用来进行这个文件的重新命名以及这个文件的剪切的,但是会产生歧义,mv test.txt ../这个就是很明显的用来把这个文件剪切到上一级路径里面去,但是像这个      mv test.txt  test3.txt这个就是典型的重命名,但是这个mv test.txt  ../test3.xtx这个就是剪切并且进行重新命名的操作,在同一级目录下面实际上也是进行的剪切并且重命名,只不过这个剪切的过程没有体现出来,因为这个文件本来就是存在的;下面这个就是一个剪切并且重新命名的过程;

6.重新认识

(1)linux下面,一切都是文件,这个就是我们对于这个文件的重新认知,也是对于这个linux指令等等的重新认知,为什么说都是文件呢;

显示器打印这个信息,我们就可以把这个显示器理解为具有写方法的文件,键盘是输入的,就是读取的,我们可以把这个键盘理解为只是具有读方法的文件,而像这个我们熟悉的普通的文件,就可以理解为是读方法和写方法都具有的文件,只不过与之相比较而言,显示器是仅仅具有写方法的文件,键盘是仅仅具有读方法的文件,仅此而已;

(2)结合文件重新理解输出重定向

 echo就是把这个指令显示到显示器上面去,但是后面加上这个箭头和新的文件之后就不会写入到这个显示器上面了,而是写入到新的指定的文件里面去;

这个时候我们就可以这样理解这个输出重定向:就是把这个原来应该写入到显示器文件里面的东西,内容写入到了这个指定的文件里面去,我们把这个过程理解定义为输出重定向; 

7.和文件相关的指令的辨析

(1)我们前面进行介绍的就是这个echo命令就是把这个指令后面的内容直接显示在这个屏幕上面 

echo后面加上一个文件的名字就会把这个文件的名字当做字符串显示在这个屏幕上面,cat后面加上文件的名字就会把这个文件的内容显示在屏幕上面 ,因此虽然后面的内容是一样的,打印的结果是有差别的,echo就是很无脑的你给我什么我就会打印什么,不管是什么类型的任何东西;

(2)前面还学习了ll指令,这个指令也是打印文件的相关内容的,只不过打印的是文件的属性,文件包括文件内容和文件属性,文件内容就是使用这个cat指令进行打印,文件的属性就是使用的ll指令进行打印;

(3)这个输出重定向里面的>test.txt就是这个大于号加上对应的文件的名字,就会把这个文件里面的内容删除掉,就是清空文件内容;

(4)在文件里面本来就有内容存在的情况下,这个多次使用这个echo ***** >  文件名      这样的方式对于文件写入内容的时候,每一次的输入都会把原来的内容覆盖掉;

(5)我们如果不想要每次输入内容的时候把原来的内容给覆盖掉,怎么办呢,我们之前使用这个指令向文件里面写入内容的时候,使用的是一个大于号,就会把原来文件里面的内容给覆盖掉,如果我们使用两个大于号,就可以不覆盖原来的文件内容的情况下进行这个内容的写入;

 

这个方式我们叫做追加重定向,就是在原来的内容的基础上面进行追加新的内容,这个echo指令每次追加的时候都是显示在不同的行里面的(这个通过上面的事例我们也是可以观察出来的),我们可以把这个echo换成printf这样的话这个内容就会在同一行里面进行显示,而不是自动换行了;

8.三大重定向 

(1)上面我们已经展示了这个输入重定向,以及这个追加重定向,第一个就是简单的向这个文件里面去输入数据,只不过每一次输入的数据都会覆盖之前的数据,为此我们学习使用了这个追加重定向指令,这个指令可以让我们在输入新的内容的基础上步不覆盖文件里面的原来的内容;

(2)除了上面的输入重定向和追加重定向,实际上还有一个叫做输出重定向,这个重定向和我们的ct指令有关,简单的介绍一下:

就是我们自己也是可以进行尝试的。我们仅仅使用一个cat指令,后面不添加任何内容,这个时候我们输入什么,这个显示器上面就会打印什么,而且还是不会停止的,我们可以使用ctrl+D这个组合键停止这个向键盘输入的过程;

(3) 我们可以使用这个cat <  文件的名字     表示的就是把这个文件里面的内容显示出来,这个就叫做输出重定向,因为这个默认的话是要显示键盘里面输入的内容的,但是现在要打印的就是文件里面的内容,我们把这个原本应该打印键盘里面输入的内容但是现在却打印文件里面的内容的过程就叫做输出重定向;

(4)新的理解

我们使用这个echo "hello world" >> test.txt向这个文件里面写入内容,这个时候如果这个文件是不存在的,这个系统就会自动创建这个文件,我们可以不用使用这个touch进行文件的创建,而是选择这样的方式去创建文件;

9.cat指令

(1)这个指令就是我们上面介绍的,把文件里面的内容显示出来,没有这个文件就会创建这个文件,但是cat指令还有一些其他的选项,我们来认识一下;

cat  -b  文件名字----------------这个就是输出这个非空行的编号;

cat  -n  文件名字----------------这个就是输出所有的行的编号,包括空行;

cat  -s  文件名字----------------这个就是对于连续的空行,这个就只会输出一个空行;

10.more命令和less命令

(1)我们上面介绍的这cat命令适合这个进行查看一般的小型的文件,我们如果想要查看大型文件,一般使用的就是这个more指令,这个指令可以帮助我们进行翻阅,但是只能向下翻,后面加上这个选项:more -n  文件(大型),这个就是指明我们想要查看的文件行数,输入500,这个屏幕上面就会显示第500行上下的的内容,我们可以使用这个enter键进行向下翻,但是缺点就是不能向上翻;

(2)这个less指令和more指令的用法基本上就是一样的,但是这个指令可以向上翻阅,就是使用的我们的键盘上面的向上键和向下键,这个就比more好了那么一点点;

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

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

相关文章

【网络架构】Nginx

目录 一、I/O模型 1.1 Linux 的 I/O 1.2 零拷贝技术 1.3 网络IO模型 1.3.1 阻塞型 I/O 模型&#xff08;blocking IO&#xff09;​编辑 1.3.2非阻塞型 I/O 模型 (nonblocking IO)​编辑 1.3.3 多路复用 I/O 型 ( I/O multiplexing )​编辑 1.3.4 信号驱动式 I/O 模型 …

React-配置json-server

安装json-server&#xff1a;json-server工具准备后端接口服务环境_jsonserver临时后端-CSDN博客 在package.json文件中的scripts添加&#xff1a; "serve":"json-server json文件路径 --port 端口号" 在终端输入命令npm run serve&#xff0c;就可以启动…

Redis高级特性和应用:慢查询、Pipeline、事务、Lua

Redis提供了许多高级特性&#xff0c;可以帮助优化和管理系统性能。本文将介绍Redis的慢查询、Pipeline、事务和Lua脚本的使用及其相关配置。 Redis的慢查询 慢查询日志是开发和运维人员定位系统慢操作的重要工具。Redis也提供了类似的功能&#xff0c;通过记录超过预设阀值的…

Topaz Photo AI:Mac上的智能降噪专家,让每一张照片都清晰如初

Topaz Photo AI for Mac 是一款专为Mac用户打造的人工智能降噪软件&#xff0c;它在图像处理领域展现了出色的性能和创新。以下是关于这款插件的详细介绍&#xff1a; 一、卓越的降噪效果 Topaz Photo AI利用深度学习技术和复杂的机器学习算法&#xff0c;能够自动检测并修复…

蓝牙BLE上位机工具开发理论线索梳理_5.Windows WinRT API包Microsoft.Windows.SDK.Contracts

1. WinRT API包介绍 本文介绍下Windows WinRT API包&#xff08;Microsoft.Windows.SDK.Contracts&#xff09;&#xff0c; 如图1是SDK包的描述。 图1 Microsoft.Windows.SDK.Contracts Windows WinRT API包使您能够将最新的Windows运行时API支持添加到您的。net Framework 4.…

盘点|AI大模型时代,2024医疗器械网络安全应对与挑战(上)

6月5日&#xff0c;以“AI驱动安全”为主题&#xff0c;2024全球数字经济大会数字安全高层论坛&#xff0c;暨北京网络安全大会战略峰会在北京国家会议中心开幕。 与会专家指出&#xff0c;攻击者可利用人工智能技术生成网络攻击和网络钓鱼工具&#xff0c;网络安全从人人对抗、…

Vue2+Element-ui后台系统常用js方法

el-dialog弹框关闭清空form表单并清空验证 cancelDialog(diaLog, formRef) {this[diaLog] falseif (formRef) {this.$refs[formRef].resetFields()} }页面使用&#xff1a; <el-dialog :visible.sync"addSubsidyDialog.dialog" close"cancelDialog(addSub…

easyexcel的简单使用(execl模板导出)

模板支持功能点 支持列表支持自定义头名称支持自定义fileName支持汇总 模板示例 操作 pom引入 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>${easyexcel.version}</version></dep…

java基础知识漏洞记录一

下面是我在阅读JavaGuide面试资料时遇到的不熟悉的知识点总结 JDK9中JRE与JDK新关系 从 JDK 9 开始&#xff0c;就不需要区分 JDK 和 JRE 的关系了&#xff0c;取而代之的是模块系统&#xff08;JDK 被重新组织成 94 个模块&#xff09; jlink 工具 (随 Java 9 一起发布的新命…

Ubuntu下使用`sysbench`来测试CPU性能

使用 sysbench 来测试 CPU 性能是一个常见的方法。sysbench 是一个模块化的跨平台基准测试工具&#xff0c;常用于评估系统的各个组件&#xff08;例如 CPU、内存、I/O 子系统等&#xff09;的性能。 下面是如何使用 sysbench 来测试 CPU 性能的基本步骤&#xff1a; 1. 安装…

【乐吾乐2D可视化组态编辑器】导出HTML,下载离线部署包

乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.com/ 使用步骤 1. 从“文件”菜单导出HTML 导出为 HTML 需要一定的开发能力&#xff0c;后续不再维护&#xff0c;即将下线&#xff0c;推荐使用 下载离线部署包&#xff08;html&#xff09; 2. 解压 3. 下载后端…

如何将ai集成到radsystems项目中,在项目中引入ai

AI可以自动化重复性和低价值的任务&#xff0c;例如数据输入、文档处理、信息检索等&#xff0c;让员工能够专注于更具战略性和创造性的工作。通过引入AI驱动的聊天机器人或虚拟助手&#xff0c;可以提供24/7的客户支持&#xff0c;快速响应用户的问题&#xff0c;提高客户满意…

Java——重载

一、重载&#xff08;Overload&#xff09; 1、重载是什么 方法重载&#xff08;Method Overloading&#xff09;是Java中实现多态的一种方式。它允许在同一个类中定义多个同名的方法&#xff0c;只要这些方法的参数列表不同。这些不同的参数列表可以通过不同的参数类型、参数…

从零到一,四步战略解锁AI产品经理大门

前言 在当今科技飞速发展的背景下&#xff0c;越来越多的职场人士将目光投向了人工智能&#xff08;AI&#xff09;领域&#xff0c;寻求职业发展的新机遇。其中&#xff0c;AI产品经理和技术工程师作为该领域的两大明星岗位&#xff0c;凭借其高薪和广阔的职业发展前景&#…

深入解析TF-IDF算法:文本分析的基石与力量

在信息爆炸的时代文本数据无处不在&#xff0c;从新闻报道到社交媒体帖子&#xff0c;从学术论文到产品评论&#xff0c;大量的文本信息需要被有效地分析和利用。在这样的背景下TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09;算法作为一种简单而有效…

LabVIEW输送机动态特性参数监测系统

开发了一套基于LabVIEW软件和STM32F103ZET6单片机的带式输送机动态特性参数监测系统。该系统通过电阻应变式压力传感器和光电编码器实时采集输送带的张力和带速信息&#xff0c;通过5G模块将数据传输至上位机&#xff0c;实现数据的可视化处理与实时预警&#xff0c;有效提高输…

vue3+vite:动态引入静态图片资源

目录 第一章 前言 第二章 vue2与vue3动态引入静态图片资源 2.1 vue2 webpack动态引入静态图片资源 2.1.1 了解 2.1.2 vue2项目动态引入静态图片资源 2.2 vue3 vite动态引入静态图片资源 2.2.1 了解 2.2.2 require vs import了解 2.2.3 vue3vite 项目动态引入静态图片…

机器视觉:工业相机的主要参数

工业相机是将目标物体的表面特征信息转化为数字信号&#xff08;或者模拟信号&#xff09;的一种采集设备。 一、工业相机的成像原理 工业相机主要由光电传感器和转换电路组成。 光线照射到被检测物体的表面&#xff0c;反射光经过透镜&#xff0c;再进入相机的光电传感器&a…

RuoYi: 企业级快速开发平台

目录 前言1 项目介绍1.1 简介1.2 特性 2 技术选型3 功能方面4 代码解释4.1 控制器层示例4.2 服务层示例4.3 数据访问层示例 4 推荐理由4.1 高效开发4.2 灵活性和扩展性4.3 完善的功能和安全性4.4 活跃的开源社区 结语 前言 在现代企业级应用开发中&#xff0c;高效、稳定、安全…

MicroPython 环境下使用 ESP32 连接百度 AI 大模型

前言 在物联网领域&#xff0c;ESP32 由于其丰富的功能和低功耗性能成为了一种流行的选择。结合 MicroPython&#xff0c;它为开发者提供了一个高效的开发环量&#xff0c;让 Python 程序员也能轻松介入到嵌入式系统和 IoT 应用的开发之中。本文将介绍如何利用这些技术&#x…