Linx操作技术基础 7_第1页
Linx操作技术基础 7_第2页
Linx操作技术基础 7_第3页
Linx操作技术基础 7_第4页
Linx操作技术基础 7_第5页
已阅读5页,还剩348页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章OpenEuler

常用命令轻松从Windows或MacOS

迁移到openEuler3.1OpenEuler命令简介3.2查看系统信息命令

3.3目录与文件命令3.4文件显示、查找和操作命令3.5备份和压缩命令3.6获取帮助命令3.7其他命令3.8本章小结目录/CONTENTS3.1OpenEuler命令简介3.1.1命令的基本结构

3.1.2常用命令分类3.1.1命令的基本结构OpenEuler是基于Linux的开源操作系统,用户通过其命令行界面(Command-LineInterface,CLI)可以有效地管理系统资源、配置系统并执行各种操作。理解及其各个组成部分是高效使用命令行工具的基础。命令的基本结构如下。命令可分为由shell提供的内部(内置)命令和外部命令。内部命令不需要额外的程序来支持,如cd、echo和

history等命令。外部命令是独立的可执行文件,通常存放在系统的PATH环境变量指定的目录中,如ls、cp和find等命令。选项为修改命令行为的附加参数,可以用于控制命令的输出格式、改变命令的执行方式和启用或禁用特定的功能。它通常以-或--开头,包括-l(长格式显示)和-a(显示隐藏文件)等。其中,-l用于以详细格式列出文件信息,-a则显示所有文件(包括隐藏文件)。参数用于指定命令要操作的文件、目录或其他资源。3.1.1命令的基本结构如表3.1所示,ls命令用于列出目录内容,cd命令用于更改当前目录,cp命令用于复制文件或目录。各命令示例如下。3.1.1命令的基本结构1.lsls命令用于显示指定目录中的文件和子目录中的信息。如果没有指定目录,则会列出当前目录的内容。在命令行(终端)输入以下命令。图3.1所示为执行命令ls/usr的结果,即显示/usr目录下的bin、games、include和local等目录。图3.1

显示目录信息2.cd(1)cd/usr/bincd命令用于更改当前工作目录。参数可以被指定为一个绝对路径(从根目录开始)或相对路径(相对于当前工作目录)。如果没有指定参数,默认返回到用户的主目录。在命令行(终端)输入以下命令。3.1.1命令的基本结构图3.2所示为执行命令cd/usr/bin的结果。可以看到,此时已将当前工作目录变为/usr/bin。图3.2

更改当前工作目录(2)cdcd命令用于返回到当前目录的父(上一级)目录。在命令行(终端)输入以下命令3.1.1命令的基本结构图3.3所示为执行命令cd..的结果。可以看到,此时已将当前工作目录变为/usr,即

/usr/bin的父(上一级)目录。图3.3

返回上一层级目录3.1.1命令的基本结构(3)cpcp命令为copy的缩写,它用于复制文件和目录。该命令可以复制单个文件、多个文件或整个目录。通常需要提供源文件和目标位置,如果复制目录,则需要使用-r(递归)选项。在命令行(终端)输入以下命令。图3.4所示为执行命令cpfile1.txt/root/Desktop/2的结果,即将当前目录/root/Desktop/1下的file1.txt文件复制到/root/Desktop/2目录中,并且操作完成后执行命令cd/root/Desktop/2进入该目录中,然后执行命令ls查看当前目录中的内容,结果显示已成功复制文件file1.txt到该目录下。图3.4

复制文件3.1OpenEuler命令简介3.1.1命令的基本结构

3.1.2常用命令分类3.1.2常用命令分类

在OpenEuler操作系统中,可将常用命令大致分为查看系统信息命令、目录与文件命令、备份和压缩命令、获取帮助命令和其他命令等。

查看系统信息命令是系统管理员日常工作的重要组成部分,用于了解系统的硬件和软件配置如内核名称、版本号和编译日期等详细信息。这些数据可以帮助管理员了解系统运行状态、评估系统负载和检测潜在的性能瓶颈。

目录与文件命令是用户与系统交互的基本手段,涉及文件和目录的创建、删除、移动、复制、查看和编辑等操作。用户还可以通过为它们设置不同的权限控制文件的读取、写入和执行来保护文件的安全和个人隐私或对文件执行显示和查找等操作。3.1.2常用命令分类

备份和压缩命令是保护数据安全和节省存储空间的重要手段。备份命令是指将重要数据复制到其他存储设备或位置,以防止数据丢失的命令。压缩命令是指将文件和目录进行压缩编码,以减少占用的存储空间的命令。通过综合使用备份和压缩技术,用户可以确保数据的安全性和存储可行性。

获取帮助命令是指OpenEuler提供了丰富的帮助资源,可以帮助用户了解命令的用法和参数,以用于解决使用过程中遇到的问题的命令。内置的帮助命令可以显示命令的详细描述、用法示例和参数说明,从而迅速提升用户对系统的了解和操作能力。

此外,OpenEuler还提供了许多实用的其他命令,涉及系统管理、网络配置、安全管理等方面。OpenEuler常用命令在实际系统管理和维护中扮演着重要角色,熟练使用这些命令是确保系统稳定、高效运行的前提和基础。例如,top和ps命令用于监控和管理系统进程,帮助用户实时了解系统资源的使用情况和定位进程可能存在的问题,从而优化系统性能。systemctl命令则负责服务的管理,包括启动、停止和重启服务等操作,以确保系统服务的正常和可靠性。yum命令可用于软件包管理,使用户能够轻松安装、更新和维护软件,以确保系统处于最新的状态。3.2查看系统信息命令3.2.1查看操作系统信息

3.2.2查看系统硬件信息3.2.1查看操作系统信息在OpenEuler中,可以执行以下命令查看操作系统信息。图3.5所示为执行命令cat/etc/os-release的结果。从图3.5中可以看到,本系统的NAME为“OpenEuler”,VERSION为“24.03(LTS-SP1)”,ID为“OpenEuler,VERSION_ID为“24.03”,PRETTY_NAME为“OpenEuler24.03(LTS-SP1)”,ANSI_COLOR为“0;31”。图3.5

