AI智能
改变未来

shell使用技巧

  • 目录

    shell使用技巧—-自动补齐

    shell使用技巧—-历史记录

    shell使用技巧—-重定向

    shell使用技巧—-编辑命令行

    shell使用技巧—-执行顺序

    Linux中的shell是一个命令解析器,实现用户与操作系统的交互。

  • shell是内核的外层保护工具,负责完成用户与内核的交互。

shell使用技巧—-自动补齐

  • 输入命令的前一个或者几个字母,按下tab键系统会自动补全命令;当有多个选择时再按一次tab键就会列举出来。(目录和命令都可以补全)

shell使用技巧—-历史记录

  • 查看用户的所有历史操作命令:history
  • shell命令操作记录默认保存在用户目录的.bash_history文件中。
  • history命令选项:-c:清空历史命令

       -w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

  1. 快捷方式:
  • 向上方向键:向后遍历输入命令
  • 向下方向键:向前遍历
  • “!n”:重复执行第n条历史命令
  • “!!”:重复执行上一条命令
  • “!字串”:重复执行最后一条以改字符串开头的命令

shell使用技巧—-重定向

  1. 输出重定向
  • 命令>文件:覆盖
  • 命令>>文件:追加
  • 命令>>文件1 2>>文件2:正确的结果追加到文件1,错误的结果追加到文件2
  • 命令&>>文件:无论错误还是正确都保存在文件当中
  • 命令>>文件2 >&1:(2 >&1表示错误输出)无论错误还是正确都保存在文件当中
  1. 输入重定向
stdin 标准输入 从终端设备输入内容
stdout 标准输出 将内容输出到终端上
stderr 标准错误输出 标准错误 输出到终端上

 

 

 

 

shell使用技巧—-编辑命令行

  1. 控制命令

ctrl+l:清屏

ctrl+o:执行当前命令并选择上一条命令

ctrl+s:阻止屏幕输出(当前正在执行的命令不在打印输出)

ctrl+q:允许屏幕输出(使用ctrl+s命令后可以用ctrl+q命令恢复)

ctrl+c:终止当前正在执行的命令

ctrl+z:挂起命令,将当前命令转到后台运行,使用fg命令恢复

ctrl+d:退出当前shell

  1. 编辑命令
  • 光标移动

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:~$

 

 

 

 

 

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » shell使用技巧