
🔥小叶-duck:个人主页
❄️个人专栏:《Data-Structure-Learning》《C++入门到进阶&自我学习过程记录》
《Linux操作系统从入门到实践》
《算法题讲解指南》--优选算法
《算法题讲解指南》--递归、搜索与回溯算法
《算法题讲解指南》--动态规划算法
✨未择之路,不须回头
已择之路,纵是荆棘遍野,亦作花海遨游
目录
[10.1 重定向](#10.1 重定向)
[10.1.1 >(输入重定向)](#10.1.1 >(输入重定向))
[10.1.2 >>(追加重定向)](#10.1.2 >>(追加重定向))
[10.1.3 重定向深度用法](#10.1.3 重定向深度用法)
Linux基本指令
7、which命令
功能:搜索指定系统目录,显示指令对应的可执行文件路径。
实际案例:

通过实操案例我们会发现对于一些指令而言,which只会显示其所在文件路径(如pwd),但对于有一些指令而言还会显示一个 alias 的东西(如ls、ll),那 alias 是什么呢?下面就为大家进行讲解。
8、alias指令
语法:alias xxxx='命令'
功能:设置命令的别名
完整语法:
- 设置:alias 别名='命令 [选项]'(等号前后无空格)
- 查看:alias(列出所有别名)
- 删除:unalias 别名
- 取消所有别名:unalias -a
实际案例

这样我们就会发现上面的 which 指令中,ls 和 ll 都有 alias,所以我们不难知道:ls 和 ll 其实是指令的别名 ,而 ls 对应的是ls --color=auto 的别名,ll 对应的是ls -l --color=auto的别名。

这也解释了为什么上一篇文章我们讲解 ls -l 的时候说过可以不用敲这个指令,直接 ll 就可以,就是因为 ll 就是 ls -l 的别名。
9、man指令
Linux的命令有很多参数,我们不可能全记住,可以通过查看手册获取帮助
语法:man[选项]命令
常用选项
- -k:根据关键字搜索联机帮助
- num:只在第num章节查找
- -a:将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用-a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
man手册分为9章(不同系统可能会有差别)
- 1是普通的命令
- 2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
- 3是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
- 4略
- 5是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
- 6是给游戏留的,由各个游戏自己定义
- 7是附件还有一些变量,比如像environ这种全局变量在这里就有说明
- 8是系统管理用的命令,这些命令只能由root使用,如ifconfig
- 9略
实际案例:


10、echo指令
功能:打印文本 / 变量,配合重定向创建 / 追加文件(含设备文件)。

10.1 重定向
10.1.1 >(输入重定向)
(1)文件存在,先清空,再写入(覆盖,类似于"w",只写);
(2)(当前路径)文件不存在,新建文件。
实际案例:


10.1.2 >>(追加重定向)
实际案例:

10.1.3 重定向深度用法
核心场景 :控制不同文件(普通文件 / 设备文件)的数据流。
实际案例:
bash
# 1. 合并多个文件到新文件
[root@VM-4-4-centos ~]$ cat a.txt b.txt > c.txt # a和b内容合并到c
# 2. 输入重定向(<):从文件读入,替代键盘
[root@VM-4-4-centos ~]$ cat < untestd.txt > tested.txt
# 3. 删除文件内容
[root@VM-4-4-centos lesson3]# cat mytest.txt
hello Lotso tech
[root@VM-4-4-centos lesson3]# >mytest.txt
[root@VM-4-4-centos lesson3]# cat mytest.txt
[root@VM-4-4-centos lesson3]#
11、cp指令
功能 :复制文件或目录,源文件保留(类似 "复制粘贴")
语法:cp [选项] 源代码或目录 目标文件或目录
说明:
- cp指令用于复制文件或目录
- 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中
常用选项:
- -f 强行复制文件或目录,不论文件或者目录是否已经存在
- -i 覆盖文件之前先询问用户
- -r 递归处理,将指定目录文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律按普通文件处理
实际案例:
拷贝单一文件或目录:


拷贝一整个目录包括其中的所有文件:

12、mv指令
mv命令是move的缩写,可以用来移动文件或者将文件改名
语法:mv [选项] [源文件或目录] [目标文件或目录]
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i:若目标文件(destination)已经存在时,就会询问是否覆盖!
移动单一文件或者文件夹:

文件或者文件夹改名:

结束语
**掌握这些指令的选项和用法,结合 "一切皆文件" 的思想,你会发现 Linux 操作的逻辑一致性 ------ 无论是操作普通文件、终端设备(/dev/pts),还是硬件(/dev/sda),都能通过统一的指令和重定向实现。多动手练习,很快就能熟练应对日常操作。**希望对大家学习Linux能有所收获!