-
目录
shell使用技巧—-自动补齐
shell使用技巧—-历史记录
shell使用技巧—-重定向
shell使用技巧—-编辑命令行
shell使用技巧—-执行顺序
Linux中的shell是一个命令解析器,实现用户与操作系统的交互。
- shell是内核的外层保护工具,负责完成用户与内核的交互。
shell使用技巧—-自动补齐
- 输入命令的前一个或者几个字母,按下tab键系统会自动补全命令;当有多个选择时再按一次tab键就会列举出来。(目录和命令都可以补全)
shell使用技巧—-历史记录
- 查看用户的所有历史操作命令:history
- shell命令操作记录默认保存在用户目录的.bash_history文件中。
- history命令选项:-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
- 快捷方式:
- 向上方向键:向后遍历输入命令
- 向下方向键:向前遍历
- “!n”:重复执行第n条历史命令
- “!!”:重复执行上一条命令
- “!字串”:重复执行最后一条以改字符串开头的命令
shell使用技巧—-重定向
- 输出重定向
- 命令>文件:覆盖
- 命令>>文件:追加
- 命令>>文件1 2>>文件2:正确的结果追加到文件1,错误的结果追加到文件2
- 命令&>>文件:无论错误还是正确都保存在文件当中
- 命令>>文件2 >&1:(2 >&1表示错误输出)无论错误还是正确都保存在文件当中
- 输入重定向
stdin | 标准输入 | 从终端设备输入内容 |
stdout | 标准输出 | 将内容输出到终端上 |
stderr | 标准错误输出 | 标准错误 输出到终端上 |
shell使用技巧—-编辑命令行
- 控制命令
ctrl+l:清屏
ctrl+o:执行当前命令并选择上一条命令
ctrl+s:阻止屏幕输出(当前正在执行的命令不在打印输出)
ctrl+q:允许屏幕输出(使用ctrl+s命令后可以用ctrl+q命令恢复)
ctrl+c:终止当前正在执行的命令
ctrl+z:挂起命令,将当前命令转到后台运行,使用fg命令恢复
ctrl+d:退出当前shell
- 编辑命令
- 光标移动
ctrl+a:移到命令行首
ctrl+e:移到命令行尾
ctrl+f:向右移动(前进)一个字符
ctrl+b:向左移动(后退)一个字符
ctrl+xx:在命令行首和光标之间移动
alt+f:向右移动(前进)一个单词
alt+b:向左移动(后腿)一个单词
- 补全、删除、粘贴
tab:自动补全命令
ctrl+u:从光标处删除至命令行首
ctrl+k:从光标处删除至命令行尾
ctrl+w:从光标处删除至字首
ctrl+d:删除光标处(或光标后)的字符(如果光标前后都没有字符,即命令行为空的时候,则会退出shell)
ctrl+h:删除光标前的字符
ctr+y:粘贴至光标后
alt+d:从光标处删除至字尾
alt+backspace:与ctrl+w类似,分隔符有些差别
shell使用技巧—-执行顺序
&:让命令在后台运行
;:组合多个命令(多个命令没有逻辑关系,按照顺序执行)
&&:当前一个命令执行成功后,会执行控制符后面的命令
||:当前一个命令执行失败后,会执行控制符后面的命令
[code]farsight@ubuntu:~$ ls /tmp;ls /root;ls /homeat-spi2 pulse-PKdhtXMmr18n vmware-farsightkeyring-4O7ybN ssh-XKgXedxx2467 vmware-rootpulse-7Xt7EdZwfBDM unity_support_test.1 vmware-root-4290101126pulse-lLyjFC9qkY7A VMwareDnDls: cannot open directory /root: Permission deniedfarsight tftpbootfarsight@ubuntu:~$ ls test1.log && cat test1.logtest1.logens33: error fetching interface information: Device not foundeth0 Link encap:Ethernet HWaddr 00:0c:29:ee:80:93inet6 addr: fe80::20c:29ff:feee:8093/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:57 errors:0 dropped:0 overruns:0 frame:0TX packets:982 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:6777 (6.7 KB) TX bytes:190815 (190.8 KB)Interrupt:19 Base address:0x2000lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:876 errors:0 dropped:0 overruns:0 frame:0TX packets:876 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:71356 (71.3 KB) TX bytes:71356 (71.3 KB)farsight@ubuntu:~$ ls test2.log && cat test1.logls: cannot access test2.log: No such file or directoryfarsight@ubuntu:~$ gedit test1.log || vi test1.logfarsight@ubuntu:~$