命令管理命令(一)

时间:2022-06-01 20:27:29

命令管理命令:type,man,help,which,whereis,whatis,file,info


1.1.type

功能:显示指定命令的类型

命令类型有如下情形:


alias 别名

keyword 关键字,Shell保留字

function 函数,Shell函数

builtin 内建命令,Shell内建命令

file 文件,磁盘文件,外部命令

unfound 没有找到

常用选项:

-a:显示所有类型

-p:外部命令信息,相当于which

-f:shell函数信息

-t:指定类型信息

[root@localhost ~]# type echo echo is a shell builtin  #内建命令# type gtypist 
gtypist is /usr/local/bin/gtypist  #外部命令
[root@localhost ~]# type lsls is aliased to `ls --color=auto' 别名
[root@localhost ~]# type -a type  #自己属于内建命令
type is a shell builtin
[root@localhost ~]# type -a pwd
pwd is a shell builtin
pwd is /bin/pwd
[root@localhost ~]# type -a time
time is a shell keyword
[root@localhost ~]# type -a which
which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'which is /usr/bin/which

1.2帮助命令

help|man|info


help

功能:简约帮助

内建命令: help + 内部命令

外部命令: help + --help

常用选项:

-s:显示简单的帮助信息

[root@localhost ~]# help cdcd: cd [-L|-P] [dir][root@localhost ~]# type cdcd is a shell builtin[root@localhost ~]# help mv-bash: help: no help topics match `mv'.  Try `help help' or `man -k mv' or `info mv'. 这里报错是因为mv是外部命令,不能使用help查看[root@localhost ~]# type -a mvmv is aliased to `mv -i'mv is /bin/mv

man

功能:显示系统手册页信息(manual)

语法很复杂

常用选项:

-a:显示所有匹配项

-f:相当于whatis命令,精确匹配

-k:相当于apropos命令,模糊匹配


man man #查看man手册帮助信息 

man的帮助章节:

1 : 用户命令帮助信息(User Commands

2 : 系统调用相关帮助信息(System Calls

3 : 库和函数相关帮助信息(C Library Functions

4 : 特殊设备或文件帮助信息(主要是/dev目录下的文件)(Devices and Special Files

5 : 文档说明(File Formats and Conventions

6 : 游戏相关帮助信息( Games et. Al.

7 : 杂项(  Miscellanea

8 : 系统管理员和程序用户相关帮助信息(System Administration tools and Deamons

示例:

[root@localhost ~]# man ls  #要查看一个命令的帮助信息,直接man后加这个命令[root@localhost ~]# man -k mkdir #说明mkdir的关键帮助信息在第一章mkdir                (1)  - make directories[root@localhost ~]# apropos mkdir #同上mkdir                (1)  - make directories[root@localhost ~]# man -f mkdir #简洁显示命令的是什么mkdir                (1)  - make directories[root@localhost ~]# whatis mkdirmkdir                (1)  - make directories[root@localhost ~]# manpath/usr/local/share/man:/usr/share/man/en:/usr/share/man[root@localhost ~]# man 1 ls [root@localhost ~]# man -k passwdchpasswd             (8)  - update passwords in batch modegpasswd              (1)  - administer /etc/group and /etc/gshadowlpasswd              (1)  - Change group or user passwordpam_localuser        (8)  - require users to be listed in /etc/passwdpasswd               (1)  - update user's authentication tokenspasswd [sslpasswd]   (1ssl)  - compute password hashessaslpasswd2          (8)  - set a user's sasl password[root@localhost ~]# man -f passwdpasswd               (1)  - update user's authentication tokenspasswd [sslpasswd]   (1ssl)  - compute password hashes

info

功能:基于菜单的超文本系统,包括一些关于Linux Shell,工具,GNU项目开发程序说明文档

了解即可,一般使用man跟help


总结:

遇到陌生命令-type(检查命令是内建还是外部命令)-help(简单帮助)-man page(man手册精确匹配)-baidu|google(仅作参考)

1.3. which

功能:查看命令的存放路径

示例

[root@localhost ~]# which netstat/bin/netstat[root@localhost ~]# which cd/usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) #cd不在证明cd是内建命令

1.4.whereis

功能:用于程序名的搜索,只搜索程序的二进制文件

[root@localhost ~]# whereis cdcd: /usr/share/man/man1/cd.1.gz

1.5.whatis

功能:简单的解释帮助

[root@localhost ~]# whatis cdcd [builtins]        (1)  - bash built-in commands, see bash(1)

1.6.file

功能:鉴定文件类型

# file /dev/tty1
/dev/tty1: character special
字符设备:输入输出
输入设备:键盘、鼠标
输出设备:显示器、打印机
# file /dev/sda
/dev/sda: block special
块设备:软盘|U盘|磁盘|光盘
# file /dev/stdin
/dev/stdin: symbolic link to `/proc/self/fd/0'
链接文件,类似windows下快捷方式

本文出自 “烂笔头” 博客,请务必保留此出处http://lanbitou.blog.51cto.com/9921494/1928282