openEuler实验-基于openEuler的云景平台文件管理系统

news2024/12/23 23:53:10

一些常见的Linux命令

目录

前言

实验目的

实验内容

 实验知识点

实验环境

实验分析

系统登录和电源管理

1)使用login命令登录系统

2)退出openEuler

3)退出当前的shell

软件管理

1)查询目录信息

2)切换目录路径

3)创建软件存储目录

4)下载软件到存储目录

5)重命名文件名

6)删除目录和文件

7)创建用户

8)删除用户

9)创建用户组

10)删除用户组

11)设置目录或软件包的权限

12)查找指定的软件包

13)筛选指定条件的目录或软件包

脚本文件管理

1)创建脚本文件目录

2)创建脚本文件

3)移动脚本文件

4)编辑脚本文件内容

5)创建用户

6)修改用户信息

7)设置脚本文件的权限

8)查找脚本文件

数据文件管理

1)创建数据文件存取目录

2)复制重要文件到数据文件目录

4)创建链接文件

5)创建用户

6)改变文件的所有者

7)统计文件的字符

总结


前言

 openEuler实验-基于openEuler的云景平台文件管理系统的前言

openEuler是一个开源的、基于Linux内核的操作系统,它致力于为云计算和边缘计算提供创新的解决方案。openEuler不仅拥有丰富的软件包和应用,还支持多种硬件架构,如x86、ARM和RISC-V等。openEuler的目标是成为一个开放的、多元的、可持续发展的社区,与广大开发者和用户共同推动操作系统的进步。

云景平台是一个基于openEuler的云原生应用开发和运维平台,它提供了一站式的服务,包括代码管理、镜像构建、容器编排、服务治理、监控告警等。云景平台旨在帮助开发者快速构建、部署和管理云原生应用,提高开发效率和运维质量。

文件管理系统是云景平台的一个重要组件,它负责存储和管理用户上传的文件,如代码、配置、日志等。文件管理系统采用了分布式存储技术,保证了文件的高可用性和可扩展性。文件管理系统还提供了丰富的功能,如文件上传、下载、分享、搜索、预览等,方便用户对文件进行操作和管理。

本文将介绍如何在openEuler上搭建云景平台文件管理系统,包括环境准备、软件安装、配置修改、服务启动等步骤。本文旨在为感兴趣的开发者和用户提供一个参考指南,帮助他们快速体验和使用云景平台文件管理系统。

实验目的

• 掌握登录命令

• 掌握目录和文件创建命令

• 掌握目录和文件查询命令

• 掌握文件编辑命令

• 掌握用户和组创建命令

• 掌握文件权限设置命令

实验内容

云景平台文件管理系统是基于openEuler系统的集文件存取目录创建、用户及用户组管理、权限管理于一体的业务系统,该文件系统的结构如图1所示:

图1 文件系统结构图

本实验从云景平台的实际业务需求出发,综合运用openEuler的登录命令、电源命令、文件权限命令、用户和组命令等,对平台中的涉及到的业务数据,例如软件、脚本文件、结果数据等进行维护,以实现数据的分类管理、存取权限管理等目的,建立的文件系统实现功能如下:

• 软件管理:使用目录创建命令、文件下载命令、用户和组的创建命令、文件权限命令,实现对业务软件的存储目录创建、下载、用户存取权限的设置等功能,并结合目录查询命令、文件查询命令等实现对软件的查询。

• 脚本文件管理:使用目录创建命令、文件创建命令、文件编辑命令、用户和组的创建命令、文件权限命令实现对脚本存储目录的创建、脚本文件的创建、脚本文件的编辑、脚本文件的存取权限设置等功能,并结合目录查询命令、文件查询命令、筛选命令等实现对脚本文件的查询。

• 数据管理:使用目录创建命令、文件创建命令、重定向输入输出命令、文件编辑命令、用户和组的创建命令、文件权限命令实现数据文件存储目录的创建、数据文件的创建、数据文件的编辑、数据文件的存取权限的设置等功能,并结合目录查询命令、文件查询命令、统计命令等实现对数据文件的查询。

 实验知识点

• 使用login、logout命令实现登录操作

• 使用mkdir、touch命令创建目录和文件

• 使用cd、pwd命令进行路径切换和查询

• 使用vim、rm、rename、mv、重定向命令对文件或目录进行编辑

• 使用ls、cat、grep、find、locate命令对文件或目录进行查询

• 使用useradd、userdel、groupadd、groupdel、passwd命令实现用户和组的管理

• 使用chmod命令对文件权限进行设置

实验环境

• 双核cpu、4G内存、120G硬盘

• openEuler 20.3LTS 操作系统

实验分析

(1)系统登录

