[Centos系统] CentOS8常用命令

713 0
Honkers 2025-8-19 05:57:19 来自手机 | 显示全部楼层 |阅读模式

CentOS 目录结构

目录简述

/ #根目录
├── bin -> usr/bin #系统常用命令,如ls,mv,cat等
├── boot #系统启动文件
├── dev #设备文件
├── etc #系统配置文件
├── home #普通用户根目录
├── lib -> usr/lib #系统共享库文件,服务程序等
├── lib64 -> usr/lib64 #64位系统库文件
├── media #光盘挂载,U盘等
├── mnt #临时挂载目录
├── opt #用户程序安装目录,比如tomcat
├── proc #此目录数据都在内存中,不占磁盘空间,是系统内存映射
├── root #root家目录
├── run #程序进程pid存放目录
├── sbin -> usr/sbin #只有root才有权执行的命令
├── srv #程序数据存放目录,如www的数据/srv/www
├── sys #系统内核信息文件,和/proc相似
├── tmp #临时文件
├── usr #非系统程序,/usr/local是常见的系统级软件安装目录
└── var #存放系统执行过程中经常 变化的文件,如日志文件,邮件等

目录详解

  1. /: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
  2. /bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
  3. /boot: 放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
  4. /dev: 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
  5. /etc: 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。
  6. /home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
  7. /lib:/usr/lib:/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
  8. /lost+fount: 系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
  9. /mnt:/media: 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
  10. /opt: 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
  11. /proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
  12. /root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
  13. /sbin:/usr/sbin:/usr/local/sbin: 放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
  14. /tmp: 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
  15. /srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
  16. /usr: 应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
  17. /var: 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
复制代码

CentOS中常用命令

一、基础命令

1、ls命令

查询当前目录中的文件夹及文件

  • 语法格式:ls

2、man命令

帮助命令。调用linux的帮助手册

  • 语法格式1:
    man -help
  • 语法格式2:
    man -h

3、clear命令

清除控制台

  • 语法结构:
    clear

4、man man 命令

查看帮助内容

  • 语法结构
    man man

    注意:按q键退出帮助界面

5、man ls

查看ls命令功能

  • 语法结构
    man ls

    注意:按q键退出帮助界面

二、用户与群组

根据Linux系统权限特点,可以多个用户使用同一台机器,所以Linux提供一套非常完整的用户管理系统

用户

用户是能够获取系统资源的权限的集合

cut命令

该命令是一个选取命令

  • 语法结构:
    cut [参数选项] 文件地址
  • 演示:
    查询当前系统中的用户列表
  • 说明:
    该命令其功能是将文件中的每一行“字节”“字符”“字段”进行剪切,选取我们需要的,将选取好的数据输出

w命令

是查询当前登陆者信息

  • 语法结构:
    w [参数选项]
  • 演示:
    查询当前登陆者用户信息
  • 说明:
    w 查询更加详细的用户信息
    who 查询登陆者及登陆信息
    whoami 查询登录者名字

useradd命令

Linux中添加新用户命令

  • 语法结构
    useradd [参数选项] 用户名
  • 演示
  • 说明
    使用该命令创建用户账户时,默认用户根目录是/home中

id命令

查询用户信息

  • 语法结构
    id 用户名
  • 演示
    查看tiger用户的信息
  • 说明
    id命令可以查看用户的UID(用户ID)、GID(组ID)

passwd命令

修改或设置密码

  • 语法结构
    passwd [参数选项] 用户名
    -演示
    为tiger用户设置密码
  • 说明
    普通用户只能使用passwd命令修改自身的密码
    root用户具有管理员权限,可以修改其他用户的密码
    注意:使用root用户修改自己或他人密码不需要验证旧密码

su命令

切换用户命令

  • 语法结构
    su [参数选项] 用户名
  • 演示
    使用su命令切换到tiger用户下
  • 说明
    root用户权限较高,切换到其他用户时不需要输入密码,
    其他用户切换到root时,需要输入密码

sudo 命令

提升权限

  • 权限种类
    用户组分类:管理员组和普通组
  1. 管理员组(root,gid为0)
  2. 普通组(gid范围:1~65535)分为系统组和登录组
    2.1 系统组(gid范围:1~999)
    2.2 登录组(gid范围:6000~10000)
  • 说明:重点掌握权限种类

usermod命令

修改用户信息命令

  • 语法结构
    usermod [参数选项] 原用户 目标用户
  • 演示
    将tiger用户加入到root组中
  • 说明
    修改用户属性usermod,用户信息保存在/etc/passwd文件中,
    可以直接用编辑器修改该文件

userdel命令

删除用户

  • 语法结构
    userdel [参数选项] 用户名

  • 删除tiger用户

  • 说明:
    用户会存放在不同的文件中,
    使用userdel时一定要加上参数选项-r
    否则将不会彻底删除

群组

为了能够更高效地指派系统中各个用户的权限,
通常情况会将用户分配到组里面,
可以对一类用户统一安排权限。

查询组列表

查询系统中所有的组

  • 语法结构
    cat /etc/group
  • 演示
    查询系统中的组列表
  • 说明
    查询信息解释
    组名:组密码:组ID:账号名

groupadd命令

添加(创建)组

  • 语法结构
    groupadd [参数选项] 组名
  • 演示
    创建students组
  • 说明
    groupadd命令用于创建一个新的工作组,
    新工作组的信息将被添加到系统文件中

groupmod命令

修改群组属性

  • 语法结构
    groupmod [参数选项] 组名
  • 演示
    将students组名修改成student
  • 说明
    -n 表示修改组名
    语法结构是groupmod -n 修改组名 原组名

groupdel命令

删除组

  • 语法结构
    groupdel 组名
  • 演示
  • 说明
    如果被删除的组中包含某些用户,必须先删除用户后才能删除组。

gpasswd命令

修改/设置组密码

  • 语法结构
    gpasswd [参数选项] 组名
  • 演示
    修改student组密码
  • 说明
    修改组密码使用率并不是很高,可以被sudo命令所替代

三、目录及文件的操作

目录是系统中的文件夹

目录的操作

ls命令

显示指定目录的内容,列出目录及文件列表,类似于Windows下的dir命令

  • 语法结构
    ls [参数选项] [路径或文件]
  • 演示
    使用ls命令查询当前目录列表
  • 演示
    使用ls命令查询home目录下的列表
  • 说明
    不加参数和添加参数要明确当前目录的位置
  • 参数选项
    -a:显示所有文件及目录(默认),文件以.开头系统视为隐藏文件,不会列出
    -l:除文件名称外,将文件型态、权限、拥有者、文件大小等信息列出
    -r:将文件以相反次序列出(原定英文字母顺序)
    -A:同-a
    -F:在列出的文件名后添加符号;如文件名*
    -R:如目录下有文件,按文件顺序排列
  • 演示
    查询当前目录中,所有名字是a开头的文件,创建时间的升序排列
  • 说明
    可以使用参数对目录进行操作

cd命令

cd命令切换工作目录

  • 语法格式
    cd [相对路径或绝对路径或特殊符号]
  • 演示
    cd不带参数切换到/root目录下
  • 演示
    通过type 命令查询cd设置
  • 演示
    切换到/bin目录下
  • 演示
    特殊符号使用
    切换到用户目录下
  • 演示
    切换前一个工作目录
  • 说明
    从root目录中切换到/home/huangxudong下
    返回前一个目录是返回到root目录下
  • 演示
    返回上一级目录
  • 演示
    进入当前目录
  • 说明
    明确位置

mkdir命令

创建目录

  • 语法结构
    mkdir [参数选项] 目录名
  • 创建test目录
  • 说明
    不添加参数选项明确位置,默认在当前目录中创建
  • 演示
    创建myproject/src目录
  • 说明
    -p 创建多层目录
  • 演示
    创建多个目录,在src文件夹下创建controller model view
  • 说明
    多个目录以空格间隔
  • 演示
    使用大括号创建多个目录,在model目录下创建pojo dbutils dao service
  • 说明
    逗号前不能有空格,否则整个大括号的内容将成为一个目录的名字
  • 演示
    创建级联目录,不同目录下存放不同子目录

文件的操作

touch命令

用于更新文件时间和创建文件命令

  • 语法结构
    touch [参数选项] 文件名
  • 演示
    创建logindatalist.txt
  • 说明
    使用touch时,文件不存在则创建文件
    如果文件存在,则更新文件的时间属性,包括存取时间和更改时间
    也可以使用该命令更改目录时间属性。
  • 演示
    创建多个文件,在log目录中创建userlist.txt goodslist.txt
  • 说明
    创建多个文件时,文件名之间以空格间隔
  • 演示
    修改文件时间属性,修改logindatalist.txt文件时间属性
  • 说明
    ls -l logindatalist.txt 查询文件详细信息
    stat logindatalist.txt 查询文件详细信息列表
  • 参数选项
    -c 仅修改文件时间,如果文件不存在,则不创建

rm命令

删除一个文件或目录

  • 语法结构
    rm [参数选项] 文件或目录名
  • 演示
    删除logindatalist.txt文件
  • 说明
    删除文件,rm关键字后面可以直接跟空格和文件名
  • 演示
    删除目录
  • 说明
    删除目录时需要添加参数-r

cp命令

复制文件或目录

  • 语法格式
    cp [参数选项] 源文件 目标文件
  • 演示
    将A目录中的ulist.txt文件复制到B目录中
  • 说明
    如果目标文件时目录,则会把源文件复制到该目录中
    如果目标文件时文件,如果该文件存在则覆盖,不存在则复制
    如果不指向其他目录,则在当前目录中复制

find命令

指定目录下查找文件

  • 语法结构
    find 搜索路径 [参数选项] 搜索内容
  • 演示
    搜索当前目录下及子目录下文件拓展名是.txt的文件
  • 说明
    搜索路径:搜索起始位置
    搜索内容:匹配文件的格式
  • 演示
    查询/log/A目录中最近20天内更新的文件

chmod命令

用户对系统中的目录或文件的使用及操作的权限

  • 权限简述
    可读可写r(读)w(写)
    可读可执行r(读)x(执行)
    仅可读 r
    没有赋予权限 -
    r(读) 4
    w(写) 2
    x(执行) 1
    chmod 777 /test

文件内容的操作

cat命令

用于连接文件并输出

  • 语法结构
    cat [参数选项] [–help] [–version] 文件名字
    演示:
    在当前目录中创建goods.txt
  • 说明
    使用cat命令,需要配合符号(>)完成对文件的操作
    命令执行完可以对文件内容进行编辑
    使用ctrl+D或ctrl+C退出编辑界面
  • 演示
    在当前目录中创建goodsmessage.txt,并向该文件中赋值
  • 说明
    符号>> 与> 功能类似
  • 演示
    查询goodsmessage.txt文件内容
  • 演示
    输出内容时添加行号
  • 演示
    将文件goodsmeassage.txt文件中的内容覆盖到goods.txt中
  • 演示
    将文件goodsmessage.txt 追加到 goods.txt
  • 演示
    将goodsmessage.txt 和 goods.txt 的内容 存到goodslist.txt
  • 说明
    使用>可以新建文件,如果该文件存在可以使用>>号追加
  • 演示
    清空goodslist.txt文件里的内容

tac命令

将文件全部内容从尾至头输出(反向输出)

  • 语法结构
    tac [参数选项] 文件名
  • 演示
    使用tac输出goodsmessage.txt文件内容

more命令

more是一个过滤器,用于一次浏览一个屏幕的内容

  • 语法结构
    more [参数选项] 文件名
  • 演示
    使用more浏览goodsmessage.txt文件中的内容
  • 说明
    按空白键(space)就往下一页显示,
    按 b 键就会往回(back)一页显示,
    按q键退出
  • 演示
    使用more浏览goodsmessage.txt文件中的内容,每页显示固定的行数
  • 演示
    使用more浏览goodsmessage.txt文件中的内容,从第6行开始显示
  • 演示
    使用more浏览goodsmessage.txt文件中的内容,
    查找指定字符串,从找到的字符串的前两行开始显示
  • 说明
    已经有特殊含义的字母,将无效如 a、h等等
  • 演示

tr命令

用于转换文件中的字符

  • 语法格式
    tr [参数选项] 字符串
  • 演示
    文档中小写转换大写
  • 演示
    文本替换?

wc命令

计数

  • 语法格式
    wc [参数选项] 文件名

  • 演示
    查询文件信息

  • 演示
    查询多个文件

stat命令

用于显示文件的状态信息

  • 语法格式
    stat [参数选项] 文件名
  • 演示
    查询文件信息
  • 演示
    批量查询文件

cut命令

截取命令,按字节,字符,域来截取

  • 语法结构
    cut [参数选项] 文件名
  • 说明
    该命令必须配置参数选项
    -b
    -c
    -f
  • 演示
    保留每行前三位

四 、Shell脚本

脚本的创建及启动

变量的使用

命令代换

使用命令将数据进行转换,如数字需要进行数学运算,需要转换。通过符号进行转换。
可以理解成和Java中的转译字符相似。

  • 常用种类:
    *所有
    ?任意一个字符
    [若干字符]可以匹配中括号中出现的任意字符
    $(命令)取出命令,取出执行结果
    ${变量名}取出变量中包含的值
    \ 转译字符
    引号 单引号、双引号

演示:测试*号查询所有

查询当前目录中所有拓展名是.sh文件列表

演示:测试?匹配一个字符

查询拓展名是.sh,文件名是5个字符,内容任意

演示:测试[若干字符]

使用中括号匹配文件名字

测试:$(),取出命令执行结果

获取date命令执行结果


可以使用esc下的反引号,完成相同功能

演示:使用${}取出变量值


注意:建议使用${}符号输出

演示:使用(()),(()) ,(()),[]算术代换

4


注意:
(()),用于算术运算,只能用+、−、∗、/和()运算符,只能做整数运算可以使用(()),用于算术运算,只能用+、-、*、/和()运算符,只能做整数运算 可以使用(()),用于算术运算,只能用+、−、∗、/和()运算符,只能做整数运算可以使用[] 根据进制完成换算

演示:使用\转译字符


注意:
\表示
尽量注意使用-作为文件名的一部分,使用\无法转移-符号

演示:单引号与双引号

单引号和双引号表示的都是字符串,取值的时候效果会不同
注意:
双引号取值
单引号取名

控制语句

if、else、ifelse、case、for、while……

if

  • 语法结构
    if [条件表达式];then
    执行程序
    fi

演示:使用if

判断demo2.sh是不是一个文件


注意:
语法结构中空格不能省略
;then 相当于 {
fi 相当于}
如then关键字换行写,则不需要写;

else

演示:利用else实现双分支判断

多分支elif

演示:多分支判断文本

演示:根据输入的数据进行判断验证

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行