学习笔记之《Linux与UNIXShell编程指南》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习笔记之《Linux与UNIX Shell编程指南》.doc 《Linux与UNIX Shell编程指南》
学习笔记
学习笔记之《Linux与UNIX Shell编程指南》
第1章文件安全与权限
用户组,权限,文件的关系图
属主(u)
(+/-) r w x
文件或所 (+/-) r w x 同组(g) 文件夹有
(a)
(+/-) r w x
其它组(o)
查看文件权限
#ls –l
Total xx
-rwxr-xr-x 1 root root 3245 Aug 5 09:12 msg
rwx:文件属主权限这是前面三位
r-x:同组用户权限这是中间三位
r-x:其他用户权限这是最后三位
1 该文件硬链接的数目
root 文件的属主。
root 文件的属主root所在的缺省组(也叫做r o o t )
3578 用字节来表示的文件长度,记住,不是K字节 Aug 5 09:12 文件的更新时间
msg 文件名
第 1 页共 10 页
学习笔记之《Linux与UNIX Shell编程指南》
1.1 符号模式
chmod [who] operator [permission] filename
who的含义是:
u 文件属主权限。
g 同组用户权限。
o 其他用户权限。
a 所有用户(文件属主、同组用户及其他用户)。 operator的含义:
+ 增加权限。
- 取消权限。
= 设定权限。
permission的含义:
r 读权限。
w 写权限。
x 执行权限。
s 文件属主和组set -ID。
t 粘性位*。
l 给文件加锁,使其他用户无法访问。
u,g,o 针对文件属主、同组用户及其他用户的操作示例:
chmod o+w admin
1.2 绝对模式
chmod 命令绝对模式的一般形式为:
chmod [mode] file
R(读) W(写) X(执行)
4 2 1
0400 文件属主可读 0010 同组用户可执行 0200 文件属主可写 0004 其他用户可读 0100 文件属主可执行 0002 其他用户可写 0040 同组用户可读 0001 其他用户可执行 0020 同组用户可写
示例:
chmod 400 xx
chmod 755 xx
第 2 页共 10 页
学习笔记之《Linux与UNIX Shell编程指南》 1.3 其他命令
chown: 转交属主 chgrp: 转交用户组
id: 查看用户组 umask: 设定文件创建时的缺省模式
1.4 小结
了解并熟悉了文件的基本权限、用户、组之间的一些区别与联系,文件与文件夹之间对执行
与读权限的细微区别,对文件安全有了充分的认识。
第2章使用find 和 xargs
1.1 find 命令参数
名称解释备注 -name 按照文件名查找文件
-perm 按照文件权限来查找文件
-prune 不在指定的目录中查找不能与-depth同用 -user 按照文件属主来查找文件
-group 按照文件所属的组来查找
-mtime -n - n表示文件更改时间距现在n天以内,+ n表示文件更改时按照文件的更改时间来查找 +n 间距现在n天以前 -nogroup 查找无有效所属组的文件该文件所属的组在/e tc/groups中不存在 -nouser 查找无有效属主的文件该文件的属主在/etc/passwd中不存在 -newer 查找更改时间比文件file1新但比
file1 ! 文件file2旧的文件 file2
b - 块设备文件 d - 目录
c - 字符设备文件 -type 查找某一类型的文件 p - 管道文件 l - 符号链接文件 f - 普通文件 -size n[c] 查找文件长度为n块的文件带有c时表示文件长度以字节计
在查找文件时,首先查找当前目录-depth 中的文件,然后再在其子目录中找查找位于某一类型文件系统中的-fstype 文件
查找文件时不跨越文件系统m o u n -mount t点
如果f i n d命令遇到符号链接文-follow 件,就跟踪至链接所指向的文件对匹配的文件使用c p i o命令,-cpio 将这些文件备份到磁带设备中
第 3 页共 10 页
学习笔记之《Linux与UNIX Shell编程指南》
1.2 find 与 exec
当匹配到一些文件以后,可能希望对其进行某些操作,这时就可以使用–exec 选项。 exec选项后面跟随着所要执行的命令,然后是一对儿{ },一个空格和一个\,最后是一个分号。
如: find . –type f –exec ls –l {} \;
1.3 find 与 xargs
xargs 命令同find命令一起使用是为了避免 exec与find 一起使用时产生“参数列太长”或“参数列溢出”错误.
如: find . –name “*.jsp” –print | xargs echo “” > result.txt;
1.4 小结
find命令是一个非常优秀的工具,它可以按照用户指定的准则来匹配文件。使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令而避免去写shell命令。
第3章后台执行命令
1.1 前言
cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月
中的不同时段运行。
At at 使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时间段或
高峰负荷时间段运行。
& 使用它在后台运行一个占用时间不长的进程。
Nohup 使用它在后台运行一个命令,即使在用户退出时也不受影响。
1.2 cron和crontab
每一个用户都可以有一个crontab文件, crontab的命令允许用户提交、编辑或删除相应的作业。
crontab 的格式:
分< >时< >日< >月< >星期< >要运行的命令,其中< >表示空格。示例: 30 21 * * * /apps/bin/cleanup.sh
Crontab [-u user] -e -l -r