为了以后长期的线上测试和服务器的性能考量,要用 Linux 服务器了。昨晚装了个 CentOS 6.9,今天开始学学 Linux 基础,扫扫盲。ok,小本本记 ing...
一、Shell简介
Shell 是用 C 语言编写,与 Unix/Linux 进行交互的工具,是用户与 Unix/Linux 的操作系统内核进行交互的中间层(壳)。
一般有 GUI(Graphical User Interface,用户图形界面)和 CLI(Command User Interface,命令行界面)两种。
二、Bash简介
Bash 是 Linux 标准默认的命令行 Shell。
Bash 的命令提示符有 $ 和 # 两种。$ 表示以普通用户登录、权限有限,# 表示以 root 用户登录、拥有最高权限。
Bash 的命令由命令名、选项和参数构成。
三、Bash的Tab键自动补全
- 自动补全命令
- 自动补全文件名
- 无法自动补全参数
# 补全uname命令
$ unam<Tab>
$ uname # 补全Downloads文件夹名
$ ls Downl<Tab>
$ ls Downloads # 列出una开头的命令
$ una<Tab>
unalias uname # 列出所有命令
$ <Tab><Tab>
Display all 2195 possiblities? (y or n)
四、Bash的历史记录
Bash 会保存本次会话中用户输入的所有命令的历史记录。
- 可以通过键盘的 ↑ 或 ↓ 方向键来回显
- 可以通过 history 命令来回显所有输入历史
五、通过历史记录简化操作
使用 ! 开头的系列命令可以快捷重复历史记录中的命令:
!! 重复前一个命令
!字符 重复前一个以“字符”开头的命令
!num 重复历史输入中序号为num的命令,从1开始
!?abc 重复历史输入中包含“abc”的命令
!-n 重复历史输入中的倒数第n个命令,从1开始
六、历史记录搜索命令
可以通过 Ctrl + R 在历史记录中搜索命令:
(reverse-i-search `'):
七、命令行通配符
* 匹配零个或多个字符
? 匹配任意一个字符
[0-9] 匹配一个数字字符
[abc] 匹配a、b、c中的任意一个字符
[^abc] 匹配不是a或b或c的任意一个字符
八、切换用户
在 CLI 中,通过 su 命令切换用户:
$ su - [<user>] 切换到user用户并使用一个新的运行环境,不写user表示切换到root用户
$ sudo 使用管理员身份运行命令
显示当前用户信息:
$ id
uid=500(mingc) gid=500(mingc) groups=500(mingc) context=unconfined u:unconfined r:unconfined t:s0-s0.c1023
九、Bash作业管理
在后台运行 firefox:
$ firefox &
暂停某个程序:
通过 Ctrl + Z 或发送信号 17 来暂停程序。(Ctrl + C 终止程序)
管理后台作业:
$ jobs 列出当前所有后台运行的作业
$ bg 把某个程序拉到后台执行
$ fg 把某个程序拉到前台执行