重要的shell命令

来源:互联网 发布:看电影软件不付费 编辑:程序博客网 时间:2024/04/29 11:26

现今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                                                     显示系统已开机多久及其负载信息