Shell 教程


Shell 教程

什么是Shell

Shell是操作系统中的一种命令行解释器,能够直接操作操作系统并执行各种任务。在Linux和Unix等操作系统中都有Shell,比如bash、zsh、ksh等。

基本操作

cd

改变当前工作目录

cd <目录名>

ls

列出当前目录下的文件和目录

ls <参数> <路径>

常用参数:

  • -a:列出当前目录下所有文件(包括隐藏文件)
  • -l:以详细列表方式显示
  • -h:以人类可读方式显示文件大小
  • -R:递归地列出所有子目录和文件

pwd

展示当前工作目录

pwd

mkdir

创建一个空目录

mkdir <目录名>

常用参数:

  • -p:递归创建目录

touch

创建一个空文件

touch <文件名>

cp

复制文件或目录

cp <来源> <目标>

常用参数:

  • -r:递归地复制目录
  • -p:保留文件属性

mv

移动文件或目录、重命名文件或目录

mv <来源> <目标>

rm

删除文件或目录

rm <文件或目录>

常用参数:

  • -r:递归地删除目录
  • -f:强制删除

输出和重定向

echo

输出字符串到标准输出

echo <字符串>

cat

将文件内容输出到标准输出

cat <文件名>

>、»

将标准输出重定向到文件中

<命令> > <文件名>    # 将标准输出覆盖写入到文件中
<命令> >> <文件名>    # 将标准输出追加写入到文件中

|

将一个命令的标准输出作为另一个命令的标准输入

<命令1> | <命令2>     # 将命令1的标准输出作为命令2的标准输入

权限管理

chmod

修改文件或目录的权限

chmod <权限> <文件或目录>

常用权限:

  • r:读权限
  • w:写权限
  • x:执行权限

常用文件类型:

  • -:普通文件
  • d:目录
  • l:符号链接文件

chown

修改文件或目录的所有者和所属组

chown <所有者>:<所属组> <文件或目录>

脚本编写

脚本基础

将需要执行的命令写入一个文字文件中,然后添加可执行权限。最后执行该文件即可。

#!/bin/bash         # 指定解释器

<命令1>
<命令2>
<命令3>
...

变量

定义变量时,需要在变量名前加上 $ 符号

变量名=<值>
echo $变量名        # 输出变量的值

条件判断

if <条件>; then
    <操作1>
    <操作2>
    ...
elif <条件>; then
    <操作3>
    <操作4>
    ...
else
    <操作5>
    <操作6>
    ...
fi

循环

for <变量> in <列表>; do
    <操作1>
    <操作2>
    ...
done

while <条件>; do
    <操作1>
    <操作2>
    ...
done

总结

Shell是一种强大的命令行解释器,可以通过命令行执行各种操作。掌握Shell的基本操作,能够更加高效地管理系统。通过编写脚本,可以自动化执行复杂的任务,提高工作效率。