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 入门》 是转载文章,点击查看原文

相关文章
|
7月前
|
关系型数据库 MySQL Shell
三、Docker常用命令
把 Docker 玩转,就像一个建筑师,需要掌握两套核心工具:一套用来管理你的“图纸”(镜像),另一套用来管理你用图纸盖好的“房子”(容器)。
723 3
|
数据可视化 Linux 数据库
来了!HelloGitHub 年度热门开源项目
本期为HelloGitHub 年度盘点,为了满足不同读者的需求,作者将内容分为 Top10 和 精选 两部分
|
关系型数据库 MySQL 数据库
MySQL系列(二)之CRUD(增删改查)操作
MySQL系列(二)之CRUD(增删改查)操作
|
云栖大会 开发者
收到阿里云【乘风者计划】博主证书和奖励
收到阿里云【乘风者计划】博主证书和奖励 2023年2月对我来说是一个很好的开端,因为我在1号就收到了阿里云寄给我的【乘风者计划】博主证书和奖励。好兆头啊! 我收到的是我获得的【技术博主】【星级博主】【专家博主】三个的奖品和证书,一快给我寄过来哒!
3304 2
收到阿里云【乘风者计划】博主证书和奖励
|
3月前
|
人工智能 安全 Ubuntu
【保姆级教程】OpenClaw从入门到进阶!零基础部署(阿里云/本地)配置免费大模型API+10大核心Skill+避坑指南
2026年,OpenClaw(曾用名Clawdbot)的Skill生态已进入成熟爆发期,ClawHub平台收录的技能插件超数百款,但新手常陷入“选择焦虑”——不知哪些技能真正实用、如何规避安全风险、怎样按阶段搭建自动化工作流。事实上,新手无需盲目堆砌技能,聚焦10款高实用、低风险、社区强维护的核心插件,即可快速构建AI自动化基础能力,从“基础对话工具”进化为“解决实际问题的辅助助手”。
835 15
|
6月前
|
存储 NoSQL 算法
Docker安装Redis
本文介绍Docker安装Redis单机与集群部署,涵盖配置文件映射、数据卷挂载及3主3从集群搭建。深入解析Redis集群采用的哈希槽分区机制,对比哈希取余与一致性哈希算法,阐述其扩容缩容、数据分布与节点管理原理,助力构建高可用分布式缓存体系。(238字)
128 0
|
3月前
|
人工智能 JavaScript Linux
OpenClaw 小龙虾开口说话!阿里云/Mac/Linux/Win11保姆级部署+NoizAI音色克隆Skill+Coding Plan API配置教程
2026年以来,AI智能体的人格化与实用化成为开源生态的核心发展方向,专注于AI语音的Noiz AI平台开源的全新技能仓库NoizAI/skills,让OpenClaw(小龙虾,又称Clawdbot)这类AI助手实现了“开口说话”的突破,不仅能完成文本转语音、音色克隆等核心语音交互,还能通过模块化技能包实现多场景的语音陪伴。而OpenClaw作为开源AI代理框架,其本地部署的隐私性、多端适配的灵活性与可扩展的技能体系,搭配阿里云百炼Coding Plan免费大模型API,更是让普通开发者和用户能快速打造专属的人格化AI助手。本文将从OpenClaw的阿里云部署、本地MacOS/Linux
1766 9
|
5月前
|
存储 安全 数据库
使用 Docker 部署 Clawdbot(官方推荐方式)
Clawdbot 是一款开源、本地运行的个人AI助手,支持 WhatsApp、Telegram、Slack 等十余种通信渠道,兼容 macOS/iOS/Android,可渲染实时 Canvas 界面。本文提供基于 Docker Compose 的生产级部署指南,涵盖安全配置、持久化、备份、监控等关键运维实践(官方无预构建镜像,需源码本地构建)。
3470 7
|
4月前
|
运维 监控 Linux
Finalshell远程管理软件安装步骤详解(附SSH连接与文件传输教程)
FinalShell是一款专为运维与开发者设计的国产远程管理工具,支持SSH/SFTP连接Linux服务器、VPS及云主机,集成终端、文件拖拽传输、实时资源监控(CPU/内存/磁盘)等功能,界面简洁易用,Win7–Win11全兼容。(239字)
2679 4
|
7月前
|
存储 缓存 Java
重构一个类,JVM竟省下2.9G内存?
通过重构核心类,将 `HashMap<Long, HashSet<String>>` 优化为 `Long2ObjectOpenHashMap<int[]>`,结合数据分布特征与紧凑存储,JVM 堆内存从 3.13GB 降至 211MB,降幅达 94%,验证了高效数据结构在海量场景下的巨大价值。
707 24
重构一个类,JVM竟省下2.9G内存?