菜鸟科技网

CentOS7基本命令有哪些核心操作?

CentOS 7作为一款广泛使用的Linux发行版,掌握其基本命令是系统管理和日常操作的基础,以下从文件操作、系统管理、网络配置、软件管理、进程管理、用户与权限管理以及帮助命令七个方面,详细解析CentOS 7的常用基本命令,并通过表格形式对比部分命令的用法,最后附相关FAQs。

CentOS7基本命令有哪些核心操作?-图1
(图片来源网络,侵删)

文件与目录操作命令

文件和目录是Linux系统中最基本的元素,相关命令是日常使用频率最高的。ls命令用于列出目录内容,ls -l以长格式显示(包含权限、所有者、大小等),ls -a显示隐藏文件(以开头的文件)。cd命令用于切换目录,cd ..返回上级目录,cd ~进入当前用户家目录,cd -在最近两次目录间切换。pwd命令显示当前所在工作目录的完整路径。

创建目录使用mkdir,如mkdir test创建单层目录,mkdir -p a/b/c递归创建多层目录,创建文件常用touch命令,如touch file.txt创建空文件,若文件存在则更新其时间戳,复制文件或目录用cpcp file1 file2复制文件,cp -r dir1 dir2递归复制目录(-r-R表示递归),删除命令为rmrm file删除文件,rm -r dir递归删除目录,rm -f file强制删除(不提示确认),需谨慎使用rm -rf,可能造成数据丢失。

移动或重命名文件用mvmv oldname newname重命名,mv file /path/to/dir/将文件移动到指定目录,查看文件内容常用cat(显示整个文件内容,适合小文件)、more(分页显示,按空格翻页,q退出)、less(支持上下翻页、搜索等高级操作,更灵活)。headtail用于查看文件开头或末尾内容,head -n 5 file显示前5行,tail -n 10 file显示末尾10行,tail -f file可实时追踪文件内容更新(常用于查看日志)。grep命令用于文本搜索,grep "keyword" file在文件中搜索包含关键词的行,-i选项忽略大小写,-v反向匹配(不包含关键词的行)。

系统管理与信息查询命令

了解系统状态是管理的基础。uname命令显示系统信息,uname -a显示所有信息(内核版本、主机名等)。top命令动态显示系统进程资源占用,按M按内存排序,按C按CPU排序,q退出。htoptop的增强版(需安装),界面更友好,支持鼠标操作。free命令查看内存使用情况,-h选项以易读格式(如KB、MB)显示。df查看磁盘空间使用,df -h以易读格式显示各分区使用情况。du查看目录或文件大小,du -sh /path显示指定目录总大小(-s汇总,-h易读格式)。

CentOS7基本命令有哪些核心操作?-图2
(图片来源网络,侵删)

date命令用于日期和时间管理,date显示当前时间,date "+%Y-%m-%d %H:%M:%S"自定义格式化输出,date -s "2023-01-01 12:00:00"设置系统时间(需root权限)。cal显示日历,cal 2023显示2023年全年日历。rebootshutdown命令用于关机重启,reboot立即重启,shutdown -r now立即重启,shutdown -h 10 "系统将在10分钟后关机"定时关机并提示,shutdown -c取消关机计划。

网络配置与诊断命令

网络相关命令是排查网络问题的关键。ifconfigip命令查看和配置网络接口(CentOS 7推荐使用ip),ip addr show显示所有网络接口IP信息,ip addr add 192.168.1.100/24 dev eth0临时添加IP地址。ping测试网络连通性,ping www.baidu.com持续发送ICMP包,-c 4只发送4次包后退出。netstat查看网络连接状态,netstat -tuln显示所有监听端口(-tTCP,-uUDP,-l只显示监听端口,-n以数字形式显示地址和端口)。ssnetstat的替代工具(性能更好),ss -tuln同样显示监听端口。

curlwget用于下载文件,curl -O www.example.com/file.zip下载文件并保持原文件名,wget www.example.com/file.zip直接下载。ssh用于远程登录,ssh username@192.168.1.100以用户名登录远程主机,-p 22指定端口号(默认22)。scp用于安全复制文件,scp file.txt username@remote:/path/to/dest将文件复制到远程主机,scp -r username@remote:/path/to/remote_dir ./local_dir递归复制远程目录到本地。

