声明:本文章基于LINUX命令行大全,基本就是读书笔记
什么是命令?
终端中的命令不外乎以下几种
可执行程序
shell内置指令
shell函数
alias命令
可执行程序很好理解
对shell命令的解释——摘自网络
Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序
摘自百度百科
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
alias即是命令的别名
如何知道命令的类型
type command
type ls cd mp cp rm less gcc g++
ls 是“ls --color=auto”的别名
cd 是 shell 内建
bash: type: mp:未找到
cp 已被录入哈希表 (/usr/bin/cp)
rm 已被录入哈希表 (/usr/bin/rm)
less 已被录入哈希表 (/usr/bin/less)
gcc 是 /usr/bin/gcc
g++ 是 /usr/bin/g++
显示可执行程序的位置
which command
which ls mv cp gcc
/usr/bin/ls
/usr/bin/mv
/usr/bin/cp
/usr/bin/gcc
获得shell内置命令的帮助文档
help command 其中command需是shell内建命令
help cd
cd: cd [-L|[-P [-e]] [-@]] [目录]
改变 shell 工作目录。
改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME
的值。
变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。
一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH
不会用上变量。
如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个
变量名。如果该变量有值,则它的值被当作 DIR 目录。
选项:
-L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。
-P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。
-e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。
-@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。
默认情况下跟随符号链接,如同指定 `-L'。
`..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。
退出状态:
如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。
可执行程序命令的帮助文档
command --help
help cd
cd: cd [-L|[-P [-e]] [-@]] [目录]
改变 shell 工作目录。
改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME
的值。
变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。
一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH
不会用上变量。
如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个
变量名。如果该变量有值,则它的值被当作 DIR 目录。
选项:
-L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。
-P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。
-e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。
-@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。下面的省略
一些程序可能没有--help手册
显示程序的手册
man program
man cp
CP(1) User Commands CP(1)
NAME
cp - copy files and directoriesSYNOPSIS
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.Mandatory arguments to long options are mandatory for short options too.
-a, --archive
same as -dR --preserve=all--attributes-only
don't copy the file data, just the attributes--backup[=CONTROL]
make a backup of each existing destination file-b like --backup but does not accept an argument
下面的省略
显示合适的命令
apropos string
apropos gcc
c89-gcc (1) - ANSI (1989) C compiler
c99-gcc (1) - ANSI (1999) C compiler
gcc (1) - GNU project C and C++ compiler
gcc-9 (1) - GNU project C and C++ compiler
gcc-ar (1) - a wrapper around ar adding the --plugin option
gcc-ar-9 (1) - a wrapper around ar adding the --plugin option
gcc-nm (1) - a wrapper around nm adding the --plugin option
gcc-nm-9 (1) - a wrapper around nm adding the --plugin option
gcc-ranlib (1) - a wrapper around ranlib adding the --plugin option
gcc-ranlib-9 (1) - a wrapper around ranlib adding the --plugin option
x86_64-linux-gnu-gcc (1) - GNU project C and C++ compiler
x86_64-linux-gnu-gcc-9 (1) - GNU project C and C++ compiler
x86_64-linux-gnu-gcc-ar (1) - a wrapper around ar adding the --plugin option
x86_64-linux-gnu-gcc-ar-9 (1) - a wrapper around ar adding the --plugin option
x86_64-linux-gnu-gcc-nm (1) - a wrapper around nm adding the --plugin option
x86_64-linux-gnu-gcc-nm-9 (1) - a wrapper around nm adding the --plugin option
x86_64-linux-gnu-gcc-ranlib (1) - a wrapper around ranlib adding the --plugin option
x86_64-linux-gnu-gcc-ranlib-9 (1) - a wrapper around ranlib adding the --plugin option
显示命令的简要描述
whatis command
whatis less more gcc history cat cd
less (1) - opposite of more
more (1) - file perusal filter for crt viewing
gcc (1) - GNU project C and C++ compiler
history (3readline) - GNU History Library
cat (1) - concatenate files and print on the standard output
cd:没有合适结果。
显示程序的info条目
info页面类似于超链接,是一种代替手册存在的东西。
type info
info 已被录入哈希表 (/usr/bin/info)
info程序读取info文件——info文件是树形结构的。
书中查看了GUN项目的coreutils包的一部分
info coreutils
内容省略
README和其他程序文档文件
引用书中原文
系统中安装的很多的软件包都有自己的文档文件,他们存放在/user/shar/doc目录中。其中大部分文档文件是以纯文本格式存储的,因此可以用less命令查看。有些文件是HTML格式,并且可以用Web浏览器来查看。我们可能会遇到一些.gz拓展名文件的结尾。这表明它们是使用gzip程序压缩过的。gzip包包含一个特殊的less版本,称之为zless。zless可以显示由gzip压缩的文本文件的内容。
使用别名创建自己的命令
也就是对应着alias命令部分
假设我们要进入到桌面并且查看桌面上都有那些文件
cd /home/user_name/Desktop/; ls
每一次都需要这样做,很麻烦,于是我们可以将其起别名为godes,之后主需要输入这个命令就相当于输入上述的量条命令
具体做法如下
type godes 为了查看是否已经使用了该别名
bash: type: godes:未找到
alias fodes='cd /home/qimg/Desktop; ls'godes
catend code needcat1 needcat2 needcat3pwd
/home/qimg/Desktop 当前工作目录正确
还是比较方便的 ,但是名这样的别名在终端关闭后也随之消失,不可以再次使用,当然,有将别名存进特定文件中的方法,书后面会将到
将别名删
unalias command
unalias godes