【Linux系统】Shell常用语法和命令大全(按使用场景分类)


1. 变量操作

场景语法示例说明
定义变量name="John"定义变量 name,值为 John
使用变量echo $name输出变量 name 的值。
只读变量readonly name将变量 name 设置为只读,不可修改。
删除变量unset name删除变量 name
默认值echo ${name:-"Default"}如果 name 未定义或为空,使用默认值 Default
字符串长度echo ${#name}输出变量 name 的字符串长度。
截取字符串echo ${name:0:2}从变量 name 的第 0 个字符开始,截取 2 个字符。
替换字符串echo ${name/J/j}将变量 name 中第一个 J 替换为 j
全局替换echo ${name//J/j}将变量 name 中所有 J 替换为 j

2. 条件判断

场景语法示例说明
数值比较if [ $a -eq $b ]; then ... fi判断 a 是否等于 b
字符串比较if [ "$str1" = "$str2" ]; then ... fi判断 str1 是否等于 str2
文件存在if [ -f "file.txt" ]; then ... fi判断 file.txt 是否存在且为普通文件。
目录存在if [ -d "dir" ]; then ... fi判断 dir 是否存在且为目录。
文件可读if [ -r "file.txt" ]; then ... fi判断 file.txt 是否可读。
文件可写if [ -w "file.txt" ]; then ... fi判断 file.txt 是否可写。
文件可执行if [ -x "file.txt" ]; then ... fi判断 file.txt 是否可执行。
逻辑与if [ $a -eq 1 ] && [ $b -eq 2 ]; then ... fi判断 a 等于 1 且 b 等于 2。
逻辑或`if [ $a -eq 1 ]

3. 循环控制

场景语法示例说明
for 循环for i in {1..5}; do echo $i; done循环输出 1 到 5。
while 循环while [ $i -lt 5 ]; do echo $i; i=$((i+1)); donei 小于 5 时循环。
until 循环until [ $i -ge 5 ]; do echo $i; i=$((i+1)); done直到 i 大于等于 5 时停止循环。
无限循环while true; do ... done无限循环,需手动退出。
跳出循环break跳出当前循环。
跳过本次循环continue跳过本次循环,进入下一次循环。

4. 函数定义

场景语法示例说明
定义函数myfunc() { echo "Hello"; }定义一个名为 myfunc 的函数。
调用函数myfunc调用函数 myfunc
函数参数myfunc() { echo $1; }获取函数的第一个参数。
返回值return 0返回 0 表示成功,非 0 表示失败。

5. 文件操作

场景语法示例说明
创建文件touch file.txt创建一个空文件 file.txt
创建目录mkdir dir创建一个目录 dir
删除文件rm file.txt删除文件 file.txt
删除目录rm -r dir递归删除目录 dir
复制文件cp file1.txt file2.txtfile1.txt 复制为 file2.txt
移动文件mv file1.txt dir/file1.txt 移动到 dir/ 目录下。
重命名文件mv old.txt new.txtold.txt 重命名为 new.txt
查看文件内容cat file.txt输出文件 file.txt 的内容。
分页查看文件less file.txt分页查看文件 file.txt
查找文件find /path -name "*.txt"/path 目录下查找所有 .txt 文件。

6. 输入输出

场景语法示例说明
输出到终端echo "Hello"输出字符串 Hello
读取用户输入read name读取用户输入并存储到变量 name 中。
输出到文件echo "Hello" > file.txtHello 输出到 file.txt(覆盖)。
追加到文件echo "Hello" >> file.txtHello 追加到 file.txt
重定向输入cat < file.txtfile.txt 的内容作为输入。

7. 进程管理

场景语法示例说明
查看进程ps aux查看所有进程。
后台运行sleep 10 &sleep 10 放到后台运行。
结束进程kill 1234结束 PID 为 1234 的进程。
强制结束进程kill -9 1234强制结束 PID 为 1234 的进程。
查看进程树pstree以树状结构显示进程。

8. 网络操作

场景语法示例说明
测试网络连通性ping google.com测试与 google.com 的网络连通性。
下载文件wget http://example.com/file下载文件到当前目录。
发送 HTTP 请求curl http://example.com发送 HTTP 请求并输出响应。
查看网络接口ifconfig查看网络接口信息。

9. 其他常用命令

场景语法示例说明
查看命令帮助man ls查看 ls 命令的帮助文档。
查看命令路径which ls查看 ls 命令的路径。
查看系统信息uname -a查看系统信息。
查看磁盘使用df -h查看磁盘使用情况。
查看内存使用free -h查看内存使用情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值