【收集+】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格式