查看操作系统信息3.2.2查看系统硬件信息查看系统硬件信息是计算机系统日常管理和维护过程中非常重要的一部分,OpenEuler提供了丰富的命令来查看系统硬件信息。这些命令可以帮助系统管理员和开发人员深入了解系统的硬件配置,以便进行系统优化、硬件调试和故障排查。查看系统硬件信息命令可大致分为处理器与内存信息命令、存储设备信息命令、系统信息命令、图形与网络设备信息命令和DMI/SMBIOS信息命令等。3.2.2查看系统硬件信息1.处理器与内存信息命令处理器和内存是系统中最为核心的硬件,用户了解它们的详细信息有助于优化系统性能和进行有效的资源管理。表3.2为常用的处理器与内存信息命令。通过执行这些命令,用户可以获取CPU的架构、核心数、频率,以及系统内存的总量、使用情况等信息。3.2.2查看系统硬件信息lscpu命令用于显示CPU架构相关信息。在命令行(终端)输入以下命令。图3.6所示为执行命令lscpu的结果,即显示出其架构和CPU等详细信息,如架构为x86_64,CPU数量为4等。在命令行(终端)输入以下命令。图3.7所示为执行命令dmidecode–tmemory的结果,即显示出最大内容模块大小为32768MB,最大总内存大小为491520MB,支持的速度为70ns和60ns等信息。图3.6

显示CPU架构信息图3.7

显示内存模块信息3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.8所示为执行命令cat/proc/cpuinfo的结果,即显示该系统CPU的详细信息,如处理器为英特尔酷睿i5,缓存大小为6144KB等。在命令行(终端)输入以下命令。图3.9所示为执行命令cat/proc/meminfo的结果,即显示内容的详细使用情况,如总内存为6028052KB,空闲内存为4264872KB,缓存为831628KB等信息。图3.8

显示CPU详细信息图3.9

显示内存详细信息2.存储设备信息命令存储设备是系统中存储数据的重要硬件,掌握其状态信息对维护数据的完整性和系统的稳定性至关重要。表3.3为存储设备信息命令。这些命令可以帮助用户了解存储设备的使用情况、性能状态以及文件系统的配置等。3.2.2查看系统硬件信息lsblk命令用于列出系统中的所有块设备及其相关信息,常用于查看硬盘和分区的结构。该命令可以让用户清晰地了解系统的存储结构及其挂载状态。在命令行(终端)输入以下命令。3.2.2查看系统硬件信息图3.10所示为执行命令lsblk的结果,即显示系统的设备名称为sda,对应的设备类型为disk或part,sda3的大小为99GB等信息。图3.10

显示设备及挂载信息在命令行(终端)输入以下命令3.2.2查看系统硬件信息3.11所示为执行命令blkid的结果,即显示出所有设备对应的UUID及文件的系统类型。图3.11

显示出所有设备对应的UUID及文件的系统类型3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.12所示为执行命令sudohdparm–I/dev/sda的结果,即显示出硬盘的详细参数,如硬盘的逻辑结构、柱面数和磁头数等。图3.12

显示出硬盘的详细参数在命令行(终端)输入以下命令。3.2.2查看系统硬件信息图3.13所示为执行命令sudosmartctl–a/dev/sda的结果,即显示出硬盘的状态,包括设备供应商为VMware,产品名称为VMwareVirtualS等。图3.13

显示出硬盘的状态3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.14所示为执行命令df–h的结果,即显示出各磁盘的使用情况和挂载点等信息,如root用户下系统的磁盘总空间大小为62GB,已用22GB,剩余37GB等。图3.14

显示出各磁盘的使用情况和挂载点等信息3.系统信息命令了解系统的总体信息对于系统管理和维护至关重要。系统信息命令用于获取操作系统、内核、硬件配置等系统级别的信息。表3.4为系统信息命令。通过执行这些命令,用户可以轻松查看操作系统的版本、硬件设备的状态以及启动过程中的日志信息,这样有助于快速定位问题并优化系统配置。3.2.2查看系统硬件信息uname命令用于显示系统如名称、内核版本等信息。在命令行(终端)输入以下命令。3.2.2查看系统硬件信息图3.15所示为执行命令uname–a的结果,即显示系统的内核为Linux。图3.15

显示系统信息3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.16所示为执行命令sudolshw–short的结果,即显示系统硬件的详细信息,包括硬件的路径、设备和类型等。图3.16

显示系统硬件的详细信息3.2.2查看系统硬件信息在命令行(终端)输入以下命令图3.17所示为执行命令sudohwinfo--short的结果,即显示出系统中所有硬件组件的详细信息,包括4个CPU、键盘、鼠标和显卡等基本信息。图3.17

显示出系统中所有硬件组件的详细信息3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.18所示为执行命令dmesg|grep–i"error"的结果,即未显示系统相关警告和错误信息。图3.18

未显示系统相关警告和错误信息3.2.2查看系统硬件信息4.图形与网络设备信息命令图形和网络设备是用户与外界沟通的“桥梁”,掌握这些设备的信息有助于调试和优化系统的图形及网络性能。表3.5为图形与网络设备信息命令。这些命令用于查看显卡和网络设备的详细信息,包括显卡型号、驱动程序版本、网络接口状态等,以帮助用户深入了解这些设备的运行状态和配置情况。3.2.2查看系统硬件信息glxinfo命令用于显示OpenGL和显卡信息。在命令行(终端)输入以下命令。图3.19

所示为执行命令glxinfo|grep"OpenGL"的结果,即显示出显示OpenGL和显卡信息,如OpenGL的供应商mesa,显卡型号为llvmpipe等。图3.19

显示OpenGL和显卡信息3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.20所示为执行命令lspci的结果,即显示出系统中所有PCI总线的设备信息,如PCI总线编号、设备编号、设备制造商和设备名称或型号等。3.20

显示出系统中所有PCI总线的设备信息3.2.2查看系统硬件信息在命令行(终端)输入以下命令。图3.21所示为执行命令lsusb的结果,即显示出系统中所有USB的设备信息,包括每个USB设备的制造商、产品ID、设备ID等。3.21

