现在才发现以前写的好多笔记是有错误的。现在全学完了linux,将笔记再加入自己的东西改正并分类整理出来
1. 终端(Terminal)和控制台(Console)是有区别的:
终端本质上是对应着Linux上的/dev/tty设备,linux的多用户登陆就是通过不同的/dev/tty设备完成的,Linux默认提供了6个纯命令行界面的"terminal"(准确的说这里应该是6个virtual consoles)来让用户登录,你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]
进行切换,不过在在线实验环境中可能无法切换,因为特殊功能按键会被你主机系统劫持。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]
来完成
2. Shell
Shell是指“提供给使用者使用界面”的软件(命令解析器),类似于DOS下的command(命令行)和后来的cmd.exe。之所以被称作shell是因为它隐藏了操作系统底层的细节。就像是个Shell(壳),有壳就有核,这里的核就是指的UNIX/Linux内核。同样的Unix/Linux下的图形用户界面GNOME和KDE,有时也被叫做“虚拟shell”或“图形shell”(这里我查了下 Ubuntu下默认是bash,Deepin下默认是zsh)
3. 重要快捷键(只列举我感觉常用的)
按键 | 作用 |
---|---|
Tab |
进行命令补全 |
Ctrl+c |
强行终止当前程序(最常用,你可以放心它并不会使终端退出) |
Ctrl+d |
这个才是强制退出终端的(不用敲exit了) |
Ctrl+s |
暂定当前程序,暂停后按下任意键恢复运行(网络交互有用) |
Ctrl+z |
将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+q |
删除光标所在的整行 |
Ctrl+k |
删除从光标所在位置到行末 |
Alt+Backspace |
向前删除一个单词 |
Shift+PgUp |
将终端显示向上滚动 |
Shift+PgDn |
将终端显示向下滚动(知道了以上这些命令几乎可以放弃鼠标了) |
4. 使用通配符
举例:
$ touch love_{1..10}_linux.txt
shell常用通配符:
通配符 | 含义 |
---|---|
* |
匹配 0 或多个字符 |
? |
匹配任意一个字符 |
[list] |
匹配 list 中的任意单一字符 |
[!list] |
匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] |
匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} |
匹配 sring1 或 string2 (或更多)其一字符串 |
{c1..c2} |
匹配 c1-c2 中全部字符 如{1..10} |