内置命令(bulidin command):Bash程序本身提供,不需要到$PATH中查找,执行效率高
外部命令:独立存在与文件系统中的可执行文件,文件需要存在于$PATH中
判断方法:type COMMAND
注意:Linux中严格区分大小写!!!
常见的内置命令:
help: 显示所有内置命令列表或单个内置命令的用法
type:判断命令的类型是内置还是外部命令
echo:显示,默认自动换行(加 -n 选项取消换行)
printf:依照格式显示参数内容,与C中printf用法类似
cd:change directory
cd (cd ~): 回到用户的家目录
cd - : 回到上次cd之前的目录
cd .. : 切换到当前目录的上层目录
pwd: print working directory显示当前所处目录
:(冒号):什么也不做,传回真值(0)
.(半角句号):在当前Shell环境中执行shell script文件[注意 . 与script间要有空格]
source: 同上半角句点
alias: 显示或设置别名
unalias: 取消别名
exit: 离开shell或结束Script
logout:注销login shell
umask: 显示或设定文件及目录创建时权限的屏蔽值(去除值)
history: 显示曾经执行过的shell命令
HISTFILE:当前用户曾经执行过的shell命令的存储文件
fc: 登录主机后执行过的命令
set:显示所有shell变量和函数的内容(无参数选项)或设定Bash Shell属性
time:在script或COMMAND执行结束后显示real,user,cpu的耗费时间
read:由标注输入(通常为键盘)或输入重定向读取数据
exec:执行指定的程序来取代原来的shell或使专项操作生效
常见外部命令:
ls: list列出目录内容(常用)
rm: remove删除
mkdir: make directory创建目录
rmdir: 删除空目录
which:在搜索路径($PATH)中查找外部命令文件位置
locate: 在文件名数据库中查找包含所给关键词的文件位置
date:显示或设定系统的时间日期
who:显示当前登录到主机的所有用户
w: 功能同who,输出格式不同
whoami:显示自己的登录账号
cat,tac,more,less:显示文件内容
head,tail:显示文件的头,尾一定行数(默认10行)
wc: 统计文件内包含的总子数或行数信息
ln: 创建链接文件(软连接或硬链接)
find:实时从硬盘查找文件
basename: 取得路径中最后的文件名部分(如/a/b/c中的c)
dirname: 取得路径中的目录部分(如/a/b/c中的/a/b)
sort: 排序
uniq:不显示重复行(即相同的N行只显示1行)
grep: 取出符合设定条件的行
cut: 取出文件中每行符合设定条件的部分
paste: 以行与行的方式合并文件
tr:translate
tee:读取标准输入,然后将标准输出显示的同时存储到文件中去
diff: different比较文件的不同
多命令的执行:
COMMAND1; COMMAND2; COMMAND3 :均会执行,且不会互相影响(不保证所有命令都成功)
COMMAND1 && COMMAND2 && COMMAND3 :前一个命令执行成功后才去执行下一个命令
COMMAND1 || COMMAND2 || COMMAND3 :前一个命令执行不成功才去执行下一个命令
(COMMAND1; COMMAND2; COMMAND3;) :开启一个子shell执行括号中的命令,完成后退出子shell
{ COMMAND1; COMMAND2; COMMAND3; } :在当前Shell环境中执行花括号中的命令(括号与命令间 要有空格,且最后一个命令后必须接 ; 号 )
^_^