0

0

Linux指令(3)

絕刀狂花

絕刀狂花

发布时间:2025-04-17 17:04:01

|

938人浏览过

|

来源于php中文网

原创

  1. 上节复习

(1)我们上次学习了与文件和文件夹删除相关的指令,rm -rf 加上文件或文件夹的名字后,通常不会显示错误信息,直接删除;

我们之前学习了 rmdir 指令,用于删除空文件夹,但发现使用 rm 指令更加方便,无论是文件夹还是文件,有内容或无内容,rm 都可以删除;

需要补充的是 运算符,这个运算符能帮助我们找到相关文件。例如,使用 ls .c 会显示所有后缀为 .c 的文件, 表示可以是任何内容;使用 ls test. 会显示所有名字为 test 的文件,不同文件类型。我们在删除时,输入 rm * -rf 会删除当前目录下所有文件,因为没有指定具体文件;

Linux指令(3)

  1. man 指令

(1)这个指令相当于一个字典,因为 Linux 有很多指令,我们无法完全记住,这时可以使用 man 指令帮助我们理解,使用 man + 指令名,会出现英文版的帮助文档,供我们学习了解,特别是对于不熟悉的指令;

(2)每个指令都对应一个操作手册,例如 1 号手册,2 号手册,这些是指令的分类,用于显示指令的不同用途。当我们不指定手册号时,系统会按顺序给出,但指定后只显示该部分。通常我们不指定,后期熟悉后可能会指定;

  1. echo 指令

(1)这个指令后续会用到,操作很简单,就是在指令后面的语句会显示在屏幕上;

Linux指令(3)

(2)通过上面的实例可以看出,这个指令会把内容显示在屏幕上,不仅如此,还可以将内容写入文件中,但不会显示。效果如下:

Linux指令(3)

我们使用 echo 指令加上写入的内容,再加上向右的箭头和文件名,就可以将内容写入文件中,但如果将文件夹作为写入对象,系统会提示这是一个文件夹(可能无法写入);

(3)使用上述语法写入内容后,不会显示,我们可以使用 cat 指令查看文件内容,以检查内容是否真正写入文件;

具体用法是在 cat 指令后添加文件名,这样就可以查看文件内容,检查内容是否真正被写入文件中。这种现象称为输出重定向,即内容应该显示在显示器上,但没有显示,而是直接写入文件中;

  1. cp 指令

(1)这个指令用于拷贝,可以将一个文件的内容拷贝到另一个文件中,我们可以使用前面介绍的 cat 指令查看是否成功拷贝到新文件中;

Linux指令(3)

不需要提前创建文件,拷贝后文件会自动创建,拷贝完成后可以查看文件内容和当前目录结构,发现新文件已被创建;

(2)默认拷贝到同一级目录下,也可以拷贝到不同级目录中,记得之前使用 cd .. 指令可以跳转到上一级目录,同理,这里只需稍作修改即可拷贝到上一级目录,系统在拷贝时也会自动生成文件;

Linux指令(3)

同一级目录下文件名不允许重复,但在不同级目录下文件内容可以重复,使用上述方式可以在不同级目录下创建相同文件名的文件,也可以使用 ls ../ 查看上一级目录文件信息,通常 ls 只显示当前路径下的文件信息,添加 ../ 后可以查看上一级目录文件信息,发现文件已被创建,使用 cat ../test.txt 查看文件内容,确认拷贝成功;

(3)之前介绍的 -p 选项可以创建连续路径,如果要拷贝一连串路径文件到新文件中,仅使用 cp 指令不行,需要在原基础上添加 -r 选项,表示要拷贝的是递归形式的文件,使用“cp -r 源头文件 目标文件”即可实现拷贝;

  1. mv 指令

(1)学习 Linux 时,应将学习内容与 Windows 内容一一对应,有助于理解。例如,要实现文件重命名,即修改文件名,Linux 也有指令可以修改文件名:

Linux指令(3)

我们将原文件名 test2.txt 修改为 test3.txt,使用的是 mv 指令,修改后发现效果确实达到了;

(2)mv 指令功能不止于此,还有剪切功能,即将文件剪切到上一级目录中,类似于拷贝的区别在于,拷贝后新旧文件都存在,而剪切后原文件不存在,但新文件被创建。示例如下:

Linux指令(3)

test.txt 是当前目录下的文件,我们想剪切到上一级目录中,两个点表示上一级目录,一个点表示当前目录,使用 ls .. 查看上一级目录文件,发现已被剪切进去(当前目录下文件已不存在,但未演示);

(3)剪切后可以剪切回来,方法基本相同,可以使用 ls 指令验证当前目录和上一级目录的文件;

Linux指令(3)

(4)概括来说,mv 指令用于文件重命名和剪切,但会产生歧义,如 mv test.txt ../ 明显是剪切到上一级路径,而 mv test.txt test3.txt 是典型的重命名,但 mv test.txt ../test3.txt 是剪切并重命名。在同一级目录下也是剪切并重命名,只是剪切过程未体现,因为文件本来就存在。下面是剪切并重命名的过程:

Linux指令(3)

  1. 重新认识

(1)Linux 下,一切都是文件,这是我们对文件的重新认知,也是对 Linux 指令等的重新认知。为什么说都是文件呢?

显示器打印信息,可以把显示器理解为具有写方法的文件,键盘是输入的,即读取的,可以把键盘理解为仅具有读方法的文件,而普通文件是读写方法都具有的文件。与之相比,显示器仅具有写方法,键盘仅具有读方法,仅此而已;

FlowGPT
FlowGPT

ChatGPT指令大全

下载

Linux指令(3)

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

echo 指令显示内容到显示器上,但加上箭头和新文件后,不会写入显示器,而是写入指定文件中;

Linux指令(3)

我们可以这样理解输出重定向:将原本应写入显示器文件的内容写入指定文件中,这个过程定义为输出重定向;

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

(1)我们前面介绍的 echo 指令直接将指令后内容显示在屏幕上

Linux指令(3)

echo 后加上文件名会将文件名作为字符串显示在屏幕上,cat 后加上文件名会将文件内容显示在屏幕上,因此尽管后面的内容相同,打印结果有区别,echo 就是无脑地打印任何内容;

(2)之前学习了 ll 指令,打印文件相关内容,但打印的是文件属性,文件包括文件内容和文件属性,文件内容使用 cat 指令打印,文件属性使用 ll 指令打印;

(3)输出重定向中的 >test.txt,即大于号加上文件名,会删除文件内容,即清空文件内容;

Linux指令(3)

(4)文件中已有内容的情况下,多次使用 echo ***** > 文件名 写入内容时,每次输入都会覆盖原内容;

(5)如果不想每次输入内容时覆盖原内容怎么办?之前使用单个大于号向文件写入内容会覆盖原文件内容,使用两个大于号可以不覆盖原文件内容进行写入;

Linux指令(3)

这种方式称为追加重定向,即在原内容基础上追加新内容,echo 每次追加时都在不同行(通过上述实例可以观察到),可以将 echo 换成 printf,这样内容会在同一行显示,而非自动换行;

  1. 三大重定向

(1)我们已经展示了输入重定向和追加重定向,第一个是简单地向文件输入数据,但每次输入都会覆盖之前数据,为此我们学习了追加重定向指令,可以在不覆盖原内容的基础上输入新内容;

(2)除了输入重定向和追加重定向,还有输出重定向,与 cat 指令有关,简单介绍如下:

我们可以自己尝试,仅使用 cat 指令,不添加任何内容,输入什么,显示器上就会打印什么,而且不会停止,可以使用 Ctrl+D 组合键停止输入过程;

Linux指令(3)

(3)我们可以使用 cat

(4)新的理解

使用 echo "hello world" >> test.txt 向文件写入内容时,如果文件不存在,系统会自动创建文件,我们可以不使用 touch 指令创建文件,而是选择这种方式创建文件;

  1. cat 指令

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

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

Linux指令(3)

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

Linux指令(3)

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

Linux指令(3)

  1. more 命令和 less 命令

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

(2)less 指令和 more 指令用法基本相同,但可以向上翻阅,使用键盘上的向上键和向下键,比 more 好那么一点点。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

216

2023.10.12

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1561

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

241

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

128

2025.10.17

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

76

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

303

2023.11.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

738

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.09.04

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 6.8万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.3万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号