软件包管理命令

CentOS 7使用yum作为默认的软件包管理工具(基于RPM)。yum search keyword搜索软件包,yum install package_name安装软件包,yum update更新所有已安装软件包,yum update package_name更新指定软件包,yum remove package_name卸载软件包。yum list installed查看已安装软件包列表,yum history list查看操作历史,yum history undo [ID]撤销指定操作(如卸载错误可回滚)。

CentOS7基本命令有哪些核心操作?-图3
(图片来源网络,侵删)

进程管理命令

ps命令查看当前进程,ps aux显示所有进程详细信息(a所有终端,u用户格式,x包括无终端进程),ps -ef以System V格式显示进程树。kill终止进程,kill PID(PID为进程ID,普通用户只能终止自己的进程),kill -9 PID强制终止(无法捕获的信号,慎用)。pkill通过进程名终止,pkill -f "nginx"终止包含"nginx"的进程,pgrep nginx查找nginx进程的PID。

用户与权限管理命令

useradd创建用户,useradd -m username创建用户并创建家目录(-m自动创建),useradd -s /sbin/nologin username创建用户但不能登录(用于服务账户)。passwd设置或修改用户密码,passwd username为指定用户设置密码(需root权限),普通用户可直接用passwd修改自己的密码。userdel删除用户,userdel username删除用户但保留家目录,userdel -r username删除用户及其家目录(谨慎使用)。groupaddgroupdel分别用于创建和删除组,groupadd groupname创建组,groupdel groupname删除组。

权限管理通过chmodchown实现。chmod修改文件权限,chmod 755 file设置权限为rwxr-xr-x(数字表示法:所有者7=读写执行,组用户5=读执行,其他用户5=读执行),chmod u+x file给所有者添加执行权限(符号表示法:u=所有者,g=组用户,o=其他用户,a=所有用户,+=添加权限,-=取消权限)。chown修改文件所有者,chown username file将文件所有者改为username,chown -R username:groupname dir递归修改目录及其内容的所有者和组(-R递归)。

帮助命令

man查看命令手册页,man ls查看ls命令的详细用法(使用q退出),man -k keyword搜索与关键词相关的命令(相当于apropos)。--help选项查看命令简要帮助,ls --help显示ls命令的选项和用法说明。

部分命令对比表

命令 功能描述 常用选项/示例
ls 列出目录内容 -l(长格式)、-a(显示隐藏文件)
cp 复制文件或目录 -r(递归复制目录)、-f(强制覆盖)
mv 移动/重命名文件或目录 无(直接操作,如mv old new
rm 删除文件或目录 -r(递归删除)、-f(强制删除)
grep 文本搜索 -i(忽略大小写)、-v(反向匹配)
top 动态查看进程资源占用 -M(按内存排序)、-C(按CPU排序)
df 查看磁盘空间使用 -h(易读格式)、-T(显示文件系统类型)
ss 查看网络连接状态(替代netstat) -tuln(显示监听端口)、-a(显示所有连接)
yum 软件包管理 install(安装)、update(更新)、remove(卸载)
chmod 修改文件权限 755(数字表示法)、u+x(符号表示法)

相关问答FAQs

Q1:CentOS 7中如何永久修改主机名?
A:修改主机名可通过hostnamectl命令实现,步骤如下:

  1. 查看当前主机名:hostnamectl status
  2. 修改静态主机名(永久生效):sudo hostnamectl set-hostname "new_hostname"
  3. 验证修改:hostnamectl status或执行hostname查看。
    修改后无需重启,立即生效,且会同步更新/etc/hostname文件中的配置。

Q2:CentOS 7下如何查看某个端口号被哪个进程占用?
A:可通过ssnetstat命令结合grep筛选,具体方法:

  1. 使用ss(推荐):sudo ss -tulnp | grep :端口号(如sudo ss -tulnp | grep :80查看80端口占用情况),-t为TCP,-u为UDP,-l只显示监听端口,-n以数字显示,-p显示进程ID和名称。
  2. 使用netstatsudo netstat -tulnp | grep :端口号(需安装net-tools包,yum install net-tools)。
    输出结果中pid=后面的数字即为进程ID,可通过ps -ef | PID查看进程详情。
分享:
扫描分享到社交APP
上一篇
下一篇