菜鸟科技网

常见Unix命令有哪些?

在Unix操作系统中,命令行是与系统交互的核心方式,熟练掌握常见命令能极大提升工作效率,Unix命令种类繁多,涵盖文件管理、目录操作、文本处理、系统监控等多个领域,以下将详细介绍这些命令的功能及使用场景。

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

文件与目录管理命令

文件和目录是Unix系统中最基本的元素,相关命令是日常操作的基础。ls命令用于列出目录内容,通过-l选项可显示详细信息(如权限、所有者、大小),-a选项可隐藏文件(以开头的文件),例如ls -la会列出所有文件,包括隐藏文件,并以长格式显示。cd命令用于切换当前目录,cd ..返回上级目录,cd ~进入用户主目录。pwd命令打印当前工作目录的完整路径,方便确认当前位置。

创建和删除文件/目录时,touch命令可创建空文件或更新文件时间戳,如touch file.txt创建名为file.txt的空文件。mkdir用于创建目录,-p选项可递归创建多级目录,例如mkdir -p dir1/dir2会同时创建dir1dir2,删除操作需谨慎,rm命令用于删除文件,-r选项递归删除目录及其内容,-f选项强制删除不提示,如rm -rf dir1会直接删除dir1目录及其所有子文件。cp命令用于复制文件或目录,-r选项复制目录,例如cp -r dir1 dir2dir1复制到dir2mv命令则用于移动文件或目录,也可用于重命名,如mv old_name new_name将文件重命名,mv file.txt dir1/将文件移动到dir1目录。

文本处理命令

Unix的文本处理能力强大,cat命令用于查看文件内容,直接在终端输出,如cat file.txt显示file.txt,对于大文件,less命令更适合,它支持分页浏览,可通过上下箭头或PageUp/PageDown翻页,按q退出。grep命令是文本搜索工具,可在文件中匹配指定模式,如grep "error" log.txt搜索log.txt中包含error的行,-i选项忽略大小写,-r选项递归搜索目录。sed命令用于流编辑文本,可实现替换、删除等操作,例如sed 's/old/new/g' file.txt将文件中所有old替换为newawk命令适合处理结构化文本,按列提取或计算数据,如awk '{print $1, $3}' file.txt打印每行的第1列和第3列。

系统与进程管理命令

了解系统状态和进程管理对系统运维至关重要。top命令实时显示系统进程信息,包括CPU占用率、内存使用情况等,按q退出。ps命令查看当前进程,ps aux显示所有进程的详细信息,包括PID(进程ID)、CPU和内存占用。kill命令用于终止进程,需指定PID,如kill 1234终止PID为1234的进程,-9选项强制终止,如kill -9 1234df命令查看磁盘空间使用情况,-h选项以人类可读格式显示(如GB、MB),例如df -h显示各分区的使用量。du命令查看目录或文件大小,-sh选项以汇总方式显示当前目录总大小,如du -sh dir1显示dir1目录的大小。

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

权限与用户管理命令

Unix系统的权限管理基于用户、用户组和其他用户的读(r)、写(w)、执行(x)权限。chmod命令修改文件权限,如chmod 755 file.txt设置所有者有读写执行权限,用户组和其他用户有读和执行权限(数字7=rwx,5=r-x)。chown命令修改文件所有者,-R选项递归修改目录及其内容,如chown user:group file.txt将文件所有者改为user,所属组改为groupuseradduserdel分别用于添加和删除用户,如useradd -m newuser创建新用户并自动创建主目录,userdel newuser删除用户。passwd命令修改用户密码,普通用户只能修改自己的密码,root可修改所有用户密码。

网络相关命令

网络命令用于诊断和管理网络连接。ping命令测试网络连通性,如ping google.com向谷歌服务器发送ICMP包,返回响应时间。ifconfigip命令查看和配置网络接口,ifconfig eth0显示eth0接口的IP地址等信息。netstat命令查看网络连接状态,-an选项显示所有连接的IP地址和端口号,如netstat -an | grep 80查看所有80端口的连接。ssh命令用于远程登录,如ssh user@remote_hostuser身份登录到remote_hostscp命令用于安全复制文件,如scp file.txt user@remote_host:/home/user/将本地文件复制到远程主机。

压缩与归档命令

tar命令用于打包文件,可结合gzipbzip2等工具压缩,例如tar -czf archive.tar.gz dir1dir1目录打包并压缩为archive.tar.gz-x选项解压,-v显示详细过程,如tar -xzf archive.tar.gz解压文件。zipunzip命令用于处理zip格式文件,zip -r archive.zip dir1dir1目录压缩为zip文件,unzip archive.zip解压zip文件。

其他实用命令

find命令在目录树中搜索文件,如find / -name "file.txt"在根目录下搜索名为file.txt的文件。which命令查找可执行文件的位置,如which ls显示ls命令的路径。history命令显示命令历史记录,!number可执行历史记录中对应编号的命令,如!10执行第10条命令。man命令查看命令手册,如man ls显示ls命令的详细用法说明。

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

常用命令速查表

命令 功能描述 常用选项示例
ls 列出目录内容 -l(长格式)、-a(显示隐藏)
cd 切换目录 (上级)、(主目录)
pwd 显示当前目录路径
cp 复制文件/目录 -r(递归复制)
mv 移动/重命名文件/目录
rm 删除文件/目录 -r(递归)、-f(强制)
cat 查看文件内容
less 分页查看文件 q(退出)
grep 文本搜索 -i(忽略大小写)、-r(递归)
ps 查看进程 aux(所有进程)
kill 终止进程 -9(强制终止)
chmod 修改文件权限 755(权限数字)
tar 打包/解压文件 -czf(打包压缩)、-xzf(解压)

相关问答FAQs

Q1: 如何查找包含特定文本的所有文件?
A1: 可使用grep命令结合-r选项递归搜索目录,在当前目录及其子目录中搜索包含"error"的文件,命令为grep -r "error" .,若需显示文件名和匹配行,可添加-n选项(grep -rn "error" .);若忽略大小写,使用-i选项(grep -ri "error" .)。

Q2: 如何查看系统负载情况?
A2: 可使用top命令实时查看系统负载(包括CPU、内存使用率和进程列表),或使用uptime命令显示系统运行时间及负载平均值(1分钟、5分钟、15分钟的平均负载)。uptime命令输出如10:30:45 up 2 days, 12:34, 2 users, load average: 0.25, 0.30, 0.15,其中三个数值分别代表1分钟、5分钟、15分钟的系统负载,数值越高表示系统负载越大。

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