显示出系统中所有USB的设备信息3.2.2查看系统硬件信息5.DMI/SMBIOS信息命令DMI(DesktopManagementInterface,桌面管理接口)/SMBIOS(SystemManagementBIOS,系统管理BIOS)信息命令提供了关于系统硬件的详细描述,这些信息通常保存在主板的BIOS中。表3.6为DMI/SMBIOS信息命令。使用这些命令,用户可以获取包括主板、处理器、内存模块、BIOS版本等信息。3.2.2查看系统硬件信息dmidecode命令用于从系统的DMI表中提取并显示信息,包括系统制造商、产品名称、序列号、BIOS版本和主板型号等信息。在命令行(终端)输入以下命令。图3.22所示为执行命令sudodmidecode的结果,即显示出DMI/SMBIOS表中部分硬件信息3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.5查看目录和文件3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.6以树状图列出目录内容3.3.7显示文件详细信息3.3.1创建、更改和删除工作目录掌握目录与文件的管理是进行用户操作和系统维护的前提与基础。目录与文件命令涵盖了从基本的目录创建和删除,到复杂的目录和文件管理。目录命令主要有mkdir、rmdir、rm、mv、cd等,且每个命令都有其特定的功能和选项参数,可以实现不同的功能。1.创建工作目录创建工作目录命令主要用来在文件系统中创建新的目录,其涉及的主要命令如表3.7所示。3.3.1创建、更改和删除工作目录mkdir命令用来在指定路径下创建一个新目录。在命令行(终端)输入以下命令。

图3.23所示为执行命令mkdir/root/Desktop/newdir和ls/root/Desktop的结果,即在

/root/Desktop目录下创建一个名为newdir的目录,并显示了Desktop目录下所有的文件。

从图3.23中可以看到,创建新目录newdir成功。如果指定的新目录已存在,则执行这一命令会报错。当需要创建的目录中包含不存在的父目录时,-p选项可以递归创建这些父目录。3.3.1创建、更改和删除工作目录在命令行(终端)输入以下命令。图3.24所示为执行以上命令的结果。如果/root/Desktop/projects/目录不存在,创建该目录,并在其下创建newdir目录,然后通过执行命令ls/root/Desktop/projects,可以看到该路径下新创建的文件目录newdir,即逆归创建目录成功。3.3.1创建、更改和删除工作目录在命令行(终端)输入以下命令。图3.25所示为以执行以上命令的结果。先执行命令cp–r/root/Desktop/newdir/root/Desktop/backupdir将/root/Desktop/newdir目录及其所有内容复制到/root/Desktop/backupdir目录下,再执行命令ls/root/Desktop/查看该目录下所有文件目录,可以看到backupdir存在,这表明以上复制操作成功了。如果执行以上复制命令前backupdir不存在,则以上命令执行时会自动创建该目录。3.3.1创建、更改和删除工作目录2.更改工作目录更改工作目录命令用于移动、重命名或调整目录的属性和权限,其涉及的主要命令如表3.8所示。3.3.1创建、更改和删除工作目录mv命令可以用于移动目录或者重命名目录。在命令行(终端)输入以下命令。图3.26所示为执行以上命令的结果。首先执行命令mv/root/Desktop/newdir/root/Desktop/olddir将

/root/Desktop/newdir目录移动到/root/Desktop/olddir路径下,然后执行命令ls/root/Desktop查看/root/Desktop下是否还存在newdir这一目录,最后执行命令ls/root/Desktop/olddir查看newdir是否被移到/root/Desktop/olddir这一目录中。3.3.1创建、更改和删除工作目录在命令行(终端)输入以下命令。3.3.1创建、更改和删除工作目录chmod命令用于更改目录或文件的权限。在命令行(终端)输入以下命令。3.3.1创建、更改和删除工作目录chown命令更改目录的所有者和所属组。在命令行(终端)输入以下命令图3.29所示为执行命令chownroot-1:group/root/Desktop/newdir的结果,即将newdir目录的所有者更改为root-1,并将其所属组更改为group。3.3.1创建、更改和删除工作目录find命令用于在指定目录及其子目录中搜索文件或目录。在命令行(终端)输入以下命令。图3.30所示为执行命令find/root/Desktop/newdir–name"*.txt"的结果。该命令在指定的目录/root/Desktop/newdir下查找所有扩展名为.txt的文件。3.3.1创建、更改和删除工作目录3.删除工作目录删除工作目录命令用于清理不再需要的目录和文件。其涉及的主要命令如表3.9所示3.3.1创建、更改和删除工作目录rmdir命令用于删除空目录。在命令行(终端)输入以下命令。图3.31所示为执行以上命令的结果。首先执行命令rmdir/root/Desktop/newdir,该命令将删除/root/Desktop/下的

