【看表情包学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

相关文章
|
3天前
|
Linux 数据处理 C语言
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(下)
18 0
|
1天前
|
存储 运维 安全
Linux命令stat:深入了解文件与文件系统状态
`stat`命令在Linux中用于显示文件和文件系统的详细状态,包括权限、大小、时间戳等。它通过读取inode获取信息,特点是显示全面、易用且支持多种参数,如`-c`自定义格式,`-f`查看文件系统状态,`-L`处理符号链接。例如,`stat example.txt`显示文件详情,`stat -c "%n 的大小是 %s 字节" example.txt`输出文件大小。理解`stat`有助于系统管理和故障排查。
|
3天前
|
Linux C语言 C++
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(上)
【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向(上)
18 0
|
10天前
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
|
4天前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
22 4
Linux抓包命令tcpdump使用技巧大全
|
4天前
|
监控 数据挖掘 Linux
探索Linux中的`sort`命令:数据处理与分析的得力助手
`sort`命令是Linux下文本数据排序利器,用于按字典、数字顺序等对行排序。关键参数有:-n(数字排序),-r(逆序),-u(去重),-k(指定字段),-t(字段分隔符)和-o(输出到文件)。在处理大文件时注意内存使用,确保字符编码一致,灵活运用管道和重定向。通过熟练使用`sort`,能提升数据分析效率。
|
4天前
|
数据挖掘 Linux 数据处理
Linux命令sprof详解
**`sprof`是Linux下的共享库性能分析工具,补充`gprof`,专注分析`.profile`文件以识别性能瓶颈。通过调用次数、执行时间数据优化资源和代码。使用参数如`-F`、`-I`、`-d`进行定制化分析。示例:先设置`LD_PROFILE`环境变量,运行程序生成`.profile`,然后用`sprof`分析。注意需用`-g`编译程序,并在代表性的负载下分析。结合其他工具如`perf`、`valgrind`提升分析效果。**
|
4天前
|
存储 数据挖掘 Linux
Linux命令split详解:大文件处理的得力助手
`split`命令是Linux用于将大文件分割成小文件的工具,常用于日志处理、备份。它支持按行数(-l)、字节数(-b)分割,并能自定义输出文件名(-a, -d)。例如,`split -b 10M largefile.txt smallfile_`会按10MB切割`largefile.txt`,生成`smallfile_`开头的文件。注意确保磁盘空间充足,避免文件名冲突,并备份原始文件。结合其他命令使用,能提高文件管理效率。
|
4天前
|
数据挖掘 大数据 Linux
探索Linux中的snice命令:一个虚构但启发性的数据分析工具
`snice`是一个想象中的Linux命令,用于低优先级地从大数据集中抽样数据。它结合`nice`和`sampling`,支持多种抽样策略,如随机和分层。参数包括指定样本数、策略、输入输出文件和进程优先级。示例:`snice -n 1000 -s random -i large_log.txt -o sample_log.txt`。使用时注意资源管理、数据完整性及权限,并与其它工具结合使用。虽然虚构,但体现了Linux工具在数据分析中的潜力。
|
1天前
|
关系型数据库 MySQL Linux
Linux命令systemctl详解
`systemctl`是Linux系统用于管理systemd服务的核心命令,它与systemd守护进程交互,实现启动、停止、重启服务及查看服务状态等功能。主要参数包括`start`、`stop`、`restart`、`status`、`enable`和`disable`等。例如,启动Apache服务使用`systemctl start httpd.service`,查看服务状态用`systemctl status <service>`。使用时需注意权限,服务名通常以`.service`结尾,但命令中可省略。最佳实践包括利用tab键补全、定期查看服务状态和合理配置服务自启。