Shell笔记Word格式.docx
- 文档编号:8413783
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:12
- 大小:36.09KB
Shell笔记Word格式.docx
《Shell笔记Word格式.docx》由会员分享,可在线阅读,更多相关《Shell笔记Word格式.docx(12页珍藏版)》请在冰点文库上搜索。
文件名/目录>
-R针对目录下的子目录执行相同的改变;
-h针对连接文件不影响目标文件
改变文件所属的组(组代表权限)
chgrp–R–h<
组名>
确定当前用户属于哪一个组
id
查看其他用户属于哪一个组
id<
设置创建文件和目录的缺省权限
umasknnn
nnn可以换算为文件或目录的缺省权限值,参见资料
建立对源文件的链接文件
ln[-s]<
源文件>
链接文件>
显示系统进程
psax
显示当前用户
who
文件和目录的权限:
权限表示
设置范围
权限
代码
绝对值
文件属主
同组用户
组外用户
读取
r
4
改写
w
2
执行
x
1
委托
s
2查找文件
find<
-选项>
文件名/通配符>
[-print-exec-ok]|[xargs]
-print:
将查找到的文件名列表输出到标致输出
-exec:
将查找到的文件拿来执行shell命令,如删除它们
-ok:
是-exec的安全模式,在做shell命令时要求确认
xargs:
将输出进行整体处理。
相比exec,xargs只有一个进程
查找方式
按文件名查找
-name
按文件权限查找
-perm
按文件属主查找
-user
按文件所属组查找
-group
按文件的更新时间查找
-mtime–n+n
-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
按文件类型查找
-type
文件类型有:
b-块设备文件。
d-目录。
c-字符设备文件。
p-管道文件。
l-符号链接文件。
f-普通文件。
按文件大小查找
-sizen[c]
示例:
主题
说明
命令
查找后执行
查找更改时间在5日以前的文件并删除它们
find.-typef-mtime+5-execrm{}\;
xargs
3系统后台调度任务
调度任务:
调度方式
周期性调度
cron/crontab
指定时间点调度
at
后台临时任务
后台执行方式
临时短暂后台执行
&
永久后台执行
nohup
4通配符
通配符
示例
*
匹配任何字符串,包括空字符串
?
匹配任何单个字符
[…]
匹配[]中所包含的任何字符
[!
...]
匹配[]中非感叹号!
之后的字符
5shell输入与输出
输入输出图示:
命令:
说明与选项
echo
显示
显示文本或变量到屏幕、或重定向到文件
“-e”选项是在Linux下使转义符有效
echo–e“asdfasdfasdf”到屏幕
echo–e“adfasdf”>
myfile覆盖
echo–e“adfasd\na”>
>
myfile追加
read
读取变量
从键盘或文件的一行读到变量
readnamesexage
suman男20
cat
读取文件
显示文件内容
“-v”显示控制字符
catmyfile|more
显示myfile内容,并将内容通过管道发送给more命令来分页显示
cat>
myfile1
输入一些文字
按住Ctrl+D结束输入
从键盘输入,并保存到myfile1文件中
命令1|命令2
管道输入
将一个命令的输出,给另一个命令作为输入
试用与管道的命令:
sed、awk、grep、more
tee
标准输出与文件保存
将内容显示在标准输出上,同时保存到文件
“-a”表示追加到文件尾
转义符:
转义符号
\n
换行
\c
不换行
\t
跳格Tab
\f
进纸
重定向:
类型
符号
重定向输出
ls–l>
myfile将ls–l命令的输出重定向到myfile文件中
myfile相比>
>
是追加到文件尾
重定向输入
cat<
myfile将myfile作为cat命令的输入
EOF重标准输入中读入,将EOF作为结束符
重定向错误信息的输出
2>
cat“adfasdf”2>
myfile将错误信息重定向输出到myfile文件中
myfile相比2>
2>
是追加到文件
文件描述符与标准输出:
文件描述符
标准输入
标准输出
cat“adfasdfas”1>
myfile等同于cat“adfasdfas”>
myfile
标准错误
cat“adfasdfa”2>
myfile错误输出到myfile中
结合使用
cat“adfasdf”1>
myfile2>
myfile1没错输出到myfile,错误输出到myfile1
合并使用
cat“aaa”>
1没错和有错,都输出到myfile中
exec与文件描述符:
6Shell或命令的逻辑执行
方式
命令1&
命令2
命令1执行成功后执行2,否则不执行2
cat“a”>
myfile&
echo“ok”
命令1||命令2
命令1执行错误后执行2,否则不执行2
myfile||echo“ok”
可以使用()将多个命令组合起来,全部成功才是成功
{}也可以,但{}是将括起来的命令作为一个整体在子Shell中执行
二字符操作
1正则表达式
基本元字符:
元字符
.句点
任意一个ASCII字符和数字
“…x..x..x”,”abcxdexaax”是匹配的
^行首
匹配^后字符为行首的
^p,”pabd”、”p09834”都是匹配的
^.p,”apaadd”、”0pfsd”都是匹配的(结合使用)
$行尾
匹配$前所有字符为结尾的
table$,”asdfatable”、”098table”都是匹配的
…le$,””(结合使用)
*重复
匹配*前的字符n次
compu*er,”computer”、”compuuuter”都是匹配的
\屏蔽特殊
屏蔽特殊字符
.^\$等字符时特殊字符,
“\^“将作为
^字符
[]字符范围
匹配[]所包含的单个字符
[Cc][0-9][A-Za-z0-9]
\{\}重复n次
AB\{n\},B重复n次的匹配
AB\{n,\}\,B重复至少n次的匹配
AB\{n,m\},B重复n到m次的匹配
[0-9]\{4\}XX[0-9]\{4\},2345XX6547的匹配
正则表达式的应用:
分类
应用名
表达式
日期格式dd-mm-yyyy
[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}
IP地址格
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}
匹配任意行
[^.*$]
匹配只有一个.的行
^.$
以xxx开头的行
^[xxx]
以xxx结尾的行
[xxx]$
非数字或字母
[^0-9A-Za-z]
2grep查询文件内容
grep[选项]基本正则表达式[文件名]
选项:
选项
-c
只输出匹配行的计数
grep–c“^00”“data.f”
-i
不区分大小写(只适用于单字符)
-h
查询多文件时不显示文件名
-l
查询多文件时只输出包含匹配字符的文件名
-n
显示匹配行及行号
-s
不显示不存在或无匹配文本的错误信息
-v
显示不包含匹配文本的所有行
注:
grep有点像SQL语言中的select语句。
基本正则表达式中,字符串或变量一定要用“”引起来,正则式模式用‘’单引号引起来。
grep查询时比较字符串是大小写敏感的。
-i可以不区分大小写。
主题示例:
查询多个文件
grep“查询内容”*.doc
grep“查询内容”data1.docdata2.doc
运用选项
查询匹配的行数
grep–c“查询内容”data1.doc
查询匹配行的行号及内容
grep–n“查询内容”data.doc
查询不匹配的行内容
grep–v“查询内容”data.doc
精确匹配
grep“查询内容<
分段控制符>
”data.doc
正则表达式
模糊匹配
grep‘正则表达式’data.doc(注意是单引号)
运用类名替代正则表达式:
作为管道的运用:
(查询前面的命令的输出)
运用
查询指定的系统进程
psax|grep“named”
查询目录ls–l
ls–l|grep“^d”
只查询目录
ls–l|grep“^[^d]”
只查询文件
egrep(extendgrep扩展grep):
用文件作为条件输入
egrep<
条件文件名>
条件文件中保存查询条件
多个条件(使用|符号)
egrep(条件1|条件2)<
条件1和条件2都可以
3awk抽取文本内容
将文本文件中的内容以行(换行符分割)和列(指定的分隔符分割)划分,就像二维表一样,使用列内容之间的关系进行查询行记录,并输出报文。
有点像SQL中select语句中的聚合函数。
awk[-F
:
分隔符>
]‘<
域比较条件表达式>
’<
4sed文本编辑器
将输入文件编辑后输出到文件
sed<
sed命令>
输入文件>
>
输出文件>
5sort排序
6uniq去除重复行
7join连接两个文本行
8cut和paste文本
9split分割文本
10tr字符转换
三系统环境设置
1系统启动设置
登录过程
文件/etc/passwd
$HOME.profile
定制$HOME.profile
2环境变量
3注意引号
三
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Shell 笔记