Shell 基础

Linux 基础

执行命令的步骤:对于内置命令来说,首先识别命令、bash 直接执行后退出,在命令行上输出结果;对于非内置命令,首先识别命令、创建子进程、bash(作为所有进程的父进程)等待子进程退出。
执行脚本的步骤:对于内置命令来说,控制台 bash、父进程、等待子进程退出(当所有子进程运行时,作为父进程的 bash 会自动回退到后台);对于其他,控制台 fork 出子进程然后 exec 进程程序替换,顺序读取命令行上的参数,子进程执行命令,它的父进程等待子进程的退出。

# 和 $:前者为超级用户权限
/ 和 ~:根目录和用户家目录
快捷操作:高亮选中复制,鼠标中键粘贴。上下键历史命令,Ctrl + r 查找历史命令。Ctrl + l 清屏。结束终端进程 exit 或 Ctrl + d。Ctrl-Alt-F1 到 F6 打开虚拟终端。
链接:软链接 ln -s,硬链接 ln。不能对目录创建硬链接,不能对不同的文件系统创建硬链接,不能对不存在的文件创建硬链接;遍历操作会忽略目录的软链接。
文件操作:mkdir、cp、mv、rm
帮助操作:type、which、help、man、apropos、whatis、info
设置别名:alias 和 unalias
通配符:
在这里插入图片描述
重定向:> 覆盖,>>追加,2> 错误信息重定向,2>&1 将标准错误输出重定向到标准输出(a > b.txt 2>&1),&> 输出和错误均重定向。
cat、command1 | command2、sort、uniq、wc、grep、tee

扩展

波浪号扩展:结果是目录名。
路径名扩展

echo *s
echo /usr/*/share

算术扩展:通过扩展 $(()) 来执行算术运算。
花括号扩展:让bash生成任意字符串的一种扩展功能。

echo Front-{A,B,C}-Back
echo Number_{5..1}
mkdir {2007..2009}-{01..12}

命令替换:子命令先运行,最后获取这个子命令的标准输出用来重组命令行。

echo $(ls)
ls -l $(which cp)

参数扩展:基本形式是 ${parameter}。

双引号:阻止分词,参数扩展、算术扩展和命令替换仍然发生在双引号内。

 ls -l "two words.txt"
 echo "$USER $((2+2)) $(cal)"

单引号:抑制所有扩展。

变量


流程控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值