《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能有所收获!

相关推荐
月白风清江有声1 小时前
安装mingw 版 cmake
linux
呱呱巨基3 小时前
Linux 基础IO
linux·c++·笔记·学习
QFIUNE3 小时前
CD-HIT 详解:序列去冗余、安装使用与聚类结果解析
linux·服务器·机器学习·数据挖掘·conda·聚类
vortex53 小时前
XFCE 桌面环境组件详解:从面板到剪贴板管理
linux·xfce·桌面环境
勇闯逆流河4 小时前
【Linux】linux进程控制(进程池的详解与实现)
linux·运维·服务器
WJ.Polar5 小时前
Scapy基本应用
linux·运维·网络·python
lljss20205 小时前
1. NameServer 域名服务器---NS
linux·服务器·前端
萧行之6 小时前
Ubuntu+Windows双系统:解决GRUB不显示Windows启动项、一闪而过问题
linux·windows·ubuntu
Yupureki7 小时前
《Linux网络编程》5.HTTPS协议
linux·网络·https