当然可以!以下是一些常见的Linux命令和Shell脚本的笔记,涵盖系统管理、文件操作、进程管理、网络配置、用户管理等多个方面。这些命令适用于大多数Linux发行版(如Ubuntu、CentOS、Debian、Fedora等)。
一、基础命令
1. 文件和目录操作
ls:列出目录内容pwd:显示当前工作目录cd:切换目录mkdir:创建目录rm:删除文件或目录cp:复制文件或目录mv:移动或重命名文件或目录touch:创建文件cat:查看文件内容less/more:分页查看文件内容head/tail:查看文件开头/结尾内容chmod:修改文件权限chown:修改文件所有者chmod 755:设置可执行权限
2. 系统信息
whoami:显示当前用户who:显示当前登录用户whoami+id:显示用户ID和组IDhostname:显示主机名uname -a:显示系统信息top/htop:查看进程状态ps:查看进程信息grep:搜索文件内容find:查找文件或目录du:显示磁盘使用情况df:显示磁盘空间使用情况du -h:以人类可读格式显示磁盘使用情况ls -l:显示详细文件信息
3. 网络相关
ifconfig:查看网络接口信息ip:更现代的网络接口管理工具ping:测试网络连通性netstat:查看网络连接状态ifconfig+arp:查看ARP表traceroute:跟踪网络路径nslookup:DNS查询dig:DNS查询工具
4. 用户和权限管理
useradd:添加用户usermod:修改用户属性userdel:删除用户passwd:修改密码sudo:提升权限执行命令sudoers:配置sudo权限groupadd:添加用户组groupmod:修改用户组chsh:修改用户登录 shell
二、Shell脚本
1. 基本语法
#!/bin/bash:指定脚本解释器read:读取用户输入echo:输出文本if/else/fi:条件判断for/in:循环while:循环grep/awk/sed:文本处理cat/less/more:输出文件内容
2. 示例脚本
示例1:统计文件行数
#!/bin/bash
file="example.txt"
count=$(wc -l < "$file")
echo "文件中有 $count 行"
示例2:查找并删除指定文件
#!/bin/bash
find /path/to/dir -name "file.txt" -exec rm -f {} ;
示例3:备份文件并压缩
#!/bin/bash
backup_dir="/backup"
file="data.txt"
tar -czf "$backup_dir/$file.tar.gz" "$file"
echo "备份完成"
示例4:查找并修改文件权限
#!/bin/bash
file="example.txt"
chmod 644 "$file"
echo "权限修改完成"
三、常用命令总结
| 命令 | 用途 |
|---|---|
ls |
列出目录内容 |
pwd |
显示当前目录 |
cd |
切换目录 |
mkdir |
创建目录 |
rm |
删除文件或目录 |
cp |
复制文件 |
mv |
移动或重命名 |
touch |
创建文件 |
cat |
查看文件内容 |
less/more |
分页查看文件 |
head/tail |
查看文件开头/结尾 |
chmod |
修改文件权限 |
chown |
修改文件所有者 |
whoami |
显示当前用户 |
who |
显示当前登录用户 |
top/htop |
查看进程状态 |
ps |
查看进程信息 |
grep/awk/sed |
文本处理 |
find |
查找文件或目录 |
du/df |
显示磁盘使用情况 |
ping |
测试网络连通性 |
ifconfig/ip |
网络接口管理 |
traceroute |
跟踪网络路径 |
nslookup/dig |
DNS查询 |
sudo |
提升权限 |
useradd/userdel |
用户管理 |
groupadd/groupmod |
用户组管理 |
四、补充说明
- 如果你需要 自动化脚本 或 配置管理,可以使用
bash、sh、zsh、fish等 Shell。 - 如果你需要 系统监控 或 日志管理,可以使用
systemd、journalctl、logrotate等工具。 - 如果你需要 自动化部署,可以使用
Ansible、Chef、SaltStack等工具。
如果你有特定的 Linux 命令或脚本需求,欢迎告诉我,我可以为你定制解决方案!
