《Linux系统编程》Linux指令 (二):从零开始理解Linux基础指令

🔥小叶-duck个人主页

❄️个人专栏《Data-Structure-Learning》《C++入门到进阶&自我学习过程记录》
《Linux操作系统从入门到实践》
《算法题讲解指南》--优选算法
《算法题讲解指南》--递归、搜索与回溯算法
《算法题讲解指南》--动态规划算法

未择之路,不须回头
已择之路,纵是荆棘遍野,亦作花海遨游


目录

Linux基本指令

7、which命令

8、alias指令

9、man指令

10、echo指令

[10.1 重定向](#10.1 重定向)

[10.1.1 >(输入重定向)](#10.1.1 >(输入重定向))

[10.1.2 >>(追加重定向)](#10.1.2 >>(追加重定向))

[10.1.3 重定向深度用法](#10.1.3 重定向深度用法)

11、cp指令

12、mv指令

结束语


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 选项 源文件或目录 目标文件或目录

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

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

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

移动单一文件或者文件夹:

文件或者文件夹改名:

结束语

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

相关推荐
A小辣椒3 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒7 小时前
TShark:基础知识
linux
AlfredZhao9 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言