• 使用login命令登录系统

• 使用logout退出系统

• 使用exit命令退出shell

(2)软件管理

• 使用ls命令查询目录或软件的信息

• 使用cd命令切换目录路径

• 使用mkdir命令创建软件存储目录

• 使用pwd命令查询路径

• 使用wget命令下载软件

• 使用rename命令修改指定目录或软件名字

• 使用rm命令删除指定目录或软件

• 使用usradd命令创建访问软件的用户

• 使用passwd命令设置用户的密码

• 使用userdel命令删除访问软件的用户

• 使用groupadd命令创建访问软件的用户组

• 使用groupdel命令删除访问软件的用户组

• 使用chmod命令设置目录或软件的权限

• 使用find命令查找指定条件的软件

• 使用grep命令筛选指定条件的文件

(3)脚本文件管理

• 使用ls命令查询目录或脚本文件的信息

• 使用mkdir命令创建脚本存储目录

• 使用cd命令切换目录路径

• 使用touch命令创建脚本文件

• 使用mv命令修改指定目录或脚本名字

• 使用vim命令创建和编辑脚本文件

• 使用rm命令删除指定目录或脚本文件

• 使用usradd命令创建访问脚本文件的用户

• 使用passwd命令设置用户的密码

• 使用usermod命令修改访问脚本文件的用户

• 使用chmod命令设置目录或脚本文件的权限

• 使用locate命令查找指定条件的脚本文件

(4)数据文件管理

• 使用ls命令查询目录或数据文件的信息

• 使用mkdir命令创建数据的存储目录

• 使用cd命令切换目录路径

• 使用cp命令复制目录或数据文件

• 使用输出重定向>命令输出内容到指定数据文件

• 使用追加输出重定向>>命令输出内容到指定数据文件

• 使用ln命令创建数据文件的链接

• 使用usradd命令创建访问数据文件的用户

• 使用passwd命令设置用户的密码

• 使用chown命令更改数据文件的所有者

• 使用count命令统计指定数据文件的相关属性

系统登录和电源管理

在创建和应用云景平台文件管理系统时,会经常进行系统的登录操作,这就要求必须熟练的掌握相关的命令。

1)使用login命令登录系统

使用login命令既可以实现当前的系统的登录,又可以切换用户进行登录。

【代码1-1】切换用户登录

login  #login命令可以登录服务器

在本实验的实验室环境中一直处于登录状态,如再次执行登录则会断开服务器连接并重新登录,上述命令回车后效果如下图:

图2 切换用户登录openEuler

2)退出openEuler

使用logout命令可以退出当前登录的shell,即退出了命令模式下的登录具体代码如下:

【代码1-2】退出openEuler

logout   #logout命令可以退出登录

在退出登录后会断开服务器连接并自动尝试连接服务器,然后自动登录到服务器中,上述代码执行效果如下图:

图3 退出openEuler

3)退出当前的shell

使用exit命令可以退出当前进入的shell环境。

【代码1-3】退出当前的shell

exit  #exit命令可以退出当前的shell

在退出当前后会断开服务器连接并自动尝试连接服务器,然后自动登录到服务器中,上述代码执行效果如下图所示:

图4 退出当前shell

软件管理

云景平台管理系统中一个非常重要的功能是管理该平台需要的软件包,通过创建软件包的存储目录,把本地或者网络上的软件包按功能进行分类存储并赋予一定的访问权限。

1)查询目录信息

应用文件系统最常用的操作就是查看目录或文件的相关信息,应用的命令是ls,该命令可以列出目录中的文件,也可以查看文件的具体属性信息,通过不同的参数来实现特定的查询,经常使用的参数有-l、-a、-R,分别表示以长格式显示查询、查询目录下所有文件,包括隐藏文件、递归显示查询目录下的文件。

查询根目录下的所有文件,直接应用ls命令。

【代码2-1】查询根目录下的内容

ls /   #ls命令可以查看当前的目录下的内容 也可以指定查看哪个目录下的内容 此处指定了根目录 /

回车后如下图:

图5 查询根目录下的内容

如果想知道查询的目录下是文件还是目录,可以应用参数-l来进行:

【代码2-2】以长格式查询根目录下的内容

ls -l /  #添加 -l参数可以查看详情内容

回车后如下图:

图6 长格式查询根目录下的内容

查询结果中,每行的第一个字符如果是“d”,表示目录;如果是“-”,表示普通文件;如果是“l”,表示是链接文件。ls -l 命令语句可以缩写为ll。

ls命令还可以对一个文件的属性信息进行查询。查询/root目录下的文件的属性信息如下:

【代码2-3】查询/root目录下文件的属性信息

ll /root

