Bash 入门

简介: 本教程介绍Bash基础,涵盖Hello World输出、命令格式、注释用法、Shebang作用及命令类型(内置、外部、函数、别名)。讲解常用命令如echo、ls、cd、cp等及快捷键,助你快速入门Shell编程。

#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

demo.py

#!/usr/bin/env pyhon3
print("hello world")

#命令类型

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

#别名

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 - 向下翻页

Bash 入门》 是转载文章,点击查看原文

相关文章
|
2天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
12天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
6天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
477 201
|
4天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
597 157
|
4天前
|
数据采集 消息中间件 人工智能
跨系统数据搬运的全方位解析,包括定义、痛点、技术、方法及智能体解决方案
跨系统数据搬运打通企业数据孤岛,实现CRM、ERP等系统高效互通。伴随数字化转型,全球市场规模超150亿美元,中国年增速达30%。本文详解其定义、痛点、技术原理、主流方法及智能体新范式,结合实在Agent等案例,揭示从数据割裂到智能流通的实践路径,助力企业降本增效,释放数据价值。
|
10天前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
575 46