【收集+】shell下的主要工具

shell 下有很多工具是非常好的辅助。

一、自我精进的途径

1、help / --help :简要的帮助说明;

     help 是针对 shell 内建功能的帮助, gnu工具一般为 "程序名 --help"

2、man : 初步的说明

3、info : 深入的说明信息,对于很多gnu工具,就是正式的help文件。

 

二、几个工具集合(单独使用上面man、info可能找不到)

1、coreutils【对应的嵌入式场合,主要是busybox】

http://www.gnu.org/software/coreutils/

http://en.wikipedia.org/wiki/GNU_Core_Utilities

该列表包含的工具对应 Coreutils 8.20版

文件处理工具
chcon    改变文件的安全相关上下文 (SELinux)
chgrp    修改文件的属组
chown    修改文件的所有者
chmod    修改文件或目录的权限
cp       复制文件或文件夹
dd       复制/转换文件
df       显示文件系统上的空闲/已用空间
dir           等效于“ls -C -b”
dircolors     设置ls命令输出显示颜色
install       复制文件并设置属性(如rwx)
ln       创建到某一文件/文件夹的链接
ls       列出某个文件夹的内容
mkdir    创建文件夹
mkfifo   创建命名管道(英语:Named pipe)(即FIFO)
mknod    创建块文件或字符设备文件(英语:device node)
mktemp   创建临时文件(英语:temp file)/文件夹
mv       移动或重命名文件
rm       删除文件,-R 递归删除子文件夹(注意是整个子文件夹);如果希望递归删除匹配文件,使用find
rmdir    删除空文件夹
shred    多次覆盖文件以使原本内容难以还原
sync     将缓存写入磁盘并清理缓存
touch    变更文件时间戳
truncate 截取/扩充文件到给定大小
vdir     效果实质等价于“ls -l -b”


文本工具
base64   以base64算法对文件进行编/解码,并将结果送至标准输出
cat      连接并输出文件至标准输出
cksum    计算文件的CRC校验码与字节数
comm     按行比较两个有序文件
csplit   按行分区文件
cut      从文件中截取部分输出
expand   将文件中的制表符转换为空格 

fmt      简单的文本格式优化程序
fold     为每行输入以给定的宽度设定自动换行
head     根据给定条件输出文件最前面的某一部分
join     将两文件中同首部行进行组合
md5sum   计算/校验文件的MD5校验值
nl     计算文件的行数
od     将文件转换为8进制(或其他形式)表示并送至标准输出
paste    按行将两个文件合并
ptx      针对文件内容生成关键字索引(英语:Key Word in Context)
pr       将文本文件转化为打印格式
sha1sum, sha224sum, sha256sum, sha384sum, sha512sum   计算/校验SHA-1、SHA-2的(SHA224/256/384/512)校验值
shuf     将文件内容随机排序输出
sort     对文本文件的内容进行排序
split    按大小分区文件
sum      计算文件的大小及其占用的块数
tac      连接文件并将内容按列反向输出
tail     输出文件的结尾部分
tr       替换/删除指定字符(串)
tsort    对文件内容进行拓扑排序
unexpand 将空格转换为制表符(与expand相对)
uniq     从有序文件中删除重复行
wc       输出文件的字节数/单词数/行数


Shell工具
basename  删除给定的路径名的路径前缀
chroot    转换root文件夹
date      输出/设定系统日期与时间
dirname   只输出给定的路径名的路径前缀(与basename相对)
du        显示文件系统上的磁盘使用率
echo      输出给定的文本
env       显示/修改环境变量
expr      对给定表达式进行计算
factor    输出一个整数的所有素数因子
false     仅返回“运行失败”的退出状态
hostid    输出当前主机的数值标识符
id        输出当前的真实/有效用户ID与组ID(英语:Group identifier)
link      创建到文件的硬连接(英语:hard link)(效果等价于不带参数的ln)
logname   输出用户登录时用名
nice      修改进程调度优先级
nproc     显示当前进程可用的CPU数
nohup     允许命令在用户注销后继续执行
pathchk   检查给定用户名是否有效/可达
pinky     finger协议(英语:finger protocol)的轻量级实现
printenv  输出环境变量(效果等价于env)
printf    将给定字符串格式化并输出
pwd       输出当前的工作目录
readlink  显示符号链接的指向
realpath  输出解析出的绝对路径(等价于主体为“echo $(pwd)/$1”函数)
runcon    以给定的安全上下文执行命令
seq       以给定的起始、终止数字与增量生成数列
sleep     在给定时间内延迟(阻塞)
stat      输出给定的索引节点存储的数据
stdbuf    调整标准流缓冲区后运行给定命令
stty      输出/修改终端设定
tee       将输入同时送入标准输出与指定文件
test      判断表达式的正误
timeout   限时执行命令
true      仅返回“运行成功”的退出状态
tty       输出终端名
uname     输出系统相关信息
unlink    以unlink函数删除指定文件
users     输出登录到当前主机的用户
who       列出当前已登录的所有用户
whoami    输出当前用户的有效用户ID
yes       不断输出y
其他工具
[         等效于test

 

2、binutils(配合gcc工作)

http://zh.wikipedia.org/wiki/GNU_Binutils

http://www.gnu.org/software/binutils/

as         汇编器
ld         连接器
gprof      性能分析工具程序
addr2line  从目标文件的虚拟地址取得文件的行号或符号
ar         可以对静态库做创建、修改和取出的操作。
c++filt    解码 C++ 的符号
dlltool    创建Windows 动态库
gold       另一种连接器
nlmconv    可以转换成NetWare Loadable Module目标文件格式
nm         显示目标文件内的符号
objcopy    复制目标文件,过程中可以修改
objdump    显示目标文件的相关信息,亦可反汇编
ranlib     产生静态库的索引
readelf    显示ELF文件的内容
size       列出总体和section的大小
strings    列出任何二进制档内的可显示字符串
strip      从目标文件中移除符号
windmc     产生Windows信息资源
windres    Windows 资源档(英语:Resource (Windows))编译器

 

三、其他工具

1)高级工具:sed,awk等

2)实用工具:

dos2unix   将文本从dos/windows的换行符号改为unix格式

 

posted @ 2014-03-03 21:47  yvivid  阅读(704)  评论(0编辑  收藏  举报