newdir目录。如果目录newdir为空,删除操作成功实现;如果目录newdir为非空,命令会执行失败并提示错误。3.3.1创建、更改和删除工作目录添加-p选项允许以递归方式删除空目录。在命令行(终端)输入以下命令。图3.32所示为执行命令rmdir–p/root/Desktop/projects/newdir的结果。目录newdir是空的,在删除目录newdir后,它的父目录projects也是空的,所以会删除newdir和projects目录。但是此时Desktop目录不为空,故删除不了该目录。3.3.1创建、更改和删除工作目录在命令行(终端)输入以下命令。图3.33所示为执行以上命令的结果。首先执行删除命令rm–r/root/Desktop/newdir删除/root/Desktop/newdir目录以及该目录下的所有文件和子目录(假定/root/Desktop/newdir目录不为空,否则等效于执行命令rmdir/root/Desktop/newdir),然后执行命令ls/root/Desktop命令查看目录newdir是否被删除。3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.5查看目录和文件3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.6以树状图列出目录内容3.3.7显示文件详细信息3.3.2显示当前工作目录显示当前工作目录可以帮助用户了解自己当前在文件系统中的位置,从而更好地导航和操作文件。最为常见的命令是pwd,用于显示当前用户在文件系统中的绝对路径。此外,用户还可以通过环境变量和其他方式查看或修改当前工作目录的相关信息。其涉及的主要命令如表3.10所示。3.3.2显示当前工作目录pwd用于显示当前工作目录的绝对路径。这个路径是从根目录“/”开始的完整路径,而不是相对路径。在命令行(终端)输入以下命令。图3.34所示为执行命令pwd的结果,即显示当前的工作目录为/root。echo$PWD为由shell环境维护的环境变量,代表当前的工作目录。使用该命令可以输出这个变量的值,从而显示当前的工作目录。3.3.2显示当前工作目录在命令行(终端)输入以下命令。图3.35所示为执行命令echo$PWD的结果,即显示当前工作目录为/root/Desktop。这与pwd命令的执行效果类似,输出结果也与pwd的一致,通常用于脚本中或者用于不方便使用pwd命令查看当前目录的情况。3.3.2显示当前工作目录在Bash和Zsh中,dirs命令用于显示当前目录以及目录栈中的其他目录。目录栈是一个可以存储多个目录的结构,允许用户快速在这些目录之间切换。在命令行(终端)输入以下命令。图3.36所示为执行命令dirs的结果,即显示当前工作目录为根目录下的/Desktop/newdir。realpath命令用于显示指定目录的绝对路径,并解析所有符号链接。使用点符号作为参数时,会返回当前工作目录的绝对路径。3.3.2显示当前工作目录在命令行(终端)输入以下命令。图3.37所示为执行命令realpath.的结果,即显示当前的工作目录绝对路径为/root/Desktop/newdir。3.3.2显示当前工作目录readlink-f命令与realpath功能相似,用于显示指定目录的绝对路径,并解析符号链接。与realpath的主要区别在于,readlink主要用于处理符号链接,但在显示当前目录的绝对路径时,它们的输出结果是一样的。在命令行(终端)输入以下命令。图3.38所示为执行命令readlink–f的结果,即显示当前工作目录的绝对路径为/root/Desktop/newdir。该命令对于需要处理复杂链接结构的用户来说,特别有用。3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.5查看目录和文件3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.6以树状图列出目录内容3.3.7显示文件详细信息3.3.3创建文件或修改时间1.创建文件创建文件可以通过多个不同的命令完成,这些命令各有其特点。例如,touch命令不仅可以用来创建新文件,还可以用来修改文件的时间戳;echo命令和cat命令可以通过重定向符号的方式将文本内容输出到一个新文件中,从而达到创建文件的目的;dd和truncate命令不仅能创建文件,还能指定文件的大小和内容类型。其具体相关命令如表3.11所示。3.3.3创建文件或修改时间利用touch命令创建新文件或更新文件时间戳时,如果文件不存在,将创建一个新的空文件;如果文件已经存在,将更新文件的访问时间(atime)和修改时间(mtime)。在命令行(终端)输入以下命令。图3.39所示为执行命令touchexample.txt的结果,即首先执行命令touchexample.txt在当前目录/root/Desktop/folder下创建了一个名为example.txt的空文件,然后执行命令ls查看当前目录下的内容,此时会显示已经创建的example.txt文件。3.3.3创建文件或修改时间echo命令结合重定向符号>可以将文本内容写入一个新文件中。如果文件不存在,则会创建该文件。在命令行(终端)输入以下命令。图3.40所示为执行以上命令的结果,首先执行命令cd'/root/Desktop/folder'进入目录/root/Desktop/folder下,然后执行命令echo"Hello">file.txt创建一个名为file.txt的文件,并将文本Hello写入该文件中,最后用命令ls查看文件file.txt是否存在。从图3.40中可以看到,该文件已创建成功。3.3.3创建文件或修改时间cat命令通常用于显示文件内容,但通过重定向符可以用于创建新文件。在命令行(终端)输入以下命令。图3.41所示为执行以上命令的结果。首先执行命令cd'/root/Desktop/folder'进入目录/root/Desktop/folder下,然后执行命令cat>newfile.txt,终端将等待用户在键盘上输入内容,当用户完成输入“HelloOpenEuler”后一定要按Ctrl+D组合键终止输入,此时系统会将输入的内容保存到newfile.txt文件中(如果文件在执行命令cat>newfile.txt前并不存在,它会被自动创建),最后执行命令ls查看文件newfile.txt是否存在。从图3.41中可以知道,该文件已经被成功创建。3.3.3创建文件或修改时间dd命令可以用于复制文件和转换文件内容,也可以用于创建具有特定大小和内容的文件。在命令行(终端)输入以下命令。图3.42所示为执行以上命令的结果。首先执行命令cd'/root/Desktop/folder'进入到目录/root/Desktop/folder下,然后执行命令ddif=/dev/zeroof=emptyfilebs=1Mcount=1创建了一个名为emptyfile的文件,大小为1MB。其中,if=/dev/zero表示输入为一个内容全为零的伪设备,of=emptyfile表示输出到emptyfile文件中,bs=1M表示块大小为1MB,count=1表示只写入一个块。最终创建的文件大小为1MB,内容全部为零。最后执行命令ls查看文件emptyfile是否存在。从图3.42中可以知道,该文件已经被成功创建。3.3.3创建文件或修改时间truncate命令用于创建或调整文件的大小。它不会影响文件的内容,只会增加或截断文件至指定的大小。在命令行(终端)输入以下命令。图3.43所示为执行以上命令的结果。首先执行命令cd'/root/Desktop/folder'进入目录/root/Desktop/folder下,然后执行命令truncate–s1Mtest.txt创建了一个大小为1MB的名为test.txt的文件。如果test.txt已经存在,truncate命令将调整文件的大小至1MB。如果文件的原始大小小于1MB,命令会在文件末尾增加空字节,将其填充到1MB;如果原始大小大于1MB,则文件会被截断至1MB。最后执行命令ls查看文件test.txt是否存在。从图3.43中可以知道,该文件已经被成功创建。3.3.3创建文件或修改时间2.修改时间文件的时间戳包括创建时间、访问时间和修改时间,它是操作系统用来跟踪文件活动的重要元数据。在OpenEuler中,文件时间的修改包括修改文件的访问时间(atime)、修改时间(mtime)和改变时间(ctime)。例如,之前介绍的创建文件的touch命令可以用来更新文件的atime和mtime;stat命令可以用于查看文件的时间戳,通过结合touch命令还可以对文件的时间戳进行精确的控制。其具体相关命令如表3.12所示。3.3.3创建文件或修改时间touch命令还可以用来更新文件的访问时间和修改时间。在命令行(终端)输入以下命令。图3.44所示为执行命令touch–a–m–t202407301200.00example.txt的结果,即将example.txt的访问时间和修改时间更新为2024年7月30日12:00。其中,-a选项用于更新访问时间,-m选项用于更新修改时间,-t选项后跟时间字符串指定新的时间。3.3.3创建文件或修改时间在命令行(终端)输入以下命令。图3.45所示为执行命令statexample.txt的结果,即使用stat命令显示文件的详细状态信息,包括大小、权限以及所有时间戳信息(访问时间、修改时间和状态改变时间),这些信息表明刚执行的touch命令更新文件时间已成功。3.3.3创建文件或修改时间ls命令是用于列出目录内容的标准命令。通过在其后加上不同的选项、参数,ls可以显示文件的详细信息,包括文件的时间戳。在命令行(终端)输入以下命令。图3.46所示为执行命令ls–l–-time=atime的结果,即列出当前目录下所有文件的访问时间(atime),而不是默认显示的修改时间(mtime)。3.3.3创建文件或修改时间find命令用于搜索符合条件的文件,并可以对这些文件执行指定的操作,如通过-exec选项,find命令可以结合touch命令来批量更新文件的时间戳。在命令行(终端)输入以下命令。图3.47所示为执行以上命令的结果。首先执行命令find–typef–exectouch{}\;遍历当前目录及其子目录下的所有文件(-typef),并对每个文件执行touch命令,更新它们的修改时间和访问时间为当前时间(其中{}占位符表示每一个找到的文件,\;表示命令结束),然后执行命令ls–l-–time=atime查看时间更新是否成功。从图3.47中的结果可以看到,当前目录下的三个文件时间均被更新。3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.5查看目录和文件3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.6以树状图列出目录内容3.3.7显示文件详细信息3.3.4复制、移动、删除文件或目录复制、移动和删除命令分别为cp、mv和rm。其中cp命令用于复制文件或目录,mv命令用于移动、重命名文件或目录,rm命令用于删除文件或目录。1.复制文件或目录cp命令不仅可以复制单个文件,还可以递归地复制整个目录。具体相关命令如表3.13所示3.3.4复制、移动、删除文件或目录cp命令用于复制文件或目录,根据其所带选项、参数的不同,功能也略有不同,如可以将一个或多个源文件复制到目标位置,并且可以选择性地保留文件的属性(如权限、时间戳等)。在命令行(终端)输入以下命令。图3.48所示为执行以上命令的结果。首先执行命令cpfile1.txtfile2.txt将当前目录下的file1.txt复制为file2.txt(如果file2.txt在执行该命令前已经存在,其内容会被file1.txt的内容覆盖),然后执行命令ls查看当前目录中的内容。从图3.48中可以看到file2.txt存在,这表明文件复制操作已成功。3.3.4复制、移动、删除文件或目录使用-r选项可以递归地复制目录及其内容。在命令行(终端)输入以下命令。图3.49所示为执行以上命令的结果。首先执行命令cp–rdir1/dir2/将dir1目录及其所有内容复制到dir2目录中(如果dir2不存在,则会创建一个新的dir2目录,并将dir1的内容复制进去),然后执行命令cddir2进入目录dir2中,并执行命令ls查看该目录下的内容。从图3.49中可以看到dir1目录,故继续执行命令cddir1进入目录dir1中,并再次执行命令ls查看该目录下的内容。3.3.4复制、移动、删除文件或目录使用-i选项会在文件覆盖之前提示用户进行确认。在命令行(终端)输入以下命令。图3.50所示为执行以上命令的结果。首先执行命令cp–ifile1.txtfile2.txt将file.txt复制成file2.txt

