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扩展。引用包含双引号的弱引用和单引号的强引用。
弱引用:部分特殊字符失去特殊含义,保留美元符号"$",反斜线"\",反引号"`"。因此,单词分隔、路径名扩展、波浪线扩展和花括号扩展失效。参数扩展、算术扩展、命令替换依然有效。
强引用:抑制所有扩展。
转义字符"\":在弱引用中输出"$"、"\"、"`"或输出转义字符"\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命令行操作的更多相关文章
- 一些风骚的shell命令行操作
1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按<CTRL-x CTRL-e>,会打开一个你指定的编辑器(比如vim,通过环 ...
- Hadoop HDFS的shell(命令行客户端)操作实例
HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs ...
- HDFS shell命令行常见操作
hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...
- linux快速入门 1.1命令行操作
http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...
- MongoDB命令行操作
本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...
- WinSCP命令行操作
WinSCP命令行操作 WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议.它的主要功能就是在本地与远程计算机间安全的复制文件. 直接在cmd下输入 ...
- Shell 命令行求两个文件每行对比的相同内容
Shell 命令行求两个文件每行对比的相同内容 遇到的一个实际问题是,2017年08月01日起,所有未经实名的域名,全部停止解析.而我手上有不少域名,其中很多都是没有实名的.但我不知道哪些实名了,哪些 ...
- * 和 ?在 shell 命令行中与在正则表达式中的区别
Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* ...
- Zookeeper的命令行操作(三)
Zookeeper的命令行操作 1. ZooKeeper服务命令 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务: sh bin/zkSer ...
随机推荐
- Web数据持久化存储IndexedDB(不常用)
IndexedDB是在浏览器中保存结构化数据的一种数据库,为了替换WebSQL(标准已废弃,但被广泛支持)而出现.IndexedDB使用NoSQL的形式来操作数据库,保存和读取是JavaScript对 ...
- CSS3利用text-shadow属性实现多种效果的文字样式展现
一.效过图展示: 已经是比较久之前学习的文字效果了.但是还是很实用很有趣的.利用CSS3提供的text-shadow属性可以给页面上的文字添加阴影效果,因此可以替换掉之前使用过的一些繁琐的图片.到目前 ...
- 更改SAP的字段翻译
TC:SE63在SAP用户选择屏幕中,用鼠标选定一个栏位后按F1键,可以看到SAP对其具体解释,通常这种解释文本分为两部分,一部分为标题,一部分为正文.比如: 有时,SAP的翻译让人感觉很别扭,对于 ...
- JavaScript异步机制
单线程异步执行的JavaScript JavaScript是单线程异步执行的,单线程意味着代码在任务队列中会按照顺序一个接一个的执行.异步代表JavaScript代码在任务队列中的顺序并不完全等同于代 ...
- go语言和资料
C/C++编程相关的复杂性,特别是大一点的工程的维护,如果人员较多,规范等都是较大的负担,最近正在关注go这么语言, 准备对于并发和系统级的开发引入. Go官网 http://golang.org h ...
- 开发者账号续期后,itunes停止付款了
开发者账号过期后,没有及时续期,等再续期后,itunes停止付款到公司银行账户了.过了一个多月了还是没有收到itunes的付款.然后开始联系苹果客服和技术支持,他们都说只能通过itunes的“联系我们 ...
- Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)
Java中的内部类(成员内部类.静态内部类.局部内部类.匿名内部类) 神话丿小王子的博客主页 我们先看这样一段话:人是由大脑.肢体.器官等身体结果组成.而组成我们人体的心脏它也有自己的属性和行为(血液 ...
- VS2015 Git 插件使用教程
VS2015 中继承了 Git 插件,再也不用下载 Github for Windows了. 从 团队-管理连接 中打开 团队资源管理器 克隆Repository 在 本地 Git 存储库下面点击 ...
- (转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性
转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csd ...
- WPF学习之路(六)Command
在WPF中,命令绑定机制是相比于事件更高级的概念,把应用程序的功能划分为多个任务,任务由多种途径触发. 应用Command Binding使代码更符合MVVM模式(Model-View-ViewMod ...