🍞 常用开发维护命令
包括用于文件/目录管理的 ls、cd、mkdir、rm、cp;文件内容查看的 cat、more、less、head、tail;系统与进程管理的 ps、top、kill;网络管理的 ping、ifconfig;以及系统信息和日志相关的命令,如 uname、df、dmesg 等。
一、 文件和目录管理
ls:列出目录中的文件和子目录。cd:更改当前工作目录。pwd:打印当前工作目录。mkdir:创建新目录。rmdir:删除空目录。rm:删除文件或目录。cp:复制文件或目录。mv:移动或重命名文件和目录。touch:创建新文件或更新现有文件的访问和修改时间。
二、 文件内容查看
cat:显示文件的全部内容。more:分页显示文件内容,按空格键翻页。less:类似more,但允许向前和向后翻页。head:显示文件的开头部分。tail:显示文件的末尾部分,常用于查看日志。
三、 系统和进程管理
ps:列出当前运行的进程。top:动态显示系统进程和资源使用情况。kill:终止进程。chmod:修改文件或目录的权限。chown:修改文件或目录的所有者。sudo:以超级用户(root)的身份执行命令。
四、 网络管理
ping:测试网络连通性。netstat:用于显示网络状态。ifconfig或ip:显示或配置网络接口。ssh:远程登录到另一台Linux 主机。
五、 系统信息和维护
uname:显示系统信息,如内核版本。df:显示文件系统磁盘空间使用情况。du:显示目录或文件的磁盘使用情况。dmesg:显示内核的日志信息。grep:搜索文件中的文本模式。tar:创建或提取压缩文件。crontab -e:编辑用户定时任务计划。
六、 软件管理
apt-get:(Debian/Ubuntu) 或yum/dnf(RedHat/Fedora): 安装、更新、卸载软件包。
🍞 三剑客
Linux 的“三剑客”指的是 grep、sed 和 awk 这三个强大的文本处理命令。
其中,grep 用于在文本中搜索匹配的模式,sed 擅长对文本进行流式编辑和替换,而 awk 则是一种更强大的文本分割和格式化处理工具。
- grep (Global Regular Expression Print)
- 功能::在文件中或标准输入中搜索匹配某个模式的行。
- 侧重点::纯粹的文本查找和匹配。
- 示例::
grep "error" log.txt会在log.txt文件中查找所有包含"error" 的行。
- sed (Stream Editor)
- 功能::对文本进行流式编辑,主要用于查找和替换。
- 侧重点::匹配到的文本进行编辑操作。
- 示例::
sed 's/old_text/new_text/g' input.txt会将input.txt文件中所有"old_text" 替换为"new_text"。
- awk
- 功能::一种用于文本分析的脚本语言,能够对文本按列进行分割和处理,并进行格式化操作。
- 侧重点::格式化文本,进行较复杂的结构化处理。
- 示例::
awk '{print $1, $3}' data.txt会打印data.txt文件中每行的第一列和第三列。
🍞 shell编程
Linux Shell 编程是指使用Shell 作为一种编程语言来编写脚本,以实现自动化任务和管理系统。
常用的Shell 编程包括使用基础命令如 echo、cd、ls、mkdir 等,掌握变量、控制结构(如 if、for、while)、函数等编程概念,以及利用重定向、管道符等操作符来构建更复杂的脚本。
一、 Shell 基础命令
以下是一些最常用的Shell 命令及其功能:
echo:在屏幕上输出文本或变量的值。cd:用于切换当前工作目录。ls:列出当前目录下的文件和目录信息。pwd:显示当前工作目录的绝对路径。mkdir:创建新的目录。rm:删除文件或目录。cp:复制文件或目录。mv:移动文件或目录,或用于文件重命名。cat:显示文件的内容。grep:在文件中搜索指定的模式(文本)。chmod:修改文件或目录的权限。ps:显示当前正在运行的进程信息。kill:终止进程。find:在文件系统中搜索文件或目录。
二、 Shell 脚本编程要素
-
Shebang 行:
脚本的第一行通常是
#!/bin/bash,它告诉系统使用哪个解释器来执行脚本。
-
变量:
可以使用变量来存储数据,例如
MY_VAR="hello",并用$符号引用,如echo $MY_VAR。
-
条件语句 (
if):用于执行基于条件的命令。
-
循环 (
for、while):用于重复执行一段代码。
-
函数:
可以将一组命令打包成一个可重用的函数。
-
参数:
脚本可以通过
$1、$2等变量接收命令行参数,$#表示参数个数,$@表示所有参数。
三、 常用操作符和重定向
-
重定向 (
>,>>):将命令的输出重定向到文件,
>覆盖文件内容,>>追加到文件末尾。
-
管道符 (
|):将一个命令的输出作为另一个命令的输入,用于组合命令。