文件,如果file2.txt已经存在,系统会询问用户是否要覆盖该文件,由于当前目录中不存在file2.txt文件,因此没有出现这一提示,然后执行命令ls查看当前目录中的内容。从图3.50中可以看到file2.txt存在,这表明文件复制操作已成功。3.3.4复制、移动、删除文件或目录使用-u选项可以确保只有在目标文件比源文件旧或者目标文件不存在时,才会执行复制操作。在命令行(终端)输入以下命令。图3.51所示为执行以上命令的结果。3.3.4复制、移动、删除文件或目录使用-p选项可以在复制文件时保留原文件的所有属性,包括权限、所有者、修改时间等。在命令行(终端)输入以下命令。图3.52所示为执行以上命令的结果。3.3.4复制、移动、删除文件或目录2.移动文件或目录mv命令既可以重命名文件或目录,也可以用来移动文件或目录。与cp不同的是,mv命令不会创建副本,而是将文件或目录从一个位置移动到另一个位置,或者更改其名称。其具体相关命令如表3.14所示。3.3.4复制、移动、删除文件或目录在命令行(终端)输入以下命令。图3.53所示为执行以上命令的结果。首先执行命令mvfile1.txtfile2.txt将file1.txt重命名为file2.txt,如果file2.txt已存在,其内容会被覆盖,然后执行命令ls查看当前目录下的内容,可以看到文件file1.txt已经被重命名为file2.txt。3.3.4复制、移动、删除文件或目录使用-i选项,系统在移动或重命名文件之前会提示用户确认,如果目标文件已存在,可以选择是否覆盖它,否则不询问。在命令行(终端)输入以下命令。图3.54所示为执行以上命令的结果。首先执行命令mv-ifile1.txtfile2.txt将file1.txt重命名为file2.txt,如果file2.txt已存在,将会询问是否覆盖它,由于当前文件中在执行这一命令前并不存在file2.txt,故没有这一询问。然后执行命令ls查看当前目录下的内容,可以看到文件file1.txt已经被重命名为file2.txt。3.3.4复制、移动、删除文件或目录在命令行(终端)输入以下命令。图3.55所示为执行以上命令的结果。首先执行命令mvfile1.txt/root/Desktop/dir将file1.txt移动到/root/Desktop/dir/目录下,然后执行命令cd/root/Desktop/dir进入/root/Desktop/dir目录,最后执行命令ls查看当前文件夹下是否存在该文件。从图5.55中可以看出,file1.txt被成功移到目录/root/Desktop/dir下。3.3.4复制、移动、删除文件或目录使用-n选项指示mv命令在目标文件存在时,不执行操作,以防止不必要的文件覆盖。在命令行(终端)输入以下命令。图3.56所示为执行以上命令的结果。因为当前目录下不存在文件file2.txt,所以进行了重命名操作。若执行命令mv–nfile1.txt\root\file2.txt且假定目录\root\下已经存在file2.txt,则这一命令不会被执行。3.3.4复制、移动、删除文件或目录使用-u选项确保只有当目标文件比源文件旧,或者目标文件不存在时,才会进行移动操作。在命令行(终端)输入以下命令。图3.57所示为执行以上命令的结果。3.3.4复制、移动、删除文件或目录3.删除文件或目录rm命令用于删除文件或目录。由于删除操作是不可逆的,因此,用户在执行rm命令时要特别谨慎,尤其是在使用递归和强制删除选项时要慎之又慎。其具体相关命令如表3.15所示。3.3.4复制、移动、删除文件或目录rm命令具有强大的删除功能,配合不同的选项可以安全或强制性地删除文件或目录。在命令行(终端)输入以下命令。图3.58所示为执行以上命令的结果。首先执行命令rmfile.txt删除名为file1.txt的文件,然后执行命令ls查看当前文件夹的内容。从图3.58中可以看出,file1.txt已被成功删除。3.3.4复制、移动、删除文件或目录使用-r选项会以递归方式删除目录及其所有内容。在命令行(终端)输入以下命令。图3.59所示为执行以上命令的结果。首先执行命令cd/root/Desktop进入目录/root/Desktop中,然后执行命令rm–rdir/将dir目录及其所有子目录和文件一并删除。3.3.4复制、移动、删除文件或目录使用-i选项会在删除文件之前提示用户进行确认。在命令行(终端)输入以下命令。图3.60所示为执行以上命令的结果。首先执行命令rm–idirfile1.txt,在删除file1.txtw文件前需要用户输入y进行删除确认,然后执行命令ls查看当前目录下的内容。从图3.60中可以看出,file1.txt已被成功删除。3.3.4复制、移动、删除文件或目录使用-f选项可以强制删除文件,无论文件是否存在或者是否有删除限制。在命令行(终端)输入以下命令。图3.61所示为执行以上命令的结果。首先执行命令rm–ffile1.txt强制删除名为file1.txt的文件,删除前无须用户确认,而是直接删除,然后执行命令ls查看当前目录下的内容。从图3.61中可以看出,file1.txt已被成功删除。3.3.4复制、移动、删除文件或目录使用-rf组合选项会递归且强制删除目录及其中内容,并且不会提示用户确认。在命令行(终端)输入以下命令。图3.62所示为执行以上命令的结果。首先执行命令rm–rfdir1/,以递归的方式删除名为dir1的文件夹及其中内容,然后执行命令ls查看当前目录下的内容。从图3.62中可以看出,目录dir1已被成功删除,且在删除前无须用户确认。3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.5查看目录和文件3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.6以树状图列出目录内容3.3.7显示文件详细信息3.3.5查看目录和文件在

