菜鸟科技网

Linux十大命令,哪些才是真正核心的?

Linux作为开源操作系统的代表,凭借其稳定性、安全性和高度的可定制性,在服务器、开发环境和嵌入式系统中得到了广泛应用,对于Linux用户而言,熟练掌握常用命令是高效操作系统的关键,以下将详细介绍Linux十大核心命令,涵盖文件管理、文本处理、系统监控、网络通信等多个维度,帮助用户构建完整的Linux命令知识体系。

Linux十大命令,哪些才是真正核心的?-图1
(图片来源网络,侵删)

在文件管理方面,ls命令是最基础也是最常用的工具,通过ls -l可以查看文件的详细信息,包括权限、所有者、大小和修改时间;ls -a则会显示包括隐藏文件在内的所有文件,配合通配符如和,ls命令可以灵活筛选文件列表,与ls相对应,cd命令用于目录切换,cd ..返回上级目录,cd ~快速进入用户主目录,而cd -则在最近两次访问的目录间切换,文件操作的核心命令cpmvrm分别实现复制、移动和删除功能。cp -r用于递归复制整个目录,mv命令兼具移动和重命名功能,rm -rf则可强制删除非空目录,但需谨慎使用以避免数据丢失。

文本处理是Linux命令的强项,grep命令作为文本搜索工具,支持正则表达式匹配。grep "error" log.txt可在日志文件中搜索包含"error"的行,而grep -v "warning" log.txt则可排除包含"warning"的行。cat命令用于查看文件内容,cat -n显示行号;moreless则支持分页浏览,其中less功能更强大,支持前后翻页和关键词搜索,文本编辑器vim分为命令模式、插入模式和末行模式,通过i进入插入模式,Esc返回命令模式,wq保存退出。sed流编辑器可实现文本替换,如sed 's/old/new/g' file将文件中所有"old"替换为"new"。

系统监控与进程管理是Linux运维的日常任务。top命令动态显示系统进程资源占用情况,按P键按CPU排序,按M键按内存排序,更高级的htop以彩色界面和更直观的交互体验提供了增强版的进程监控。ps命令查看当前进程状态,ps -ef显示所有进程的详细信息,ps aux则展示包含CPU和内存占用的进程列表,进程管理方面,kill命令终止指定进程,kill -9强制终止;nohup命令可使进程在用户退出后继续运行,如nohup command &,磁盘空间查询df -h以人类可读格式显示各分区使用情况,du -sh *则统计当前目录下各文件和子目录的大小。

网络通信命令在系统管理和故障排查中不可或缺。ping命令测试网络连通性,ping -c 4 www.baidu.com发送4个数据包后退出。ifconfigip addr查看和配置网络接口信息,netstat -tuln显示监听的TCP/UDP端口。ssh命令实现安全远程登录,ssh user@host连接到远程主机,scp命令可在主机间安全传输文件,如scp file.txt user@host:/path/wgetcurl用于文件下载和网页请求,wget -c支持断点续传,curl -I可查看HTTP响应头。

Linux十大命令,哪些才是真正核心的?-图2
(图片来源网络,侵删)

压缩与打包命令简化了文件传输和存储管理。tar命令是最常用的打包工具,tar -czvf archive.tar.gz files/创建gzip压缩包,tar -xzvf archive.tar.gz解压。zipunzip处理.zip格式文件,zip -r archive.zip dir/递归压缩目录。gzip单独压缩文件,gunzip解压,压缩后原文件会被删除,对于大型文件,split命令可分割文件,如split -l 100 largefile.txt small_,每100行分割为一个文件;cat small_* > largefile.txt则可合并分割后的文件。

用户与权限管理确保系统安全。chmod命令修改文件权限,chmod 755 file设置所有者可读写执行,组用户和其他用户可读执行;chmod u+x file则为所有者添加执行权限。chown更改文件所有者,如chown user:group file同时设置所有者和所属组。sudo命令允许普通用户以超级用户权限执行命令,sudo -i切换到root用户环境。useraddpasswd分别用于创建用户和修改密码,userdel -r username删除用户及其主目录。

