bash shell命令
基础操作
man function_name:bash手册(不过man只对Linux内置系统命令才有效,对于shell内置命令或用户自定义命令、别名无效)
cd:遍历目录(.:当前目录;..:当前目录的父目录)
pwd:当前目录
ls:查看文件信息(-F:标示不同类型的文件;-R:递归访问文件;-l:显示附加信息;-i:显示inode值;*,?,[a-i]:定义通配符;--time=atime:显示访问时间)
touch:创建文件
cp:复制文件(-i:询问是否覆盖文件;-R:递归的复制整个目录)
ln:链接文件(-s:创建符号链接)
mv:根据第二参数是文件还是目录判断进行的是移动还是重命名操作。重命名时只允许有一个源文件,而移动时可以移动多个文件或目录,最后一个参数为目标目录。
rm:删除文件(-i:询问是否删除;-r:进入目录删除所有文件及目录;-f:强制删除)
mkdir:创建目录(-p:创建缺失的父目录)
rmdir:删除空目录
tree:以树形显示文件结构
file:查看文件类型
cat:查看文件内容(-n:显示行号;-b:只给文本显示行号;-T:使用^I替换所有制表符)
more:分页显示内容(less:more的高级版本)
tail:显示文件尾部(-n X:显示尾部X行)
head:显示文件头部(-n X:显示头部X行)
echo:输出对应值(-n:不换行)
高级操作
ps:获取进程信息(-e:显示所有进程;-f:显示扩展信息;-l(l):长格式输出;--forest:图像化表示)
top:实时监测进程(f:选择对输出进行排序的字段;d:修改轮询间隔;q:退出)
kill:终止进程(-s:提供其他信号)
killall:支持通配符进程名结束进程
mount:挂载的设备列表(mount -t vfat /dev/sdb1 /media/disk:将U盘/dev/sdb1挂载到/media/disk)
umount:卸载设备(umount /rich:卸载/rich挂载的设备)
df:查看所有已挂载磁盘的使用情况(-h:以更易读的形式呈现)
du:特定目录的磁盘使用情况(-c显示所有列出的文件总的大小;-h:更易读的形式;-s:显示每个输出参数的总计)
sort:排序数据(-n:按数值排序;-M:按月排序;-t:区分键位置的字符;-k:指定对应位置;-r:按降序输出)
grep [选项] [查找内容] [查找范围]:在文件中搜索数据(-v:反向搜索;-n:显示行号;-c:总匹配行数;-e:指定不同的模式)
find 查找路径 [参数] [字符串对象]:(-name:通过文件名查找,支持 * ? [])
gzip:压缩文件;gzcat:查看压缩过的文本文件内容;gunzip:解压文件
tar:归档数据(-c:创建新归档;-x:解压缩;-f:指定压缩与解压缩的文件名;-t:显示tar文件中的文件列表;-v:显示归档进度;-z:压缩、解压缩gz格式的tar文件)
shell机制
进程列表:将命令用;分隔,并包含在括号中。它将生成一个子shell来执行对应操作。可以通过使用 echo $BASH_SUBSHELL 来获取生成的子shell数目。使用 sudo 来获得root权限时就是通过当前进程创建一个具有root权限的子进程来实现对应权限的操作。
source(即 . 命令):默认执行命令时将创建一个新shell来执行对应操作,通过source或点命令,可以在当前shell环境下执行对应操作。
jobs:显示当前运行在后台模式中的所有用户的进程(-l:获取更多信息)
commands&:将对应命令置入后台模式
协程:通过coproc创建协程并在子shell中运行。可以通过 coproc My_Job { sleep 10; }来给默认协程创建一个名字。
which:查看可执行文件的位置(whereis:查看文件的位置;)
type -a:判断一个命令是否是内部命令
内建命令:与shell已经编译成了一体,作为shell工具的组成部分,比外建命令效率更高。
history:获取历史shell命令(-a:将内存中的历史命令强制写入 .bash_history 文件;-n:强制更新回话的历史命令;!!:上一条命令,!n:编号为n的历史命令)
alias:定义命令别名(-p:查看当前可用的别名)