Linux命令及Shell脚本使用
### Linux命令及Shell脚本使用详解 #### 一、Linux常用命令详解 ##### 1. cp 命令 - 文件拷贝 - **语法**: `cp [选项] 源 目标` - **功能**: 复制文件或目录 - `cp sample/* asmpl1`: 将目录`sample`下的所有文件复制到目录`asmpl1`中。 - `cp -i mm.c mm1.c`: 如果目标文件`mm1.c`已存在,则在覆盖之前询问用户确认。 - **选项**: - `-i`: 在覆盖文件前询问用户。 - `-r` 或 `-R`: 递归复制目录。 ##### 2. mv 命令 - 移动文件或重命名 - **语法**: `mv [选项] 源 目标` - **功能**: 移动文件或目录,或者更改文件名。 - `mv mm.c mm1.c`: 将文件`mm.c`重命名为`mm1.c`。 - `mv file.txt /path/to/directory/`: 将`file.txt`移动到指定目录中。 ##### 3. cd 命令 - 改变工作目录 - **语法**: `cd [路径]` - **功能**: 更改当前的工作目录。 - `cd ~`: 返回用户的家目录。 ##### 4. less 命令 - 分页查看文件 - **语法**: `less 文件名` - **功能**: 查看大文件内容,支持前后翻页。 - `less rr.c`: 分页查看`rr.c`文件内容。 - 使用空格键浏览下一页,`PgUp`和`PgDn`键浏览上一页和下一页。 - `/`后跟搜索关键字,可以查找文件内容。 ##### 5. grep 命令 - 文本搜索 - **语法**: `grep [选项] 模式 文件` - **功能**: 在文件中搜索指定模式。 - `grep -i max rr.c`: 搜索`rr.c`文件中不区分大小写的`max`。 - `grep -v max rr.c`: 显示`rr.c`文件中不包含`max`的所有行。 - `grep -c max rr.c`: 统计`rr.c`文件中包含`max`的行数。 ##### 6. wc 命令 - 字符统计 - **语法**: `wc [选项] 文件` - **功能**: 计算文件的行数、单词数和字节数等。 - `wc -l rr.c`: 统计`rr.c`文件的行数。 - `wc -w rr.c`: 统计`rr.c`文件的单词数。 - `wc -c rr.c`: 统计`rr.c`文件的字节数。 ##### 7. cat 命令 - 文件内容处理 - **语法**: `cat [选项] 文件` - **功能**: 显示文件内容或将多个文件连接到一起。 - `cat > rr.c`: 创建一个新文件`rr.c`,若文件已存在则覆盖原有内容。 - `cat >> rr.c`: 向文件`rr.c`追加内容。 - `cat rr1.c rr2.c > rr.c`: 将`rr1.c`和`rr2.c`文件内容合并到`rr.c`文件中。 ##### 8. sort 命令 - 文件排序 - **语法**: `sort [选项] 文件` - **功能**: 对文件内容进行排序。 - `sort rr.c`: 对`rr.c`文件内容进行排序,并显示在标准输出。 - `sort < rr.c > list`: 将`rr.c`文件内容排序后保存到`list`文件中。 ##### 9. who 命令 - 登录用户信息 - **语法**: `who` - **功能**: 显示当前登录的用户信息。 - `who | wc -l`: 统计当前登录的用户数量。 ##### 10. 帮助命令 - **语法**: `man 命令` 或 `whatis 命令` - **功能**: 显示命令的手册页或简短描述。 - `man wc`: 显示`wc`命令的手册页。 - `whatis wc`: 显示`wc`命令的功能简介。 ##### 11. apropos 命令 - 关键词搜索命令 - **语法**: `apropos 关键词` - **功能**: 查找与关键词相关的命令。 - `apropos copy`: 查找与"copy"相关的所有命令。 ##### 12. 背景任务控制 - **语法**: `command &` 或 `nohup command &` - **功能**: - `&`: 将命令放到后台执行。 - `nohup`: 即使用户退出,命令仍在后台继续运行。 - 示例: `cc rr.c &` 或 `$ nohup find . -name "*.old" -print > old_file 2> find.err &` #### 二、Shell脚本基础 ##### 1. Shell变量 - **定义**: 变量用来存储数据。 - `LOGNAME`: 存储当前用户名。 - `echo $LOGNAME`: 显示当前用户名。 ##### 2. 引号使用 - **单引号 `'`**: 内容被视为纯文本,不进行变量替换。 - 示例: `echo 'this is just a "test", can $youtellmethetime?'` 输出: `this is just a "test", can $youtellmethetime?` - **双引号 `" "`**: 解析其中的变量和命令。 - 示例: `echo "the content of `date` is in $file"` 输出: `the content of Wed Aug 16 16:20:12 is in unixshell` - **反引号 `` ` ``**: 执行命令并将结果作为变量值。 - 示例: `name=`whoami``; `echo $name` 输出: 当前用户名。 ##### 3. 变量作用域 - **局部变量**: 在脚本内部定义,只在当前脚本有效。 - 示例: `var1=abc` - **全局变量**: 使用`export`命令将局部变量变为全局变量。 - 示例: `export var1` ##### 4. 预定义变量和环境变量 - **预定义变量**: 如 `$PATH`, `$HOME` 等。 - **环境变量**: 影响程序运行环境的变量,可通过`set`命令设置。 #### 结论 通过以上介绍可以看出,Linux命令和Shell脚本是进行高效文件管理、自动化任务处理和系统维护的强大工具。熟练掌握这些基础知识,可以帮助用户更灵活地使用Linux系统,提高工作效率。




























剩余10页未读,继续阅读


- 粉丝: 572
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 科教版高一年级《高中信息技术考试软件模拟操作流程》教学设计.doc
- 万科集团工程结算复核实施细则.doc
- 基於LoRa网路之校园巡回车动态查询LPWAN长距离低功耗物联网网路创新应用研.pptx
- 供应链管理的成功案例1.ppt
- 质量管理体系大纲.doc
- 互联网科技电商企业运营管理总结报告PPT(1)ppt模板.pptx
- 高尔夫练习场球场工程投标书.doc
- 通信电源专业基础知识和设备告警分析试卷.doc
- 幼儿园安全工作思路.doc
- 中国网络信息安全全民教育的新模式:以上海为例.docx
- 图书借阅系统----数据库课程设计报告.doc
- 绩效测量和监视控制程序.docx
- 第五讲--TSM与TDM.ppt
- 厦门某会展中心空调设计案例.doc
- 信息化背景下职业院校人才培养模式探索.docx
- 助教培训第二场记要魔王.doc


