博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux基础 -- 帮助命令
阅读量:5742 次
发布时间:2019-06-18

本文共 2517 字,大约阅读时间需要 8 分钟。

hot3.png

1、内建命令与外部命令

内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,并由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。

外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

简单来说就是一个是天生自带的天赋技能,一个是后天得来附加技能。我们可以使用 type 命令来区分命令是内建的还是外部的。例如:

[root@izwz9gtdx1ch4f9gn56b32z ~]# type cdcd is a shell builtin[root@izwz9gtdx1ch4f9gn56b32z ~]# type vivi is /usr/bin/vi[root@izwz9gtdx1ch4f9gn56b32z ~]# type lsls is aliased to `ls --color=auto'
  • #得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的.def中 xxx is a shell builtin
  • #得到这样的结果说明是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中 xxx is /usr/sbin/xxx
  • #若是得到alias的结果,说明该指令为命令别名所设定的名称; xxx is an alias for xx --xxx

2、帮助命令的使用

2.1、help

help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明,一定记住 help 命令只能用于显示内建命令的帮助信息,比如:

[root@izwz9gtdx1ch4f9gn56b32z ~]# help ls-bash: help: no help topics match `ls'.  Try `help help' or `man -k ls' or `info ls'.[root@izwz9gtdx1ch4f9gn56b32z ~]# help cdcd: cd [-L|[-P [-e]]] [dir]    Change the shell working directory.    ...

而对于外部命令,如果想要查找说明,一般可以使用--help参数,比如:

[root@izwz9gtdx1ch4f9gn56b32z ~]# ls --helpUsage: ls [OPTION]... [FILE]...List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.Mandatory arguments to long options are mandatory for short options too.  -a, --all                  do not ignore entries starting with .  -A, --almost-all           do not list implied . and ..      --author               with -l, print the author of each file  -b, --escape               print C-style escapes for nongraphic characters      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,                               '--block-size=M' prints sizes in units of                               1,048,576 bytes; see SIZE format below  -B, --ignore-backups       do not list implied entries ending with ~...

2.2、man命令

见https://my.oschina.net/pierrecai/blog/1422282

特别重复man命令打开的帮助文档中的一些操作:

  • 在 man 中使用搜索/<你要搜索的关键字>
  • 或者使用?<你要搜索的关键字>向上查找
  • 查找找完毕后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。
  • 使用Space(空格键)翻页,使用pageUp向上翻页,pageDown向下翻页,
  • Enter(回车键)向下滚动一行,或者使用j,k(vim 编辑器的移动键)进行向前向后滚动一行。
  • 按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,实为less工具的帮助),按下q退出。

2.3、info命令

info命令相当于man命令的一个更为完整的版本。

转载于:https://my.oschina.net/pierrecai/blog/1522812

你可能感兴趣的文章
知乎推荐页Ranking构建历程和经验分享
查看>>
Netty防止内存泄漏措施
查看>>
聊天宝彻底凉了,遭罗永浩抛弃,团队就地解散
查看>>
鸟哥:技术人员如何保持进步
查看>>
推荐10个CI/CD工具,用于云平台集成交付
查看>>
死月的二零一六总结
查看>>
解析 TiDB 在线数据同步工具 Syncer
查看>>
聊聊工程师的影响力
查看>>
Fake 5提供.NET Core支持
查看>>
【Leetcode】9. Palindrome Number 判断一个数字是否是回文数字
查看>>
白话解释 迭代器(ITERATOR)和生成器(GENERATOR)
查看>>
Android自定义Lint实践(一)
查看>>
Ruby的声誉(翻译,简学互动)
查看>>
Composer管理PHP依赖关系
查看>>
React.js学习笔记之JSX解读
查看>>
WebPack1.x 常用功能介绍
查看>>
终端音频播放器 MOC 源码分析
查看>>
我所了解的Libevent和SEDA架构
查看>>
在Xcode7/7.1中使用Http请求
查看>>
Socket编程问题小记
查看>>