【看表情包学Linux】man 手册 | 复制文件或目录 | 移动文件和重命名操作 | 查看目标文件内容(二)

简介: 本篇将继续讲解 Linux 基本命令行操作,对 Linux 手册、复制文件或目录、移动文件与重命名操作和查看目标文件内容进行讲解。我会手把手去演示操作每一个指令的用法以及常用选项,这些命令不需要可以的去记它,记不得就去翻一翻,用多了自然就会记住滴

Ⅲ. 移动文件与重命名操作


0x00 引入:剪贴功能

如果我们想把一个文件移动的到指定的目录下,在 Windows 里我们都是直接拖动的。


还可以右键文件,使用 "剪贴" 功能然后粘贴到你想要放置它的目录下,


点击粘贴后,原来的位置就没有了,文件就移动过去了。

6f90772f256674efea0357d5e4b27875_f8d8a0cddbf4465ea442b33d1adff490.png



刚才我们说了复制,除了复制外,当然还有剪贴功能。


同样的,在 Linux 下我们用 mv 指令去移动我们的文件:

8d1f93af051ac00b7f44134815a5ece2_852aab343fe5443e835a69067098b5e1.png


 下面我们来正式介绍一下。


0x01 mv 命令

mv [选项] 源文件或目录 目标文件或目录

🔨  功能:① 剪贴文件或目录(可以剪贴普通文件,也可以整体剪贴目录)


                 ② 重命名(类似于Windows中的重命名)


📃  说明:


视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件重命名或将其移至一个新的 目录中。

当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至 目标目录中。

📜  常用选项:


-f  force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。

-i  若目标文件 (destination) 已经存在时,就会询问是否覆盖。

0x02 重命名目录文件

💭 mv 命令除了剪贴功能,还有一个重命名的功能。

$ mv [文件] [新名字]       # 重命名

00abd49dc8647e6e98ef97eb3787e45c_d6b2eed6b6ba4cd18a9ce2b6703c004f.png


0x03 对于删除文件的补充

 Linux 中,一定要注意不要轻易地删除文件,除非你特别的确认。


因为 Linux 没有真正的回收站,不像 Windows 你删了可以去回收站找。


Linux 中你删了就真的删了,但是如果你想 Linux 里也有像 Windows 那样的回收站,


我们通过 shell 脚本把 rm 改造成 mv,这个需要用 vim 去改。


💬 感兴趣可以试试:(将 rm 改造成 mv)


vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
    mv -i ~/.trash/\$@ ./
}
trash() {
    mv $@ ~/.trash/
}

定义两个 Linux 命令,把 rm 命令用 mv 命令重改,做一个回收站。


Ⅳ. 查看目标文件内容


0x00 cat 指令

 我们前面已经用过这个命令了,现在我们来正式讲解一下这个命令。


cat [选项][文件]

🔨  功能:打印文件内容(查看目标文件的内容)


📜  常用选项:


-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

ab9ed9ffb8c8d2cbcf959591c876d04e_68829533d05443fd9de079e2075fd3b2.png


📜 cat -n 选项:打印的内容带上行号


$ cat -n     # 打印,但是带行号

90647297a2e521afb4b3df1f295cfbf4_a24c7cb161ac4d86afd46f5c44e549a1.png


❓ 思考:cat 把文件内容打印出来,有什么用?


cat 有点像C语言中把文件内容全部读出来然后打印到屏幕上,


它比较适合用来查看短的文本或者代码,如果我们只是单纯的想把文件打开看看,


我们就可以 cat 一下这个文件,这就像 Winodws 里双击打开记事本一样。

3443861e9e4d0a37d79582d532d5a017_aa7790a0b5ec47c3a407864b9dae0479.png



0x01 tac 指令

这是一个比较有意思的指令!


cat 倒过来就是 tac,它的功能自然不言而喻,倒着打印文件内容:


$ tac [文件]

d05d0febe9f5899a14cd26423278fbc7_d3d5b79f6e694077a5ad7056763b1117.png

📌 注意事项:tac 不能像 cat 一样 cat -n 带行号打印!

fbdeccacd202e0370c79e55bf57a1fe8_2bc4145a52cc41f48165bd5de8d27b4b.png


0x02 cat 不适合打印长文本

cat 命令适合短文本的打印,那长文本我们可以用什么打印呢?


💭 为了有实际场景方便讲解,我们先伪造出一个十万行的文本:

d130a2dcd615122598f0d4bb29fd941a_47eae84c4d3f4188996f6f05db2220fc.png

(建议直接复制粘贴到XShell里)


cnt=1; while [ $cnt -le 100000 ]; do echo "Hello! $cnt"; let cnt++; done

d6c1208b8ac392e2bda22d1d81a41995_4b43eccf83834eb08ade726c77027cbb.png


打印了十万行 Hello,如果我们想把它存起来,我们可以在末尾加一个 > [文件名]


(直接把下面的命令复制粘贴 shift+insert 进去就行,至于这里的 > 我们下一篇会详细讲解)


$ cnt=1; while [ $cnt -le 100000 ]; do echo "Hello! $cnt"; let cnt++; done > large.txt

482875b1bfc4fd947ad0ca2fa8b95674_ce2d2f7cdb0f4d49a1b3cb1b2a563f6a.png

(我们用 vim 打开看看)


搞定,现在我们就形成了一个十万行的文本了。


💭 像这种大的文件,我们用 cat 显示看看:

92b17f5b764d9c56d606b22015c1ab66_f2061084a0b9424482ff34af82d39491.png


