【背景】
bash,即Bourne Again Shell,是sh(Bourne Shell)的增强版本。
【历史命令】
Linux 预设可以记录 1000 条历史命令,保存在 ~/.bash_history 文件中。
!! 表示执行上一条命令
!n 表示执行历史记录中的第 n 条命令
!str 表示执行历史记录中最近一次以 str 开头的命令
【别名命令】
alias command 'instruction -arg target' 使用 command 作为单引号中指令的别名
unalias command 删除别名 command
【作业控制】
Ctrl + z 暂停当前进程
bg 将进程切换到后台运行
fg 将进程切换到前台运行
【变量】
变量名使用字母、数字、下划线构成。
env 列出当前 bash 中的环境变量
set 列出包括用户自定义变量在内的所有变量
PARAM=value 声明一个变量 PARAM 并赋值为 value
unset PARAM 删除变量 PARAM
echo $PARAM 打印变量 PARAM 的值
export PARAM 将变量 PARAM 导出到全局变量列表中
【特殊文件】
.bash_logout 当退出 shell 时(而不是退出 bash)会执行这个文件。可以将负责扫尾的脚本写到这个文件中。
.bashrc 当打开 bash 时(而不是打开 shell)会读取这个文件。可以将自定义的 alias、变量或预处理脚本写到这个文件中。
.bash_profile 当打开 shell 时(而不是打开bash)会且只会执行 1 次这个文件。可以将自定义的 alias、变量或预处理脚本写到这个文件中。
/etc/profile 这个文件中预设了几个重要变量,如 PATH、USER、HOSTNAME 等。
/etc/bashrc 这个文件中主要预设 umask 和命令提示符 PS1。
【注释】
shell 中使用 # 表示注释开始
【常用命令】
cut 拆分并截取字符串中某些字段。截取的内容可以是字符、字符串。
sort 将输入数据进行排序。可以内容去重、反向排序。
wc 统计文档内容。可以统计行数、字数、词数。
uniq 去掉重复的行。也可以统计重复的行并把行数写在前面。
tee 双向输出。将数据流重定向到后接的文件和屏幕。
tr 替换字符。常用来处理文档中的特殊符号,如 DOS 文档中的^M符号。以及用来将文档中的大小写进行切换,tr '[a-z]' '[A-Z]'
split 将一个文档按照大小或行数分割成多个文档。
sleep 使脚本以秒为单位进行休眠
jobs 查看当前进程的任务号。任务号用于 fg 命令。
【常用操作符】
command1;command2 顺序执行 command1 和 command2
command1&&command2 若 command1 执行成功,则着执行 command2,否则不执行 command2
command1||command2 若 command1 执行失败,则执行 command2,否则不执行 command2
bash,即Bourne Again Shell,是sh(Bourne Shell)的增强版本。
【历史命令】
Linux 预设可以记录 1000 条历史命令,保存在 ~/.bash_history 文件中。
!! 表示执行上一条命令
!n 表示执行历史记录中的第 n 条命令
!str 表示执行历史记录中最近一次以 str 开头的命令
【别名命令】
alias command 'instruction -arg target' 使用 command 作为单引号中指令的别名
unalias command 删除别名 command
【作业控制】
Ctrl + z 暂停当前进程
bg 将进程切换到后台运行
fg 将进程切换到前台运行
【变量】
变量名使用字母、数字、下划线构成。
env 列出当前 bash 中的环境变量
set 列出包括用户自定义变量在内的所有变量
PARAM=value 声明一个变量 PARAM 并赋值为 value
unset PARAM 删除变量 PARAM
echo $PARAM 打印变量 PARAM 的值
export PARAM 将变量 PARAM 导出到全局变量列表中
【特殊文件】
.bash_logout 当退出 shell 时(而不是退出 bash)会执行这个文件。可以将负责扫尾的脚本写到这个文件中。
.bashrc 当打开 bash 时(而不是打开 shell)会读取这个文件。可以将自定义的 alias、变量或预处理脚本写到这个文件中。
.bash_profile 当打开 shell 时(而不是打开bash)会且只会执行 1 次这个文件。可以将自定义的 alias、变量或预处理脚本写到这个文件中。
/etc/profile 这个文件中预设了几个重要变量,如 PATH、USER、HOSTNAME 等。
/etc/bashrc 这个文件中主要预设 umask 和命令提示符 PS1。
【注释】
shell 中使用 # 表示注释开始
【常用命令】
cut 拆分并截取字符串中某些字段。截取的内容可以是字符、字符串。
sort 将输入数据进行排序。可以内容去重、反向排序。
wc 统计文档内容。可以统计行数、字数、词数。
uniq 去掉重复的行。也可以统计重复的行并把行数写在前面。
tee 双向输出。将数据流重定向到后接的文件和屏幕。
tr 替换字符。常用来处理文档中的特殊符号,如 DOS 文档中的^M符号。以及用来将文档中的大小写进行切换,tr '[a-z]' '[A-Z]'
split 将一个文档按照大小或行数分割成多个文档。
sleep 使脚本以秒为单位进行休眠
jobs 查看当前进程的任务号。任务号用于 fg 命令。
【常用操作符】
command1;command2 顺序执行 command1 和 command2
command1&&command2 若 command1 执行成功,则着执行 command2,否则不执行 command2
command1||command2 若 command1 执行失败,则执行 command2,否则不执行 command2