Linux bash 常用操作
bash 快捷键
bash
常用的快捷键总结
删除类快捷键
快捷键 | 功能 | 示例 |
---|---|---|
Ctrl + D |
删除光标右侧的一个字符,等于 Delete 键 |
|
Ctrl + H |
删除光标左侧的一个字符,等于 Backspace 键 |
|
Ctrl + K |
删除从光标位置到行尾的所有字符。 | |
Ctrl + U |
删除从光标位置到行首的所有字符。 | |
Ctrl + W |
删除光标左侧的一个单词(以空格为分隔)。 | |
Alt + D |
删除光标右侧的一个单词。(空格,下划线,点分割) | |
Ctrl + C |
删除整行 |
定位类快捷键
快捷键 | 功能 | 示例 |
---|---|---|
Ctrl + F |
向前挪动一个字符 ,等于 右箭头 -> |
|
Ctrl + B |
向后挪动一个字符 ,等于 左箭头 <- |
|
Alt + F |
向前挪动一个 word | |
Alt + B |
向后挪动一个 word 。 | |
Ctrl + A |
跳到行首。 | |
Ctrl + E |
跳到行尾。 |
Recall 类快捷键
bash
中执行过的命令都保存在了历史记录中,可以通过 history
命令查看。为了快速重新执行或者修改之前的命令并执行,bash
提供了以下快捷键
快捷键 | 功能 | 示例 |
---|---|---|
Ctrl + R |
搜索 history 中 最后一个 匹配的命令 |
|
Alt + P |
搜索 history 中 最常使用 的命令 |
|
!100 |
重新执行 history 中的第 100 号的命令,无确认,会立即执行 |
|
!! |
重新执行 history 中的 最后一个 命令,无确认,会立即执行 |
bash 环境变量
shell
中的环境变量大体可以分为以下几种:
Local Variables
: 当前 Shell 中的 所有的本地变量(Local Variables
) ,要查看所有的 本地变量(Local Variables
),可以使用以下命令:set
declare
set | more
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:globasciiranges:histappend:interactive_comments:progcomp:promptvars:sour
cepath
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
...
Environment Variables
: 本地变量(Local Variables
)的一部分子集(subset
)被稱為 环境变量(Environment Variables
) , 环境变量(Environment Variables
) 会被导入到任何从当前 Shell 启动的新的 Shell,要查看 环境变量(Environment Variables
) ,使用以下命令env
printenv
查看单个变量env
SHELL=/bin/bash
SESSION_MANAGER=local/U-3TSDMAL9IVFAQ:@/tmp/.ICE-unix/3396,unix/U-3TSDMAL9IVFAQ:/tmp/.ICE-unix/3396
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
SSH_AGENT_LAUNCHER=gnome-keyring
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GTK_IM_MODULE=fcitx
LANGUAGE=en
LC_ADDRESS=en_US.UTF-8
GNOME_SHELL_SESSION_MODE=ubuntu
LC_NAME=en_US.UTF-8
SSH_AUTH_SOCK=/run/user/408001114/keyring/ssh
XMODIFIERS=@im=fcitx
DESKTOP_SESSION=ubuntu
LC_MONETARY=en_US.UTF-8
GTK_MODULES=gail:atk-bridge
DBUS_STARTER_BUS_TYPE=session
...echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
bash
常用环境变量 :
环境变量 | 功能 | 示例 |
---|---|---|
PATH |
可执行文件查找路径变量。 查找顺序从左向右,找到即停止 |
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin |
PS1 PS[234] |
PS1 环境变量定义了 bash 中的命令后提示符包含的内容定义中支持的元字符可以查看 man bash 手册 |
PS1="[\u@\h \W]\\$ |
bash 命令查找优先级
bash
中命令执行优先顺序如下:
- Aliases : 由
alias
命令配置的命令别名。 - Shell 预留的关键字 : 主要是 Shell 编程中会用到的关键字,如
do
、while
、case
、else
等。 - Built-in Command : shell 内嵌的命令,如
cd
、echo
等 - Filesystem Command : 环境变量
PATH
中的命令。
要查找命令所在位置,可以使用 type
和 which
命令
type bash |
如果要查找命令所在的所有位置,可以使用
type -a ls
,如上所示,这会显示ls
命令所在的所有位置
bash 环境变量配置优先级
Linux 系统中的多个配置文件中可以配置环境变量,其中有些会针对所有的用户和 shell
生效,有些只会针对特定的用户生效。
以下表格中列出了常用的环境变量的配置文件:
File | Description |
---|---|
/etc/profile |
此配置中的环境变量对所有用户生效,在用户登陆时为其配置环境变量 ,它一般会加载(包含)/etc/profile.d 中的配置 |
/etc/bashrc |
此配置中的环境变量针对所有的 shell 生效,每次打开一个 bash 时会执行 ,一般会设置包括 登陆提示 、 alias 等 |
~/.bash_profile |
此配置中的环境变量对 当前登陆 用户生效,仅在用户登陆时为其配置环境变量 ,一般会加载 ~/.bashrc 文件 |
~/.bashrc |
此配置中的环境变量针对 当前登陆 的用户 bash 生效,并在用户打开每个新的 bash 时执行 |
~/.bash_logout |
此配置中的环境变量对 当前登陆 用户生效,仅在 当前登陆用户登出(logout) 时执行 |