菜鸟科技网

Linux命令用途有哪些?

Linux命令是Linux操作系统中用户与系统交互的核心工具,通过命令行界面(CLI)执行各种操作,涵盖文件管理、系统监控、网络配置、进程控制等多个领域,熟练掌握Linux命令能够显著提升工作效率,尤其适用于服务器管理、开发运维等场景,以下从不同维度详细解析Linux命令的主要用途及常见示例。

Linux命令用途有哪些?-图1
(图片来源网络,侵删)

文件与目录管理

文件和目录操作是Linux命令最基础的应用,用户通过命令实现对文件的创建、复制、移动、删除及权限控制等,常用命令包括lscdcpmvrmmkdirtouch等。ls -l以长格式列出文件详情,包含权限、所有者、大小等信息;cp -r用于递归复制整个目录;chmod 755 file通过数字权限模式修改文件读写执行权限。find命令支持按名称、大小、修改时间等条件搜索文件,如find /home -name "*.log" -mtime +7可查找/home目录下7天前修改的所有.log文件。grep命令则用于文本搜索,例如grep "error" /var/log/syslog能在系统日志中筛选包含"error"的行。

系统监控与性能分析

管理员需通过命令实时监控系统状态,确保资源合理分配。tophtop以动态刷新方式展示进程CPU、内存占用情况,后者支持彩色显示和交互操作。df -h检查磁盘空间使用率,free -m查看内存及交换分区使用量。ps aux列出当前所有进程,结合kill -9 PID可强制终止指定进程,网络监控方面,netstat -tuln显示监听端口及协议类型,ss -tuln作为netstat的替代工具,性能更优。iostatvmstat分别监控磁盘I/O和虚拟内存统计,例如iostat -xz 1每秒输出一次磁盘I/O详细统计。

网络配置与诊断

网络命令用于配置网络参数及排查连接问题。ifconfigip addr查看/配置网卡IP地址,如ip addr add 192.168.1.100/24 dev eth0添加IP地址。ping测试网络连通性,traceroute追踪数据包路径。ssh user@host通过加密协议远程登录服务器,scp实现安全文件传输,例如scp -r /local/dir user@remote:/remote/dirwgetcurl用于下载文件,前者支持断点续传,后者可模拟HTTP请求,如curl -I http://example.com查看HTTP响应头。iptables是Linux防火墙管理工具,通过规则链控制数据流,例如iptables -A INPUT -p tcp --dport 22 -j ACCEPT允许SSH端口访问。

文本处理与数据操作

Linux擅长文本流处理,catlessmore用于查看文件内容,less支持分页和关键词搜索。sed流编辑器可实现文本替换,如sed 's/old/new/g' file全局替换"old"为"new"。awk按列处理文本,例如awk '{print $1, $3}' file输出每行的第1和第3列。sort排序,uniq去除重复行,结合使用可统计唯一值数量,如sort file | uniq -ctar用于文件打包压缩,tar -czvf archive.tar.gz /path/to/dir创建.gz压缩包,tar -xzvf archive.tar.gz解压。

Linux命令用途有哪些?-图2
(图片来源网络,侵删)

用户与权限管理

系统安全依赖于严格的权限控制,useraddpasswd分别创建用户和设置密码,userdel -r username删除用户及其家目录。sudo允许普通用户以管理员身份执行命令,通过/etc/sudoers配置授权规则。chown修改文件所有者,如chown user:group file将文件属主改为user、属组改为group。visudo安全编辑sudoers文件,避免语法错误导致权限失效。

软件安装与包管理

不同Linux发行版采用不同的包管理工具,基于Debian的系统如Ubuntu使用apt,例如apt update更新软件列表,apt install nginx安装Nginx,基于Red Hat的系统如CentOS使用yumdnf,如yum install httpd安装Apache,源码编译安装时,./configuremakemake install三步完成软件部署,需提前安装编译工具如build-essential(Ubuntu)或gcc(CentOS)。

系统服务与进程管理

systemctl是现代Linux系统的服务管理工具,systemctl start nginx启动服务,systemctl enable nginx设置开机自启,journalctl -u nginx查看服务日志。cron定时任务通过crontab -e编辑,例如0 3 * * * /path/to/script.sh每天3点执行脚本。nohup命令使进程在后台持续运行,如nohup python app.py &忽略挂断信号运行Python程序。

常用Linux命令用途速查表

命令类别 常用命令 主要用途 示例场景
文件管理 ls, cp, mv, rm 列出、复制、移动、删除文件/目录 备份配置文件、清理临时文件
系统监控 top, free, df 查看进程、内存、磁盘使用情况 定位高CPU占用进程、检查磁盘空间不足
网络配置 ip, ping, ssh, iptables 配置网络、测试连通性、远程登录、防火墙 修改静态IP、排查网络中断、限制端口访问
文本处理 grep, sed, awk, sort 搜索、替换、列处理、排序文本 从日志中提取错误信息、统计访问IP频率
用户管理 useradd, sudo, chown 创建用户、提权、修改文件所有者 添加新开发账号、分配网站目录权限
软件安装 apt, yum, make 安装/卸载软件、编译源码 安装数据库服务、部署自定义程序
服务管理 systemctl, cron 启动/停止服务、设置定时任务 开机自启Web服务、定期备份数据库

相关问答FAQs

Q1: 如何查看Linux系统已安装的所有软件包?
A1: 根据发行版不同,命令有所差异:

Linux命令用途有哪些?-图3
(图片来源网络,侵删)
  • Debian/Ubuntu系统:使用dpkg -l列出所有已安装包,或apt list --installed显示已安装包的详细信息。
  • CentOS/RHEL系统:使用rpm -qa列出所有已安装的RPM包,或yum list installed(CentOS 7及以下)、dnf list installed(CentOS 8及以上)查看已安装包列表。

Q2: 如何查找并删除指定类型的文件(如.log文件)?
A2: 可结合findrm命令实现:

  1. 查找文件:find /path/to/search -type f -name "*.log",其中/path/to/search为搜索路径,-name "*.log"指定文件扩展名。
  2. 删除文件:在上述命令后添加-exec rm {} +,完整命令为find /var/log -type f -name "*.log" -exec rm {} +,注意代表查找到的文件路径,提高删除效率,若需确认删除,可改用-ok替代-exec,如find /var/log -type f -name "*.log" -ok rm {} \;,删除前会提示用户确认。
分享:
扫描分享到社交APP
上一篇
下一篇