尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Linux常用指令大全:从基础到进阶系统管理

Linux常用指令大全:从基础到进阶系统管理 1. Linux常用指令概述作为一名Linux系统管理员我每天都要与各种命令行工具打交道。Linux指令系统就像一把瑞士军刀看似简单却蕴含着强大的功能。对于初学者来说掌握这些基础指令是迈向Linux世界的第一步而对于有经验的用户熟练运用这些指令可以极大提高工作效率。Linux指令主要分为以下几类文件操作、系统管理、网络配置、进程控制和文本处理。每个类别都有其核心指令这些指令经过几十年的发展已经非常成熟稳定。值得注意的是虽然不同Linux发行版的图形界面可能差异很大但这些基础指令在绝大多数发行版中都是通用的。提示学习Linux指令时不要死记硬背参数而应该理解每个指令的设计哲学和常用场景。大多数指令都遵循做一件事并做好的Unix哲学。2. 文件与目录操作指令2.1 基础导航与查看ls指令可能是使用频率最高的Linux指令之一。它用于列出目录内容但它的功能远不止简单的文件列表ls -l # 长格式显示包含权限、所有者、大小等信息 ls -a # 显示所有文件包括隐藏文件(以.开头) ls -lh # 人类可读的文件大小显示(如K、M、G) ls -t # 按修改时间排序 ls -R # 递归列出子目录内容pwd(print working directory)指令显示当前工作目录的完整路径这在编写脚本时特别有用。而cd指令用于切换目录有几个快捷用法值得记住cd ~ # 切换到用户主目录 cd - # 切换到上一个工作目录 cd .. # 切换到上级目录2.2 文件操作指令cp(copy)和mv(move)是文件操作的基础指令。cp的常用形式cp source.txt dest.txt # 基本复制 cp -r dir1 dir2 # 递归复制目录 cp -v file* dest/ # 显示详细输出 cp -p file dest # 保留原文件属性mv指令不仅可以移动文件还可以用于重命名mv oldname newname # 重命名 mv file1 file2 dir/ # 移动多个文件到目录rm(remove)用于删除文件或目录使用时需要格外小心rm file # 删除文件 rm -r dir # 递归删除目录 rm -f file # 强制删除不提示警告rm -rf /这样的命令会删除系统所有文件切勿尝试建议新手使用-i参数让系统在删除前提示确认。2.3 文件权限与属性Linux的文件权限系统是其安全模型的核心。chmod用于修改文件权限chmod 755 script.sh # 设置权限为rwxr-xr-x chmod x file # 添加可执行权限 chmod urw,gr,o file # 详细设置用户、组、其他权限chown用于更改文件所有者chown user:group file # 更改所有者和组 chown -R user:group dir # 递归更改目录下所有文件stat指令可以查看文件的详细属性信息stat file # 显示文件大小、inode、权限等3. 系统管理与监控指令3.1 系统信息查询uname提供基本的系统信息uname -a # 显示所有系统信息 uname -r # 显示内核版本df(disk free)和du(disk usage)用于磁盘空间管理df -h # 人类可读的磁盘空间信息 du -sh dir # 统计目录总大小 du -h --max-depth1 # 显示一级子目录大小free显示内存使用情况free -h # 人类可读的内存信息3.2 进程管理ps(process status)是最常用的进程查看工具ps aux # 显示所有用户的所有进程 ps -ef # 完整格式的进程列表 ps -u username # 查看特定用户的进程top和htop提供动态的进程监控界面top # 动态显示进程信息 htop # 增强版的top(需安装)kill用于终止进程kill -9 PID # 强制终止进程 killall process_name # 终止所有同名进程3.3 系统服务管理现代Linux系统通常使用systemd管理服务systemctl start service # 启动服务 systemctl stop service # 停止服务 systemctl restart service # 重启服务 systemctl status service # 查看服务状态 systemctl enable service # 设置开机启动 systemctl disable service # 禁用开机启动对于较老的系统可能使用service命令service sshd status # 查看服务状态4. 网络相关指令4.1 网络配置与诊断ifconfig或ip用于网络接口配置ifconfig # 显示网络接口信息(较老) ip addr # 显示IP地址(新推荐) ip route # 显示路由表ping测试网络连通性ping example.com # 基本ping测试 ping -c 4 example.com # 指定ping次数traceroute或tracepath显示数据包路径traceroute example.com # 显示路由路径 tracepath example.com # 替代方案4.2 网络连接与传输netstat或ss显示网络连接信息netstat -tulnp # 显示监听端口和进程 ss -tulnp # 更快的替代方案wget和curl用于网络数据传输wget http://example.com/file # 下载文件 curl -O http://example.com/file # 同样下载文件 curl -I http://example.com # 仅显示HTTP头scp(secure copy)用于安全文件传输scp file userremote:/path # 上传文件 scp userremote:/path/file . # 下载文件 scp -r dir userremote:/path # 递归传输目录5. 文本处理与搜索指令5.1 文本查看与编辑cat(concatenate)是最基础的文本查看工具cat file # 显示文件内容 cat file1 file2 combined # 合并文件less和more用于分页查看less large_file # 可上下滚动的查看器 more large_file # 基本分页查看器head和tail查看文件开头或结尾head -n 20 file # 显示前20行 tail -n 30 file # 显示最后30行 tail -f logfile # 实时跟踪日志文件5.2 文本搜索与处理grep是强大的文本搜索工具grep pattern file # 基本搜索 grep -r pattern dir # 递归搜索目录 grep -i pattern file # 忽略大小写 grep -v pattern file # 反向匹配(不包含) grep -E regex file # 使用扩展正则表达式awk和sed是更高级的文本处理工具awk {print $1} file # 打印每行第一个字段 sed s/old/new/g file # 替换文本find用于文件搜索find /path -name *.txt # 按名称查找 find . -type f -size 1M # 查找大于1M的文件 find / -mtime -7 # 查找7天内修改的文件6. 压缩与归档指令Linux下常用的压缩工具有gzip、bzip2和xz而tar用于归档tar -czvf archive.tar.gz dir/ # 创建gzip压缩包 tar -xzvf archive.tar.gz # 解压gzip包 tar -cjvf archive.tar.bz2 dir/ # 创建bzip2压缩包 tar -xjvf archive.tar.bz2 # 解压bzip2包 tar -cJvf archive.tar.xz dir/ # 创建xz压缩包 tar -xJvf archive.tar.xz # 解压xz包zip和unzip处理zip格式zip -r archive.zip dir/ # 创建zip压缩包 unzip archive.zip # 解压zip包7. 用户与权限管理7.1 用户账户管理useradd和usermod管理用户账户useradd -m username # 创建用户并创建主目录 usermod -aG group user # 将用户添加到附加组 userdel -r username # 删除用户及其主目录passwd设置用户密码passwd username # 设置用户密码7.2 用户组管理groupadd和groupmod管理用户组groupadd groupname # 创建新组 groupmod -n new old # 重命名组 groupdel groupname # 删除组id查看用户身份信息id username # 显示用户UID、GID和所属组8. 软件包管理不同Linux发行版使用不同的包管理系统8.1 Debian/Ubuntu(APT)apt update # 更新包列表 apt upgrade # 升级所有包 apt install package # 安装包 apt remove package # 移除包 apt search keyword # 搜索包 apt show package # 显示包信息8.2 RedHat/CentOS(YUM/DNF)yum install package # 安装包(旧版) dnf install package # 安装包(新版) yum remove package # 移除包 yum update # 更新系统 yum search keyword # 搜索包8.3 Arch Linux(Pacman)pacman -S package # 安装包 pacman -R package # 移除包 pacman -Syu # 更新系统 pacman -Ss keyword # 搜索包9. 实用技巧与组合命令Linux命令的强大之处在于可以通过管道(|)和重定向(,)组合使用ps aux | grep python # 查找所有Python进程 grep -r error /var/log | less # 搜索日志中的错误并分页显示 df -h | grep -v tmpfs # 显示磁盘使用情况排除tmpfs命令替换和后台运行$(command) # 命令替换将输出作为参数 nohup command # 后台运行命令退出终端不终止定时任务管理crontab -e # 编辑当前用户的cron表 crontab -l # 列出当前用户的cron任务10. 学习资源与进阶建议掌握Linux指令需要不断练习和实践。以下是一些学习建议使用man命令查看官方手册man ls # 查看ls命令的手册页 man -k keyword # 搜索相关命令--help参数获取快速帮助ls --help # 显示命令的简要帮助安装tldr工具获取简化版命令示例tldr ls # 显示ls的常用示例在测试环境中大胆尝试特别是危险命令可以先加上echo预览效果echo rm -rf /path # 先看看会删除哪些文件记录常用命令组合建立个人备忘清单。在实际工作中我发现将常用命令写成脚本可以极大提高效率。例如一个简单的系统监控脚本可能包含df、free和uptime等命令的组合。Linux命令的学习是一个渐进的过程从基础命令开始逐步掌握更复杂的文本处理和系统管理技巧最终能够自如地组合这些工具解决实际问题。
返回列表