时间与任务管理命令提升工作效率。date命令显示和设置系统时间,date "+%Y-%m-%d %H:%M:%S"自定义时间格式。cal显示日历,cal 2023查看整年日历,计划任务crontab -e编辑定时任务,格式为"分 时 日 月 周 命令",如0 3 * * * backup.sh每天凌晨3点执行备份脚本。at命令用于一次性任务调度,at 10:00 tomorrow在明天10点执行指定任务。

系统信息查询命令帮助了解硬件和软件环境。uname -a显示所有系统信息,lscpu查看CPU详细信息,free -h显示内存使用情况。lspci列出PCI设备,lsusb显示USB设备,hdparm -i /dev/sda查看硬盘信息。vmstat报告虚拟内存统计信息,dmesg查看内核启动消息,last显示用户登录历史。

Linux十大命令,哪些才是真正核心的?-图3
(图片来源网络,侵删)

日志分析命令是系统故障排查的重要工具。journalctl查看systemd日志,journalctl -u nginx.service查看nginx服务日志,journalctl -f实时跟踪日志。tail -f /var/log/syslog实时监控系统日志,grep "ERROR" /var/log/syslog | tail -10查看最近的错误日志。awkcut可用于日志提取,如cut -d',' -f1 access.log提取日志文件的第一列(以逗号分隔)。

软件包管理命令因发行版而异,基于Debian的系统使用apt,如apt update更新软件列表,apt install nginx安装软件,apt remove nginx卸载软件,基于Red Hat的系统使用yumdnf,如yum install httpd安装Apache服务。dpkg用于管理.deb包,rpm管理.rpm包,snap提供跨发行版的软件包管理方式。

命令类别 常用命令 主要功能
文件管理 ls, cd, cp, mv, rm 列出目录、切换目录、复制文件、移动/重命名、删除文件
文本处理 grep, cat, less, vim, sed 文本搜索、查看文件、分页浏览、编辑文件、流编辑处理
系统监控 top, htop, ps, df, du 进程监控、进程资源查看、磁盘空间查询
网络通信 ping, ssh, scp, netstat 网络连通性测试、远程登录、文件传输、端口查看
压缩打包 tar, zip, gzip, split 文件打包压缩、格式转换、文件分割
用户权限 chmod, chown, sudo, useradd 修改权限、更改所有者、超级用户权限、用户管理
任务管理 crontab, at, date, cal 定时任务、一次性任务、时间显示、日历查看
系统信息 uname, lscpu, free, lspci 系统信息、CPU信息、内存使用、硬件设备查看
日志分析 journalctl, tail, awk 系统日志查看、实时监控、日志提取
软件包管理 apt, yum, dpkg, snap 软件安装、卸载、更新、依赖管理

掌握这些Linux核心命令后,用户可以高效完成日常系统管理和开发任务,需要注意的是,命令的参数组合非常丰富,建议通过man command(如man ls)查看详细手册,并通过实际操作加深理解,Linux命令的学习是一个循序渐进的过程,结合脚本编写和自动化任务实践,才能真正发挥命令行的强大威力。

相关问答FAQs

Q1: 如何在Linux中查找包含特定字符串的所有文件?
A1: 可以使用grep命令结合-r(递归)和-l(仅显示文件名)参数,在当前目录及其子目录中查找包含"error"的文件,可执行:grep -r "error" . -l,若需忽略大小写,添加-i参数:grep -ri "error" . -lfind命令也可配合grep使用,如find . -type f -exec grep -l "error" {} \;,效果相同但语法更复杂。

Q2: Linux中如何查看后台运行的进程并终止不需要的进程?
A2: 首先使用ps auxtop查看所有进程及其PID(进程ID),通过ps aux | grep nginx可筛选与nginx相关的进程,若需终止进程,使用kill PID命令,如kill 12345,若进程未响应,可使用强制终止命令kill -9 PID,批量终止进程时,可结合pgrepxargs,如pgrep -f "nginx" | xargs kill -9,但需谨慎操作以避免误杀系统关键进程。

分享:
扫描分享到社交APP
上一篇
下一篇