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

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

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

Ⅰ. man 手册


0x00 引入:Linux 里也能查文档?

在写 C/C++ 的时候记不得某个函数,我们可以去查手册。


Linux 的命令有很多参数,我们不可能全记住,但是我们可以通过查看联机手册获取帮助。


举个简单的例子,我们想搜一下 printf ,但是又不想脱离 Linux 去搜,


这时我们可以去问系统的那个男人 —— man


$ man printf

9cd4b823e2b763218bba4ff7061b6842_f6fd7d4478e248aaa24b6d783e77aecb.png


我们发现,printf 在这里竟然是一个命令?!是的,你没有看错。(其实也是个命令,后期讲)


man 不仅可以用来查命令,还可以用来查C语言函数。


因为 Linux 这款操作系统本身是由C语言写的,所以它的 man 手册默认是带C语言的标准手册的。


所以如果想查C语言的直接 man 就可以了,想查其他语言你也可以选择安装对应的语言手册。


但是我们一般不用在上面安装,直接百度搜对应语言的在线手册看会更好,看的也舒服。


实际上,man 手册更多的是用来查指令和系统调用接口的。


所以,如果我们想查某个不懂的命令我们只需要 man 一下,问问那个男人就可以了。


0x01 查看有哪些手册

我们现在再给大家看几个查询的案例:


$ man 3 printf
$ man 2 fork
$ man 1 printf

❓ 思考:man 后面带这些数字干什么?如果我不知道 man 有那些手册可以查看呢?


💡 我们可以问男人的男人 —— man man,查看一下标准手册给我们提供的手册:


$ man man

b1440e701cdeda62ed126a2d118fad88_01fa0198290841bda93eb34193403d80.png


而这些数字我们也可以从中看到它们对应的意思:

0291e00ff1421da55c86532515d8e4f9_4bb884fc5df5443399f36ad994877a8a.png


是查命令, 是系统调用, 是C语言相关的接口。我们最常用的就是这三本手册。


所以我们给 man 标上不同的数字,以用来查不同的手册。


0x02 手册的安装

此外,在座的各位如果是云服务器,云服务器是一个线上的环境。


即使是没有 man 手册,这也很正常。就比如说现在似乎只有C语言的手册,其他好像不支持。


💭 你可以试试看能不能查到 fork 指令的用法:


$ man 2 fork

如果查不到,我们就需要安装一下 man 了(需切换至 root 用户):


# yum install -y man-pages

206118a581666e523de5c6e8d0b8ecd0_d96d7ea31624470098924a5e8a7484ea.png


装完之后,再查询 fork 就可以查到了:

79d4fa43f53c8f8d70165f1deba8de53_cde1f9a594ac45509111759b6218159d.png


诶,怎么都是英文啊?Linux 手册可以汉化吗?


当然可以,有时间可以自己去试一试,懒的话直接看其实也没关系,也是一个锻炼。


(man 手册我们会经常用,不用担心,下面我再正式介绍一下 man 指令的用法和常用选项)


0x03 man 指令

man [选项] 命令

📜 常用选项:


-k 根据关键字搜索联机帮助

num 只在第 num 章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

man 手册分为8章

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)

3 是库函数,如printf,fread

4 是特殊文件,也就是 /dev 下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig。

🔺 总结:


① 对于没有 man 手册的问题:root 下输入 yum install -y man-pages 。


② man 手册可以查看不同的手册,手册编号 ,默认是 。


③ 如果你不知道有啥手册可以查,输入 man man 查看。


Ⅱ. 复制文件或目录


0x00 引入:如何拷贝一个文件?

💭 这里我将深入浅出的去讲,为了方便讲解,我们先做出如下操作:

8e197092dafe2c56bdc6aec8d52b3d10_398057111eb943529f18efb422051c0e.png

nano 是 Linux 的文本编辑器,而 cat 就是把文本的内容显示出来。


我们现在试着用 cp 指令拷贝一份 file-bak.txt 出来:


$ cp file.txt file-bak.txt

3a83041b04978035da9906e60918fa30_5e2ad3da1ddb4c78b5c3707f0789b8e1.png

这就是 cp 指令的拷贝功能,我们下面就赶快来介绍一下这个命令。


0x01 cp 指令

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

🔨  功能:复制文件或目录(类似于Windows中的复制粘贴功能)


📃  说明:cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。


📜  常用选项:


-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在。

-i 或 --interactive 覆盖文件之前先询问用户。

-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录符号链接,则一律视为普通文件处理。

-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理。

我们不仅能拷贝,还可以指定路径去拷贝。


💭 拷贝一份 file.txt 到 dir 目录下:


$ cp file.txt ../foxny/dir/file.txt-1

29d639a4bbc90b3ac3b338e47e3bd821_e6015bf4b62d494a947058924c59efd6.png

📌 注意事项:如果在拷贝的时候,要拷贝的文件是拷贝在当前路径下,两个文件的名称不能一样。如果拷贝到不同路径下,可以一样。


0x02 cp -r 选项

默认情况下 cp 是不允许拷贝目录的,如果需要我们应该要携带 -r 选项。


$ cp-r [源目录] [目标目录]    # 拷贝目录

2686bc1b5005c3b3a30d05eb6c401082_40c52d640ac14cdb84a81d55c8f98cca.png


此外,加上 -f 可以强制拷贝,不询问你是否要拷贝。


$ cp -rf [源目录] [目标目录]    # 强制拷贝目录

68a46f3a77a680db06010b9fdf634098_56a9e53c6d7547849df7a3f22e26bcf5.png


(如果有些文件不是你的,它会有询问,这个我们后期讲权限的时候再说)

相关文章
|
13天前
|
存储 Linux
Linux 目录名称
Linux系统目录结构简介:根目录(/)下包含各类功能目录,如/bin存放用户命令,/etc存储配置文件,/home为用户主目录,/var记录日志等可变数据,/usr存放用户工具,/tmp用于临时文件。各目录分工明确,保障系统有序运行。(238字)
129 5
|
5月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
3月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
524 13
|
4月前
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
155 16
|
4月前
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
87 4
|
5月前
|
Linux
【Linux】 Linux文件I/O常见操作技巧
以上就是Linux文件I/O操作的一些技巧,接纳它们,让它们成为你在Linux世界中的得力伙伴,工作会变得轻松许多。不过记住,技巧的运用也需要根据实际情况灵活掌握,毕竟,最适合的才是最好的。
154 28
|
5月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
696 12
|
6月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
261 24
|
6月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
371 19
|
4月前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。