Linux Shell编程基础与实践:命令详解与案例演示
需积分: 3 119 浏览量
更新于2024-09-18
收藏 4KB TXT 举报
"这篇文档是关于shell编程的初级到精通2-3章的学习总结,涵盖了基本的文件操作、用户管理、权限设置、正则表达式以及编辑器VIM的使用方法。"
在shell编程中,我们经常需要与Linux系统进行交互,对文件和目录进行操作。例如,`ls -l /etc/sh*`用于列出`/etc`目录下所有以`sh`开头的文件和目录,其详细信息包括权限、所有者、大小等。`date`命令显示当前日期和时间,而`who`则用来查看当前登录系统的用户。`useradd wang`创建了一个名为`wang`的新用户,`usermod -p 123456 wang`则将该用户的密码设置为`123456`。然而,这个密码是明文显示的,通常在生产环境中不会这样操作。`userdel -r wang`会删除用户`wang`,包括其主目录。`passwd wang`允许修改用户`wang`的密码。`groupadd -g 666 wang`创建了一个 gid 为 666 的新组`wang`,`groupmod -g 555 wang`将`wang`组的 gid 改为555,而`groupdel wang`则删除了`wang`组。
文件和目录的操作同样重要。`ls /home`列出`/home`目录下的所有文件和子目录。`cp -r sourceDir destDir`用于递归复制整个`sourceDir`到`destDir`。`mkdir -m 777 mydir`创建一个名为`mydir`的目录,并赋予所有者读、写、执行的权限(777)。`mkdir -p mydir/subdir`创建了多级目录结构。`chmod u+x,g+w mydir`使文件夹`mydir`的所有者具有执行权限,组成员具有写入权限。`ls -l mydir`则显示`mydir`目录内的详细列表。
在权限管理方面,`chown`命令用于更改文件或目录的所有者,如`chown root file.txt`将`file.txt`的所有者改为`root`。`chmod`命令用于更改文件或目录的权限,如`chmod 744 file.txt`将文件的权限设置为所有者有读、写、执行权限,而其他用户只有读权限。
在查找文件时,`find`命令非常实用。`find . -name 't*' -perm 744 -print`搜索当前目录及其子目录中权限为744且名字以`t`开头的文件。`find . -mtime -90 -print`查找在过去90天内被修改过的文件。`find /etc -type f -name "rc*" -exec ls -l {} \;`找到所有以`rc`开头的配置文件并列出它们的详细信息。`find /var/log -mtime -3 -ok rm {} \;`询问用户是否删除最近3天未被访问的日志文件。
对于文本编辑,`vi`是Linux中的强大工具。`vi -c "command"`允许在打开文件时执行特定的命令,如`vi -c "clear"`清空屏幕,`vi -r hello.txt`恢复文件`hello.txt`,`vi -R hello.txt`以只读方式打开文件。`vi +5 hello.txt`直接跳转到文件的第5行,`vi + hello.txt`跳转至文件末尾。在`vi`编辑模式中,`:w`保存文件,`:q`退出,`:q!`强制退出不保存,`:wq`保存并退出,`h`、`j`、`k`、`l`分别对应光标移动到左、下、上、右,`{}`、`(`)、`^`、`$`用于选择文本块,`:5`跳转到第5行,`x`删除当前字符,`dd`删除当前行,`d$`删除至行尾,`dw`删除单词,`J`合并当前行和下一行,`a`在当前字符后添加,`A`在行尾添加,`:s/wang/jin`替换当前行的第一个`wang`为`jin`,`:s/wang/jin/g`全局替换,`/jin`和`?jin`分别用于向前和向后搜索`jin`,`:1,3s/jin/wang/g`替换前3行的`jin`为`wang`,`:1,$s/wang/jin/g`替换全文的`wang`为`jin`,`:1,$s/find/find\/\-name/g`替换所有`find`为`find/-name`。
正则表达式是搜索和匹配文本的关键工具。`hel*o`匹配`hello`、`heello`等,`^cloud`匹配以`cloud`开头的字符串,`^X86*`匹配以`X86`开头的任何字符串,`micky$`匹配以`micky`结尾的字符串,`^%`匹配以空白字符开头的行,`^.%`匹配以任意非空白字符开头的行,`[01234`匹配包含0到4之间任意数字的字符串。
通过这些基本操作,shell编程能够帮助我们高效地管理Linux系统,实现自动化任务和脚本编写。理解并熟练掌握这些命令和概念,是成为Linux系统管理员和脚本编写者的必备技能。
2021-11-24 上传
2013-08-15 上传
2022-09-23 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-07 上传
2024-11-07 上传
kingwangw111111
- 粉丝: 4
- 资源: 43
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析