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扩展。引用包含双引号的弱引用和单引号的强引用。

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

强引用:抑制所有扩展。

转义字符"\":在弱引用中输出"$"、"\"、"`"或输出转义字符"\n"等。在命令行中消除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 粘贴

Shell命令行操作的更多相关文章

  1. 一些风骚的shell命令行操作

    1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按<CTRL-x CTRL-e>,会打开一个你指定的编辑器(比如vim,通过环 ...

  2. Hadoop HDFS的shell(命令行客户端)操作实例

    HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs ...

  3. HDFS shell命令行常见操作

    hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...

  4. linux快速入门 1.1命令行操作

    http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...

  5. MongoDB命令行操作

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...

  6. WinSCP命令行操作

    WinSCP命令行操作     WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议.它的主要功能就是在本地与远程计算机间安全的复制文件. 直接在cmd下输入 ...

  7. Shell 命令行求两个文件每行对比的相同内容

    Shell 命令行求两个文件每行对比的相同内容 遇到的一个实际问题是,2017年08月01日起,所有未经实名的域名,全部停止解析.而我手上有不少域名,其中很多都是没有实名的.但我不知道哪些实名了,哪些 ...

  8. * 和 ?在 shell 命令行中与在正则表达式中的区别

    Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* ...

  9. Zookeeper的命令行操作(三)

    Zookeeper的命令行操作 1. ZooKeeper服务命令 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务: sh bin/zkSer ...

随机推荐

  1. transform:rotate在手机上显示有锯齿的解决方案大全

    先来个兼容性说明,洗洗脑: div{transform:rotate(7deg);-ms-transform:rotate(7deg); /* IE 9 */-moz-transform:rotate ...

  2. 用Phaser来制作一个html5游戏——flappy bird (一)

    Phaser是一个简单易用且功能强大的html5游戏框架,利用它可以很轻松的开发出一个html5游戏.在这篇文章中我就教大家如何用Phaser来制作一个前段时间很火爆的游戏:Flappy Bird,希 ...

  3. (转)JavaScript一:为什么学习JavaScript?

    Web程序不论是B/S(Browser/Server)还是C/S(Client/Server)架构,分为客户端程序与服务器端程序两种.ASP.NET是开发服务器端程序的强大工具,但是有时候为了降低服务 ...

  4. MySQL索引类型 btree索引和hash索引的区别

    来源一 Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 ...

  5. js资源加载优化

    互联网应用或者访问量大的应用,对js的加载优化是不可少的.下面记录几种优化方法 CDN  + 浏览器缓存 CDN(content delivery network)内容分发网络, 最传统的优化方式.其 ...

  6. Javascript的历史

    阅读了JavaScript dom简史,从网上看了下,学问很深啊. 首先简单说下网景公司(Netscape)的发展史:1993年,美国国家超级计算机应用中心(NCSA),发表了一个浏览器,命名为“Mo ...

  7. charset的获取方法

      1.解析http请求的返回值: 2.通过解析html的meta标签里面的数据: 3.通过cpdetector(java环境下)来自动验证: ---------------------------- ...

  8. JavaScript学习07 内置对象

    JavaScript内置对象 图像对象 导航对象 窗口对象 屏幕对象 事件对象 历史对象 文件对象(重要) 锚点对象 链接对象 框架对象 表单对象(重要) 位置对象 JS Window 窗口对象:ht ...

  9. Android Design Principles

    Android Design Principles Enchant Me Delight me in surprising ways 用惊奇的方式取悦用户 漂亮的界面,仔细放置的动画,一个恰到时机的音 ...

  10. 检查sqlite数据库完整性

    最近遇到一个问题,用户数据丢失,拿到用户数据库文件以后,发现数据库损坏. database disk image is malformed 因此希望可以找到一种方法,可以检测出来数据库是否损坏,经过g ...