菜鸟科技网

Unix常用操作命令有哪些?

Unix操作系统以其稳定性和强大的命令行工具而闻名,掌握常用操作命令是高效管理Unix/Linux系统的基础,以下从文件管理、目录操作、文本处理、系统监控、权限管理、网络工具及进程管理等方面详细介绍常用命令。

Unix常用操作命令有哪些?-图1
(图片来源网络,侵删)

文件与目录管理

文件和目录是Unix系统的核心,相关命令是日常操作中最频繁使用的。ls命令用于列出目录内容,ls -l以长格式显示(包含权限、所有者、大小、修改时间等信息),ls -a显示所有文件(包括隐藏文件),ls -h以人类可读格式显示文件大小(如K、M)。cd命令用于切换目录,cd ..返回上级目录,cd ~进入当前用户主目录,cd -在最近两次访问的目录间切换。pwd命令显示当前所在工作目录的完整路径。

创建、复制、移动和删除文件是基本操作。touch filename创建空文件或更新文件时间戳。cp source destination复制文件,cp -r source_dir destination_dir递归复制整个目录(需加-r参数)。mv source destination可移动文件或重命名文件,例如mv oldname newname将文件重命名,mv file /path/to/dir/将文件移动到指定目录。rm filename删除文件,rm -r dir递归删除目录及其内容,rm -f filename强制删除(不提示确认),使用rm -rf需格外谨慎,可能造成数据丢失。

文本处理命令

Unix的文本处理能力非常强大,常用命令包括catmorelesshead/tailcat filename显示文件全部内容,适合查看小文件;more filename分页显示文件内容(空格翻页,q退出);less filename功能更强大,支持上下滚动、搜索等操作。head -n 10 filename显示文件前10行,tail -n 10 filename显示文件后10行,tail -f filename实时追踪文件内容变化(常用于查看日志)。

搜索文本时,grep命令非常高效。grep "pattern" filename在文件中搜索包含"pattern"的行,grep -i "pattern" filename忽略大小写,grep -r "pattern" dir/递归搜索目录下的所有文件。grep -v "pattern" filename输出不包含"pattern"的行,grep -c "pattern" filename统计匹配行数。awksed是更高级的文本处理工具,awk '{print $1}' filename打印每行第一列,sed 's/old/new/g' filename替换文件中所有"old"为"new"。

Unix常用操作命令有哪些?-图2
(图片来源网络,侵删)

系统监控与信息查询

了解系统状态是运维的基本需求。top命令动态显示进程资源占用(CPU、内存),按M按内存排序,按C按CPU排序。htoptop的增强版(部分系统需安装),界面更友好,支持鼠标操作。df -h显示磁盘空间使用情况(-h以人类可读格式),du -sh *显示当前目录下各文件和目录的总大小(-s仅显示总计,-h人性化显示)。free -h查看内存使用情况。

系统信息查询方面,uname -a显示所有系统信息(内核版本、主机名等),lscpu显示CPU详细信息,uptime显示系统运行时间和负载平均值。ps aux列出所有运行进程,ps -ef以完整格式显示进程,ps aux | grep process_name过滤特定进程。kill PID终止指定进程,kill -9 PID强制终止(不推荐常规使用,可能导致数据丢失)。

权限管理

Unix的权限模型分为读(r)、写(w)、执行(x),针对用户(u)、组(g)、其他用户(o)。chmod命令修改权限,chmod 755 filename设置所有者rwx、组和其他用户r-x(数字权限:r=4, w=2, x=1)。chmod u+x filename为所有者添加执行权限,chmod go-w filename移除组和其他用户的写权限。chown user:group filename修改文件所有者和所属组,例如chown alice:staff report.txt将文件所有者改为alice,组改为staff。

网络工具

网络诊断常用pingifconfig/ipnetstatsshping example.com测试与主机的网络连通性,ping -c 4 example.com发送4个数据包后停止。ifconfig(或ip addr)显示网络接口信息,ifconfig eth0 up/down启用/禁用网卡。netstat -tuln显示监听的TCP/UDP端口,netstat -an | grep ESTABLISHED查看已建立的连接。ssh user@hostname远程登录主机,scp file.txt user@hostname:/path/to/dest安全复制文件到远程主机。

Unix常用操作命令有哪些?-图3
(图片来源网络,侵删)

进程管理

进程管理是系统维护的核心。&符号让命令后台运行,例如sleep 100 &jobs查看后台任务,fg %1将任务1调到前台,bg %1让任务1在后台继续运行。nohup command &让命令忽略挂断信号,即使退出终端也继续运行,输出默认保存到nohup.out

相关操作命令速查表

| 功能分类 | 命令格式 | 常用选项 | 说明 | |----------|----------|----------|------|| ls [选项] [目录/文件] | -l(长格式)
-a(显示隐藏文件)
-h(人性化显示大小) | 列出目录或文件信息 | | 切换目录 | cd [目录路径] | ..(上级目录)
~(主目录)
-(上次目录) | 切换当前工作目录 | | 复制文件 | cp [源] [目标] | -r(递归复制目录)
-f(强制覆盖) | 复制文件或目录 | | 移动/重命名 | mv [源] [目标] | 无主要选项,覆盖需确认 | 移动文件或重命名 | | 删除文件 | rm [文件/目录] | -r(递归删除目录)
-f(强制删除) | 删除文件或目录 | | 查看文件 | cat [文件] | 无主要选项 | 显示文件全部内容 | | 分页查看 | less [文件] | /(搜索)
q(退出) | 分页浏览文件,支持搜索 | | 显示文件头部 | head -n [行数] [文件] | -n 10(显示前10行) | 显示文件开头部分 | | 显示文件尾部 | tail -n [行数] [文件] | -n 10(显示后10行)
-f(实时跟踪) | 显示文件结尾部分 | | 文本搜索 | grep [模式] [文件] | -i(忽略大小写)
-r(递归搜索) | 在文件中搜索匹配行 | | 进程查看 | ps [选项] | aux(显示所有进程)
-ef(完整格式) | 查看当前运行进程 | | 终止进程 | kill [选项] [PID] | -9(强制终止) | 终止指定进程 | | 磁盘空间 | df [选项] | -h(人性化显示) | 显示磁盘使用情况 | | 目录大小 | du [选项] [目录] | -sh(显示总计,人性化显示) | 统计目录或文件大小 | | 修改权限 | chmod [权限] [文件] | 755(rwxr-xr-x)
u+x(用户添加执行) | 修改文件/目录权限 | | 修改所有者 | chown [用户:组] [文件] | alice:staff(用户alice,组staff) | 修改文件所有者和组 | | 远程登录 | ssh [用户@主机] | -p 22(指定端口) | 安全远程登录 |

相关问答FAQs

Q1: 如何在Unix系统中查找包含特定字符串的所有文件?
A: 可以使用grep命令结合-r选项递归搜索目录,在当前目录及其子目录中查找包含"error"的文件,命令为:grep -r "error" .,如果需要忽略大小写,可添加-i选项:grep -ri "error" .,搜索结果会显示匹配的文件路径及内容行。

Q2: 如何查看系统中占用CPU最高的5个进程?
A: 可以使用pssort命令组合实现,首先通过ps aux列出所有进程及其CPU占用率(%CPU列),然后按CPU占用率降序排序,最后取前5行,具体命令为:ps aux --sort=-%cpu | head -6head -6行,若仅需进程数据则用head -5),如果系统安装了htop,直接打开后按P键按CPU排序,更直观便捷。

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