CN109684521A - linux系统配置信息查看方法、装置及计算机可读存储介质 - Google Patents
linux系统配置信息查看方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109684521A CN109684521A CN201811649186.8A CN201811649186A CN109684521A CN 109684521 A CN109684521 A CN 109684521A CN 201811649186 A CN201811649186 A CN 201811649186A CN 109684521 A CN109684521 A CN 109684521A
- Authority
- CN
- China
- Prior art keywords
- information
- linux
- shell script
- script file
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种linux系统配置信息查看方法,包括:响应用户的新建文件操作请求创建shell脚本文件;响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件;响应用户的执行文件操作请求运行解析所述shell脚本文件;在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。该linux系统配置信息查看方法大大节约用户的操作时间,有利于提高工作效率。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及linux系统配置信息查看方法、装置及计算机可读存储介质。
背景技术
linux系统命令繁多,要查看某安装了Linux系统的服务器的配置信息,逐条输入命令不仅效率低,而且对于新手来说可能还要去查查看某项配置的命令是什么,尤其当对象是大批量的服务器时,耗费的时间难以计量,严重影响工作效率。
发明内容
本发明的目的在于针对现有技术的上述问题,提供了一种linux系统配置信息查看方法、装置及计算机可读存储介质用于解决现有技术的不足。
具体地,本发明实施例提供了一种linux系统配置信息查看方法,包括:
响应用户的新建文件操作请求创建shell脚本文件;
响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件;
响应用户的执行文件操作请求运行解析所述shell脚本文件;
在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。
作为上述技术方案的进一步改进,还包括:
响应用户的编辑文件操作请求添加解析所述shell脚本文件的解释器的路径信息于所述shell脚本文件的首行。
作为上述技术方案的进一步改进,所述linux配置查询命令行集合的每一条配置查询命令行在所述shell脚本文件占据一行。
作为上述技术方案的进一步改进,还包括:
响应用户的编辑文件操作请求添加用于标记查询分类信息的echo回显命令。
作为上述技术方案的进一步改进,所述linux配置查询命令行集合包括:CPU参数信息、内存使用情况及内存频率参数信息、系统的位数信息、系统的发行版本信息、系统的内核版本信息、磁盘的分区情况及磁盘驱动器型号信息、能够远程登陆的用户信息、网络配置信息、系统进程负载信息、主板信息、当前系统时间以及系统运行时间信息。
本发明实施例还提供了一种linux系统配置信息查看装置,包括:
文件创建模块,用于响应用户的新建文件操作请求创建shell脚本文件;
文件编辑模块,用于响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件;
文件执行模块,用于响应用户的执行文件操作请求运行解析所述shell脚本文件;
信息显示模块,用于在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。
作为上述技术方案的进一步改进,所述文件编辑模块还用于响应用户的编辑文件操作请求添加解析所述shell脚本文件的解释器的路径信息于所述shell脚本文件的首行。
作为上述技术方案的进一步改进,所述文件编辑模块还用于响应用户的编辑文件操作请求添加用于标记查询分类信息的echo回显命令。
作为上述技术方案的进一步改进,所述linux配置查询命令行集合的每一条配置查询命令行在所述shell脚本文件占据一行。
作为上述技术方案的进一步改进,所述linux配置查询命令行集合包括:CPU参数信息、内存使用情况及内存频率参数信息、系统的位数信息、系统的发行版本信息、系统的内核版本信息、磁盘的分区情况及磁盘驱动器型号信息、能够远程登陆的用户信息、网络配置信息、系统进程负载信息、主板信息、当前系统时间以及系统运行时间信息。
本发明实施例还提供了一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行以上所述的linux系统配置信息查看方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有以上所述的计算机设备中所使用的计算机程序。
采用本发明提供的技术方案,与已有的公知技术相比,至少具有如下有益效果:通过将多个查询命令集中到一个shell脚本文件中,用户只需要通过运行该shell脚本文件就可以查询大量的配置信息。大大节约用户的操作时间。有利于提高工作效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明一实施例提出的linux系统配置信息查看方法的流程图;
图2为本发明一实施例提出的linux系统配置信息查看装置的模块示意图。
主要元件符号说明:
100-文件创建模块;200-文件编辑模块;300-文件执行模块;400-任信息显示模块。
具体实施方式
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开保护范围限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在下文中,可在本公开的各种实施例中使用的术语“包括”或“可包括”指示所公开的功能、操作或元件的存在,并且不限制一个或更多个功能、操作或元件的增加。此外,如在本公开的各种实施例中所使用,术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
在本公开的各种实施例中,表述“A或/和B中的至少一个”包括同时列出的文字的任何组合或所有组合。例如,表述“A或B”或“A或/和B中的至少一个”可包括A、可包括B或可包括A和B二者。
在本公开的各种实施例中使用的表述(诸如“第一”、“第二”等)可修饰在各种实施例中的各种组成元件,不过可不限制相应组成元件。例如,以上表述并不限制所述元件的顺序和/或重要性。以上表述仅用于将一个元件与其它元件区别开的目的。例如,第一用户装置和第二用户装置指示不同用户装置,尽管二者都是用户装置。例如,在不脱离本公开的各种实施例的范围的情况下,第一元件可被称为第二元件,同样地,第二元件也可被称为第一元件。
应注意到:如果描述将一个组成元件“连接”到另一组成元件,则可将第一组成元件直接连接到第二组成元件,并且可在第一组成元件和第二组成元件之间“连接”第三组成元件。相反地,当将一个组成元件“直接连接”到另一组成元件时,可理解为在第一组成元件和第二组成元件之间不存在第三组成元件。
在本公开的各种实施例中使用的术语“用户”可指示使用电子装置的人或使用电子装置的装置(例如,人工智能电子装置)。
在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。
实施例1
如图1所示,本发明实施例提供了一种linux系统配置信息查看方法,包括:
S101、响应用户的新建文件操作请求创建shell脚本文件。
用户可以通过linux系统的touch命令创建内容为空的shell脚本文件。例如:touch ServerConf.sh命令就是创建名称为ServerConf的shell脚本文件。Shell脚本文件的名称可以根据用户的需要自行命名。
对于某些linux配置查询命令行可能需要系统具有对应的软件安装包。用户可以通过rpm命令查看某一软件包是否已经安装。例如:rpm–qa|grepdmidecode命令可以查看dmidecode软件包是否安装,该软件包在显示内存的使用情况及内存频率参数信息时需要使用。用户可以通过在线安装命令yum install-y dmidecode进行dmidecode软件包的安装。
S102、响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件。
用户可以通过linux系统的纯文本编辑器vim对新建的空的shell脚本文件进行编辑处理。具体可以使用命令vi ServerConf.sh。
将每条linux配置查询命令行逐行添加到ServerConf.sh文件中。
linux配置查询命令行集合的每一条配置查询命令行在shell脚本文件ServerConf.sh中占据一行。
添加解析shell脚本文件的解释器的路径信息于shell脚本文件的首行。
shell脚本文件用户编辑添加的具体内容可以如下:
#!/bin/sh
echo""
echo"The basic server configuration information is shown below"
echo""
echo"====================CPU========================"
grep"model name"/proc/cpuinfo
echo""
echo"=================Memory========================"
free-mh
dmidecode|grep-A16"Memory Device"|grep'Speed'
echo""
echo"==================32/64Bit======================="
getconf LONG_BIT
echo""
echo"=================Linux version===================="
cat/etc/redhat-release
echo""
echo"==================Linux Core====================="
uname-r
echo""
echo"================HardDisk And Partition==============="
df-h
cat/proc/scsi/scsi|grep"Model"
echo""
echo"==========Users who can log into the system=============="
cat/etc/passwd|grep-v/sbin/nologin|cut-d:-f 1
echo""
echo"=====================Network====================="
cat/etc/sysconfig/network-scripts/ifcfg-e*|grep"IPADDR"
cat/etc/sysconfig/network-scripts/ifcfg-e*|grep"MASK"
cat/etc/sysconfig/network-scripts/ifcfg-e*|grep"GATE"
cat/etc/resolv.conf
echo""
echo"=================System load==================="
cat/proc/loadavg
echo""
echo"===================Board====================="
dmidecode|grep-A16"System Information$"
echo""
echo"===================Time====================="
date
echo""
echo"==============System running time=============="
uptime
echo""
其中:#!/bin/sh表示指shell脚本使用以下路径信息/bin/sh的解释器来执行解析。echo回显命令用于标记查询分类信息。echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用,比如echo"The basic server configuration information isshown below"就是在显示器等显示终端上显示"The basic server configurationinformation is shown below"字符信息。grep"model name"/proc/cpuinfo用于查询CPU参数信息。free-mh用于查询内存使用情况。dmidecode|grep-A16"Memory Device"|grep'Speed'用于查询内存频率参数信息。getconf LONG_BIT用于查询系统位数信息。cat/etc/redhat-release用于查询系统的发行版本信息。uname-r用于查询系统的内核版本信息。df-h用于查询磁盘的分区情况。cat/proc/scsi/scsi|grep"Model"用于查询磁盘驱动器型号信息。cat/etc/passwd|grep-v/sbin/nologin|cut-d:-f 1用于查询能够远程登陆的用户信息。cat/etc/sysconfig/network-scripts/ifcfg-eth*|grep"IP",cat/etc/sysconfig/network-scripts/ifcfg-eth*|grep"MASK",cat/etc/sysconfig/network-scripts/ifcfg-eth*|grep"GATE"以及cat/etc/resolv.conf均用于查询网络配置信息。cat/proc/loadavg用于查询系统进程负载信息。dmidecode|grep-A16"SystemInformation$"用于查询主板信息。date用于查询当前系统时间。uptime用于查询系统运行时间。
S103、响应用户的执行文件操作请求运行解析所述shell脚本文件。
用户可以在shell脚本文件目录下,通过./ServerConf.sh命令运行解析该shell脚本文件。
S104、在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。
shell脚本文件中的所有linux配置查询命令行集合的查询结果信息通过显示器等显示终端以字符的形式呈现给用户。
通过将多个查询命令集中到一个shell脚本文件中,用户只需要通过运行该shell脚本文件就可以查询大量的配置信息。大大节约用户的操作时间。有利于提高工作效率。
实施例2
本发明实施例还提供了一种linux系统配置信息查看装置,包括:
文件创建模块100,用于响应用户的新建文件操作请求创建shell脚本文件;
文件编辑模块200,用于响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件;
文件执行模块300,用于响应用户的执行文件操作请求运行解析所述shell脚本文件;
信息显示模块400,用于在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。
文件编辑模块200还用于响应用户的编辑文件操作请求添加解析所述shell脚本文件的解释器的位置信息于所述shell脚本文件的首行。
文件编辑模块200还用于响应用户的编辑文件操作请求添加用于标记查询分类信息的echo回显命令。
linux配置查询命令行集合的每一条配置查询命令行在所述shell脚本文件占据一行。
linux配置查询命令行集合包括:CPU参数信息、内存使用情况及内存频率参数信息、系统的位数信息、系统的发行版本信息、系统的内核版本信息、磁盘的分区情况及磁盘驱动器型号信息、远程登陆用户信息、网络配置信息、系统进程负载信息、主板信息、当前系统时间以及系统运行时间信息。
此外,本发明还提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器可用于存储计算机程序,处理器通过运行所述计算机程序,从而使计算机设备执行上述linux系统配置信息查看方法或者上述linux系统配置信息查看装置中的各个模块的功能。
存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本实施例还提供了一种计算机存储介质,用于储存上述计算机设备中使用的计算机程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种linux系统配置信息查看方法,其特征在于,包括:
响应用户的新建文件操作请求创建shell脚本文件;
响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件;
响应用户的执行文件操作请求运行解析所述shell脚本文件;
在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。
2.根据权利要求1所述的linux系统配置信息查看方法,其特征在于,还包括:
响应用户的编辑文件操作请求添加解析所述shell脚本文件的解释器的路径信息于所述shell脚本文件的首行。
3.根据权利要求1所述的linux系统配置信息查看方法,其特征在于,所述linux配置查询命令行集合的每一条配置查询命令行在所述shell脚本文件占据一行。
4.根据权利要求1所述的linux系统配置信息查看方法,其特征在于,还包括:
响应用户的编辑文件操作请求添加用于标记查询分类信息的echo回显命令。
5.根据权利要求1所述的linux系统配置信息查看方法,其特征在于,所述linux配置查询命令行集合包括:CPU参数信息、内存使用情况及内存频率参数信息、系统的位数信息、系统的发行版本信息、系统的内核版本信息、磁盘的分区情况及磁盘驱动器型号信息、能够远程登陆的用户信息、网络配置信息、系统进程负载信息、主板信息、当前系统时间以及系统运行时间信息。
6.一种linux系统配置信息查看装置,其特征在于,包括:
文件创建模块,用于响应用户的新建文件操作请求创建shell脚本文件;
文件编辑模块,用于响应用户的编辑文件操作请求添加linux配置查询命令行集合至所述shell脚本文件;
文件执行模块,用于响应用户的执行文件操作请求运行解析所述shell脚本文件;
信息显示模块,用于在显示终端显示所述linux配置查询命令行集合对应的查询结果信息。
7.根据权利要求6所述的linux系统配置信息查看装置,其特征在于,所述文件编辑模块还用于响应用户的编辑文件操作请求添加解析所述shell脚本文件的解释器的路径信息于所述shell脚本文件的首行。
8.根据权利要求6所述的linux系统配置信息查看装置,其特征在于,所述文件编辑模块还用于响应用户的编辑文件操作请求添加用于标记查询分类信息的echo回显命令。
9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行根据权利要求1至5中任意一项所述的linux系统配置信息查看方法。
10.一种计算机可读存储介质,其特征在于,其存储有权利要求9所述的计算机设备中所使用的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811649186.8A CN109684521A (zh) | 2018-12-30 | 2018-12-30 | linux系统配置信息查看方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811649186.8A CN109684521A (zh) | 2018-12-30 | 2018-12-30 | linux系统配置信息查看方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684521A true CN109684521A (zh) | 2019-04-26 |
Family
ID=66191544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811649186.8A Pending CN109684521A (zh) | 2018-12-30 | 2018-12-30 | linux系统配置信息查看方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684521A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801579A (zh) * | 2022-11-18 | 2023-03-14 | 浪潮思科网络科技有限公司 | 一种基于sdn的网络设备配置查看方法、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681940A (zh) * | 2012-05-15 | 2012-09-19 | 兰雨晴 | 一种针对Linux操作系统内存管理子系统进行性能测试的方法 |
CN106155866A (zh) * | 2016-08-01 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种监控cpu核心频率的方法及装置 |
-
2018
- 2018-12-30 CN CN201811649186.8A patent/CN109684521A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681940A (zh) * | 2012-05-15 | 2012-09-19 | 兰雨晴 | 一种针对Linux操作系统内存管理子系统进行性能测试的方法 |
CN106155866A (zh) * | 2016-08-01 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种监控cpu核心频率的方法及装置 |
Non-Patent Citations (1)
Title |
---|
周少言: "实验楼挑战:shell脚本 获取系统信息", 《HTTPS://WWW.JIANSHU.COM/P/9E7B4CFCB0C9》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801579A (zh) * | 2022-11-18 | 2023-03-14 | 浪潮思科网络科技有限公司 | 一种基于sdn的网络设备配置查看方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wittig et al. | Amazon Web Services in Action: An in-depth guide to AWS | |
US10565077B2 (en) | Using cognitive technologies to identify and resolve issues in a distributed infrastructure | |
CN109885699B (zh) | 基于知识图谱的云仿真模型资源描述信息存储方法及装置 | |
US10642913B2 (en) | Intent and bot based query guidance | |
US8140680B2 (en) | Machine-processable semantic description for resource management | |
US8527451B2 (en) | Business semantic network build | |
Hewitt | Java SOA Cookbook: SOA Implementation Recipes, Tips, and Techniques | |
CN105302721A (zh) | 云计算平台中实现集中模拟服务器集成测试的系统及方法 | |
US11600276B2 (en) | Graph based prediction for next action in conversation flow | |
US20180203792A1 (en) | Intelligent device selection for mobile application testing | |
CN102946415B (zh) | 一种移动终端本地应用的实现方法和装置 | |
US20200019643A1 (en) | Dynamic modification of information presentation and linkage based on usage patterns and sentiments | |
CN107391528B (zh) | 前端组件依赖信息搜索方法及设备 | |
CN109684521A (zh) | linux系统配置信息查看方法、装置及计算机可读存储介质 | |
CN117032634A (zh) | 组件处理方法及系统 | |
US20180095731A1 (en) | Methods and systems to identify log write instructions of a source code as sources of event messages | |
Ferguson | Mean waiting time for a token ring with station dependent overheads | |
CN115480753A (zh) | 应用集成系统及相应计算机设备和存储介质 | |
Cestari et al. | Interoperability assessment approaches for enterprise and public administration: Short paper | |
KR101932734B1 (ko) | 메타데이터 온톨로지 기반의 콘텐츠 관리 방법 및 이를 이용한 콘텐츠 관리 장치 | |
Giessler et al. | Checklist for the API Design of Web Services based on REST | |
CN112114805A (zh) | 页面生成方法、装置、设备 | |
Kumar | Software Engineering for Big Data Systems | |
US20220358152A1 (en) | Model performance through text-to-text transformation via distant supervision from target and auxiliary tasks | |
Oleghe | Development of a generic system dynamics-discrete event simulation hybrid modelling framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |
|
RJ01 | Rejection of invention patent application after publication |