touch testContext anaconda-ks.cfg #touch命令可以创建文件

ll anaconda-ks.cfg

执行以上命令的过程如下图:

图7 查询根目录下anaconda-ks.cfg文件的属性信息

2)切换目录路径

在进行对文件或目录操作的过程中,经常会进入到某一个目录中对其中的文件或目录进行操作,实现这一功能的命令为cd

【代码2-4】进入到/usr目录下,并查看该目录的内容

cd /usr  #cd命令可以进入对应的目录 此处进入了/usr目录

ls

执行以上命令的过程如下图:

图8 应用cd命令进入/usr目录并查看其内容

由结果得知,在cd命令执行完毕后,系统显示当前的目录为usr,说明已经实现了路径的切换。

3)创建软件存储目录

在熟悉用ls命令获取根目录下的目录和文件的信息后,就可以开始创建软件存储的目录。应用命令mkdir,首先创建文件管理系统的根目录cloudscape,然后在该目录下创建软件存储目录software。

【代码2-5】创建文件系统根目录cloudscape,并查看创建结果

cd ~    #~代表home目录 root用户的home目录为/root

mkdir /cloudscape #mkdir可以创建目录

ls /

上述代码执行效果如下图:

图9 创建目录cloudscape,并查看创建结果

接下来应用cd命令切换到cloudscape目录下,并用mkdir命令创建软件存储目录software。

【代码2-6】切换到目录cloudscape,创建软件存储目录software,并查看结果

cd /cloudscape

mkdir software

ls

上述代码执行效果如下图:

图10 切换到目录cloudscape,创建软件存储目录software

4)下载软件到存储目录

使用wget命令将软件下载到软件存储目录software中,现在将数据库软件openGauss和web软件nginx进行下载。

【代码2-7】切换到software目录,并下载openGauss软件

cd software

wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/x86/openGauss-2.0.0-CentOS-64bit-all.tar.gz   #wget命令可以根据一个网络地址下载对应的文件

上述代码执行效果如下图:

图11 切换到software目录,并下载openGauss软件

【代码2-8】下载nginx软件,并查看下载结果

wget http://nginx.org/download/nginx-1.10.2.tar.gz

ls

上述代码执行效果如下图:

图12 下载nginx软件,并查看下载结果

5)重命名文件名

使用rename命令可以对目录名和文件名进行重新命名,对应操作过程中目录名称或文件名称作修改的,可以使用该命令。新创建一个目录“veb”,正确的目录名为“web”,将其使用rename进行修改。

【代码2-9】创建目录veb,并将其重名为web

mkdir veb

rename veb web veb    #rename可以将目录和文件重命名 也可以使用mv命令通过移动的方式重命名

ls

执行以上命令的过程如下图:

图13 创建目录veb,并将其重名为web

6)删除目录和文件

对文件管理系统中创建的错误的或无效的目录或文件,可以通过rm命令进行删除。rm命令在删除目录时,需要参数 -r ;对于空目录也可以用rmdir命令。

现在,在software目录下创建rmtest目录,并在该目录下创建rmfile1,rmfile2两个文件,先将rmfile1删除,然后再删除rmtest目录。

【代码2-10】创建rmtest目录,并在rmtest目录下创建rmfile1、rmfile2文件

mkdir rmtest

touch rmtest/rmfile1

touch rmtest/rmfile2

执行以上命令的过程如下图:

图14 创建rmtest目录,并在rmtest目录下创建rmfile1、rmfile2文件

rmtest目录和rmfile1、rmfile2文件已经创建完毕,接下来删除rmfile1文件:

【代码2-11】删除文件rmfile1

rm rmtest/rmfile1    #rm命令可以删除文件或者目录 删除时会弹出提示 此时需要输入y进行确认删除

执行以上命令的过程如下图:

图15 删除文件rmfile1

接下来删除目录rmtest及其内容:

【代码2-12】删除目录rmtest

rm -r rmtest #rm命令添加-r参数可以递归的删除一个目录下所有的文件和目录

执行以上命令的过程如下图:

图16 删除目录rmtest

如果想在删除目录时不需要再确认,可以通过强制删除的方式直接删除目录及其下的内容,只需要添加参数 -f 即可。

7)创建用户

文件管理系统中对于不同的文件在存取访问时,常常会面向指定的用户,对不同的用户具有不同的存取权限,这就需要先在系统中创建用户。现在创建nguser、gsuser、oruser三个用户,使用的命令为useraddadduser

【代码2-13】创建用户nguser、gsuser、oruser

cd ~             #回到root用户的home目录

useradd nguser   #useradd命苦可以创建用户

useradd gsuser

useradd oruser

执行以上命令的过程如下图:

图17 创建用户nguser、gsuser、oruser

用户创建完毕,通过cat命令查看/etc/passwd文件验证用户是否创建成功。

【代码2-14】查询系统用户信息

cat /etc/passwd   #系统存储用户信息的目文件为/etc/passwd

执行以上命令的过程如下图:

图18 查询系统用户信息

用户创建完毕,需要为用户设置密码,使用的命令为passwd。先将创建的三个用户的密码分别设置为user1@123、user2@123、user3@123,具体设置过程如下:

【代码2-15】为用户nguser设置密码

passwd nguser #passwd命令可以为指定用户设置密码 执行此命令后会提示输入两次同样的新密码 在输入时没有输入提示

【代码2-16】为用户gsuser设置密码

passwd gsuser

【代码2-17】为用户oruser设置密码

passwd oruser

执行以上命令的过程如下图:

图19 为用户nguser、gsuser、oruser设置密码

8)删除用户

对于系统中没有用处的用户,可以使用userdel命令进行删除,如果同时删除用户的home目录,通过参数 -r 来实现。例如账户oruser用户已经不被使用,需要删除,则操作过程如下:

【代码2-18】删除用户oruser

userdel -r oruser #userdel命令可以删除用户 -r参数可以一起删除用户的home目录

执行以上命令的过程如下图:

图20 删除用户oruser

命令执行完毕后,没有任何信息返回,表明该命令执行成功。

9)创建用户组

文件管理系统中为了能够批量设置一批用户存取访问时,经常会创建用户组,让在组中的用户都具有组的属性特点,现在创建 nggp、gsgp、orgp三个用户组,应用的命令为groupadd。

【代码2-19】创建用户组nggp、gsgp、orgp

groupadd nggp   #groupadd命令可创建用户组

groupadd gsgp

groupadd orgp

执行以上命令的过程如下图:

图21 创建用户组nggp、gsgp、orgp

可以查看文件/etc/group,来获取创建的用户组的结果。

【代码2-20】查看系统用户组

cat /etc/group    #使用cat命令可以查看文件信息 此处查看用户组文件信息

执行以上命令的过程如下图:

图22 查看系统用户组

可以使用gpasswd命令结合参数 -M 将用户添加到用户组中。现将用户nguser、gsuser分别添加到用户组nggp、gsgp中,操作过程如下:

【代码2-21】将用户nguser、gsuser分别添加到用户组nggp、gsgp

gpasswd -M nguser nggp    #gpasswd 命令可以将用户添加至用户组中

gpasswd -M gsuser gsgp

执行以上命令的过程如下图:

图23 将用户nguser、gsuser分别添加到用户组nggp、gsgp

10)删除用户组

可以使用groupdel命令删除指定的用户组,现将用户组orgp删除:

【代码2-22】删除用户组orgp

groupdel orgp  #groupdel命令可以删除用户组

执行以上命令的过程如下图:

图24 删除用户组orgp

11)设置目录或软件包的权限

可以使用chmod命令设置目录或软件包的权限,可以通过数字的方式也可以通过加号“+”或减号“-”的方式对目录或软件包的权限进行设置。通过使用ls命令的长格式查询的方式,可以查看目录或软件包当前的权限。

【代码2-23】以长格式查询软件存储目录

ll /cloudscape/software

执行以上命令的过程如下图:

图25 以长格式查询软件存储目录

由查询的结果可以得知列出的目录和软件包的每一行开始的第2个字符到第10字符的9个字符长度用来表示权限,这9个字符是每三位一组,这三组从左到右分别表示:拥有者对该目录或软件包的权限、与拥有者同组的其他用户对该目录或软件包的权限、与该拥有者不同组的其他用户对该目录或软件包的权限。每组中的三个字符从左到右依次表示为:读、写、执行的权限。

由上面的查询的结果可知,web的目录的权限的数字表示为755,现在对web目录的权限进行修改,让与该目录的拥有者同组的其他用户也具有写的权限,需要在第二组的写的位置由“-”修改为“w”,数字表示为2,那么使用数字的表示方式该权限最终数值为775,实现过程如下。

【代码2-24】修改web目录的权限为775,并查看修改后的权限

cd /cloudscape/software

chmod 775 web   #chmod可以为文件或者目录添加权限 此处755代表的权限为rwx r-x r-x

ll

执行以上命令的过程如下图:

图26 修改web目录的权限为775,并查看修改后的权限

还可以通过加号“+”的方式进行权限的设置。

【代码2-25】应用加号“+”修改web目录的权限为775,并查看结果

chmod g+w web #为所属用户组添加w权限

ll

执行以上命令的过程如下图:

图27 应用加号“+”修改web目录的权限为775 ,并查看结果