OpenEuler

中,查看目录和文件的命令通常用于列举目录中的文件和子目录及查找符合条件的文件和目录等。其具体相关命令如表

3.16

所示。3.3.5查看目录和文件ls-l

命令列出了/root/Desktop/folder

目录中的内容,并使用-l选项以长格式显示每个文件的详细信息,具体包括文件类型、权限、所有者、组、大小、最后修改时间以及文件名。在命令行(终端)输入以下命令图3.63

所示为执行以上命令的结果3.3.5查看目录和文件pwd命令用于显示当前工作目录的绝对路径。在命令行(终端)输入以下命令图

3.64

所示为执行以上命令的结果,即显示当前工作目录为/root/Desktop/folder。3.3.5查看目录和文件find命令用于查找目录中符合条件的文件或目录,在命令行(终端)输入以下命令图

3.65

所示为执行以上命令的结果,即在当前/root/Desktop/folder

目录及其子目录中查找所有扩展名为.txt的文件。其中,-name

选项指定要查找的文件名,*.txt表示所有以.txt

为扩展名的文件。3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.6以树状图列出目录内容3.3.7显示文件详细信息3.3.5查看目录文件3.3.6以树状图列出目录内容树状结构可以展示目录和文件的层次结构,也可以直观地显示文件系统的组织情况,特别是对于大型目录或复杂的目录结构。OpenEuler

中常用的以树状图列出目录内容的命令有

tree命令和其他可通过管道命令组合使用的工具(如ls与

grep

awk

结合)。这些命令结合使用可以产生不同的效果,并适用于不同的场景。其具体相关命令如表

3.17

所示。3.3.6以树状图列出目录内容tree命令能够以树状结构显示指定目录及其所有子目录和文件。在命令行(终端)输入以下命令图3.66所示为执行命令tree的结果,即显示出当前目录/root/Desktop/folder中的所有文件和子目录,并按照层次结构排列,每个子目录都会进一步展开并显示其中的内容。3.3.6以树状图列出目录内容使用ls-R以递归方式显示指定目录及其所有子目录中的内容。在命令行(终端)输入以下命令图

3.67所示为执行

ls-R

命令的结果。尽管其输出不如

tree

命令那样直观,但同样可以大体显示出目录结构。3.3.6以树状图列出目录内容du命令用于显示磁盘使用情况,-a选项会列出目录中的所有文件和子目录。其输出按层级显示,可以看作是一种简单的树状结构表示法。在命令行(终端)输入以下命令图

3.68

所示为执行命令

du–a的结果3.33.3.3创建文件或修改时间

目录与文件命令3.3.4复制、移动、删除文件或目录3.3.1创建、更改和删除工作目录3.3.2显示当前工作目录3.3.7显示文件详细信息3.3.5查看目录文件3.3.6以树状图列出目录内容3.3.7显示文件详细信息通过执行不同的命令可以显示文件详细信息,如文件的权限、所有者、大小、时间戳等。这些信息不仅能够帮助用户了解文件的基本属性,还能够帮助用户分析文件内容。在

OpenEuler

中,常用于显示文件详细信息的命令包括但不限于ls、stat

wc等。其具体相关命令如表

3.18

所示。3.3.7显示文件详细信息ls

命令可以查看文件大小,且默认情况下,文件大小以字节数显示。ls-lh命令通过-h

选项将文件大小以易于理解的格式显示(如

KB、MB、GB等)。在命令行(终端)输入以下命令图

3.69

所示为执行命令ls–lh的结果,即显示在当前目录/root/Desktop/folder下的文件,且文件根据大小自动选择合适的单位进行显示。3.3.7显示文件详细信息stat

命令用于提供关于文件或文件系统的详细信息,比ls

命令的输出更加全面。在命令行(终端)输入以下命令图

3.70

所示为执行命令statfile1.txt

的结果,即可以获取文件的

inode

编号、设备ID、硬链接数、权限(数字格式和符号格式)、所有者和所属组ID,以及三个关键的时间戳(访问时间、修改时间和状态改变时间)。3.3.7显示文件详细信息wc

命令可以用于统计文件的行数、单词数和字节数,以快速得出文件的基本统计信息。在命令行(终端)输入以下命令图3.71

所示为执行命令

wc-lfile1.txt

的结果3.43.4.3指定显示文件前若干行文件显示、查找和操作命令3.4.4指定显示文件后若干行3.4.5对文件内容进行排序3.4.1文件显示3.4.2分页显示文件3.4.6检查文件中重复内容3.4.7在文件中查找指定内容3.4.8逐行对不同文件进行比较3.4.9逐字节对不同文件进行比较3.4.10对文件内容进行剪切3.4.11对文件内容进行合并3.4.12对文件内容进行统计3.4.13在硬盘上查找文件或目录3.4.14在数据库中查找文件或目录3.4.1文件显示显示文件内容的命令可以辅助用户查看文本文件、日志文件和配置文件等。OpenEuler

