【运维基础一】 Linux Centos 常用命令

时间:2024-04-22 19:46:29

CentOS(Community ENTerprise Operating System)是一个基于Red Hat Enterprise Linux源代码构建的开源企业级Linux发行版。在CentOS系统中,有很多常用的命令可以帮助用户进行系统管理、文件操作、网络配置等任务。以下是一些CentOS中常用的命令:

一、文件和目录操作

ls: 列出目录内容

ls # 列出当前目录下的文件和目录  
ls -l # 以长格式列出,包括权限、所有者、大小等信息  
ls /usr/bin # 列出/usr/bin目录下的文件和目录

cd: 切换目录

cd /home/user # 切换到/home/user目录  
cd .. # 切换到上一级目录  
cd # 切换到用户的主目录

pwd: 显示当前工作目录

pwd # 显示当前所在的目录路径

cp: 复制文件或目录

cp source.txt destination.txt # 将source.txt复制为destination.txt  
cp -r sourcedir/ targetdir/ # 将sourcedir目录及其内容复制到targetdir目录下

mv: 移动或重命名文件或目录

mv oldname.txt newname.txt # 将oldname.txt重命名为newname.txt  
mv myfile.txt mydir/ # 将myfile.txt移动到mydir目录下

rm: 删除文件或目录

rm file.txt # 删除file.txt文件  
rm -r dir/ # 删除dir目录及其内容,需小心使用

mkdir: 创建目录

mkdir newdir # 创建名为newdir的新目录  
mkdir -p dir1/dir2/dir3 # 创建嵌套的目录结构,如果上级目录不存在则一并创建

rmdir: 删除空目录

rmdir emptydir # 删除名为emptydir的空目录

find: 在文件系统中查找文件

find / -name myfile.txt # 在根目录及其子目录下查找名为myfile.txt的文件  
find /home/user -type d -name "*backup*" # 在/home/user目录下查找所有名为*backup*的目录

grep: 在文件中搜索指定模式

grep "search_pattern" file.txt # 在file.txt中搜索包含"search_pattern"的行  
cat file.txt | grep "error" # 显示file.txt中所有包含"error"的行

二、系统信息查看

uname: 显示系统信息

uname -a # 显示详细的系统信息,包括内核名称、主机名、内核版本号等

cat /etc/centos-release: 查看CentOS版本

cat /etc/centos-release # 显示CentOS的版本信息

df: 显示磁盘空间使用情况

df -h # 以人类可读的格式(如GB、MB)显示磁盘空间使用情况  
df -T # 显示文件系统类型以及磁盘空间使用情况

du: 显示目录或文件的磁盘使用情况

df -h # 以人类可读的格式(如GB、MB)显示磁盘空间使用情况  
df -T # 显示文件系统类型以及磁盘空间使用情况

free: 显示内存使用情况

free -h # 以人类可读的格式显示内存使用情况,包括物理内存、交换空间等

top: 动态显示系统进程信息

top # 显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

htop: 一个增强版的top命令(可能需要安装)

htop # 显示一个彩色的、可交互的界面来管理进程

三、网络配置

ifconfig 或 ip addr: 显示网络接口信息

ifconfig # 显示所有活动网络接口的信息  
ifconfig eth0 # 显示特定网络接口(如eth0)的信息
ip addr show # 显示所有网络接口的信息  
ip addr show eth0 # 显示特定网络接口(如eth0)的信息

netstat: 显示网络连接、路由表、接口统计等信息

netstat -tuln # 显示TCP和UDP的监听端口  
netstat -an # 显示所有活动的网络连接和监听的端口
netstat -r # 显示路由表信息
netstat -i # 显示网络接口统计信息

ping: 测试网络连接

ping 8.8.8.8 # 测试到Google公共DNS服务器的连通性  
ping -c 4 example.com # 向example.com发送4个ICMP echo请求并等待回复

ssh: 远程登录命令