结果显示,采用两种修改权限的方式,最终的操作结果是一致的。

12)查找指定的软件包

应用find命令可以查找满足条件的软件包,通过应用不同参数实现不同方式的查找:

• -name:按名称查找;

• -size    :按大小查找

• -user:按属性查找;

• -type:按类型查找。

现查找nginx开头的软件包,结合统配符的使用,实现的过程如下:

【代码2-26】查找nginx开头的软件包的信息

find -name nginx* #查询文件或目录 -name指定查询的文件名 *代表任意个任意字符

执行以上命令的过程如下图:

图28 查找nginx开头的软件包的信息

13)筛选指定条件的目录或软件包

可以使用grep命令来获取指定的目录或软件包的信息,该命令通常与管道符“|”结合使用。

【代码2-27】查找具有“open”字符的软件包或目录信息

ls -R | grep open  # |是管道命令 将第一个命令的输出当做第二个命令的输入 grep可以过滤出对应文件的内容 此处表示只展示和open相关的内容

执行以上命令的过程如下图:

图29 查找具有“open”字符的软件包或目录信息

脚本文件管理

云景平台文件管理系统同时也对系统的脚本文件进行管理,这就需要创建专门用于存储脚本文件的目录,然后把脚本文件创建或拷贝在该目录下,并对脚本文件设置一定的存取权限。具体操作步骤如下。

1)创建脚本文件目录

首先应用cd命令切换到cloudscape目录下,使用mkdir命令创建存取脚本文件目录“jsdir”。

【代码3-1】切换路径并创建脚本文件存取目录

cd /cloudscape

mkdir jsdir

回车后效果如下图:

图30 切换路径并创建脚本文件存取目录

2)创建脚本文件

应用touch命令可以实现对脚本文件的创建,先切换到jsdir目录下,然后创建js1、js2、js3文件。具体代码如下:

【代码3-2】切换路径,并创建脚本文件

cd jsdir

touch js1 js2 js3  #touch命令可以创建文件 后面可以跟多个文件名

上述代码执行效果如下图:

图31 切换路径并创建脚本文件

3)移动脚本文件

现在jsdir目录下创建子目录名为jsbase,现应用mv命令将js3文件移动到jsbase目录中,并修改其名称为js3base。

【代码3-3】创建目录jsbase,移动js3并修改为js3base

mkdir jsbase

mv js3 ./jsbase/js3base   #mv命令为移动文件 ./代表当前目录

上述代码执行效果如下图:

图32 创建目录jsbase,移动js3并修改为js3base

由结果可以得知,mv命令不但可以将文件进行移动,还可以同时修改文件的名称。

4)编辑脚本文件内容

Linux中一个很强大的文本编辑工具为vim,vim命令既可以实现对文件的编辑,又可以创建文本文件。

【代码3-4】对js2文件进行编辑

vim js2 #vim是一个文件编辑器 通过vim命令可以编辑文件内容

上述代码执行效果如下图:

图33 编辑脚本文件js2

自行任意编辑完js2文件后,输入“:wq”,回车保存退出。

5)创建用户

创建对脚本文件进行存取的用户,并为创建的用户设置密码。

【代码3-5】创建用户jsuser1、jsuser2

useradd jsuser1

useradd jsuser2

上述代码执行效果如下图:

图34 创建用户jsuser1、jsuser2

用户创建完毕后,应用passwd命令为jsuser1、jsuser2设置密码为jsuser1@123、jsuser2@123。

【代码3-6】为用户jsuser1设置密码

passwd jsuser1

【代码3-7】为用户jsuser2设置密码

passwd jsuser2

上述代码执行效果如下图:

图35 为用户jsuser1、jsuser2设置密码

6)修改用户信息

对于已经创建完毕的用户,在应用过程中,根据需要可以对其进行修改,使用到的命令为usermod -l,其中参数 -l 作用是指定新的用户名称。现在先将用户的jsuser1的名称修改为jsuser。

【代码3-8】修改jsuser1的用户名

usermod -l jsuser jsuser1    #usermod -l命令可以为用户修改用户名

上述代码执行效果如下图:

图36 修改jsuser1的用户名

7)设置脚本文件的权限

使用chmod命令修改脚本文件的权限,首先应用 ls 命令查看存取脚本目录 jsdir 下所有文件的属性信息。

【代码3-9】以递归方式查看jsdir目录下所有文件的属性信息

ll -R   #ll命令可以查看当前目录下所有的文件信息 -R参数可以递归的查看所有信息

上述代码执行效果如下图:

图37 以递归方式查看jsdir目录下所有文件的属性信息

现在修改 js3base 文件权限,让其对所有用户都具备执行的权限,则最后的权限应为755。