中常用于文件显示的命令有cat、tac、od

和xxd

等。具体相关命令如表

3.19所示。3.4.1文件显示cat是最为常用的显示文件内容的命令,主要用于连接文件并将其内容显示到标准输出设备上。它可以一次性读取整个文件并输出到终端,这对于查看小型文本文件是非常方便的。在命令行(终端)输入以下命令图

3.72

所示为执行命令catfile.txt的结果,即显示出

file.txt文件的所有内容3.4.1文件显示tac命令与

cat命令相似,但显示的顺序相反,它从文件的末尾开始显示内容,主要用于从后往前查看文件内容,特别是日志文件,方便查看最近的数据。在命令行(终端)输入以下命令图3.73所示为执行命令

tacfile.txt

的结果,它以倒序方式显示了file.txt

文件的内容3.43.4.3指定显示文件前若干行文件显示、查找和操作命令3.4.4指定显示文件后若干行3.4.5对文件内容进行排序3.4.2分页显示文件3.4.6检查文件中重复内容3.4.7在文件中查找指定内容3.4.8逐行对不同文件进行比较3.4.9逐字节对不同文件进行比较3.4.10对文件内容进行剪切3.4.11对文件内容进行合并3.4.12对文件内容进行统计3.4.13在硬盘上查找文件或目录3.4.14在数据库中查找文件或目录3.4.1文件显示3.4.2分页显示文件大部分文件的内容较多,无法在屏幕上一次完全显示出来,这时需要在屏幕上分页查看这些文件的内容。OpenEuler

提供了许多命令来分页显示文件内容,从而允许用户逐页查看文件内容,进而更好地分析、处理数据。常用的分页显示命令包括

more、less

和tail

等,具体相关命令如表3.20

所示。3.4.2分页显示文件more

命令用于逐页查看显示在屏幕上的文件内容,用户可以通过按下空格键来翻页。在命令行(终端)输入以下命令。图3.76

所示为执行命令

morefile.txt

的结果,即在屏幕上逐页显示出

file.txt文件的内容。按q键可退出

more

命令3.4.2分页显示文件与

more

命令相比,less不仅允许用户向前翻页,还支持向后翻页,并提供了搜索和其他功能。在命令行(终端)输入以下命令图

3.77

所示为执行命令

lessfile.txt

的结果,即显示出

file.txt

文件中的内容,允许使用上下箭头键或j(向下)键和

k(向上)键来上下滚动文件内容。3.4.2分页显示文件less+F

命令是

less

命令的一种特殊用法,提供了实时跟踪文件更新的功能,类似于

tail-f命令。在命令行(终端)输入以下命令图

3.78

所示为执行

less+Ffile.txt的结果,此时自动进入跟踪模式,实时监控file.txt文件的内容。3.4.2分页显示文件tail-f

命令用于实时跟踪文件末尾内容,非常适合监控不断增长的文件,如日志文件。与

less+F

不同,tail-f更专注于实时更新,功能上相对简洁。对于需要实时查看文件尾部的场景,它非常高效。在命令行(终端)输入以下命令。图3.79

所示为执行命令

tail–ffile.txt

的结果,即在屏幕上显示

file.txt文件中的内容。它会持续输出文件末尾的新增内容,并在文件内容更新时自动滚动显示。3.43.4.3指定显示文件前若干行文件显示、查找和操作命令3.4.4指定显示文件后若干行3.4.5对文件内容进行排序3.4.6检查文件中重复内容3.4.7在文件中查找指定内容3.4.8逐行对不同文件进行比较3.4.9逐字节对不同文件进行比较3.4.10对文件内容进行剪切3.4.11对文件内容进行合并3.4.12对文件内容进行统计3.4.13在硬盘上查找文件或目录3.4.14在数据库中查找文件或目录3.4.1文件显示3.4.2分页显示文件3.4.3指定显示文件前若干行处理文本文件,特别是在查看某些文件内容时,有时只需关注文件的前若干行或特定区域的数据。对于此类需求,OpenEuler

中常用的命令有

head、sed、awk等,它们为处理文本文件提供了极大的灵活性和便捷性。其具体相关命令如表3.21所示。3.4.3指定显示文件前若干行head

命令可以用于显示文件前若干行。默认情况下,head显示前10行,但可以通过-n选项指定显示的行数。在命令行(终端)输入以下命令。图

3.80所示为执行命令

head–n5file.txt的结果,即显示出

file.txt

文件的前

5行内容。3.4.3指定显示文件前若干行sed

是一款强大的流编辑器,可以用来进行文本的查找、替换、插入和删除等操作。sed

通过-n选项结合行范围来显示特定行数。在命令行(终端)输入以下命令。图3.81

所示为执行命令

sed–n'1,5p'file.txt的结果,即显示出

file.txt文件的第

1~5行内容3.4.3指定显示文件前若干行awk

为文本处理工具,可以对文本文件进行复杂的操作。通过条件表达式

NR<=N,可以很方便地显示前

N行。在命令行(终端)输入以下命令。图

3.82

所示为执行命令

awk'NR<=5'file.txt的结果,即显示出

file.txt文件的前

5行内容。其中,NR是awk的内置变量,表示当前记录的行号。以上命令中当

NR<=5为真时,awk将输出每一行的内容3.4文件显示、查找和操作命令3.4.4指定显示文件后若干行3.4.5对文件内容进行排序3.4.6检查文件中重复内容3.4.7在文件中查找指定内容3.4.8逐行对不同文件进行比较3.4.9逐字节对不同文件进行比较3.4.10对文件内容进行剪切3.4.11对文件内容进行合并3.4.12对文件内容进行统计3.4.13在硬盘上查找文件或目录3.4.14在数据库中查找文件或目录3.4.1文件显示3.4.2分页显示文件3.4.3指定显示文件若干行3.4.4指定显示文件后若干行在

OpenEuler

中,快速查看文件的结尾部分常用的命令为tail。与

head

命令类似,tail用于显示文件的结尾部分。默认情况下,tail显示指定文件的最后

10

行,但用户可以自定义显示的行数或字节数。具体相关命令如表

3.22

所示。3.4.4指定显示文件后若干行tail

命令用于显示文件的结尾部分,该命令特别适用于查看日志文件的最新记录或实时监控日志输出。在命令行(终端)输入以下命令。如图

