?:个人主页
?目录
一、CentOS 简介
二、安装 CentOS
下载 CentOS 安装镜像:
准备安装介质:
在计算机 BIOS 中设置从安装介质启动:
按照安装向导进行操作:
三、基本命令(重要)
四、用户和权限管理
用户创建:
设置密码:
用户权限:
修改文件或目录的所有者:
五、软件包管理
yum(Yellowdog Updater, Modified):
rpm:
六、服务管理
systemctl:
七、网络配置
查看网络接口信息:
配置网络接口:
测试网络连接:
八、文件系统和磁盘管理
使用useradd命令创建新用户。
设置密码:
用户权限:
修改文件或目录的所有者:
yum(Yellowdog Updater, Modified):
rpm:
查看网络接口信息:
配置网络接口:
测试网络连接:
文件系统结构:
磁盘管理工具:
格式化磁盘分区:
九、系统安全
用户权限管理:
防火墙配置:
软件更新:
密码安全:
日志监控:
一、CentOS 简介
CentOS(Community Enterprise Operating System)是一种基于 Red Hat Enterprise Linux(RHEL)源代码构建的免费开源操作系统。它在稳定性、安全性和可靠性方面表现出色,被广泛应用于服务器环境、企业级应用和开发平台。
CentOS 的特点包括:
高度稳定:经过严格测试和验证,适合长时间运行关键业务。开源免费:用户可以免费下载、使用和修改。丰富的软件包:提供大量的服务器软件和开发工具。强大的社区支持:有活跃的用户社区和开发者社区,提供技术支持和解决方案。二、安装 CentOS
下载 CentOS 安装镜像:
访问 CentOS 官方网站(The CentOS Project)或其他可靠的镜像站点。选择适合你的架构(如 x86_64、ARM 等)和版本(如 CentOS 7、CentOS 8 等)的安装镜像文件。可以选择下载完整的 DVD 镜像或较小的网络安装镜像。准备安装介质:
刻录光盘:将下载的镜像文件刻录到空白 DVD 光盘上。制作 USB 启动盘:使用工具如 Rufus(Windows)或 dd 命令(Linux)将镜像文件写入 USB 闪存盘。在计算机 BIOS 中设置从安装介质启动:
开机时按下特定的键(通常是 F2、F12、Del 等)进入计算机的 BIOS 设置。在启动选项中,将安装介质(光盘或 USB 闪存盘)设置为首选启动设备。保存设置并退出 BIOS,计算机将从安装介质启动。按照安装向导进行操作:
语言选择:选择你熟悉的语言进行安装过程。磁盘分区:可以选择自动分区或手动分区。自动分区适合新手,系统会根据磁盘大小和需求进行合理的分区。手动分区则允许你更精细地控制磁盘空间的分配,例如创建根分区(/)、交换分区(swap)和用户数据分区(/home)等。设置用户:创建一个管理员用户(root)和普通用户。设置用户密码时,要确保密码强度足够高。网络配置:可以选择在安装过程中配置网络,包括 IP 地址、子网掩码、网关和 DNS 服务器等。也可以在安装完成后进行网络配置。安装软件包:选择要安装的软件包组,例如服务器软件、开发工具、桌面环境等。根据你的需求进行选择,也可以选择最小安装以获得一个精简的系统。安装完成:等待安装过程完成,系统会提示你重新启动计算机。
三、基本命令(重要)
补充:个人认为基本指令不需要死记,所谓基本指令其实是底层用C语言写的可执行程序,运行指令相当于运行可执行程序
ls
:列出当前目录下的文件和文件夹。
-l
:以长格式显示文件信息,包括文件权限、所有者、大小和修改时间等。(-ll == ls -l)
-a
:显示所有文件,包括隐藏文件。-h
:以人类可读的格式显示文件大小。例如:ls -lha
将以长格式、显示隐藏文件并以人类可读的格式显示当前目录下的文件信息。 cd
:切换目录。
cd directory_path
,其中directory_path
是要切换到的目录路径。例如:cd /home/user
将切换到 /home/user 目录。特殊目录: ..
:表示上一级目录。~
:表示当前用户的主目录。/
:表示根目录。 pwd
:显示当前所在目录的路径。
mkdir
:创建新目录。
mkdir directory_name
,其中directory_name
是要创建的目录名称。例如:mkdir new_directory
将在当前目录下创建一个名为 new_directory 的目录。 rm
:删除文件或目录。
rm file_name
。删除目录:rm -r directory_name
。注意事项:使用rm
命令时要小心,因为一旦删除文件或目录,通常无法恢复。在删除重要文件或目录之前,最好先进行备份。 cp
:复制文件或目录。
cp source_file destination_file
。复制目录:cp -r source_directory destination_directory
。例如:cp file1.txt file2.txt
将文件 file1.txt 复制为 file2.txt,cp -r dir1 dir2
将目录 dir1 复制为 dir2。 mv
:移动文件或目录,也可用于重命名。
mv source_path destination_path
。重命名文件或目录:mv old_name new_name
。例如:mv file1.txt /home/user/directory
将文件 file1.txt 移动到 /home/user/directory 目录下,mv old_file.txt new_file.txt
将文件 old_file.txt 重命名为 new_file.txt。 cat
:查看文件内容。
cat file_name
。例如:cat example.txt
将显示文件 example.txt 的内容。 more
和less
:分页查看文件内容。
more
:按页显示文件内容,使用空格键翻页,按 q 键退出。less
:功能更强大的分页查看工具,可以使用上下箭头键滚动查看,按 q 键退出。例如:more large_file.txt
和less large_file.txt
都可以用于查看较大的文件内容。 grep
:在文件中查找特定的字符串。
用法:grep pattern file_name
,其中pattern
是要查找的字符串模式,file_name
是要搜索的文件名称。
常用选项:
-i
:忽略大小写。
-n
:显示匹配行的行号。
-v
:显示不包含匹配模式的行。例如:grep "keyword" file.txt
将在文件 file.txt 中查找包含字符串 “keyword” 的行。
四、用户和权限管理
用户创建:
使用useradd
命令创建新用户。用法:useradd username
,其中username
是要创建的用户名称。例如:useradd newuser
将创建一个名为 newuser 的用户。 设置密码:
使用passwd
命令为用户设置密码。用法:passwd username
,其中username
是要设置密码的用户名称。系统会提示你输入新密码,并要求再次确认密码。例如:passwd newuser
将为用户 newuser 设置密码。 用户权限:
文件和目录的权限分为读(r)、写(w)、执行(x)三种。可以使用chmod
命令修改文件或目录的权限。用法:chmod [options] mode file_name
,其中options
是可选的选项,mode
是权限模式,file_name
是要修改权限的文件或目录名称。权限模式可以用数字表示,也可以用字符表示。数字表示法: 读权限(r):对应数字 4。写权限(w):对应数字 2。执行权限(x):对应数字 1。例如,权限模式 755 表示所有者有读、写、执行权限,所属组和其他用户有读和执行权限。字符表示法: u
:表示所有者。g
:表示所属组。o
:表示其他用户。a
:表示所有用户。+
:表示添加权限。-
:表示去除权限。=
:表示设置权限。例如,chmod u+rwx,g+rx,o+r file.txt
将为文件 file.txt 的所有者添加读、写、执行权限,为所属组添加读和执行权限,为其他用户添加读权限。 修改文件或目录的所有者:
使用chown
命令修改文件或目录的所有者。用法:chown [options] owner[:group] file_name
,其中options
是可选的选项,owner
是新的所有者名称,group
是新的所属组名称(可选),file_name
是要修改所有者的文件或目录名称。例如:chown newowner file.txt
将文件 file.txt 的所有者修改为 newowner。
五、软件包管理
yum
(Yellowdog Updater, Modified):
yum
是 CentOS 中常用的软件包管理工具,它可以自动解决软件包的依赖关系。安装软件包: 用法:yum install package_name
,其中package_name
是要安装的软件包名称。(大家可以安装一个tree命令,非常好用:yum install package tree)例如:
yum install apache
将安装 Apache Web 服务器软件包。更新软件包: 用法:yum update
将更新系统中所有已安装的软件包。也可以指定特定的软件包进行更新,例如yum update package_name
。删除软件包: 用法:yum remove package_name
,其中package_name
是要删除的软件包名称。查找软件包: 用法:yum search keyword
,其中keyword
是要查找的软件包关键字。例如:yum search apache
将查找与 Apache 相关的软件包。 rpm
:
rpm
是 Red Hat Package Manager 的缩写,它可以用于管理单个软件包。安装: 用法:rpm -ivh package.rpm
,其中package.rpm
是要安装的软件包文件名。例如:rpm -ivh apache.rpm
将安装名为 apache.rpm 的软件包。查询: 列出已安装的所有软件包:rpm -qa
。查询特定软件包是否安装:rpm -q package_name
。例如:rpm -q apache
将查询系统中是否安装了 Apache 软件包。删除: 用法:rpm -e package_name
,其中package_name
是要删除的软件包名称。例如:rpm -e apache
将删除名为 apache 的软件包。
六、服务管理
systemctl
:
systemctl
是 CentOS 7 及以上版本中用于管理系统服务的命令。启动服务: 用法:systemctl start service_name
,其中service_name
是要启动的服务名称。例如:systemctl start httpd
将启动 Apache Web 服务器服务。停止服务: 用法:systemctl stop service_name
,其中service_name
是要停止的服务名称。例如:systemctl stop httpd
将停止 Apache Web 服务器服务。重启服务: 用法:systemctl restart service_name
,其中service_name
是要重启的服务名称。例如:systemctl restart httpd
将重启 Apache Web 服务器服务。查看服务状态: 用法:systemctl status service_name
,其中service_name
是要查看状态的服务名称。例如:systemctl status httpd
将显示 Apache Web 服务器服务的状态信息。设置服务开机自启动: 用法:systemctl enable service_name
,其中service_name
是要设置开机自启动的服务名称。例如:systemctl enable httpd
将设置 Apache Web 服务器服务在系统启动时自动启动。禁止服务开机自启动: 用法:systemctl disable service_name
,其中service_name
是要禁止开机自启动的服务名称。例如:systemctl disable httpd
将禁止 Apache Web 服务器服务在系统启动时自动启动。
七、网络配置
查看网络接口信息:
ifconfig
:显示网络接口的基本信息,包括 IP 地址、子网掩码、MAC 地址等。ip addr
:显示更详细的网络接口信息,包括 IP 地址、子网掩码、广播地址、MAC 地址、网络设备状态等。 配置网络接口:
可以编辑/etc/sysconfig/network-scripts/ifcfg-interface_name
文件来配置网络接口,其中interface_name
是网络接口的名称,如 eth0、ens33 等。常见的配置参数包括: DEVICE
:网络接口名称。BOOTPROTO
:网络启动协议,可选的值有 static(静态 IP)、dhcp(动态 IP)等。IPADDR
:IP 地址。NETMASK
:子网掩码。GATEWAY
:网关地址。DNS1
、DNS2
等:DNS 服务器地址。 测试网络连接:
使用ping
命令测试与其他主机的连通性。用法:ping hostname/IP_address
,其中hostname
是主机名或域名,IP_address
是 IP 地址。例如:ping www.baidu.com
将测试与百度服务器的连通性。 八、文件系统和磁盘管理
使用useradd
命令创建新用户。
用法:useradd username
,其中username
是要创建的用户名称。例如:useradd newuser
将创建一个名为 newuser 的用户。 设置密码:
使用passwd
命令为用户设置密码。用法:passwd username
,其中username
是要设置密码的用户名称。系统会提示你输入新密码,并要求再次确认密码。例如:passwd newuser
将为用户 newuser 设置密码。 用户权限:
文件和目录的权限分为读(r)、写(w)、执行(x)三种。可以使用chmod
命令修改文件或目录的权限。用法:chmod [options] mode file_name
,其中options
是可选的选项,mode
是权限模式,file_name
是要修改权限的文件或目录名称。权限模式可以用数字表示,也可以用字符表示。数字表示法: 读权限(r):对应数字 4。写权限(w):对应数字 2。执行权限(x):对应数字 1。例如,权限模式 755 表示所有者有读、写、执行权限,所属组和其他用户有读和执行权限。字符表示法: u
:表示所有者。g
:表示所属组。o
:表示其他用户。a
:表示所有用户。+
:表示添加权限。-
:表示去除权限。=
:表示设置权限。例如,chmod u+rwx,g+rx,o+r file.txt
将为文件 file.txt 的所有者添加读、写、执行权限,为所属组添加读和执行权限,为其他用户添加读权限。 修改文件或目录的所有者:
使用chown
命令修改文件或目录的所有者。用法:chown [options] owner[:group] file_name
,其中options
是可选的选项,owner
是新的所有者名称,group
是新的所属组名称(可选),file_name
是要修改所有者的文件或目录名称。例如:chown newowner file.txt
将文件 file.txt 的所有者修改为 newowner。 yum
(Yellowdog Updater, Modified):
yum
是 CentOS 中常用的软件包管理工具,它可以自动解决软件包的依赖关系。安装软件包: 用法:yum install package_name
,其中package_name
是要安装的软件包名称。例如:yum install apache
将安装 Apache Web 服务器软件包。更新软件包: 用法:yum update
将更新系统中所有已安装的软件包。也可以指定特定的软件包进行更新,例如yum update package_name
。删除软件包: 用法:yum remove package_name
,其中package_name
是要删除的软件包名称。查找软件包: 用法:yum search keyword
,其中keyword
是要查找的软件包关键字。例如:yum search apache
将查找与 Apache 相关的软件包。 rpm
:
rpm
是 Red Hat Package Manager 的缩写,它可以用于管理单个软件包。安装: 用法:rpm -ivh package.rpm
,其中package.rpm
是要安装的软件包文件名。例如:rpm -ivh apache.rpm
将安装名为 apache.rpm 的软件包。查询: 列出已安装的所有软件包:rpm -qa
。查询特定软件包是否安装:rpm -q package_name
。例如:rpm -q apache
将查询系统中是否安装了 Apache 软件包。删除: 用法:rpm -e package_name
,其中package_name
是要删除的软件包名称。例如:rpm -e apache
将删除名为 apache 的软件包。 systemctl
:
systemctl
是 CentOS 7 及以上版本中用于管理系统服务的命令。启动服务: 用法:systemctl start service_name
,其中service_name
是要启动的服务名称。例如:systemctl start httpd
将启动 Apache Web 服务器服务。停止服务: 用法:systemctl stop service_name
,其中service_name
是要停止的服务名称。例如:systemctl stop httpd
将停止 Apache Web 服务器服务。重启服务: 用法:systemctl restart service_name
,其中service_name
是要重启的服务名称。例如:systemctl restart httpd
将重启 Apache Web 服务器服务。查看服务状态: 用法:systemctl status service_name
,其中service_name
是要查看状态的服务名称。例如:systemctl status httpd
将显示 Apache Web 服务器服务的状态信息。设置服务开机自启动: 用法:systemctl enable service_name
,其中service_name
是要设置开机自启动的服务名称。例如:systemctl enable httpd
将设置 Apache Web 服务器服务在系统启动时自动启动。禁止服务开机自启动: 用法:systemctl disable service_name
,其中service_name
是要禁止开机自启动的服务名称。例如:systemctl disable httpd
将禁止 Apache Web 服务器服务在系统启动时自动启动。 查看网络接口信息:
ifconfig
:显示网络接口的基本信息,包括 IP 地址、子网掩码、MAC 地址等。ip addr
:显示更详细的网络接口信息,包括 IP 地址、子网掩码、广播地址、MAC 地址、网络设备状态等。 配置网络接口:
可以编辑/etc/sysconfig/network-scripts/ifcfg-interface_name
文件来配置网络接口,其中interface_name
是网络接口的名称,如 eth0、ens33 等。常见的配置参数包括: DEVICE
:网络接口名称。BOOTPROTO
:网络启动协议,可选的值有 static(静态 IP)、dhcp(动态 IP)等。IPADDR
:IP 地址。NETMASK
:子网掩码。GATEWAY
:网关地址。DNS1
、DNS2
等:DNS 服务器地址。 测试网络连接:
使用ping
命令测试与其他主机的连通性。用法:ping hostname/IP_address
,其中hostname
是主机名或域名,IP_address
是 IP 地址。例如:ping www.baidu.com
将测试与百度服务器的连通性。 文件系统结构:
CentOS 的文件系统结构遵循 Linux 的标准结构,包括以下主要目录:/
:根目录,所有文件和目录的起点。/bin
:存放二进制可执行文件,如常用的命令。/etc
:存放系统配置文件。/home
:用户主目录,每个用户在这个目录下有一个自己的子目录。/usr
:存放用户程序和文件。/var
:存放可变数据,如日志文件、邮件队列等。 磁盘管理工具:
fdisk
和parted
是常用的磁盘分区工具。使用fdisk
或parted
可以对磁盘进行分区操作,包括创建、删除、修改分区等。 格式化磁盘分区:
使用mkfs
命令可以格式化磁盘分区为特定的文件系统格式。常见的文件系统格式有 ext4、xfs 等。用法:mkfs -t file_system_type /dev/sdX
,其中file_system_type
是文件系统类型,/dev/sdX
是要格式化的磁盘分区设备... 九、系统安全
用户权限管理:
严格控制用户的权限,只给予用户必要的权限。定期检查用户的权限设置,确保没有不必要的权限分配。防火墙配置:
CentOS 中可以使用firewalld
或iptables
来配置防火墙。配置防火墙规则,限制外部访问,只开放必要的端口。例如,可以使用firewalld
命令添加允许 SSH 访问的规则:firewall-cmd --permanent --add-service=ssh
。 软件更新:
定期更新系统和安装的软件,以修复安全漏洞。使用yum update
命令更新系统软件包。 密码安全:
要求用户设置强密码,并定期更换密码。可以使用密码策略工具来强制用户设置强密码。日志监控:
定期查看系统日志,及时发现异常活动。可以使用工具如logwatch
来分析和报告系统日志。 通过掌握这些 CentOS 入门必备知识,就可以开始使用 CentOS 进行服务器管理、开发和日常操作。随着经验的积累,你可以进一步深入学习 CentOS 的高级功能和特性,以满足更复杂的需求。