Bash-Getting Started
文章目录

CLI-Bash

主要的参考文献是: 命令行的艺术

Basic

Command Feature Comment
ctrl+R 查找以前输入的历史记录 输入关键字之后重复按下 ctrl+R 以查找下一个
ctrl+W 删除当前输入的最后一个单词
ctrl+L 清除屏幕输出
ctrl+U 删除当前输入行的光标之前的所有内容
ctrl+K 删除当前输入行的光标之后的所有内容
Alt+F/B 根据单词前后移动
ctrl+A 移动光标至行首
ctrl+E 移动光标至行尾
history {n} 显示最近的 n 条历史记录 然后再输入 !{行号} 就可以再次执行
$HOME 关于 home 路径的环境变量, 在变量前面添加 $ 符号就可以.
cd - 回到前一个工作目录
Alt+# (Alt+Shift+3) 给当前执行的命令最前端添加一个井号, 当前命令就会被当做注释 这样是为了方便以后查看所有输入的历史
uptime 或 w 查看系统已运行的多长的时间.
nohup 或 disown 让一个后台进程持续运行.
netstat 或 ss 查看网络连接的细节

进程管理

Command Feature Comment
pstree -p 显示进程树
`ps -ef grep java` 显示一个含有 java 的进程信息
`ps -aux grep java` 显示一个含有 java 的进程状态
kill {pid} 停止一个进程
netstat -lntp 或 ss -plat 检查进程正在监听的端口. .

别名

使用 alias 来创建常用命令的快捷形式. 例如: alias ll='ls -latr' 创建了一个新的命令别名 ll.

可以把别名、 shell 选项和常用函数保存在 ~/.bashrc , 具体看下 这篇文章. 这样做的话你就可以在所有 shell 会话中使用你的设定.

把环境变量的设定以及登陆时要执行的命令保存在 ~/.bash_profile . 而对于从图形界面启动的 shell 和 cron 启动的 shell, 则需要单独配置文件.

将这些配置文件同步一下, 以后在不同的地方就可以使用了.

括号扩展

使用括号扩展 ({…}) 来减少输入相似文本, 并自动化文本组合. 这在某些情况下会很有用

例如 :

  • mv foo.{txt,pdf} some-dir (同时移动两个文件)
  • cp somefile{,.bak} (会被扩展成 cp somefile somefile. bak)
  • mkdir -p test-{a,b,c}/subtest-{1,2,3} (会被扩展成所有可能的组合, 并创建一个目录树).

代码块

1
2
3
{
# 在这里写上多段脚本
}

这样的好处是必须要有后括号才能够执行整段脚本, 这样可以防止有部分代码没有完全执行.