千家信息网

unix shell编程摘记系列(一)

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、基本命令回顾date //显示日期和时间who //查看登录系统的所有用户echo //显示输入的内容文件操作类ls //列出文件清单cat //显示文件内容wc //统计文件中的单词数cp //
千家信息网最后更新 2026年11月03日unix shell编程摘记系列(一)

一、基本命令回顾

date //显示日期和时间

who //查看登录系统的所有用户

echo //显示输入的内容

文件操作类

ls //列出文件清单

cat //显示文件内容

wc //统计文件中的单词数

cp //复制文件

mv //文件重命名

rm //删除文件

目录操作类

pwd //显示当前工作目录

cd //改变当前工作目录

mkdir //创建目录

ln //链接文件

ln -s 源文件 目标文件 //将源文件链接到目标文件

rmdir //删除目录

字符匹配

* //匹配0个或以上的字符

? //匹配任意一个字符

[abc] //匹配单个a或b或c

[0-9] //匹配0到9中的一个字符,指定范围的第一个字符的序号必须小于后一个字符的

示例:

[a-np-z]* //匹配除了o之外的从a-z的任意一个字母开头的文件名

! //非

示例:

[!a-z] //匹配除了a到z的小写字母之外的任意字符

*[!o] //匹配任意不以小写字母o结尾的文件名

ls [a-z]*[0-9] //列出以小写字母开头并以数字结尾的文件名清单

标准输入、输出

以who为例,who命令把登录到系统的用户清单写入到标准输出设备。

输入、输出重定向

> //输出重定向,覆盖已有内容

>> //追加输出重定向,不覆盖已有内容

cat(catenate) //后面跟多个文件时,可将多个文件连接起来

如:

cat a b >> c //将a和b文件中的内容追加到c文件中

> file //创建一个名为file的空文件,长度为0字符

wc -l a //计算a文件中的行数

管道

| //管道符

who | wc -l //将who命令的输出反馈给wc -l作为输入

过滤器

指从标准输入接受输入,对输入进行处理后,把结果写入标准输出的任何程序,如sort,wc都算,但ls不算;

标准错误

2> //标准错误重定向

; //分隔命令,如date;pwd

& //用于命令后面,表示后台执行

ps //显示系统正在运行的进程信息

二、shell是什么

init->getty->login->sh

如果要执行一个特定的程序,shell会在磁盘上搜索并找到指定程序,找到后,shell请求内核对程序进行初始化,之后shell进入"睡眠",直到程序执行完毕。

程序名 参数表

shell作用:

执行程序;

解释编程语言;

环境控制;

管道线连接;

I/O重定向;

变量和文件名置换;

shell通过特定的字符去判断程序名的起止位置和参数表的起止位置,有空格字符、制表符、行结束符(统称为空白字符);

shell自动忽略空白字符;

0