### 知识点总结
#### 一、网络操作系统 Linux 基础命令篇概述
Linux 是一种免费且开源的类 Unix 操作系统,被广泛应用于服务器和个人计算机领域。本资料主要针对初学者介绍 Linux 的基本命令操作,通过学习这些基础知识,用户能够掌握如何在 Linux 环境下进行简单的文件管理、目录导航以及执行基本任务。
#### 二、Shell 命令格式及注意事项
1. **命令格式**:
- 基本格式为 `#cmd[-options][arguments]`,其中 `#` 表示命令提示符,`cmd` 为命令名称,`-options` 为可选参数,`[arguments]` 为命令参数。
- 示例:`#who`、`#ls -l -h`、`#ls -lh`、`#date -d 'Feb 21 2006'`、`#cd 'My Documents'`
2. **注意事项**:
- 参数之间默认使用空格(`Space`)或制表符(`Tab`)作为分隔符。
- 若一个参数中包含空格、制表符等分隔符,则需要使用引号表示其为一个整体。
- 引号分为单引号(`'`), 双引号(`"`), 反引号(`\``)。它们具有不同的功能:
- **双引号**:允许环境变量展开。
- 示例:`#rm -i "Who's is this"`
- **单引号**:禁止环境变量展开。
- 示例:`#echo 'this is the path: $PATH'`
- **反引号**:将括号内的内容视为命令执行。
- 示例:`#echo \`cat file\``
#### 三、目录和文件命名规则
1. `/` 用于表示“根”目录和路径分隔符,不能用作目录和文件名。
2. 除 `/` 外,所有字符均可用于目录和文件名,但建议避免使用特殊字符,如空格符、制表符、退格符、`?@#$&|;‘’“”<>` 等。
3. 避免以 `+-.` 开头作为普通文件名。
4. 文件名区分大小写。
5. Linux 不使用文件扩展名来识别文件类型。
#### 四、通配符
1. `*` 匹配任意数量的任意字符。
- 示例:`* .exe` 匹配所有以 `.exe` 结尾的文件。
2. `?` 匹配单个字符。
- 示例:`rc?.d` 匹配以 `rc` 开头后面跟着一个任意字符的文件。
3. `[...]` 匹配括号内任意单个字符。
- 示例:`[abc]` 匹配 `a` 或 `b` 或 `c`;`[a-f]` 匹配从 `a` 到 `f` 之间的任一字符;`[0-9,a-z]` 匹配 `0-9` 或 `a-z` 中的任一字符。
4. `![...]` 表示排除括号内字符的匹配。
- 示例:`*[!x]` 表示不以 `x` 结尾的文件。
5. 使用通配符时需要注意 ASCII 排序问题。
#### 五、管道符和重定向符
1. **管道符** (`|`):连接两个命令,使得前一个命令的输出成为后一个命令的输入。
- 示例:`#more /etc/fstab | lp`、`#ls -l | more`、`#ls -l | wc -l`
2. **重定向符** (`>`、`>>`、`<`、`<<`):
- `>`:覆盖输出到文件。
- 示例:`#sort > namelist`
- `>>`:追加输出到文件。
- 示例:`#more file1 >> file2`
- `<`:从文件读取输入。
- 示例:`#mail wangke < /etc/fstab`
- `<<`:这里文档重定向。
- 示例:`#command << 'END'`,其中 `'END'` 为分隔符,直到遇到此分隔符为止,命令读取内容作为输入。
#### 六、命令补全和其他技巧
1. **命令补全**:使用 `Tab` 键实现命令自动补全。
- 示例:`#redhat-config-<Tab><Tab>`、`#cd /usr<tab><tab>`。
2. **一行输入多个命令**:使用分号 `;` 分隔多个命令。
- 示例:`#ls; cat file.txt`
3. **命令续行**:使用 `\` 实现命令跨行输入。
- 示例:`#ls /usr/wangk/media;\nls /usr/wangk/program;\nls /usr/wangk/game`
4. **命令历史**:使用 `PgUp`、`PgDn` 键查看历史命令;`#history` 显示历史记录;`#!Command-number` 重新执行指定编号的命令;`#!s` 重新执行最近一次以 `s` 开头的命令;`#!!` 重新执行上一条命令。
通过以上总结,初学者可以了解到 Linux 中基本命令的使用方法,这些命令是日常操作的基础,对于进一步掌握 Linux 操作系统至关重要。