3.83

所示,通过与-n选项结合显示出file.txt

文件的最后5行内容。3.4文件显示、查找和操作命令3.4.5对文件内容进行排序3.4.6检查文件中重复内容3.4.7在文件中查找指定内容3.4.8逐行对不同文件进行比较3.4.9逐字节对不同文件进行比较3.4.10对文件内容进行剪切3.4.11对文件内容进行合并3.4.12对文件内容进行统计3.4.13在硬盘上查找文件或目录3.4.14在数据库中查找文件或目录3.4.1文件显示3.4.2分页显示文件3.4.3指定显示文件前若干行3.4.4指定显示文件后若干行3.4.5对文件内容进行排序对文件内容进行排序是一个常见操作。在

OpenEuler

中,sort是对文件内容进行排序最常见的命令。该命令非常灵活,通过结合不同的选项、参数可以满足不同的排序需求,如按内容排序、按数值排序、按指定字段排序等。其具体相关命令如表

3.23所示。3.4.5对文件内容进行排序sort是最基本的排序命令,用于对文件中的内容按行进行排序,结合不同参数可以达到不同的排序效果。默认情况下,按照字典顺序(字符的ASCII

值顺序)对文件内容进行升序排列。在命令行(终端)输入以下命令。图

3.84

所示为执行以上命令的结果。首先执行catfile.txt

将该文件内容输出在屏幕上,然后执行命令

sortfile.txt对该文件的每一行按首字母的

ASCII

值进行升序排列,并将排序后的结果输出在屏幕上。3.4.5对文件内容进行排序结合选项-r

进行文件内容降序排列,即通过反转默认的排序顺序,从而实现降序排列。在命令行(终端)输入以下命令。图

3.85

所示为执行以上命令的结果。首先执行命令

catfile.txt

将该文件内容输出在屏幕上,然后执行命令

sort-rfile.txt对该文件的每一行按首字母的ASCII值进行降序排列,并将排序后的结果输出在屏幕上。3.4.5对文件内容进行排序对于包含数字的文件,通常希望按数值大小而非字典顺序排序,这时可以使用-n选项。在命令行(终端)输入以下命令。图3.86所示为执行以上命令的执行结果。首先执行命令catnumber.txt将该文件内容输出在屏幕上,然后执行命令

sort-nnumber.txt

对该文件的每一行数字按数值大小进行升序排列,并将排序后的结果输出在屏幕上。

3.4.5对文件内容进行排序将-n

选项与-r

选项结合使用,可以实现按数值大小进行降序排。在命令行(终端)输入以下命令。图

3.87所示为执行以上命令的结果。首先执行命令

catnumber.txt将该文件内容输出在屏幕上,然后执行命令

sort-nrnumber.txt对该文件的每一行数字按数值大小进行降序排列,并将排序后的结果输出在屏幕上。3.4.5对文件内容进行排序通过-k

选项,可以指定要排序的字段。在命令行(终端)输入以下命令。图

3.88所示为执行以上命令的结果。首先执行命令catfile.txt将该文件内容输出在屏幕上,然后执行命令

sort–k2file.txt对该文件的每一行第

2

列数据进行排序,并将排序后的结果输出在屏幕上。3.4.5对文件内容进行排序使用-t

选项来指定这些分隔符,可以由特定的字符如冒号、逗号或制表符进行分隔。在命令行(终端)输入以下命令。图

3.89

所示为执行以上命令的结果。首先执行命令

catfile.txt将该文件内容输出在屏幕上,然后执行命令

sort–t:–k2file.txt对该文件的每一行以冒号作为分隔符对第

2列数据进行排序,并将排序后的结果输出在屏幕上。3.4文件显示、查找和操作命令3.4.6检查文件中重复内容3.4.7在文件中查找指定内容3.4.8逐行对不同文件进行比较3.4.9逐字节对不同文件进行比较3.4.10对文件内容进行剪切3.4.11对文件内容进行合并3.4.12对文件内容进行统计3.4.13在硬盘上查找文件或目录3.4.14在数据库中查找文件或目录3.4.1文件显示3.4.2分页显示文件3.4.3指定显示文件前若干行3.4.4指定显示文件后若干行3.4.5对文件内容进行排序3.4.6检查文件中重复内容检查文件中的重复内容是一项非常重要的操作,尤其是在处理大数据集、编写和调试代码时,快速、准确地识别和处理重复的行或内容可以帮助管理员和开发人员极大地提高工作效率。在

OpenEuler中,常用的命令如

awk、uniq、sort

grep

等可以进行文件重复内容的检查。这些命令既可以单独使用以解决简单的数据处理问题,也可以组合起来以完成复杂的数据处理任务。其中,awk

命令可用于对文件中的数据进行复杂的操作(如检查重复内容);uniq命令可用于删除或显示文件中相邻的重复行;sort命令与其他命令组合使用,可以实现移除重复项等;grep

命令可以结合正则表达式使用,用于查找和过滤文件中的特定内容。其具体相关命令如表

3.24

所示。

3.4.6检查文件中重复内容awk

通常用于复杂的模式匹配和文本处理,可以显示文件中的重复行,通过数组记录每一行出现的次数,并输出那些出现过的行。在命令行(终端)输入以下命令。图

3.90所示为执行以上命令的结果。3.4.6检查文件中重复内容从图

3.90可知,本命令处理的

file.txt中的内容共

6行,具体如下。首先执行

catfile.txt

将该文件内容输出在屏幕上,然后执行

awk'seen[$0]++'file.txt对该文件的每一行进行判断,如果第

1次出现,则记录但不输出在屏幕上,如果不是第

1次出现,则输出在屏幕上。因此第

1

行的

apple和第2行的banana

不输出在屏幕上(第

1

次出现),第

3行的

apple

和第4行的

apple

输出在屏幕上(第

2次和第

3

次出现,不是第1次出现),第

5

行的

orange不输出在屏幕上(第

1次出现),第

6行的

apple

输出在屏幕上(第

4次出现,不是第1

次出现),故屏幕上连续输出三行

apple。3.4.6检查文件中重复内容uniq命令用于过滤相邻的重复行,仅保留文件中的唯一行。在命令行(终端)输入以下命令。图

3.91所示为执行以上命令的结果。执行命令

uniqfile.txt使得第

3行和第

4行相邻的

apple重复行仅保留了一行输出在屏幕上,其他不重复的

apple

正常输出在屏幕上。3.4.6检查文件中重复内容gre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论