linux命令使用帮助
内部命令和外部命令
内部命令:系统集成的命令,集成到bash程序中的命令,可以用enable和help查看内部命令,直接和系统一样运行在内存中,执行速度快。内部命令中的:相当于TRUE,即什么都不干。
enable cmd启用内部命令
enable –n cmd 禁用内部命令
enable –n 查看所有禁用的内部命令
enable –n enable 自杀,重新注销即可恢复
外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |--skip-alias; whereis
区别指定的命令是内部或外部命令
type COMMAND
如果执行过一个外部命令,它会把这个命令的路径记录到内存中,这个就是hash缓存表
hash常见用法:
hash 显示hash缓存
hash -l 显示hash缓存,可作为输入使用,更详细。
hash –p path name 将命令全路径path起别名为name
hash –p /usr/bin/free f
hash –t name 打印缓存中name的路径
hash –t f
hash –d name 清除name缓存
hash –r 清除所有缓存
which –a free 显示所有路径下的free
命令执行优先级:别名>内部命令>外部命令
问:为什么有的命令既有内部又有外部?
有可能有的shell中没有这个内部命令,外部有还可以执行。
[root@centos7 ~]#alias alias cp='cp -i' ......
显示当前shell进程所有可用的命令别名
[root@centos7 ~]#alias date='date +%F'
定义别名date,其相当于执行命令date +%F
在命令行中定义的别名,仅对当前shell进程有效
如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc 添加到最后即可
编辑配置给出的新配置不会立即生效,需要bash进程重新读取配置文件
source /path/to/config_file
. /path/to/config_file
撤销别名:unalias
unalias [-a] name [name …]
-a 取消所有别名
如果别名同原命令同名,要执行原命令,可使用
\COMMAND
‘COMMAND’
/PATH/COMMAND
退出某个执行的命令:
Ctrl+c:强制退出,有可能数据丢失。
Ctrl+d:正常退出。
tab键
[root@centos7 ~]#rpm -qa bash* bash-completion-2.1-6.el7.noarch
需要安装了上面这个包才能启用Tab功能
命令补全
内部命令:直接补全
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
如果唯一:则直接补全
否则:再次Tab给出列表
双击Tab
command 2Tab 所有子命令或文件补全
string2Tab 以string开头命令
[root@centos7 ~]#/ app/ etc/ lost+found/ proc/ srv/ usr/ bin/ home/ media/ root/ sys/ var/ boot/ lib/ mnt/ run/ testdir/ dev/ lib64/ opt/ sbin/ tmp/
/2Tab 显示所有根目录下一级目录,包括隐藏目录
[root@centos7 ~]#./ .cache/ .dbus/ Documents/ .local/ Music/ Public/ Videos/ .config/ Desktop/ Downloads/ .mozilla/ Pictures/ Templates/
./2Tab 当前目录下子目录,包括隐藏目录
[root@centos7 ~]#* Desktop Downloads Pictures Templates Documents Music Public Videos
*2Tab 当前目录下子目录,不包括隐藏目录
[root@centos7 ~]#~ ~dbus/ ~polkitd/ ~sunan/ ~ftp ~postfix/ ~sync/~gnome-initial-setup ~root/ ~usbmuxd/ ......
~2Tab 所有用户列表
[root@centos7 ~]#$ $_ $LINENO $BASH $LOGNAME ......
$2Tab 所有变量
[root@centos6 ~]#@ @::1 @localhost4.localdomain4 @localhost.localdomain @localhost @localhost6 @localhost4 @localhost6.localdomain6
@2Tab /etc/hosts记录 (centos7不支持)
[root@centos6 /]#= app/ dev/ lost+found/ opt/ srv/ .autofsck etc/ media/ proc/ sys/ bin/ home/ misc/ root/ tmp/ boot/ lib/ mnt/ sbin/ usr/ .dbus/ lib64/ net/ selinux/ var/
=2Tab 相当于ls –A (centos7不支持)
命令行历史
- 保存你输入的命令历史。可以用它来重复执行命令
- 登录shell时,会读取命令历史文件中记录下的命令~/.bash_history
- 登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
重复前一个命令,有4种方法
- 重复前一个命令使用上方向键,并回车执行
- 按!! 并回车执行
- 输入!-1并回车执行
- 按Ctrl+p并回车执行
!:0 执行前一条命令(去除参数)
Ctrl + n 显示当前历史中的下一条命令,但不执行
Ctrl + j 执行当前命令
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p仅打印命令历史,而不执行
!$:p 打印输出!$(上一条命令的最后一个参数)的内容
!*:p打印输出!*(上一条命令的所有参数)的内容
^string删除上一条命令中的第一个string
^string1^string2将上一条命令中的第一个string1替换为string2
!:gs/string1/string2将上一条命令中所有的string1都替换为string2
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl-r来在命令历史中搜索命令
(reverse-i-search)
Ctrl+g:从历史搜索模式退出
要重新调用前一个命令中最后一个参数:
!$ 表示
Esc, .(点击Esc键后松开,然后点击.键)
Alt+ .(按住Alt键的同时点击.键)
调用历史参数:
command !^ : 利用上一个命令的第一个参数做cmd的参数
command !$ : 利用上一个命令的最后一个参数做cmd的参数
command !* : 利用上一个命令的全部参数做cmd的参数
command !:n : 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以string 开头的命令,并获取它的所有参数
命令history:
history [-c] [-d offset] [n]
history -anrw[filename]
history -psarg[arg...]
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
[root@centos6 ~]#history -p `ls` `pwd` ------------命令中调用命令使用反向单引号,就是键盘tab键上方的键 Desktop Documents ...... ------------ls执行结果 /root ------------pwd执行结果
ls和pwd全执行了,但历史中没有记录,-p选项作用。
[root@centos6 ~]#history -s reboot
历史命令显示的是reboot,但系统没有重启,可以伪造历史
命令历史相关环境变量:
HISTSIZE:命令历史记录的条数,命令的记录的内存中历史的长度,修改/etc/profile文件即可。
HISTFILE:指定历史文件,默认为~/.bash_history,磁盘上历史文件
HISTFILESIZE:命令历史文件记录历史的条数
内存中记录的历史命令和磁盘文件记录的历史命令数可以不一样,但一般相同。
HISTTIMEFORMAT=“%F %T “ 显示时间
HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史
控制命令历史的记录方式:
环境变量:HISTCONTROL
=ignoredups 默认,忽略重复的命令,连续且相同为“重复”
=ignorespace 忽略所有以空白开头的命令
=ignoreboth 相当于ignoredups, ignorespace的组合
=erasedups 删除重复命令
export 变量名="值“
存放在/etc/profile 或~/.bash_profile
bash快捷键:
Ctrl + l 清屏,相当于clear命令
Ctrl + o 执行当前命令,并重新显示本命令
Ctrl + s 阻止屏幕输出,锁定
Ctrl + q 允许屏幕输出
Ctrl + c 终止命令
Ctrl + z 挂起命令
Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End
Ctrl + f 光标向右移动一个字符
Ctrl + b 光标向左移动一个字符
Alt + f 光标向右移动一个单词尾
Alt + b 光标向左移动一个单词首
Ctrl + xx 光标在命令行首和光标之间移动
Ctrl + u 从光标处删除至命令行首
Ctrl + k 从光标处删除至命令行尾
Alt + r 删除当前整行
Ctrl + w 从光标处向左删除至单词首
Alt + d 从光标处向右删除至单词尾
Ctrl + d 删除光标处的一个字符
Ctrl + h 删除光标前的一个字符
Ctrl + y 将删除的字符粘贴至光标后
Alt + c 从光标处开始向右更改为首字母大写的单词
Alt + u 从光标处开始,将右边一个单词更改为大写
Alt + l 从光标处开始,将右边一个单词更改为小写
Ctrl + t 交换光标处和之前的字符位置
Alt + t 交换光标处和之前的单词位置
Alt + N 提示输入指定字符后,重复显示该字符N次
注意:Alt 组合快捷键经常和其它软件冲突
在SecureCRT有时候Alt键会有冲突:
解决办法:右击会话选择会话选项,选择Emacs,选中使用ALT作为元键,然后选中第三项。
使用帮助:
whatis command
依赖于后台数据库,刚刚装上的系统,执行makewhatis(centos6)或mandb(centos7)
command –-help
直接敲help或者enable显示所有的内部命令
man and info
本地帮助文档/usr/share/doc/
官网在线文档
其他网站和搜索
命令帮助:
内部命令:help COMMAND
man bash
注意:不要用man内部命令,man内部命令其实是打开的man bash
外部命令:
(1)COMMAND –-help(有些命令不支持,使用较少)
COMMAND -h
示例:
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
{ } 表示分组
(2)使用手册(manual)
man COMMAND(使用较多,比较通用)
提供命令帮助的文件
手册页存放在/usr/share/man
几乎每个命令都有man的”章节”
man页面分组为不同的“章节”
统称为Linux手册
man命令的配置文件:/etc/man.config(centos6)|man_db.conf(centos7)
MANPATH /PATH/TO/SOMEWHERE:指明man文件搜索位置
自己手工安装第三方软件,需要按上面的格式,放置帮助文档路径,不然man这个命令搜不到文档
man –M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索
COMMAND命令的手册并显示
中文man需要安装包man-page-zh-CN
man 章节
1:用户命令
2:系统调用
3:C库调用
4:设备文件及特殊文件
5:配置文件格式
6:游戏
7:杂项
8:管理类的命令
9:Linux内核API
[root@centos6 /]#whatis date date (1) - print or set the system date and time date (1p) - write the date and time [root@centos6 /]#whatis passwd passwd (1) - update user's authentication tokens passwd (5) - password file passwd [sslpasswd] (1ssl) - compute password hashes
通过whatis命令可以查看命令有那些章节,带p的适合开发相关的。
[root@centos6 /]#man 5 passwd Formatting page, please wait... PASSWD(5) Linux Programmer's Manual PASSWD(5) NAME passwd - password file
需要添加第几章节,才是查看的是第几章节的命令,否则按1来看
[root@centos6 /]#whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
前面是命令的路径,后面是文档的man帮助路径
man帮助段落说明
帮助手册中的段落说明:
NAME 名称及简要说明
SYNOPSIS 用法格式说明
[] 可选内容
<> 必选内容
a|b 二选一
{ } 分组
… 同一内容出现多次
DESCRIPTION 详细说明
OPTIONS 选项说明
EXAMPLES 示例
FILES 相关文件
AUTHOR 作者
COPYRIGHT 版本信息
REPORTING BUGS bug信息
SEE ALSO 其它帮助参考
man帮助:
查看man手册页
man [章节] keyword
列出所有帮助
[root@centos6 /]#man -a passwd Cannot open the message catalog "man" for locale "zh.CN" (NLSPATH="/usr/share/locale/%l/LC_MESSAGES/%N") Formatting page, please wait... PASSWD(1) User utilities PASSWD(1)
man –a keyword列出所有章节的passwd帮助,按q切换到下一个
搜索man手册
[root@centos6 /]#man -k hostname dnsdomainname [hostname] (1) - show the system's DNS domain name domainname [hostname] (1) - show or set the system's NIS/YP domain name gethostname (2) - get/set hostname gethostname (3p) - get name of current host hostname (1) - show or set the system's host name hostname (7) - hostname resolution description hosts (5) - The static table lookup for hostnames logresolve (1) - Resolve IP-addresses to hostnames in Apache log files nisdomainname [hostname] (1) - show or set system's NIS/YP domain name
man –k keyword 列出所有匹配的页面,使用whatis数据库
[root@centos6 /]#man -f passwd passwd (1) - update user's authentication tokens passwd (5) - password file passwd [sslpasswd] (1ssl) - compute password hashes [root@centos6 /]#whatis passwd passwd (1) - update user's authentication tokens passwd (5) - password file passwd [sslpasswd] (1ssl) - compute password hashes
man –f keyword,相当于whatis
[root@centos6 /]#man -w 5 passwd /var/cache/man/cat5/passwd.5.lzma (<-- /usr/share/man/man5/passwd.5.gz)
打印man帮助文件的路径,man –w [章节] keyword
man命令的操作方法:使用less命令实现
space,^v,^f,^F:向文件尾翻屏
b, ^b: 向文件首部翻屏
d, ^d: 向文件尾部翻半屏
u, ^u: 向文件首部翻半屏
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行y or ^Y or ^P or k or ^K:向文件首部翻一行
q: 退出
#:跳转至第#行
1G: 回到文件首部
G:翻至文件尾部
man搜索:
/KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
n: 下一个
N:上一个
?KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
n: 跟搜索命令同方向,下一个
N:跟搜索命令反方向,上一个
(3)信息页
info COMMAND
方向键,PgUp,PgDn 导航
Tab键移动到下一个链接
d 显示主题目录
Home 显示主题首部
Enter进入选定链接
n/p/u/l进入下/前/上一层/最后一个链接
s文字文本搜索
q退出info
(4)程序自身的帮助文档
README
INSTALL
ChangeLog
(5)程序官方文档
[root@centos7 /]#sosreport sosreport (version 3.4) This command will collect diagnostic and configuration information from this CentOS Linux system and installed applications.
向redhat官方发送系统分析包
官方站点:Documentation
(6)发行版的官方文档
(7)Google

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS shell 压缩解压命令
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ——————————————— .bz2 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName .tar.bz2 解压:tar jxvf FileName.tar.bz2 压缩:tar jcvf FileName.tar.bz2 DirName ——————————————— .bz 解压1:bzip2 -d FileName.bz 解压2:bunzip2 FileName.bz 压缩:未知 .tar.bz 解压:tar ...
- 下一篇
centos7 RPM命令安装操作
RPM 安装操作 命令: rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包; rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息; rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度; RPM 查询操作 命令: rpm -q … 附加查询命令: a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息; i 显示安装包的信息; l 显示安装包中的所有文件被安装到哪些目录下; s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件; p 查询的是安装包的信息; f 查询的是已安装的某文件信息; 举例如下: rpm -qa | grep tomcat4 查看 tomcat4 是否被安装; rpm -qip example.rpm 查看 example.rpm 安装包的信息; rpm -qif /bin/df 查看/bin/df 文件所在...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8