### Linux 命令与 Shell 脚本基础知识详解 #### 标题解析 - **Linux100讲**:该标题暗示了这是一系列关于Linux的教程,可能包括了100个不同的主题或者章节,旨在全面地介绍Linux系统的各个方面。 #### 描述解析 - **Linux命令的用法及Shell脚本的编写基础**:这段描述明确了教程的主要内容是围绕Linux命令的使用方法以及Shell脚本的基础编写技巧展开。通过学习这些内容,用户能够更好地理解和掌握如何在Linux环境下进行高效的操作和自动化任务处理。 #### 内容分析与扩展知识点 ### 1. 基础命令操作 #### dd 命令 - **语法**:`dd if=<输入文件> of=<输出文件> bs=<块大小> count=<块数量>` - **示例**:`dd if=/dev/sda of=mbr.bin bs=446 count=1`,该命令将从设备/dev/sda读取446字节的数据并写入到文件mbr.bin中。 - **用途**:用于复制文件、备份分区表等。 #### hexdump 命令 - **语法**:`hexdump -C <文件>` - **示例**:`hexdump -C mbr.bin`,以十六进制格式显示mbr.bin文件的内容。 - **用途**:用于查看文件的二进制数据。 ### 2. 文件与目录管理 #### cd 命令 - **语法**:`cd <目录路径>` - **示例**:`cd /boot/grub2`,切换到/boot/grub2目录。 - **用途**:改变当前工作目录。 #### ls 命令 - **语法**:`ls [选项] [文件或目录]` - **示例**:`ls /var/`,列出/var/目录下的所有文件和目录。 - **用途**:列出指定目录下的文件和子目录列表。 ### 3. 进程管理 #### top 命令 - **语法**:`top [选项]` - **示例**:`top -p 1`,显示PID为1的进程信息。 - **用途**:实时显示系统中的进程状态信息。 ### 4. 初始化脚本与服务管理 #### which 命令 - **语法**:`which <命令名>` - **示例**:`which init`,查找并显示init命令所在的完整路径。 - **用途**:查找命令的可执行文件所在的路径。 #### 初始化脚本 - **路径**:`/etc/rc.d` - **用途**:存放Linux系统的启动脚本和服务控制脚本。 #### 默认启动级别 - **路径**:`/etc/systemd/system` - **用途**:存放默认启动级别的相关配置文件。 ### 5. Shell 脚本的编写技巧 #### 执行命令的方式 - **直接执行**:`./filename`,需要给文件设置执行权限。 - **source命令**:`source ./filename`,执行脚本并更新当前shell环境。 - **子进程方式**:`bash ./filename`,在子进程中执行脚本,不影响当前shell环境。 #### 输入与输出重定向 - **输入重定向**:`<`,从文件读取输入。 - **输出重定向**:`>`,覆盖输出;`>>`,追加输出;`2>`,错误输出重定向;`&>`,合并输出。 - **组合使用**:`cat > /path/to/a/file << EOF ... EOF`,使用这里文档(heredoc)实现复杂的输入重定向。 #### 变量处理 - **赋值**:`a=123` 或 `let a=1+2`。 - **引用**:`${变量名}` 或 `$变量名`。 - **作用范围**:通过`export`导出变量使之全局可见,使用`unset`删除变量。 - **特殊变量**:`$?`(上一条命令的状态码)、`$$`(当前进程ID)、`$0`(脚本名称)等。 #### 环境变量配置 - **配置文件**:`/etc/profile`、`/etc/profile.d/`、`~/.bash_profile`、`~/.bashrc`、`/etc/bashrc`。 - **用途**:用于设置和管理用户的环境变量,在登录时自动加载配置。 ### 总结 通过对上述内容的详细解析,我们可以看到该教程涵盖了Linux系统中的基础命令操作、文件与目录管理、进程管理、初始化脚本与服务管理以及Shell脚本编写等多个方面的重要知识点。这些内容对于初学者来说是非常有价值的,能够帮助他们快速掌握Linux操作系统的基本使用方法,并为进一步深入学习打下坚实的基础。
hexdump -C mbr.bin
dd if=/dev/sda of=mbr2.bin bs=512 count=1
huexdump -C mbr2.bin | more #查看分区表信息
cd /boot/grub2
grub2-editenv list #查看grub内核
uname -r #查看内核
which init
top -p 1 #一号进程
cd /etc/rc.d #初始化脚本
cd /etc/systemd/system #默认启动级别
cd /usr/lib/systemd/system #引导文件
ls /sbin/grub2-mkconfig
file /sbin/grub2-mkconfig
cd /var/ ;ls
cd /var/;ls ;pwd;du -sh *
执行命令的方式:
bash ./filename #可以不给X权限,当前运行环境不受影响,会产生子进程
./filename #必须要又可X权限,当前运行环境不受影响,会产生子进程
source ./filename #必须要又可X权限,当前运行环境受影响,不会产生子进程
./filename.sh #必须要又可X权限,当前运行环境受影响,不会产生子进程
cat anaconda-ks.cfg | more
cat | ps -f
echo 123 | cat | cmd #一个命令的输出,传给下一个命令的输入,子进程的方式运行。输入和输出建立连接。
一个进程会打开一个标准输入,标准输出,错误输出三个文件描述符
输入重定向符号:"<"
wc -l < /etc/passwd
read var < /path/to/a/file
输入重定向符号:">" ">>" "2>" "&>"
">":这个会覆盖掉原来的内容
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助