Linux 提供了许多系统工具和软件,用于文件管理、网络配置、性能监控、日志分析等操作。这些工具是 Linux 系统管理和日常操作的核心。以下是常用 Linux 系统工具及其操作详解:
1. 文件与目录管理工具
1.1 ls
– 列出目录内容
- 功能:显示目录内容。
- 常用选项:
ls # 列出当前目录内容 ls -l # 详细信息(长格式) ls -a # 包括隐藏文件 ls -lh # 以人类可读的格式显示文件大小
1.2 cp
– 复制文件/目录
- 功能:复制文件或目录。
- 常用用法:
cp source_file destination # 复制文件 cp -r source_dir destination # 复制目录
1.3 mv
– 移动或重命名文件
- 功能:移动文件或目录,或重命名文件。
- 示例:
mv old_name new_name # 重命名文件 mv file /path/to/destination # 移动文件
1.4 rm
– 删除文件/目录
- 功能:删除文件或目录。
- 注意:删除操作不可逆,谨慎使用。
rm file # 删除文件 rm -r directory # 递归删除目录 rm -rf directory # 强制递归删除(无确认提示)
1.5 find
– 搜索文件/目录
- 功能:在指定目录下查找文件或目录。
- 示例:
find /path -name "filename" # 按名称查找 find /path -type d # 查找目录 find /path -size +1G # 查找大于 1GB 的文件
1.6 tar
– 压缩/解压缩文件
- 功能:打包、压缩和解压文件。
- 示例:
tar -cvf archive.tar files # 打包 tar -xvf archive.tar # 解包 tar -czvf archive.tar.gz files # 压缩 tar -xzvf archive.tar.gz # 解压
2. 系统性能监控工具
2.1 top
和 htop
– 实时监控系统性能
- 功能:查看实时运行的进程、CPU、内存使用情况。
- 用法:
top # 启动 top htop # 启动 htop(需安装)
2.2 free
– 查看内存使用情况
- 功能:显示内存和交换分区的使用情况。
- 示例:
free -h # 以人类可读格式显示内存信息
2.3 df
– 查看磁盘使用情况
- 功能:显示文件系统的磁盘使用情况。
- 示例:
df -h # 以人类可读格式显示 df -T # 显示文件系统类型
2.4 du
– 查看目录或文件大小
- 功能:统计目录或文件的磁盘占用情况。
- 示例:
du -sh /path/to/dir # 查看目录大小 du -h --max-depth=1 /path # 查看目录深度为 1 的大小
2.5 iostat
– 监控 I/O 性能
- 功能:显示 CPU 和设备 I/O 性能统计信息(需安装
sysstat
)。 - 示例:
iostat -x # 显示详细的 I/O 性能
3. 网络工具
3.1 ping
– 测试网络连通性
- 功能:检查与目标主机的网络连通性。
- 示例:
ping 8.8.8.8 # Ping Google DNS ping -c 4 example.com # 发送 4 个 ICMP 包
3.2 curl
和 wget
– 下载工具
- 功能:下载文件、测试 HTTP 请求。
- 示例:
curl http://example.com # 测试 HTTP 请求 wget http://example.com/file # 下载文件
3.3 ifconfig
和 ip
– 网络配置
- 功能:查看和管理网络接口。
- 示例:
ifconfig # 查看网络接口(旧版本) ip addr # 查看网络接口(推荐) ip route # 查看路由表
3.4 netstat
和 ss
– 网络连接监控
- 功能:查看网络连接、端口和路由信息。
- 示例:
netstat -tuln # 显示监听的端口 ss -tuln # 显示监听的端口(推荐)
3.5 traceroute
– 路由跟踪
- 功能:追踪数据包的路由路径。
- 示例:
traceroute example.com # 跟踪到目标的路径
4. 系统日志工具
4.1 journalctl
– 查看系统日志
- 功能:管理和查询系统日志。
- 示例:
journalctl # 查看全部日志 journalctl -b # 查看最近一次启动日志 journalctl -u sshd.service # 查看特定服务日志
4.2 dmesg
– 查看内核日志
- 功能:显示内核启动或运行过程中的消息。
- 示例:
dmesg # 查看所有内核日志 dmesg | grep error # 筛选错误日志
4.3 /var/log
– 系统日志目录
- 功能:存放系统生成的日志文件。
- 示例:
/var/log/syslog # 系统日志 /var/log/auth.log # 认证日志
5. 软件管理工具
5.1 apt
(Ubuntu/Debian 系列)
- 功能:管理软件包的安装、升级和卸载。
- 示例:
sudo apt update # 更新软件包索引 sudo apt install package # 安装软件 sudo apt remove package # 卸载软件
5.2 yum
或 dnf
(Red Hat 系列)
- 功能:管理 RPM 软件包。
- 示例:
sudo yum install package # 安装软件 sudo yum update # 更新所有软件 sudo yum remove package # 卸载软件
5.3 snap
– 容器化软件管理
- 功能:安装和管理基于 Snap 的软件包。
- 示例:
sudo snap install package # 安装软件 sudo snap list # 列出已安装的软件
6. 用户和权限管理工具
6.1 useradd
和 usermod
– 添加/修改用户
- 功能:管理系统用户。
- 示例:
sudo useradd username # 添加用户 sudo passwd username # 设置密码 sudo usermod -aG group user # 将用户添加到组
6.2 chmod
和 chown
– 修改权限和所有权
- 功能:管理文件和目录权限。
- 示例:
chmod 755 file # 设置权限 chown user:group file # 修改文件所有者和组
6.3 sudo
– 提权命令
- 功能:以管理员身份运行命令。
- 示例:
sudo command # 提权运行
总结
以上工具涵盖了文件管理、系统监控、网络操作、日志分析、用户管理和软件管理等多个方面。通过掌握这些工具,可以高效地完成 Linux 系统的日常操作和管理任务。