5572

28 分钟

#Bash 入门

#Hello World

Bash 的内置命令 echo 可以打印文本。例如:

$ echo Hello World Hello World

echo 命令的 -e 选项激活转义字符的解释。例如:

$ echo -e "Hello \n World" Hello World

#命令格式

Bash 命令基本遵循以下格式:

命令 参数1 参数2 参数3 ...

例如在 echo Hello World 中,echo 是命令,Hello 是参数1,World 是参数2。

而在 echo -e "Hello \n World" 中,echo 是命令,-e 是参数1,"Hello \n World" 是参数2。

#注释

注释(comment)是写在程序里的说明性文字,不会被执行。

Bash 中的注释使用 # 表示,例如:

$ # 这是注释,不会执行 $ echo Hello World # 这也是注释 Hello World
  • 只会打印 Hello World 不会打印 # 这也是注释

如果要让 # 表示该字符本身(而不是注释),可以使用 \ 转义或者使用引号包裹。

例如:

$ \# 这不是注释,会执行 bash: #: No such file or directory $ echo Hello World \# 这不是注释 Hello World # 这不是注释 $ echo "Hello World # 这也不是注释" Hello World # 这也不是注释

##!Shebang

#!(读作 shebang)是 Bash 中的一个特殊标记,写在脚本文件的开头,用来表示该文怎样运行。

例如:

demo.sh

#!/usr/bin/bash echo Hello World
  • #!/usr/bin/bash 表示通过 /usr/bin/bash demo.sh 命令解释执行

demo.py

#!/usr/bin/env pyhon3 print("hello world")
  • #!/usr/bin/env pyhon3 表示通过 /usr/bin/env pyhon3 demo.py 命令解释执行

#命令类型

Bash 中的命令主要分为四类:

  1. 内置命令
  2. 可执行程序(外部命令)
  3. 函数
  4. 别名

可以通过 type 查看命令的类型。例如:

$ type type type is a shell builtin $ type echo echo is a shell builtin $ type ls ls is aliased to 'ls --color=auto' $ type cat cat is /usr/bin/cat
  • type 本身是一个内置命令
  • echo 是内置命令
  • lsls --color=auto 的别名
  • cat 是可执行程序,路径为 /usr/bin/cat

#别名

alias 命令可以查看和定义别名,unalias 命令可以删除别名。格式为:

alias # 查看所有别名 alias 别名 # 查看指定别名 alias 别名='命令' # 定义别名 unalias # 删除别名

例如:

$ alias greet='echo Hello' # 定义别名 $ alias greet # 查看别名 alias greet='echo Hello' $ greet # 执行别名 Hello $ unalias greet # 删除别名 $ alias greet # 查看别名 -bash: alias: greet: not found

在命令前加上反斜杠(\)可以抑制别名。例如:

$ type -a ls                    # 查看所有可用的 ls 命令
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls
$ ls                            # 实际执行 ls --color=auto
1.txt 2.txt dir1 dir2
$ \ls                           # 实际执行 /usr/bin/ls
1.txt 2.txt dir1 dir2

#基础命令

命令说明示例
echo输出文字或变量值echo "Hello Bash"
echo $HOME
pwd显示当前工作目录路径pwd/home/user
ls列出目录内容ls -l(详细格式)
ls -a(显示隐藏文件)
cd切换工作目录cd /etc(进入 /etc)
cd ..(返回上一级)
mkdir创建目录mkdir new_folder
rmdir删除空目录rmdir old_folder
cp复制文件或目录cp file1.txt file2.txt
cp -r dir1 dir2(递归复制目录)
mv移动或重命名文件mv old.txt new.txt(重命名)
mv file.txt /tmp/(移动)
rm删除文件或目录rm file.txt
rm -D dir/(删除空目录)
rm -r dir/(递归删除目录)
rm -rf *(强制删除全部)
touch创建空文件或更新时间戳touch new.txt
cat查看文件内容cat file.txt
more / less分页查看文件less large.txt(可上下翻页)
head查看文件前几行head -n 10 file.txt
tail查看文件末几行tail -n 20 file.txt
tail -f log.txt(实时查看)

#常用快捷键

  • Ctrl + C - 中断程序的运行
  • Ctrl + Z - 暂停程序的运行,可以通过 fg 命令恢复运行
  • Ctrl + D - 退出 Bash
  • Ctrl + A - 光标移动到行首
  • Ctrl + E - 光标移动到行尾
  • Ctrl + U - 删除从光标位置到行首的内容
  • Ctrl + K - 删除从光标位置到行尾的内容
  • Shift + PageUp - 向上翻页
  • Shift + PageDown - 向下翻页

创建于 2025/9/7

更新于 2025/11/15