Linux中符号命令详解

Linux中符号命令详解

Linux中的符号是系统操作和命令行交互的核心语言,不同符号在文件系统、命令行、正则表达式、权限管理、环境变量等场景中具有不同含义

一、文件系统路径符号

用于表示文件或目录的位置,是Linux中最基础的符号集。

符号 含义 示例
/ 根目录(文件系统的顶级目录) cd / → 进入根目录;/etc/passwd → 根目录下的etc目录中的passwd文件
~ 当前用户的家目录 cd ~ → 回到家目录(如/home/user);~/.bashrc → 家目录下的.bashrc文件
. 当前目录 ./script.sh → 运行当前目录下的script.sh脚本;ls . → 列出当前目录内容
.. 父目录(当前目录的上一级目录) cd .. → 进入父目录;ls ../docs → 列出父目录下的docs目录内容
- 前一个工作目录 cd - → 切换到前一个工作目录(如从/home/user/etc,再cd -回到/home/user

二、命令行操作符号

用于控制命令的输入、输出、流程和后台执行,是命令行高效操作的关键。

1. 管道与重定向

符号 含义 示例
` ` 管道:将前一个命令的输出 作为后一个命令的输入
> 覆盖重定向:将命令输出覆盖写入文件(文件不存在则创建) echo "Hello Linux" > test.txt → 将"Hello Linux"写入test.txt(覆盖原有内容)
>> 追加重定向:将命令输出追加写入文件(文件不存在则创建) echo "More content" >> test.txt → 向test.txt追加一行内容
< 输入重定向:将文件内容作为命令的输入 sort < numbers.txt → 对numbers.txt中的内容排序(等价于sort numbers.txt);mysql -u root -p < db.sql → 执行db.sql中的SQL命令

2. 后台执行与流程控制

符号 含义 示例
& 后台运行:命令在后台执行,不阻塞终端 nohup ./server.sh &后台运行server.sh(nohup防止终端关闭后进程终止);sleep 10 & → 后台睡眠10秒
&& 逻辑与:前一个命令成功(退出状态0)才执行后一个命令 make && make install → 编译成功后才执行安装;ping -c 1 127.0.0.1 && echo "OK" → ping通本地后输出OK
` `

三、正则表达式与通配符

1. 通配符(Shell层面,用于匹配文件/目录名)

符号 含义 示例
* 匹配任意数量的字符(包括0个) ls *.txt → 列出所有.txt结尾的文件;rm log* → 删除所有以log开头的文件
? 匹配单个字符 ls ?.txt → 列出所有文件名长度为1且以.txt结尾的文件(如a.txt、1.txt);ls file?.log → 匹配file1.log、fileA.log等
[] 匹配字符集中的任意一个字符 ls [0-9].txt → 列出以数字开头的.txt文件(如1.txt、2.txt);ls [a-zA-Z].log → 匹配以字母开头的.log文件
[^] 匹配不在字符集中的任意一个字符 ls [^0-9].txt → 列出不以数字开头的.txt文件;ls [^a-zA-Z].log → 匹配不以字母开头的.log文件

2. 正则表达式(命令层面,如grep、sed、awk)

符号 含义 示例
* 匹配前一个字符0次或多次 grep "a*" file.txt → 匹配包含0个或多个a的行(如空行、a、aa、aaa等);sed 's/ab*//' file.txt → 删除ab、abb、abbb等
? 匹配前一个字符0次或1次(需开启扩展正则,如grep -E) grep -E "a?" file.txt → 匹配包含0个或1个a的行;sed -E 's/ab?//' file.txt → 删除a或ab
+ 匹配前一个字符1次或多次(需扩展正则) grep -E "a+" file.txt → 匹配包含至少1个a的行;sed -E 's/ab+//' file.txt → 删除ab、abb、abbb等
[] 匹配字符集中的任意一个字符 grep "[0-9]" file.txt → 匹配包含数字的行;sed 's/[a-z]//g' file.txt → 删除所有小写字母
[^] 匹配不在字符集中的任意一个字符 grep "[^0-9]" file.txt → 匹配包含非数字的行;sed 's/[^a-zA-Z]//g' file.txt → 删除所有非字母字符
^ 匹配行首 grep "^#" file.txt → 匹配以#开头的行(注释行);sed 's/^/-- /' file.txt → 每行开头添加--
$ 匹配行尾 grep "$" file.txt → 匹配空行;sed 's/$/--/' file.txt → 每行结尾添加--
\ 转义字符:将特殊字符视为普通字符 grep "\." file.txt → 匹配包含.的行(.在正则中是匹配任意字符,需转义);echo "\*" → 输出*

四、权限与文件属性符号

Linux文件/目录的权限通过ls -l查看,如-rw-r--r--,其中符号含义如下:

符号 含义 示例
- 普通文件 -rw-r--r-- → 普通文件
d 目录 drwxr-xr-x → 目录
l 符号链接(软链接) lrwxrwxrwx → 符号链接
b 块设备文件(如硬盘) brw-rw---- → 块设备
c 字符设备文件(如键盘、终端) crw-rw-r-- → 字符设备
r 读权限 -r--r--r-- → 所有用户都有读权限
w 写权限 -rw-rw-rw- → 所有用户都有写权限
x 执行权限(文件)/进入权限(目录) -rwxr-xr-x → 所有者有读写执行权限,组和其他用户有读执行权限
s SetUID/SetGID权限(文件执行时继承所有者/组的权限) -rwsr-xr-x → SetUID权限(如passwd命令);drwxr-sr-x → SetGID权限(目录)
t 粘滞位(目录中只有所有者能删除自己的文件) drwxrwxrwt → /tmp目录(粘滞位,防止其他用户删除文件)

五、环境变量与特殊变量符号

符号 含义 示例
$ 取环境变量的值 echo $HOME → 输出当前用户的家目录(如/home/user);echo $PATH → 输出环境变量PATH(命令搜索路径)
${} 明确变量边界(避免歧义) echo ${HOME}_dir → 输出/home/user_dir(若不用,则'echo,则'echo HOME_dir会寻找HOME_dir变量,可能为空);echo ${PATH##*/}` → 取PATH中最后一个目录(参数扩展)
$? 上一个命令的退出状态(0=成功,非0=失败) ls non_existent_file; echo $? → 输出2(ls失败);echo "test"; echo $? → 输出0(成功)
$$ 当前进程的进程ID(PID) echo $$ → 输出当前shell的PID(如1234);kill $$ → 终止当前shell
$! 最后一个后台进程的PID sleep 10 &; echo $! → 输出sleep进程的PID(如5678);kill $! → 终止最后一个后台进程
$0 当前脚本的文件名 echo $0 → 若在script.sh中执行,输出script.sh
$1-$9 脚本或函数的位置参数 ./script.sh arg1 arg2; echo $1 → 输出arg1echo $2 → 输出arg2

六、其他常用符号

符号 含义 示例
# 注释(Shell脚本中);root用户提示符 # 这是一个注释 → 脚本中的注释;root@localhost ~# → root用户的命令提示符
! 历史命令扩展 !ls → 执行最后一次ls命令;!100 → 执行历史中第100条命令;!mkdir → 执行最后一次mkdir命令
@ 远程用户/主机分隔符 scp user@192.168.1.100:file.txt ./ → 从远程主机192.168.1.100的user用户家目录复制file.txt到本地
% 作业控制(后台进程) jobs → 列出后台作业(如+ Running sleep 10 &);fg %1 → 将作业1切换到前台
相关推荐
hweiyu001 小时前
Linux 命令:echo
linux·运维
JZC_xiaozhong2 小时前
什么是跨系统流程自动化?
大数据·运维·bpm·数据集成与应用集成·业务流程管理
zl_dfq2 小时前
Linux 之 【多线程】(线程池、单例模式)
linux
Ha_To2 小时前
2026.2.3 Dockfile创建镜像
linux·运维·服务器
猫头虎2 小时前
OpenClaw相关的开源AI项目汇总大全:本文涵盖近期所有OpenClaw相关的GitHub高星star热门项目
运维·人工智能·macos·docker·容器·开源·github
筵陌2 小时前
Linux网络传输层协议TCP
linux·网络·tcp/ip
HIT_Weston2 小时前
132、【Ubuntu】【Hugo】搜索功能异常(问题解决)(二)
linux·运维·ubuntu
未来之窗软件服务2 小时前
服务器运维(三十八)日服务器php日志分析工具—东方仙盟
运维·服务器·php·服务器运维·仙盟创梦ide·东方仙盟
a1117762 小时前
Live2D 虚拟主播软件(开源Python)
java·linux·运维