目录
bash
pstree
type:显示命令的类型
Help:help (命令名)(参数)
Man(manual):man(命令名)(参数)
Whereis:whereis (文件名)(参数)
File:文件的类型
Echo:echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
$PATH:
bash是一个解释程序,用户和计算机以命令行的形式进行交互,就是通过bash进行的。
软件内部会有自己实现的一些功能,这些功能会映射成一些关键词。
所以命令分为builtin的内部命令和外部命令。
外部命令就称为文件系统命令,用file来查看。
Bash解析完之后,才启动程序。Linux中所有的程序皆以文本形式存在。
所以,bash是一个解释器,是一个启动器。
以进程树的形式打印进程
可以清晰的看到这个进程是通过什么方式创建出来的。
外部命令&内部命令
用来查看命令的位置,如果命令是shell 机制的命令,那么它会告诉你,it is a shell builtin.
-a 所有可能的类型
type 一个命令出现,这个命令是shell builtin表示,这个命令是bash内置的命令
shell中命令就包括bash的外部命令和bash的内部命令两种。
Type ls只告诉我们ls是ls –color=auto的别名,type –a ls不仅告诉我们它是谁的别名,还告诉我们它的位置。
内部帮助信息
对于内部命令,可以通过help来获取帮助
只能显示shell内部的命令帮助信息。
输入help不接任何命令,会以两列显示所有的内部命令。
外部命令帮助信息,对于外部命令可以通过它来获取帮助。
回车键enter可以一行一行的向下显示信息,空格键backspace可以一页一页的显示信息。按b键可以往回翻。
安装:yum install man man-pages –y
man表示帮助程序,man-pages表示帮助程序附带的文档,做C开发的时候一定要把后面的帮助文档带上。
外部帮助信息
是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息.
Man命令中左上角ls(1)的数字表示:(8类文档)
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
常用快捷键:
空格:向下翻页
b:向上翻页
/list:查找文件中的list
Man cd :会得到所有的bash命令
bash, : , . , [ , alias, bg, bind, break, builtin, caller,
cd, command, compgen, complete, compopt, continue,
declare, dirs, disown, echo, enable, eval, exec, exit,
export, false, fc, fg, getopts, hash, help, history,
jobs, kill, let, local, logout, mapfile, popd, printf,
pushd, pwd, read, readonly, return, set, shift, shopt,
source, suspend, test, times, trap, true, type, type-
set, ulimit, umask, unalias, unset, wait - bash built-
in commands, see bash(1)
man ascii
man utf-8
注意:utf-8是变长的字符集,存储中文可能占两个字节,可能占三个字节。
Man ip
Man 7 ip
man bash可以查看bash这个程序中所有命令及其知识点(周末有空要用两天时间将它消化掉)。
man ascii会显示ascii码表
Utf-8编码格式到底是占几个字符呢?不确定
man utf-8
但到底读取到高位是多少,再做出判断。
0表示拿出一个字节来存储,110表示拿出两个字节来存储,1110表示拿出三个字节来存储,依次类推。
用于查找文件的路径。参数如下:(查找外部命令在哪)
不仅告诉我们这个命令在哪里,同时告诉我们它的帮助文档在哪里。
file命令用来探测给定文件的类型
之后,我们会看到所有的程序都是以文本的形式存在的,例如我们打开yum这个文本
打开文档后,其实每一个文档都是会先调用第一行的命令去执行一个程序,然后再读取文档中的其他内容,执行相对应的操作。一行一行的解释执行。
所以语言分为编译型和解释型,解释型语言必须依赖于解释器,没有解释器,是没办法运行的。
当我们想要shell和bash进行交互的时候,会写下一行字符串,并由回车enter来触发这行字符串,然后交给bash去解释执行,然后bash收到一行字符串,它会以空格符blank来切割这行字符串,切割之后会得到一个word,切割完第一个词,它会认为是一个命令,这个命令其实就是一个程序,然后将后面的字符串作为命令参数传递给前面的命令来处理。
ELF:二进制文件
gzip:压缩文件
-b的作用是不显示文件名,只显示文件格式以及编码。
echo可以用来打印输出,$可以用来表示一个变量,如下,会用冒号:来切割显示一些路径。在执行的时候会从左到右依次寻找,可能后边的路径中也有这个命令,但是就调不到了,为的就是节省我们的时间。
用abc=1表示一个变量,可以echo $变量名 来取出这个变量的值。
还可以对变量做加法
还支持简单的数组-----注意:bash默认只支持以空格来切分数组,变量必须以花括号{}扩起来才能取到。
${}取变量的值,有时可省略{}
echo $$ 获取当前shell的进程号PID。
Ps -fs查看所有进程---以静态方式查看进程。对动态进程临时抓一个快照
动态查看是top