您的位置:首页 > 运维架构 > Shell

重要的shell命令

2013-11-14 11:19 232 查看
现今UNIX系统都随附相当多的命令。很多有特殊用途,也有很多是日常处理使用的。

日常使用没必要用到那么多命令。尽可能的找出有用的命令,也就是UNIX的用户程序设计人员首先应了解的那些,做个简单介绍。

bash GNU 计划的Bourne-Again Shell

ksh Korn Shell——原始版本或分支体系版本,视操作系统而定

pdksh Public Domain Korn Shell

sh 原始Bourne Shell,特殊是在商用的UNIX系统上

zsh Z-Shell

shell内置命令的运行方式:

. 在当前Shell下,读取与执行给定的文件

break 切断for,select,until或while循环

cd 更改当前目录

command 规避函数的查找,直接执行正规的内置命令

continue 开始for,select,until,或while循环的下一个重复

eval 将给定的文本视为Shell命令

exec 无参数的情况下,改变Shell打开的文件。如带参数,则以其他程序置换Shell

exit 退出Shell脚本,可选地带有可定的退出码

export 将变量导出到接下来的程序环境中

false 什么事也不做,指非成功的状态。用于Shell循环中

getopts 处理命令行选项

read 将输入行读进一个或多个Shell变量里

readonly 将变量标记为只读,例:不可更改的

return 返回自Shell函数而来的值

set 显示Shell变量与变量值,设置Shell选项、设置命令行参数($1 $2 .....)

shift 一次移动一个或多个命令行参数

test 计算表达式,检测其为字符串,数字或文件属性相关的

trap 管理操作系统信号

true 什么事业不做,指成功的状态。用于Shell循环中

type 指出命令的类型(关键字、内置命令、外部命令等等)

typeset 声明变量与管理它们的类型与属性

ulimit 设置或显示系统对每个进程所加诸的限制

unset 删除Shell变量与函数

下列为编写日常处理的Shell脚本的好用命令:

basename 显示路径名称的最后元件,并可选用地删除副文件名。主要用于命令替换

dirname 显示处理路径名称最后组成部分以外的所有信息。主要用于命令替换

env 处理命令的环境

id 显示用户与组ID及名称信息

date 显示现在的日期与时间,可选用地受用户提供的格式字符串所控制

who 显示已登录的用户列表

stty 处理当前终端设备的状态

文本处理

awk 实用的程序语言,为许多大型Shell脚本的重要组成部分

cat 连接文件

cmp 简单的文件比较程序

cut 剪下选定的列或字段

dd 阻绝与接触阻绝的专门程序,也可执行ASCII与EBCDIC之间的转换。dd在产生设备文件原貌的副本时特别好用。需要特别注意的是, 执行字符集转换时使用iconv较为适合

echo 将参数打印到标准输出

egrep 扩展的grep。使用ERE进行匹配

expand 展开制表符与空格字符

fgrep 快速grep。使用不同于grep的算法匹配固定字符串

fmt 将文本格式化为段落的简单工具

grep 源自原始的ed行编辑器g/re/p,“全局性(g)匹配正则表达式(re)并打印(p)”。使用BRE匹配

iconv 一般用途的字符编码转换工具

join 自多个文件结合匹配的记录

less 设计精良的交互式程序分页(pager)程序用以于终端上查看信息,一次显示屏幕所能显示的内容。现已有GNU计划提供此程序,其 名称为对应的more程序双关语

more 原始BSD UNIX交互式分页程序

pr 将文件格式化,供行打印机使用

printf echo的精装版,提供要被打印参数的控制方式

sed 流编辑器,以ed行编辑器的命令集为基础

sort 排序文本文件。命令行参数提供排序键值的指定与优先级控制

spell 批次拼字检查程序。你也可以使用aspell或ispell封装成名为spell的Shell脚本

tee 将标准输入拷贝到标准输出,或到一至多个指名的输出文件

tr 转换,删除或减少重复字符的执行

unexpand 将空格字符转换成适当数量的制表符

uniq 删除或计算已排序输入中的重复行

wc 计算行、单词、字符或字节

文件处理

bzip2、bunzip2 极高品质的文件压缩与解压缩

chgrp 更改文件与目录的组

chmod 更改文件与目录的权限(模式)

chown 更改文件或目录的所有权

cksum 显示文件的校检和(checksum)、POSIX标准算法

comm 显示或省略两个排序后的文件之间具有唯一性或共有的行

cp 复制文件与目录

df 显示可用磁盘空间

diff 比较文件,显示其差异

du 显示文件与目录所使用的磁盘块

file 通过文件开头部分的检查,判断文件里的数据类型

find 向下一个或多个目录阶层,寻找匹配于指定条件的文件系统对象(文件、目录、特殊文件)

gzip、gunzip 高品质的文件压缩与解压缩

head 显示一个或多个文件的$_前n行

locate 以文件名称在系统里查找一文件。此程序使用定期自动重建的文件数据库中进行查找

ls 列出文件。可使用选项控制要显示的信息

md5sum 打印文件校检和,其使用MD5算法求出校检和

mktemp 简历独一无二的临时文件,并显示其名称。非所有系统都可使用。

od 八进制输出;以八进制、十六进制或作为字符数据来打印文件内容

patch 通过读取diff的输出,将给定的文件更新为新版本

pwd 显示当前的工作目录。通常内置在现代的Shell中

rmdir 只删除空目录

strings 查找二进制文件中可打印的字符串,并显示它们

tail 显示文件的左后n行。加上-f则继续打印(成长)文件的内容

tar 磁带打包程序。现常被拿来作为软件发布的格式

touch 更新文件的修改或访问时间

umask 设置默认的文件建立权限掩码

zip、unzip 文件打包与压缩/解压缩程序。ZIP格式可使用于多种操作系统下,相当具有可移植性

进程

以下为建立、删除,或管理进程所使用的命令:

at 在指定时间执行工作。at调度的工作只执行一次,而cron则为定期执行

batch 在系统负载较不忙碌时,执行工作

cron 在指定时间执行工作

crontab 编译每个用户的“corn表格”文件,指定应执行哪些命令,于何时执行

fuser 寻找正在使用特定文件或socket的进程

kill 传送信号到一或多个进程

nice 在进程执行前,更改其优先级

ps 进程状态。显示与正在执行中进程有关信息

renice 进程已被启动后,再改其优先级

sleep 停止执行一段指定的秒数

top 交互式显示系统上密集使用CPU的工作

waitShell 内置命令,等待一个或多个进程完成

xargs 读取标准输入上的字符串,作为参数,尽可能地传递给指定的命令。多半会搭配find使用

其他程序

cvs Concurrent Versions System,功能强大的源代码管理程序

info GNU info系统,供在线文件浏览使用

locale 显示可用的locale相关信息

logger 通常是通过syslog(3),传送信息到系统日志文件

lp、lpr 将打印缓冲区文件传送给打印机

lpq 显示正在处理中与在队列等待中的打印工作列表

mail 传送电子邮件

make 控制文件的编译和重复编译

man 显示命令、程序库函数、系统调用、设备、文件格式与管理性命令的在线手册页

scp 安全进行文件远端复制

ssh 安全的shell。在执行程序或交互式登录的机器之间提供加密的连接

uptime 显示系统已开机多久及其负载信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: