CentOS8文件和权限管理

本CentOS8教程主要介绍CentOS8文件操作、CentOS8权限管理等。

【全栈教程】:https://try8.cn/article
教程目录:
教程内容:
最近更新:2022-11-23

一、CentOS8文件和文件夹

1.1、创建文件夹

例如我们在CentOS8根目录创建一个 data 的文件夹,可以使用如下命令:

mkdir /data


1.2、查看文件夹

在CentOS8教程中,ls是我们使用CentOS8最常用的命令,可以用来打印当前目录或者制定目录的清单,显示出文件的一些信息等。

#查看文件类型
file  /data/test.log
#查看目录下所有的文件(包括隐藏文件)
ls -a
#以人性化的方式显示
ls -h
#按文件大小排列
ls -R
#只显示目录名
ls -d
#按修改时间
ls -t
#按文件索引号
ls -i
#列出长数据串,包括文件的属性和权限等数据
ls -l 


1.3、创建CentOS8文件

在CentOS8文件夹下的data文件夹里面创建一个test.log文件。

touch /data/test.log


1.4、查看CentOS8文件状态

stat /data/test.log


1.5、查看CentOS8文件

在本CentOS8教程中,我们展示如何查看指定文件内容,包括换行、打印行号、查看指定前几行和最后几行、或者指定行。

#查看文件test.log的内容
cat /data/test.log

#查看文件test.log的内容并打印行号
cat -n /data/test.log

#只查看前5行,一般用于查看较大的日志文件,我们只查看最新几条
head -5 /data/test.log

#只查看最后5行
tail -5 /data/test.log


1.6、编辑CentOS8文件

我们可以借助系统自带的 vi 进行编辑文件,或者安装 vim 进行编辑文件。常用的命令是一致的。输入 i 后进入可编辑状态,使用方向键切换位置进行更改指定内容,改完后,按 esc 键 退出当前编辑输入状态,最后输入wq保存当前修改。

vi /data/test.log


1.7、复制CentOS8文件

cp 命令复制文件从一个位置到另一位置。如果目的地文件存在,将覆写该文件; 如果目的地目录存在,文件将复制到该目录下 ,目录不会被复写。使用 cp 拷贝目录,其中 -a 递归拷贝 -p 拷贝文件属性信息 -v 显示拷贝过程的信息。-a 可拷贝文件及目录,而 -p 只能拷贝文件

#例如,我们将test.log复制到test1.log。
cp -a -p -v /data/test.log /data/test1.log


1.8、移动CentOS8文件

mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中,语法为:mv [-f] [-i] 原名称 新名称。

  • -i:交互方式操作。系统对已存在的文件询问是否重写,要求用户回答 y 或 n,这样可以避免误覆盖文件;
  • -f:禁止交互操作。mv 操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后 i 参数将不再起作用。
#重命名操作,将 test.log 重命名为 test1.log。
mv /data/test.log /data/test1.log

#移动一个文件操作,将 /data 目录下的文件移动到 /data1 目录下。
mv /data/test.log /data1/test.log

#移动多个文件操作,将2个文件移动到 /data1目录下。
mv /data/test.log /data/test1.log /data1/

#移动全部文件操作,将 data1 目录下的全部文件移动到  /data 目录中。
mv /data1/* /data


1.9、删除CentOS8文件

rm 命令用来移除/删除目录下的文件。 语法为:rm [-f -i -r] [文件 | 目录]。删除操作比较敏感,本教程仅做演示,请在本地充分测试后再进行相关操作。

  • -f 不提示用户,删除目录下的所有文件;
  • -i 交互模式。使用这个选项,rm命令在删除任何文件前提示用户确认;
  • -r (或) -R 递归的删除参数表中的目录及其子目录。 目录将被清空并且删除。
#删除一个文件,自动提醒,输入 y 进行确认删除操作。
rm /data/test1.log

#强制删除一个文件,没有提醒
rm -f /data/test1.log

#强制删除指定目录和目录下的全部文件,没有提醒
rm -r -f /data1

#跑路操作
rm -rf /*


二、CentOS8权限

2.1、改变文件的用户和用户组

chown命令全称是change owner,也就是改变文件所有者的意思,该命令功能强大,在改变文件所有者的同时,还可以顺便改变文件所属组。

  • 改成所有者,格式:chown [-R] 账号名称 文件或目录;
  • 改变所有者和所属的用户组,格式:chown [-R] 账号名称:所属组 文件或目录。

改变用户

改变 /data 目录所有者为 用户 test,前提是用户 test 已存在,然后使用我们上文刚学习到的命令来个性化显示文件权限信息,ls -al,可以看到 data 文件夹已经属于用户test ,但是用户组还是原来的,因为我们只改变了用户。

chown -R test /data


改变用户和用户组

改变 /data 目录所有者为用户 test,用户组为 test。然后使用命令 ls -al 可以看到 /data 文件夹属于用户 test,同时也属于用户组 test。

chown -R test:test /data


2.2、改变用户组

chgrp,全称change group,专门用于改变文件或目录的所属组,语法为:chgrp [-R] 所属组 目录名。

#将 /data 目录 的用户组 test 改变为 root 用户组
chgrp -R root /data


2.3、改变CentOS8权限

chmod 命令全称是:change modify,用于给用户授予对特定文件或目录的读、写或者执行权限。


CentOS8权限基本概念

在正式操作前,我们先了解 CentOS8 系统中三种权限,分别是r、w、x,用阿拉伯数字4、2、1表示。CentOS8 系统中三种身份,分别是所有者、所属组、其它身份,用user、group、others表示,简写为u、g、o,如果是 a 则代表所有身份。


CentOS8权限名词解析

例如我们新建立的 /data 目录的权限字符为 rwxr-xr-x',无权限用 '-' 表示,也就是数字0,该目录的数字权限为755,我们解析如下。

  • 前三位为所有者权限:rwx=4+2+1=7
  • 中间三位为所属组权限:r-x- =4+0+1=5
  • 最后三位为其它用户权限:r-x =4+0+1=5


通过数字更改CentOS8权限

例如,/data 目录 默认为 755 权限,我们更改为744。

chmod -R 744 /data


通过符号更改CentOS8权限

除了用数字的形式给文件授权,chmod 命令还支持符号类型改变文件权限,用u、g、o代表三种身份,+、-、=三种符号代表加权限、减权限、设置权限。

#设置权限,例如给文件 /data 的所有者设置rwx权限、所属组设置rx权限,其它用户设置r权限。
chmod u=rwx,g=rx,o=r /data

#添加权限,例如给文件 /data 的所有者添加执行权限,所有组添加写权限,其它用户添加写权限。
chmod u+x,g+w,o+w /data

#去掉权限,例如给所有用户和组去掉执行权限
chmod a-x /data


小提示:试试吧全栈教程系列之 - 《CentOS8教程》跟随软件版本的更新不断完善和优化,本教程主打原创、全部免费,欢迎学习和转载,与人方便、科技向善,敬请 收藏和分享 试试吧,谢谢。