常用文件管理命令
文件管理是服务器管理的日常工作之一,以下是一些常用的文件管理命令:
pwd
:显示当前工作目录的完整路径。ls
:列出目录中的文件和文件夹。cp
:复制文件或目录。mv
:移动或重命名文件或目录。rm
:删除文件或目录。rm -rf
:强制递归删除目录及其所有内容(⚠️ 危险命令,使用需谨慎)。touch
:创建一个空文件或修改文件的时间戳。tar
:打包和解压tar格式文件。unzip
:解压zip格式文件。gunzip
:解压gzip格式文件。
pwd # 显示当前工作目录的完整路径
ls -a # 列出当前目录的所有文件,包括隐藏文件
cp source.txt target.txt # 复制source.txt到target.txt
mv source.txt target.txt # 将source.txt移动到target.txt或重命名为target.txt
rm source.txt # 删除source.txt
rm -rf directory/ # 强制递归删除directory目录及其所有内容(不可恢复)
touch newfile.txt # 创建一个名为newfile.txt的空文件
# 解压命令
tar -xzf archive.tar.gz # 解压tar.gz文件到当前目录
tar -xjf archive.tar.bz2 # 解压tar.bz2文件到当前目录
tar -xf archive.tar # 解压tar文件到当前目录
# tar 参数说明:
# -x = extract(解压)
# -z = gzip压缩格式(用于.tar.gz文件)
# -j = bzip2压缩格式(用于.tar.bz2文件)
# -f = file(指定文件名)
# -v = verbose(显示详细过程,可选)
# -C = 指定解压目录(可选)
tar -xzf archive.tar.gz -C /path/to/directory # 解压到指定目录
unzip archive.zip # 解压zip文件
unzip -d /path archive.zip # 解压zip文件到指定目录
gunzip file.gz # 解压gzip文件
权限控制与安全
Linux 采用基于用户、组和其他用户的三级权限模型(读、写、执行)来控制文件和目录的访问。合理的权限设置是系统安全的基础。以下是一些用于权限控制和提高安全性的核心命令:
chmod
:改变文件或目录的权限。chown
:改变文件或目录的所有者。chgrp
:改变文件或目录的所属组。umask
:设置新建文件和目录的默认权限。
chmod 644 file.txt # 设置file.txt的权限为-rw-r--r--
chown user:group file.txt # 将file.txt的所有者改为user,所属组改为group
umask 002 # 设置默认权限,新建文件为644,新建目录为755
进程监控与控制
进程监控和控制允许管理员查看系统中的进程,以及终止或调整它们的行为。以下是一些常用的进程管理命令:
ps
:列出当前运行的进程。top
:动态显示当前运行的进程和系统资源使用情况。htop
:提供了一个基于文本的用户界面来显示系统的实时进程和资源使用情况。kill
:发送信号到进程,常用于终止进程。
ps -ef # 列出所有进程的详细信息
ps aux # 查看系统中的所有进程(BSD格式)
# ps aux 参数说明: a = 显示所有用户的进程 u = 显示进程的用户信息 x = 显示没有控制终端的进程
ps aux | grep nginx # 查找包含nginx的进程
ps aux | head -10 # 显示前10个进程
ps aux --sort=-%cpu # 按CPU使用率降序排列
ps aux --sort=-%mem # 按内存使用率降序排列
top # 动态显示进程和资源使用情况
htop # 类似top,但提供了更丰富的用户界面
kill -9 PID # 强制终止PID对应的进程
资源监控
资源监控涉及跟踪系统资源的使用情况,如 CPU、内存、磁盘和网络。以下是一些用于资源监控的命令:
vmstat
:报告虚拟内存统计信息。iostat
:监控系统输入 / 输出设备和 CPU 的使用情况。mpstat
:报告 CPU 的统计数据。netstat
:显示网络连接、路由表、接口统计信息等。
vmstat 1 5 # 每1秒更新一次,总共更新5次
iostat 1 # 每1秒更新一次
mpstat 1 # 每1秒更新一次
netstat -an # 显示所有网络连接的详细信息
网络配置基础
Linux 服务器的网络配置通常涉及设置 IP 地址、子网掩码、网关和 DNS 服务器。以下是一些基本的网络配置命令:
ifconfig
:配置或显示网络接口参数。ip
:更现代的用于配置网络接口的命令。netstat
:显示网络连接、路由表、接口统计信息等。
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # 设置eth0接口的IP地址和子网掩码
ip addr add 192.168.1.100/24 dev eth0 # 使用ip命令为eth0接口添加IP地址
netstat -i eth0 # 显示eth0接口的网络统计信息
配置防火墙
防火墙是保护 Linux 服务器不受未授权访问的关键。以下是一些用于配置防火墙的命令:
iptables
:用于配置 Linux 内核防火墙的规则。firewall-cmd
:用于管理 firewalld 服务的防火墙规则。