Linux--CentOs 8配置及基础命令

++1.初始化CentOS和配置yum源++

------如果使虚拟机CentOS以上两步配置完成后,拍摄快照(后期虚拟机出现问题,可恢复快照)

1).进行初始化(安装好CentOs后):

------使自己搭建的服务可以被外部访问

  1. 关闭防火墙 :systemctl disable --now firewalld
  2. 临时关闭selinux(计算机重启后selinux依然开启状态): setenforce 0
  3. 永久关闭selinux:sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux /config

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)

2).配置yum源:

------由于本地YUM源提供的软件包版本过低,不能满足大多数软件安装的依赖需求,配置在线YUM源

  1. 备份原有本地YUM源
    mv /etc/yum.repos.d/* /opt/
  2. 下载阿里云在线源
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
  3. 修改阿里云YUM源地址,默认官方源提供的地址是云主机内部使用的地址,替换为公共地址。
    sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
  4. 生成新的YUM缓存(相当于使修改后的yum源文件生效)
    yum makecache

++2.Linux终端介绍、Shell、基本命令操作++

1).Linux终端:

--用户跟系统交互的窗口

  • 终端:tty 真终端((tty1图形界面,tty2-tty6字符界面)),/dev/pts/0 伪终端
  • tty终端:tty1 就是图形界面。 tty2-6是字符界面(ctl + Alt +1~6)
  • 两种终端仿真器:1、GNOME桌面的GNOME Terminal ; 2、KDE桌面的Konsole Terminal
    远程连接终端的工具: Xshell , CRT

查看当前登录所有用户信息:w

查看当前用户终端:tty


不同终端之间通讯:

  • 和不同终端发消息(例:给/dev/pts/2发hello):echo hello > /dev/pts/2
  • 给伪终端发消息:wall "hello"
2).Shell:

--Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内

核去执行

--Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。

--Shell有自己的编程语言,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语

言的很多特点,比如它也有循环结构和分支控制结构等。

(若从行程(process)角度来说,我们在shell所下达的命令,均是shell所产生的子行程。 这现象,我们暂可称之为fork。 如果是执行脚本(shell script)的话,脚本中的命令则是由另外一个非互动模式的子shell(sub shell)来执行的。 也就是primary shell产生sub shell的行程,sub shell再产生script中所有命令的行程)

--内部命令其实是SHELL程序的一部分,其中包含的是一些比较简练和日常经常会被用到的命令

--外部命令通常是系统的软件功能,该部分程序功能通常较为强大,但包括的程序量也很大,因此并不随系统启动一并加载,只在用户需要时才从硬盘中读入内存

  • 查看命令类型:type [-a | -t | -p] name

    -t对应-type,它将会显示alias、 keyword、function、builtin或file

    -a对应-all,显示所有可执行name的可能路径

    -p对应-path,会显示该命令的完整档名(外部指令)或显示为内建指令,找不到的话,不显示任何东西

  • 输出(PATH)系统环境变量:echo $PATH

    --根据PATH环境变量找所输入的命令在哪儿

  • 查看所有shell类型:cat /ect/shells

    --具体你使用的是哪一个,取决于你的用户配置

  • 显示当前用户信息:id(uid = 0时即为root权限)

  • 查找id命令位置:which id

    --> 输出:/usr/bin/id

总结: 通过SHELL,我们可以对LINUX实现哪些操作或管理:

  1. 对文件的管理(创建、删除、复制、修改)
  2. 对用户的管理(添加、删除)
  3. 相关权限的管理(授权用户对相关文件的管理,比如增删改查)
  4. 对磁盘的管理(分区、raid、lvm)
  5. 对软件的管理
  6. 对网络的管理
2.1).shell提示符"#"和"$"

[root@tcx ~]# #表示是root用户登录,管理员账号登陆(因为uid=0,所以拥有管理员权限)

[root@tcx ~]# su - tcx #切换到mk普通用户

有横杠" - ":用户切换,更改工作目录,加载所有用户环境配置。

无横杠" - ":用户切换,但是工作目录不会切换到该用户所在工作目录,也不会加载该用户设置的环境变量

[mk@tcx ~]$ #表示普通用户登录(因为uid=1000,所以拥有用户权限)--若讲uid设为0,此用户也将拥有管理员权限

3).基本命令操作

--命令 【选项】 【参数】

1.基础命令(查看目录内容、路径切换、查看文件内容):
  • ls命令:

    查看当前目录下的文件;概要信息ls(查看详细信息:ls -l

    查看当前目录下的所有文件(包括隐藏文件):ls -a

    -d 查看目录(不查看里面的内容): ls -ld /root/

    d:目录文件

    -:普通文件

    l:链接文件

    c:字符设备文件

    b:块设备文件

    p:管道文件

    s:套接字文件

  • cd 命令:

    切换命令:cd /opt/

    切换上一级:cd ..

    默认切换到当前目录的家目录:cd

  • cat命令(tab键可补全路径名):

    cat命令查看文件内容:cat /etc/passwd

2.系统时间管理命令
  • 查看时间:
    查看硬件时间:hwclock
    查看系统时间:date / date "+%F %T"
  • 修改时间:
    修改系统时间:date -s "2025-05-21 21:30"
    以硬件时间为基准,修改系统时间:hwclock -s
  • %F 完整日期格式,等价于 %Y-%m-%d
    %T 完整时间格式
3.man手册和find的使用

man手册的常见用法:

find命令常见用法(1-4基础类,5-10微难度类):

  1. /etc 目录下查找名为 passwd 的文件:find /etc -name passwd

  2. 查找指定文件类型

    查找 /home 目录下的所有普通文件:find /home -type f

    查找var目录下的所有目录:find /var -type d

  3. 按文件大小查找:

    查找 /tmp 目录下大于 10MB 的文件:find /tmp -size +10M

    查找 /home 目录下小于 1KB 的文件:find /home -size -1k

  4. 按修改时间查找:

    查找 /var/log 目录下过去 7 天内修改过的文件:find /var/log -mtime -7

    查找 /etc 目录下超过 30 天未修改的文件:find /etc -mtime +30

  5. 递归查找并执行操作

    查找 /home 目录下所有 .log 文件并删除它们:find /home -name "*.log" -exec rm {} \;

    查找 /var/www 目录下所有文件并更改其权限为 644:find /var/www -type f -exec chmod 644 {} \;

  6. 查找空文件或目录

    查找 /home 目录下的空文件:find /home -type f -empty

    查找 /var 目录下的空目录:find /var -type d -empty

  7. 查找并排除某些文件

    查找 /etc 目录下所有 .conf 文件,但排除 /etc/hosts:find /etc -name "*.conf" ! -name "hosts"

  8. 查找并统计文件数量

    统计 /home 目录下所有 .txt 文件的数量:find /home -name "*.txt" | wc -l

  9. 查找并显示详细信息

    查找 /var/log 目录下所有文件并显示详细信息(如权限、所有者、大小等):
    find /var/log -exec ls -l {} \;

  10. 查找并备份文件

    查找 /etc 目录下所有配置文件并复制到 /backup 目录:

    find /etc -name "*.conf" -exec cp {} /backup/ \;

*find的常用选项*

  • -name "pattern":按文件名查找(支持通配符,如 *.log)。
  • -type c:按文件类型查找(f 表示普通文件,d 表示目录,l 表示符号链接)。
  • -size n:按文件大小查找(+n 表示大于,-n 表示小于,n 表示等于)。
  • -mtime n:按修改时间查找(+n 表示超过 n 天前,-n 表示 n 天内)。
  • -empty:查找空文件或空目录。
  • -exec command {} \;:对找到的文件执行指定命令({} 表示当前文件,\; 表示命令结束)。
  • -prune:跳过某个目录的搜索。

注意事项

  • find 命令会递归搜索指定目录及其子目录,可能会消耗较多资源。
  • 使用 -exec 时,注意命令的结束符 \;,否则可能无法正确执行。
  • 如果需要排除某些文件或目录,可以使用 ! -name "pattern"-prune

通过灵活组合这些选项,find 命令可以满足大多数文件搜索需求

4.开关机命令及7个启动级别
开关机命令:
  • 切换启动级别:init [级别] 启动级别:0(关机),6(重启)
  • 关机:shutdown
    shutdown -h +10 --10分钟之后关机
    shutdown -h 23:30 --指定具体的时间点进行关机
    shutdown -r 20:30 --22:22 以后重启
    shutdown -h now --立即关机
  • 重启:reboot
  • 关机:poweroff
  • 断电:halt --(慎用!!!!)
5.Linux 7个启动级别:
  • 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
  • 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录(单用户模式仅加载最基本的系统服务和进程,不启动网络服务)
  • 2 多用户模式,没有NFS网络文件系统(Network File System)和网络支持(无网络)
  • 3 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式(有网络)--字符界面
  • 4 系统未使用,++保留一般不用++,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
  • 5 图形化模式,登陆后进入图形GUI模式,X Window系(有网络)--图形界面
  • 6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
设置默认启动级别:
  • systemctl set-default multi-user.target #设置默认++第三++启动级别
  • systemctl set-default runlevel3.target #设置默认++第三++启动级别
  • systemctl set-default graphical.target #设置默认第五启动级别
  • systemctl set-default runlevel5.target #设置认++第五++启动级别
  • systemctl isolate graphical.target #切换级别为图形界面
  • systemctl isolate runlevel5.target #切换级别为++图形++界面
相关推荐
刘欣的博客29 分钟前
C# Renci.SshNet 登陆 suse配置一粒
linux·ssh
SofterICer4 小时前
8.7 基于EAP-AKA的订阅转移
linux·服务器·数据库
Lz__Heng5 小时前
如何在使用kickstart安装物理机操作系统的过程中核对服务器的SN
运维·服务器·自动化·kickstart
wanhengidc5 小时前
网站服务器出现异常的原因是什么?
运维·服务器
code monkey.5 小时前
【寻找Linux的奥秘】第八章:进程控制
linux·操作系统·进程
不穿铠甲的穿山甲6 小时前
本地(Linux)编译 MySQL 源码
linux·mysql·adb
小陈99cyh7 小时前
linux版本vmware修改ubuntu虚拟机为桥接模式
linux·ubuntu·桥接模式
small_white_robot7 小时前
Tomcat- AJP协议文件读取/命令执行漏洞(幽灵猫复现)详细步骤
java·linux·网络·安全·web安全·网络安全·tomcat
飞鹰服务器8 小时前
服务器带宽线路的区别(GIA、CN2、BGP、CMI等)
运维·服务器·带宽·cn2
普罗米修斯Aaron_Swartz8 小时前
WSL中ubuntu通过Windows带代理访问github
linux·运维·ubuntu