本章内容
命令存放位置
命令帮助
help
man帮助
其它帮助
命令历史
快捷键
一、命令存放位置
根据Linux的哲学思想:一切皆文件来说,在Linux系统中基本上什么都是文档、应用软件、甚至是硬件,当然命令也不例外(内部命令虽然没有具体文件,但是都是内嵌在shell内部的,而shell本身是外部命令,也是文件),而我们有些情况就必须执行完整路径格式的命令,所以我们必须大致知道命令都在那里,这样才能更好的了解命令。
命令本身是一个可执行的程序文件:可执行二进制格式的文件,有可能调用共享库文件
多数系统程序文件都存放在:/bin 、/sbin 、/usr/bin、/usr/sbin
如果安装第三方应用程序或非标准系统自带的程序也有 /usr/loacl/bin /usr/local/sbin
普通命令:/bin /usr/bin /usr/local/bin
管理命令:/sbin /usr/sbin /usr/local/sbin
共享库(没有执行入口) :多数存放在
32bits的库 /lib /usr/lib /usr/local/lib
64bits的库 (兼容32bits的库)/lib64 /usr/lin64 /usr/local/lib64
注意:并非所有的命令都有一个在某目录下与之对应的可执行程序文件
命令必须遵循特定格式规范;exe、msi、ELF(Linux)
#file /bin/ls 查看可执行程序文件的内容格式类型信息
#which COMMAND 查看外部命令的完整路径
#whereis COMMAND 查看命令完整路径和对应man帮助文件目录
二、命令帮助
获取命令的使用帮助:
内部命令:help COMMAND
man COMMAND(此命令为内部命令例如help命令本身,但是所查结果都是对应shell这个外部命令的帮助文件,比如bash)所以执行的实质是man bash
外部命令: (1) 命令自带简要格式的使用帮助#COMMAND –help
#COMMAND -h
(2) 使用手册:manual #man COMMAND
(3) info在线信息文档
(4) 自带文档(README、CHANGELOG、INSTALL)
(5) 官方文档
(6)发行版的文档
(7)Goolge、百度
三、help帮助(内部命令)与–help选项(外部命令相关)
help帮助
#help help
help [-dms] [PATTERN …]
显示内嵌命令的相关信息。
显示内嵌命令的简略信息。如果指定了 PATTERN 模式,给出所有匹配 PATTERN 模式的命令的详细帮助,否则打印一个帮助主题列表
选项:
-d输出每个主题的简短描述
-m以伪 man 手册的格式显示使用方法
-s为每一个匹配 PATTERN 模式的主题仅显示一个用法简介
参数:
PATTERNPattern 模式指定一个帮助主题
–help 选项
显示用法总结和参数列表
使用的大多数,但并非所有的
例如
$ date –help
Usage: date [OPTION]… [+FORMAT] or: date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
[] 是可选的
CAPS或 或 <> 是变量
… 表示一个列表
x |y| z “ 的意思是“ x 或 y 或 z “
-abc的 的 意思是-a -b -c
四、manual使用手册(man命令)
manual:使用手册提供命令帮助的文件
手册页存放在/usr/share/man,并是压缩格式的文件,man 页面分组为不同的“章节”
几乎每个命令都有man 的“页面”
man 页面分组为不同的 man1、man2、…
man 命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明新手册文件搜索位置
# man – M /PATH/TO/SOMEWHERE COMMAND : 到指定位置下搜索 COMMAND 命令的手册页并显示
man [OPTION…] [章节] 手册页…
man CHAPTER(代表数字) COMMAND
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:文件格式(配置文件格式)
man6:游戏的玩法使用帮助
man7:杂项
man8:管理工具及守护进行(系统管理员手册)
man9:Linux 内核API
man内容项:
SECTION:
NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:使用示例
AUTHOR:作者
BUGS:报告程序bug的方式
SEE ALSO:参考
…
SYNOPSIS:
[]:可选内容(可省略)
<>:必须提供的内容
{}:分组辅助性的,用于分隔
a|b|c:多选一
…:同类内容可出现多个
注意:并非每个COMMAND在所有章节下都有手册
查看COMMAND在哪个目录下有手册
~]#whatis COMMAND
注意:其执行过程是查询数据库进行的
手动更新数据库:
~]#makewhatis (centos6)
~]#mandb(centos7)
man命令打开手册以后的操作方法:使用less 命令实现
翻屏:
空格键:向文件尾部翻一屏
小 b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
小k:向文件首部翻一行
大G:跳转至最后一行
#G:跳转至指定行(#数字)
1G:跳转至文件首部
文本搜索:
/keyword(关键词):从文件首部向文件尾部依次查找
?keyword(关键词):从文件尾首向文件部部依次查找
n:与查找命令方向相同翻
N:与查找命令方向相反翻
退出:
q:quit
四、其它帮助
whatis
显示命令的简短描述
每晚使用一个数据库更新
刚安装后不可立即使用
makewhatis | mandb 制作数据库
whatis cal 或 man –f cal
info
# info COMMAND
man常用于命令参考GNU工具info适合通用文档参考。
没有参数, 列出所有的页面
info 页面的结构就像一个网站
每一页分为“节点”
链接节点之前 *
info [ 命令 ]
导航info页
方向键,PgUp ,PgDn 导航
Tab键 移动到下一个链接
d 显示主题目录
Home 显示主题首部
Enter进入 选定链接
n/p/u/l 进入下/ 前/ 上一层/ 最后一个链接
s文字 文本搜索
q退出 info
通过本地文档获取帮助
点击“系统”-> “文档”:提供的官方使用指南和发行注记
/usr/share/doc 目录
多数安装了的软件包的子目录, 包括了这些软件的相关原理说明
不适合其它地方的文档的位置
配置文件范例
HTML/PDF/PS 格式的文档
授权书详情
通过在线文档获取帮助
第三方程序官方文档
通过发行版官方的文档光盘或网站可以获得
安装指南
部署指南
虚拟化指南
红帽知识库和官方在线文档
http://kbase.redhat.com
http://www.redhat.com/docs
http://access.redhat.com
红帽全球技术支持服务
rhn.redhat.com 或者本地卫星服务器/ 代理服务器
基于网络管理的机器
RHN 代理服务器为RHN 流量提供缓存
RHN 卫星服务器提供自主的RHN
RHN 账户
为及其注册和基于网络管理的RHN 用户
用于系统自动验证的系统ID
sosreport
收集所有系统上的日志信息的工具,并自动打成压缩包,方便技术支持人员和红帽全球支持提供分析问题的依据
网站和搜索
http://tldp.org
http://www.slideshare.net
http://www.google.com
Openstack filetype:pdf
rhca site:redhat.com/docs
五、命令历史
命令行历史
保存你输入的命令历史。可以用它来重复执行命令
登录shell 时,会读取命令历史文件中记录下的命令
~/.bash_history
登录进shell 后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
重复前一个命令,有4 种方法:
使用PgUp\PgDn上方向键,并回车执行。
输入!! 并回车执行。
输入!-1 并回车执行。
按Ctrl+p 并回车执行。
! 字符串: 重复前一个以“字符串”开头的命令
!num: 按照history 命令输出中的序号重复对应命令
!? 字符串: 重复前一个包含abc 的命令
!-n : 重复n个命令之前的那个命令
命令行历史
使用up(向上)和down(向下)键来上下浏览从前输入
的命令
键入ctrl-r来在命令历史中搜索命令
(reverse-i-search )`’:
要重新调用前一个命令中最后一个参数:
!$ 表示
Esc, . (点击Esc键后松开,然后点击 . 键)
Alt+ . (按住Alt键的同时点击 . 键)
调用历史参数
#CAMMOND !^ 利用上一个命令的第一个选项做CAMMOND的选项
#CAMMOND !$ 利用上一个命令的最后一个选项做CAMMOND的选项
#CAMMOND !* 利用上一个命令的全部选项做CAMMOND的选项
#CAMMOND !:n 利用上一个命令的第n个选项做CAMMOND选项
!n:^ 调用第n 条命令的第一个 参数
!n:$ 调用第n 条命令的最后一个 参数
!m:n 调用第m 条命令的第n个参数
!n:* 调用第n 条命令的所有
!string:^ 以 从命令历史中搜索以string开头的命令,并获取它的第一个参数
!string:$ 以 从命令历史中搜索以string开头的命令, 并获取它的最后一个参数
!string:n 以 从命令历史中搜索以string开头的命令,并获取它的第n个参数
!string:* 以 从命令历史中搜索以string开头的命令,并获取它的所有参数
六、命令history
#history 显示当前历史列表
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg…]
-c: 清空命令历史
-d: 删除历史中指定的命令;
#: 显示最近的# 条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-n: 读历史文件中未读过的行到历史列表
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-p: 展开历史参数成多个行(执行命令),但不存在历史列表中
-s: 展开历史参数成一行(不执行命令),附加在历史列表后(伪造执行过程)
history命令最适合与历史参数配合使用
命令历史相关环境变量
HISTSIZE :命令历史记录的条数;默认为1000
HISTFILE :指定历史文件,默认为~/.bash_history; ;
HISTFILESIZE :命令历史文件记录历史的条数;默认为1000
HISTTIMEFORMAT=“%F %T“ 显示命令历史时格式前面增加时间
HISTIGNORE=“str1:str2:… “ 忽略有string1,string2 关键字历史
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups :忽略重复的命令;连续且相同方为“重复”
ignorespace :忽略所有以空白开头的命令
ignoreboth :ignoredups, ignorespace 等同于这两者
erasedups: 删除重复命令
HISTCONTROL="str1:str2:… " 可以多选项eg:HISCONTROL="ignoreboth:erasedups"
export 变量名=" 值“
命令历史变量配置信息存放在 /etc/profile 或 ~/.bash_profile,若要配置信息永久有效则,写入全局(对所有用户)环境变量或特定用户环境变量里
七、快捷键
Tab键
命令补全
内部命令:
外部命令:bash 根据PATH 环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
用户给定的字符串只有一条惟一对应的命令,直接补全,否则,再次Tab 会给出列表
路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
如果惟一:则直接补全
否则:再次Tab 给出列表
注意:在centos7以前版本只能补全 命令 路径;而centos7以后可以进行选项参数补全了!
bash 的快捷键
Ctrl+l 清屏,相当于clear 命令
Ctrl+c 取消命令的执行
Ctrl-a 会移动到命令行的最前面
Ctrl-e 会移动到命令行的最后面
Ctrl-u 会删除到行首
Ctrl-k 会删除到行尾
arrow ctrl-b ctrl-f 会向左或向右移动一个字符
Esc-b 左移一个单词
Esc-f 右移一个单词
gnome-terminal图形界面
应用程序-> 附件-> 终端
支持多个“标签”shell 的图形化终端模拟器
Ctrl-Shift-t 创建一个标签页
Ctrl-PaUp/PgUn 切换到下一个/ 前一个标签页
Ctrl-Shift-c 复制选中的文本
Ctrl-Shift-v 把文本粘帖到提示符后
原创文章,作者:NameLess,如若转载,请注明出处:http://www.178linux.com/28105