CentOS8教程
  • 更新时间:2020-06-27

一、文件和文件夹


1.1、创建文件夹


在根目录创建一个 data 的文件夹。

mkdir /data


1.2、查看文件夹


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


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


1.3、创建文件


在 data 文件夹下创建一个 test.log 文件。

touch /data/test.log


1.4、查看文件状态


stat /data/test.log


1.5、查看文件


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


#查看文件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、编辑文件


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


vi /data/test.log


1.7、复制文件


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


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


1.8、移动文件


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、删除文件


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 /*


二、文件权限


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


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


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


2.1.1、改变用户


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


chown -R test /data


2.1.2、改变用户和用户组


改变 /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、改变权限


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


2.3.1、基本概念


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


2.3.2、名词解析


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


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


2.3.3、通过数字更改权限


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


chmod -R 744 /data


2.3.4、通过符号更改权限


除了用数字的形式给文件授权,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 文件和权限教程,主要包含CentOS8 的文件和文件夹的基本概念和相关命令。通过本章的学习,你应该能轻松对文件进行增删改查操作,并能对文件权限有更加全面的了解,本教程欢迎转载,转载请注明出处,谢谢。