🔺 结论:cat 不适合查看大文本,因为它会刷屏,最后让我们查到的永远都是最后几段。


我们刚才创建的 latge.txt 足足有十万行,把 cat 都吓傻了。


💭 对于这种长文本,我们如果想查看可以使用 more 指令:


$ more large.txt

c02a9be6909f223b83d8e8e4a085f6c1_83eceaed3f6646c999932b40e32cc68d.png


占满一个屏幕后就不往下显示了,如果想继续往下显示,按回车:

e7dcd0834a33043bf885549f6ff4bb4c_97079d3c2a6644948a1850f73f974577.png

当然,more 还有许多选项,我们下面来正式介绍一下。


0x03 more 指令

more [选项][文件]

🔨  功能:类似于cat,但是更适合查看长文本


📜  常用选项:


-n 对输出的所有行编号

按 Q 退出查看

💭 more -n :比如我们想直接查看第 10000 行的内容


$ more 10000 large.txt     # 查看第10000行

fb4924be0516c7703d5400777fe0656f_8038d92cae044bf0a2658c79d8075ada.png


0x04 less 指令

less 更是重量级!


more 仅能向前移动,却不能向后移动,但 less 支持前后翻,我们更推荐使用 less。

less [参数] 文件

🔨  功能:less 与 more 类似,但 使用 less 可以随意浏览文件。


📃  说明:


less 工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极 其强大。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看

但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用 来查看一个文件的内容!

除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

📜  常用选项:


-i    忽略搜索时的大小写

-N  显示每行的行号 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能

n    重复前一个搜索(与 / 或 ? 有关)

N   反向重复前一个搜索(与 / 或 ? 有关)

按 Q 推出查看

38e2f1529944d57c06388ba1c9f7de73_aa4c208bf3674ce99cca57348a70ceea.png


less 可以帮助我们进行查看文本,可以用它来进行日志查看!

cde6569f771b574f5468fe5ec913de3e_447e99c5cc0d444c85c3b276c625248e.png


0x05 head & tail 指令

head [参数]... [文件]...
tail [参数]... [文件]...

📃 指令说明:


head 默认打印前10行内容,tail 默认打印后10行内容。如果想指定行数可以加 -n 选项。

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块。

head 用来显示档案的开头至标准输出中,而 tail 自然就是看档案的结尾。

📜  常用选项:


-n 显示的行数

💭 用法演示:我们拿之前创建的有十万行的 large.txt 去测试效果:

09027a8e3119bd1cd3ec28d59538e949_8bee7efa65e146758536b7f2a5716ff6.png



0x06 管道 |

❓ 思考:如果我想查看 large.txt 文本的  行的内容呢?


① 方法1:临时文件法

ffb37ad52f59ad0771eac7fab689832e_851577fb76e34ae2b4a52c7ee8d5c940.png


② 方法2:走管道


$ head -30020 large.txt | tail -20

81370b240491916b4d82bf3d2bd74eb3_5db891ff9af84a43b446b2264b5f6a3b.png


是不是非常的爽?我们下面就来说说这个 "管道 | " 究竟是什么。


现实生活中的管道,运输石油、天然气的管道,是运送资源的枢纽。


(高中地理:管道运输是五大运输方式之一)


而在计算机世界中,资源是 "数据",可以理解为是计算机互联网世界的石油。


而这个符号 "  |  "  就像是一个管道一样,所以我们称之为管道,我们来看看它的作用:


📚 管道的作用:级联多个命令,来完成流水线式的数据处理工作。


💭 用法演示:我们提取一些 large.txt 文件中的数据

3e5a214bd98d7a8782bcd07f681bde54_c28f1ba8a17f452683b83b062e2031a9.png07c03ae6d77b4b153f6d1ec710be7c14_7a80245f0b5f4021a033b3789a9efdeb.png

相关文章
|
13天前
|
存储 Linux
Linux 目录名称
Linux系统目录结构简介:根目录(/)下包含各类功能目录,如/bin存放用户命令,/etc存储配置文件,/home为用户主目录,/var记录日志等可变数据,/usr存放用户工具,/tmp用于临时文件。各目录分工明确,保障系统有序运行。(238字)
129 5
|
6月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
261 24
|
7月前
|
监控 Linux
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
155 19
|
8月前
|
存储 Linux
linux中的目录操作函数
本文详细介绍了Linux系统编程中常用的目录操作函数,包括创建目录、删除目录、读取目录内容、遍历目录树以及获取和修改目录属性。这些函数是进行文件系统操作的基础,通过示例代码展示了其具体用法。希望本文能帮助您更好地理解和应用这些目录操作函数,提高系统编程的效率和能力。
321 26
|
7月前
|
Linux
Linux目录删除指南:彻底解决“Is a directory”错误
在 Linux 系统中遇到 `cannot remove 'xxx': Is a directory` 错误,是因为删除目录时未使用正确参数。解决方法包括:1) 使用 `rmdir` 删除空目录或 `rm -r` 删除非空目录;2) 检查并调整目录权限(如通过 `sudo` 提权);3) 处理特殊场景,例如文件属性异常、特殊字符或进程占用;4) 替代方法如 `find -delete` 或文件系统修复。操作前建议备份数据,并启用防误删功能(如 `alias rm='rm -i'`)。掌握 `rm` 和 `rmdir` 的区别是关键。
573 1
|
8月前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
89 14
|
10月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
1046 8
|
11月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
843 3
|
11月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
3830 6
|
11月前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
191 1