zoukankan      html  css  js  c++  java
  • Shell命令行操作

    1.1 shell提示符

    [me@linuxbox ~]$

    如果最后一个字符是"#",表示当前终端会话有超级用户权限。使用root用户登录或者使用能提供超级用户权限的终端能获得该权限。

    提示符由名为PS1(prompt string 1)的环境变量定义。

    1.2 自动补齐

    自动补齐可以应用于路径名、变量(以$开头的单词)、用户名(以~开头)、命令(单词时命令行第一个单词)、主机名(单词以@开头,只对/etc/hosts下的主机名有效)

    命令 作用
    Alt-$ 显示所有可能项。等价于按两次Tab
    Alt-* 插入所有可能匹配项

    1.2 命令行历史

    history命令直接输出历史记录,默认500个。

    历史记录命令

    命令 作用
    Ctrl-P 移动到前一条历史记录,等于上箭头
    Ctrl-N 移动到后一条历史记录,等于下箭头
    Alt-< 移动到历史记录开始处
    Alt-> 移动到历史记录末尾处,即当前命令行
    Alt-P 非递增搜索。输入搜索串后键入Enter才开始搜索
    Alt-N 向前非递增搜索
    Ctrl-O 执行历史记录项,执行完后跳到下一项。用于执行一系列历史记录
    Ctrl-R 逆向递增搜索历史记录;搜索时查找下一个匹配项
    Ctrl-J 把搜索内容复制到当前命令行(按左右方向键也能复制,若按Enter会立即执行命令)
    Ctrl-G或C 退出搜索
    !! 重复最后一个命令,等价于上箭头+Enter
    !number 执行历史记录第number行的命令
    ! string 执行最近的以string开头的历史记录
    !?string 执行最近的包含string的历史记录

    1.3 复制粘贴

    *不能用Ctrl-c 和Ctrl-v

    复制 粘贴
    鼠标左键选择文本(或双击选择单词) 鼠标中键
    Ctrl-Shift-c Ctrl-Shift-v
    Ctrl-Insert Shift-Insert

    1.4 虚拟终端

    Ctrl-Alt-F1 ~ F6:由图形桌面系统切换到1~6号虚拟终端

    Alt-F1 ~ F6:在1~6号虚拟终端之间切换

    Alt-F7:由虚拟终端回到图形桌面系统

    1.5 通配符

    称为wildcards或globbing,用于匹配一组文件名。可与任意一个使用文件名做参数的命令一起使用。

    注意:谨慎使用字符范围表示法[A-Z][a-z]

    通配符 匹配项
    * 匹配任意多个字符(包含0个)
    ? 匹配任意一个字符(不包含0个)
    [characters] 匹配任意一个字符集内字符
    [!characters] 匹配任意一个不属于字符集内字符
    [[:class:]] 匹配任意一个字符类内字符
    字符类 说明
    [:alnum:] 字母集或数字集
    [:alpha:] 字母集
    [:digit:] 数字集
    [:lower:] 小写字母集
    [:upper:] 大写字母集

    1.6 重定向

    linux提供标准输入"0",标准输出"1",标准错误"2"。

    ">":将标准输出重定向到文件中,会先清空原文件内容

      使用 "> filename"会删除文件的内容

    "<":将文件内容作为标准输入读入命令

    ">>":将标准输出重定向到文件中,使用追加模式

    "|":管道,将上一个命令的标准输出作为下一个命令的标准输入

    同时重定向标准输出和标准错误:

      command > file 2>&1

      或新版bash支持的 command &> file

      标准错误的重定向发生在标准输出重定向之后,所以command 2>&1 >file是错误的。

    忽略输出:将输出或标准错误重定向到文件/dev/null。

      忽略所有输出:command > /dev/null 2>&1 

      忽略错误:command 2> /dev/null

    1.7 扩展

    每次shell命令执行前都会进行扩展(expansion)。通过echo可以简单验证扩展后的结果。这些扩展包括:

    路径名扩展(使用通配符)

    波浪线扩展(~或~user,扩展为用户的主目录)

    算术扩展,$((expression)),注意都是整数运算,支持四则和取余"%",取幂"**",忽略空格

    花括号扩展

      $ echo {1..5}   输出 1 2 3 4 5

      $ echo {G..A}  输出  G F E D C B A

      $ echo {A{1, 2}, B{3, 4}}  输出  A1 A2 B3 B4 

    参数扩展,如$PATH等参数

    命令替换,如$(ls)或`ls`

    1.8 引用

    引用可以避免Shell扩展。引用包含双引号的弱引用和单引号的强引用。

    弱引用:部分特殊字符失去特殊含义,保留美元符号"$",反斜线"",反引号"`"。因此,单词分隔、路径名扩展、波浪线扩展和花括号扩展失效。参数扩展、算术扩展、命令替换依然有效。

    强引用:抑制所有扩展。

    转义字符"":在弱引用中输出"$"、""、"`"或输出转义字符" "等。在命令行中消除shell特殊字符的含义,如"$"、"!"、"&"、空格

    1.9 shell快捷键

    光标移动

    组合键 作用
    Ctrl-A 光标到行首
    Ctrl-E 光标到行尾
    Ctrl-F 前移一个字符,等价于右箭头
    Ctrl-B 后移一个字符,等价于左箭头
    Alt-F 前移一个字,定位到字后
    Alt-B 后移一个字,定位到字首字母
    Ctrl-L 清屏并移动光标到行首,等价于clear

    修改文本

    组合键 作用
    Ctrl-D 删除光标处字符
    Ctrl-T 光标处字符和前面字符对调
    Alt-T 光标处字和前面的字对调
    Alt-L 从光标到字尾变小写
    Alt-U 从光标到字尾变大写

    剪切(killing)和粘贴(yanking)

    被剪切内容存在成为kill-ring的缓冲区

    组合键 作用
    Ctrl-K 剪切从光标到行尾
    Ctrl-U 剪切从光标到行首
    Alt-D 剪切从光标到当前词尾
    Alt-Backspace 剪切从光标到词头,若已在开头,剪切前一个单次
    Ctrl-Y 粘贴

     

     

  • 相关阅读:
    为什么有时候程序出问题会打印出“烫烫烫烫...
    VC++共享数据段实现进程之间共享数据
    IEEE浮点数float、double的存储结构
    前端智勇大闯关
    Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
    来认识下less css
    Koala Framework
    在使用Kettle的集群排序中 Carte的设定——(基于Windows)
    标准库类型
    iOS多线程的初步研究1
  • 原文地址:https://www.cnblogs.com/zhuyuanhao/p/4783261.html
Copyright © 2011-2022 走看看