Shell命令行操作

1.1 shell提示符

[[email protected] ~]$

如果最后一个字符是"#",表示当前终端会话有超级用户权限。使用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 粘贴
时间: 2024-10-05 14:07:25

Shell命令行操作的相关文章

MongoDB命令行操作

1. 连接MongoDB: Mongodb://username:[email protected]/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指定数据库. 3. 查看所有数据库: show dbs 注: 该命令不会显示新创建的空数据库,若想显示需要向空数据库插入一些数据. MongoDB中默认的数据库为test,若果没有创建新的数据库,集合将存放于test中. 4. 查看当前数据库名: db 5. 删除数据库: db.dropDatabas

2015.12.01 软件安装 命令行操作 vi

软件安装 1.App Store 2..dmg/.pkg(相当于光盘镜像) 双击安装 3.绿色软件,*.app 直接拖拽到Application (非官方的安装,要注意在偏好设置中允许任何来源) 常用网址:www.macx.cn        bbs.feng.com 在对MacOS系统的操作当中,有两种操作方式.一种就是图形化操作,另一种就是命令行操作.对比而言,前者更直观,而后者则是更便捷并且节约资源. 基本命令 ls                           查看当前文件夹下的文

android 使用命令行操作模拟器

首先你得配置好环境变量,不懂配置或者没配置好的去别处查查先,这里就不教了.建议是否配置好环境变量的方法就是打开运行窗,输入 cmd 然后回车,如果输出一大堆东西就说明配置好了. 然后这个什么叫做命令行操作模拟器呢,主要有个用途比较实在,就是安装一些应用程序到模拟器上.或者是查看手机上面的一些数据,尤其是数据库: 一些功能操作在这里列出来: 1.利用命令行安装手机软件到模拟器上 adb install path 其中path为路径名比如我在d盘有个文件夹app里面有个软件a.apk则path为:d

使用jq工具在Shell命令行处理JSON数据

因为最近要处理一些 JSON 数据格式,一大早经过一番搜索后,最终找到了 jq 这个很棒的工具.jq 允许你直接在命令行下对 JSON 进行操作,包括分片.过滤.转换等等. 首先在mac下安装jq,使用brew install jq就可以了,前提是安装了homebrew,如果在linux ubuntu下,应该可以使用sudo apt-get install jq安装. 让我们通过几个例子来说明 jq 的功能: 一.输出格式化,漂亮的打印效果 如果我们用文本编辑器打开 JSON,有时候可能看起来会

linux快速入门 1.1命令行操作

http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 <wp_nokeywordlink>Shell 控制台使用方法 1.1.1 Shell简介 shell 是用户和Linux 操作系统之间的接口.Linux 中有多种shell,其中缺省使用的是bash. Linux 系统的shell 作为操作系统的外壳为用户提供使用操作系统的接口,它是一个命令语言解释

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

Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* 这样的命令也不知道敲了多少遍. 后来,开始用 Windows 3.1 这样的图形界面操作系统,命令行就就得越来越少了. 再后来,开始学习正则表达式,又开始接触 * 和 ? 这样的东西.在正则中它们被称为元字符(Meta Character). 再再后来,开始使用 Linux,于是又开始使用命令行,

SylixOS下Shell命令行执行模块内函数

1. 适用范围 本文档介绍了在Shell命令行执行内核模块内函数实现原理.   在VxWorks中,系统自带有在Shell命令行直接执行驱动.应用内函数的功能,此功能完善了驱动开发工程师.应用开发工程师的开发.调试的手段.为了让这类工程师能快速适应SylixOS,据此开发了类似的功能模块,目前第一版支持在Shell命令行执行内核模块内的函数. 2. SylixOS内核模块动态加载原理 2.1 SylixOS中的ELF文件 SylixOS中的ELF文件主要有三种: - obj文件: 一个源文件编译

Shell 命令行快捷键

在shell命令终端中,Ctrl+n相当于方向向下的方向键,Ctrl+p相当于方向向上的方向键. 在命令终端中通过它们或者方向键可以实现对历史命令的快速查找.这也是快速输入命令的技巧. 在命令终端中可以通过Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r. Ctrl+a:光标回到命令行首. (a:ahead) Ctrl+e:光标回到命令行尾. (e:end) Ctrl+b:光标向行首移动一个字符. (b:backwards) Ctrl+ f:光标向行尾移动一个字

〖Linux〗上传单个文件到FTP的Shell命令行(函数)

1 #!/bin/bash - 2 #=============================================================================== 3 # 4 # FILE: ftp_put_file.sh 5 # 6 # USAGE: ./ftp_put_file.sh 7 # 8 # DESCRIPTION: 9 # 10 # OPTIONS: --- 11 # REQUIREMENTS: --- 12 # BUGS: --- 13 # NO