【代码3-10】设置js3base的权限为755,并查看设置结果

chmod 755 ./jsbase/js3base

ll ./jsbase/js3base

上述代码执行效果如下图:

图38 设置js3base的权限为755,并查看设置结果

8)查找脚本文件

对脚本文件的查找可以通过 find 命令,也可以使用 locate 命令,locate命令其实是find -name的另一种写法,但是比find命令执行效率快得多。对于最新变动的文件,需要先通过updatedb命令进行更新,然后再使用locate命令进行查找。

【代码3-11】更新查找数据库,并查找脚本存取目录下以2结尾的文件

yum install mlocate    #yum命令可以快速的安装软件包

updatedb               #updatedb 命令用来创建或更新 slocate/locate 命令所必需的数据库文件。

locate /cloudscape/jsdir/*2   #locate命令查找相比于find -name效率更高 但是需要在查找前通过updatedb命令更新

在安装过程中需要连续确认,输入y并按回车即可,上述代码执行效果如下图:

图39 更新查找数据库,并查找脚本存取目录下以2结尾的文件

数据文件管理

对于系统产生的数据或者其他的一些重要数据,云景平台文件管理系统也需要对其提供有效的管理,同样也是要为这些数据创建存取目录以示区别,并为其中的重要数据进行权限的设置,以保证数据应用的安全性。

首先切换到云景平台管理系统的根目录cloudscape下,创建数据文件的存取目录data。

1)创建数据文件存取目录

使用cd切换路径,应用mkdir命令创建存取目录data。

【代码4-1】切换到cloudscape目录下,创建存取目录data,并查询当前目录信息

cd /cloudscape

mkdir data

ls

回车后效果如下图:

图40 切换到cloudscape目录下,创建存取目录data

2)复制重要文件到数据文件目录

使用cp命令可以复制文件到指定目录下。现有系统文件/etc/zlogin文件需要备份到数据目录下,应用的命令为:

【代码4-2】复制文件到指定目录,并查看复制结果

touch  /etc/zlogin

cp /etc/zlogin /cloudscape/data #cp命令为复制命令

ls data

上述代码执行效果如下图:

图41 复制文件到指定目录,并查看复制结果

3)将操作结果内容输出到指定文件

在日常操作过程中,会经常对操作的结果进行保存,使用重定向输出“>”命令和追加重定向输出“>>”命令能够对操作结果进行保存。二者的区别是:重定向输出“>”会覆盖掉保存文件中原有的内容,而追加输出重定向“>>”只会把内容添加在原有文件内容的后面。

创建两个文件file1、file2,把查询操作的内容以两种重定向的方式输出到这两个文件中。应用vim命令创建,创建并打开后按“i”进入编辑模式,输入任意内容,按“:wq”保存并退出,并编辑同样的内容以方便验证。

【代码4-3】创建file1,并编辑部分内容

cd data

vim file1

【代码4-4】创建file2,并编辑部分内容

vim file2

上述代码执行效果如下图:

图42 创建file1、file2,并编辑部分内容

现查询系统文件/etc/adjtime的内容,并以两种重定向的方式输出到file1、file2中,并应用cat命令查看file1、file2中的内容进行验证。

【代码4-5】查看/etc/adjtime内容,重定向到文件file1中,并查看file1内容

cat /etc/adjtime > file1  #>为将输出信息重定向到指定文件 并覆盖之前文件内容

cat file1

上述代码执行效果如下图:

图43 查看/etc/adjtime内容,重定向到文件file1中,并查看file1内容

现在将查询的/etc/adjtime的内容以追加重定向的方式输出到文件file2中:

【代码4-6】查看/etc/adjtime内容,追加重定向到文件file2中,并查看file2内容

cat /etc/adjtime >> file2   #>>为将输出信息重定向到指定文件 写入方式为追加写

cat file2

上述代码执行效果如下图:

图44 查看/etc/adjtime内容,追加重定向到文件file2中,并查看file2内容

结果显示,查看/etc/adjtime文件操作的内容经重定向后覆盖掉了file1中原有内容,而经过追加重定向后并没有覆盖掉file2中的内容,只是追加在了file2文件原有内容的后面。

4)创建链接文件

在日常应用文件的过程中,经常会遇到某个文件的所处的路径很长,不利于频繁访问。为了能够快速访问,可以通过创建链接文件的方式。链接文件分为硬链接和符号链接,硬链接要求源文件和链接文件必须在同一个文件系统上,当移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置;而符号链接则可以跨文件系统,如果删除一个符号链接,它指向的目标文件不受影响。如果目标文件被移动、重命名或者删除,任何指向它的符号链接仍然存在,但是它们将会指向一个不复存在的文件。

不论创建硬链接还是符号链接,使用的命令都是 ln 。ln 不加任何参数时创建的是硬链接,创建符号链接需要 -s 参数的说明。

现在创建data目录中file1文件的符号链接为file,该file存放在系统根目录下以方便访问。

【代码4-7】创建file1的符号链接file,并查看

ln -s data/file1 /file #ln命令为创建一个符号链接

ll /

上述代码执行效果如下图:

图45 创建file1的符号链接file,并查看

5)创建用户

应用 useradd 命令创建用户duser1、duser2,并用 passwd 设置密码为duser1@123、duser2@123。

【代码4-8】创建duser1、duser2,并设置密码

useradd duser1

useradd duser2

passwd duser1

【代码4-9】设置duser2的密码

passwd duser2

上述代码执行效果如下图:

图46 创建duser1、duser2,并设置密码

6)改变文件的所有者

使用 chown 命令可以改变文件的所有者,通过ls命令查看chown命令更改之前的文件所有者,执行chown命令后,再用ls命令查看执行后的文件所有者以进行验证。

【代码4-10】改变文件file1的拥有者为duser1,并进行查看验证

ll

chown duser1 file1  #chown命令可以改变文件的所有者

ll

上述代码执行效果如下图:

图47 改变文件file1的拥有者为duser1,并进行查看验证

7)统计文件的字符

在管理数据文件时,经常会对文件内容的字数、行数、字节数进行统计,应用wc命令可以实现该功能,通过不同的参数可以实现不同的统计功能,该命令的主要参数如下:

• -w:统计字数,一个字被定义为由空格、制表符或换行字符分隔的字符串;

• -c:    统计字节数;

• -l:统计行数;

• -m:统计字符数。

现对文件file2进行统计,命令实现如下:

【代码4-11】统计file2文件的字节数、行数、单词数

wc -c -l -w file1   #wc命令可以统计文件内容 -c统计字节数 -l统计行数 -w统计字数

上述代码执行效果如下图:

图48 统计file2文件的字节数、行数、单词数


总结

这篇文章介绍了如何在openEuler上搭建云景平台文件管理系统。文章首先介绍了openEuler的基本信息,然后详细介绍了云景平台文件管理系统的功能和实验目的。接下来,文章列举了实验中需要掌握的知识点,包括登录命令、目录和文件创建命令、目录和文件查询命令、文件编辑命令、用户和组创建命令、文件权限设置命令等。最后,文章详细介绍了实验中需要完成的任务,包括软件管理、脚本文件管理、数据文件管理等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Tensorflow搭建卷积神经网络CNN(服装分类)保姆及级教程

项目介绍 TensorFlow2.X 搭建卷积神经网络(CNN),实现服装的分类识别。搭建的卷积神经网络是类似VGG的结构(卷积层与池化层反复堆叠,然后经过全连接层,最后用softmax映射为每个类别的概率,概率最大的即为识…

25 - 回文串问题

文章目录 1. 回文子串法一:动态规划法二:双指针法 2. 最长回文子串方法一:动态规划法方法二:双指针法 3. 最长回文子序列 1. 回文子串 法一:动态规划 递推公式 当s[i] ! s[j],那没啥好说的了,d…

三闯港交所,主打性价比的乡村基如何夺魁“中式快餐第一股”?

曾被中金公司称为“中国大消费最燃赛道”的中式餐饮,正在密集掀起IPO的风潮。去年5月和7月,老乡鸡和老娘舅分别向上交所提交招股书,绿茶餐厅、杨国福麻辣烫、捞王等企业也在推进上市计划。 国内第四大中式快餐集团,占据约0.6%市场…

python版pytorch模型转openvino及调用

一、openvino安装 参看官方文档https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html 安装命令是根据上面的选择生成。这里安装了pytorch和onnx依赖。 二、pytorch模型转opnvino模型推理 import os import time import cv2 import nu…

易基因:MeRIP-seq等揭示m6A甲基化修饰对抗病毒基因表达的转录调控机制|Cell Rep

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 2021年03月02日,杜克大学医学中心的分子遗传学和微生物学系Stacy M. Horner教授团队在《Cell Reports》(IF: 9.995)杂志发表了题为“Post-transcripti…

LeetCode算法小抄--归并排序详解及应用

LeetCode算法小抄--归并排序详解及应用 归并排序详解及应用[912. 排序数组](https://leetcode.cn/problems/sort-an-array/)[315. 计算右侧小于当前元素的个数](https://leetcode.cn/problems/count-of-smaller-numbers-after-self/)[hard]--华为笔试[493. 翻转对](https://lee…

Java版本工程项目管理系统源码-全面的工程项目管理

​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 如今建筑行业竞争激烈,内卷严重&#xff0c…

供应链优化的好处是什么?

企业可以从优质的供应链优化软件中获得许多好处: 成本降低 通过供应链优化,可以消除许多不必要的成本,从而简化业务运营费用。所有重复或无效的流程也可以根据需要消除或自动化。重点可以转移到通过准确及时交付来满足客户的需求上。通过供…

OpUtils网络端口扫描

网络端口扫描程序使 IT 管理员能够密切监视端口,这些端口是网络通信的端点。网络端口支持不同实体之间的数据传输,并支持运行各种服务或应用程序。在日常工作中,网络管理员的任务是扫描和监控数百个交换机端口。网络端口扫描程序工具通过帮助…

Intellij IDEA-插件开发环境搭建

插件开发有两种方式 1.基于Gradle(新版IDEA,按钮名称叫做IDE Plugin,具体多新我也不清楚,反正2023的必须是这种) 2.基于Dev kit(旧版IDEA,按钮名称叫做IntelliJ Platform Plugin,具体…

【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透

前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对…

基于Udacity模拟器的端到端自动驾驶决策

1 端到端自动驾驶决策 端到端自动驾驶决策的输入为车辆的感知信息,如摄像头信息,输出为车辆的前轮转角和摄像头等信息。 如上图所示,为英伟达公司的端到端自动驾驶决策框架,其CNN网络如下图所示,其中包括一个归一化…

狂神说Docker

思维导图: 文章目录 1.Docker概念与安装1.1 概述1.2 安装1.3 卸载1.4 Docker的执行镜像原理1.5 Docker为什么比Vm快1.6 Docker底层原理 2.Docker常用命令2.1 帮助命令2.2 镜像命令2.3 容器命令2.4 其他常用命令 3.小练习3.1 Docker下安装Nginx3.2 Docker安装Tomcat…

[网络安全提高篇] 一二〇.恶意软件动态分析经典沙箱Cape批量提取动态API特征

终于忙完初稿,开心地写一篇博客。 “网络安全提高班”新的100篇文章即将开启,包括Web渗透、内网渗透、靶场搭建、CVE复现、攻击溯源、实战及CTF总结,它将更加聚焦,更加深入,也是作者的慢慢成长史。换专业确实挺难的,Web渗透也是块硬骨头,但我也试试,看看自己未来四年究…

SpringBoot设计了哪些可拓展的机制?

SpringBoot核心源码 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { ...this.primarySources new LinkedHashSet(Arrays.asList(primarySources));// Servletthis.webApplicationType WebApplicationType.deduceFromClass…

sentinel配置文件

转载自 https://blog.csdn.net/u012441222/article/details/80751390 Redis的哨兵机制是官方推荐的一种高可用&#xff08;HA&#xff09;方案&#xff0c;我们在使用Redis的主从结构时&#xff0c;如果主节点挂掉&#xff0c;这时是不能自动进行主备切换和通知客户端主节点下…

涨点神器:基于Yolov8小目标遮挡物性能提升(SEAM、MultiSEAM)

1.遮挡物检测简介 不同的目标检测应用场景有不同的检测难点,小目标、多尺度以及背景复杂等问题,被遮挡的物体仍然是最先进的物体检测器面临的挑战。本文尝试解决待测目标相互遮挡带来的检测困难,对于人脸遮挡提出了一个名为 SEAM 的注意力模块并引入了排斥损失来解决它,引…

机器学习入门实例-加州房价预测-3(选择与训练模型+调参)

选择与训练模型 使用线性回归 from sklearn.linear_model import LinearRegressionfrom sklearn.metrics import mean_squared_errorlin_reg LinearRegression()lin_reg.fit(housing_prepared, housing_labels)housing_predictions lin_reg.predict(housing_prepared)lin_ms…

直播预告 | TDengine Apache SeaTunnel 联合应用最佳实践

TDengine 自诞生之日起&#xff0c;除产品层面的技术创新和实力提升外&#xff0c;也在大力完善自身产品生态&#xff0c;以此进一步满足用户的业务需求、提升使用体验。 近日&#xff0c;TDengine 与 Apache SeaTunnel 展开集成合作&#xff0c;双方将于 4 月 18 日 19:00 联…

二、Java 并发编程(5)

本章概要 线程上下文切换 线程上下文切换的流程导致线程上下文切换的原因 Java中的阻塞队列 阻塞队列的主要操作Java中阻塞队列的实现 2.7 线程上下文切换 CPU 利用时间片轮询来为每个任务都服务一定的时间&#xff0c;然后把当前任务的状态保存下来&#xff0c;继续服务下…