ssh username@remotehost # 以username身份登录到remotehost  
ssh -p 2222 username@remotehost # 使用非默认的SSH端口(如2222)登录

scp: 远程复制文件命令

scp localfile.txt username@remotehost:/path/to/destination/
scp username@remotehost:/path/to/source/file.txt localdir/

四、压缩与解压

tar: 打包和解包文件

tar -cvf archive.tar directory_or_file # 将目录或文件打包成archive.tar
tar -xvf archive.tar # 解包archive.tar到当前目录

gzip: 压缩和解压.gz文件

gzip file.txt # 将file.txt压缩为file.txt.gz,原文件会被删除
gunzip file.txt.gz # 解压file.txt.gz为file.txt,原.gz文件会被删除
gzip -c file.txt > file.txt.gz # 压缩file.txt为file.txt.gz,保留原文件  
gunzip -c file.txt.gz > file.txt # 解压file.txt.gz为file.txt,保留原.gz文件

bzip2: 压缩和解压.bz2文件

bzip2 file.txt # 将file.txt压缩为file.txt.bz2,原文件会被删除
bunzip2 file.txt.bz2 # 解压file.txt.bz2为file.txt,原.bz2文件会被删除
bzip2 -c file.txt > file.txt.bz2 # 压缩file.txt为file.txt.bz2,保留原文件  
bunzip2 -c file.txt.bz2 > file.txt # 解压file.txt.bz2为file.txt,保留原.bz2文件

unzip: 解压.zip文件

unzip archive.zip # 解压archive.zip到当前目录
unzip archive.zip -d /path/to/destination/ # 解压archive.zip到/path/to/destination/目录

五、包管理

yum: CentOS的包管理器,用于安装、更新、删除软件包
rpm: 用于安装、查询和删除RPM包
安装软件包

yum install package_name  
# 例如,安装 Apache HTTP 服务器:  
yum install httpd

更新软件包

yum install package_name  
# 例如,安装 Apache HTTP 服务器:  
yum install httpd

删除软件包

yum install package_name  
# 例如,安装 Apache HTTP 服务器:  
yum install httpd

搜索软件包

yum search keyword  
# 例如,搜索包含 "apache" 关键字的软件包:  
yum search apache

列出所有软件包

yum search keyword  
# 例如,搜索包含 "apache" 关键字的软件包:  
yum search apache

列出已安装软件包

yum list installed

安装 RPM 包

rpm -ivh package_name.rpm  
# 例如,安装一个名为 example.rpm 的本地 RPM 包:  
rpm -ivh example.rpm

查看已安装的rpm包

rpm -q package_name  
# 例如,查询 Apache HTTP 服务器是否已安装:  
rpm -q httpd

删除rpm包

rpm -e package_name  
# 例如,删除 Apache HTTP 服务器:  
rpm -e httpd

查询 RPM 包的详细信息

rpm -qi package_name  
# 例如,查询 Apache HTTP 服务器的详细信息:  
rpm -qi httpd

六、进程管理

ps: 显示当前进程状态
kill: 终止进程
nohup: 在后台运行命令,即使关闭终端也不受影响
fg 和 bg: 将进程放入前台或后台运行

七、用户与权限

useradd: 添加用户
userdel: 删除用户
passwd: 修改用户密码
su: 切换用户
chmod: 改变文件或目录权限
chown: 改变文件或目录的所有者和所属组

八、其他常用命令

man: 显示命令的手册页
history: 显示命令历史
reboot: 重启系统
shutdown: 关闭系统
date: 显示或设置系统日期和时间
echo: 在终端显示一行文本或将文本重定向到文件
ln: 创建硬链接或符号链接(快捷方式)
chmod: 改变文件或目录的权限

这只是CentOS中常用命令的一部分,实际上还有更多的命令和工具可供使用。你可以通过man命令或在线文档来详细了解这些命令的用法和选项。