Linux Shell编程入门:权限与基础操作指南

需积分: 0 1 下载量 179 浏览量 更新于2024-07-28 收藏 19.75MB PDF 举报
Linux Shell编程指南深入讲解了在Linux操作系统中使用shell脚本进行编程的基础知识。此指南特别关注于文件安全与权限管理,这对于系统管理员和开发者来说至关重要。学习者可以通过阅读了解到如何保护文件免受未经授权的访问: 1. 文件和目录权限:在Linux中,每个文件和目录都有特定的权限,包括文件属主(创建者)、同组用户以及其他用户所能执行的操作,如读(r)、写(w)和执行(x)。权限通过9个字符的模式(rwxr-xr-x)来表示,三个字符分别代表文件属主、组用户和其他用户。 2. setuid:setuid(Set User ID)允许特定的脚本或程序在执行时临时切换到创建者或其他指定用户的身份,增强了程序的执行权限。 3. chown/chgrp/cgrp:chown用于改变文件的所有者,chgrp改变文件所属的组,而chmod则控制不同用户的访问权限。 4. umask:umask是一个二进制位掩码,用来设定新创建文件的默认权限,确保创建的文件在权限上保持一定的私密性。 5. 符号链接:Linux支持软链接(symbolic link)和硬链接(hard link),它们提供了灵活的文件引用方式,但对权限管理也有特殊的要求。 6. 文件属性:创建文件时,会记录文件的位置、类型、长度、所有者、用户组、i节点、修改时间和权限等信息。ls -l命令用于查看这些详细信息。 7. 权限位详解:权限位的rwx分别对应读、写和执行权限,横杠(-)表示禁止相应权限。例如,rwxr-xr-x中,第一个rwx表示文件属主可读写执行,中间r-x表示组用户可读和执行,最后r-x表示其他用户可读和执行。 Linux Shell编程指南为学习者提供了一个全面的平台,涵盖了从基础的文件操作到高级权限管理的各个环节,对于理解和实践Linux shell编程具有很高的实用价值。通过理解并掌握这些概念,用户可以更好地控制和管理Linux系统,实现自动化任务处理和系统维护。
2015-05-29 上传
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的用户组 9 1.7.4 找出其他用户所属于的组 10 1.8 umask 10 1.8.1 如何计算umask值 10 1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 17 2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find命令的例子 20 2.2 xargs 20 2.3 小结 21 第3章 后台执行命令 22 3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死后台进程 28 3.4 nohup命令 29 3.4.1 使用nohup命令提交作业 29 3.4.2 一次提交几个作业 29 3.5 小结 30 第4章 文件名置换 31 4.1 使用* 31 4.2 使用? 32 4.3 使用[...]和[!...] 32 4.4 小结 33 第5章 shell输入与输出 34 5.1 echo 34 5.2 read 35 5.3 cat 37 5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准输出 41 5.7.2 重定向标准输入 42 5.7.3 重定向标准错误 42 5.8 结合使用标准输出和标准错误 43 5.9 合并标准输出和标准错误 43 5.10 exec 44 5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 5