Linux文件种类、扩展名与目录配置详解

🐇明明跟你说过:个人主页

🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》 🏅

🔖行路有良友,便是天堂🔖

目录

一、前言

1、Linux的起源与发展

二、Linux文件种类 

1、纯文本文件

2、二进制文件

3、数据文件

4、目录

5、链接文件

硬链接

符号链接

6、设备文件

7、套接字文件 

8、管道文件

三、Linux文件扩展名 

1、扩展名的概念

2、扩展名的使用习惯

3、扩展名与MIME类型 

四、目录配置

1、Linux目录结构概述

2、根目录( / )下的主要子目录

3、目录的创建、删除与移动

目录的创建:

目录的删除:

目录的移动:

五、高级话题 

1、隐藏文件与目录(.前缀)

2、查找文件与目录(使用find命令)


一、前言

1、Linux的起源与发展


1991年,芬兰赫尔辛基大学的学生林纳斯·托瓦兹(Linus Torvalds)开始编写一个新的操作系统内核,这个内核最初被称为“Freax”。他的初衷只是想学习操作系统内核的开发,并为自己的个人计算机编写一个操作系统。然而,当他将这个内核发布在Internet上并开放源代码后,全球各地的程序员开始参与到这个项目中来,共同完善这个内核。最终,这个内核被命名为Linux,这个名字是由Linus Torvalds的名字和Unix操作系统的名字组合而成的。

Linux从一开始就坚持源代码的公开和免费使用,任何人都可以对其进行修改和分发。这种开放性和自由性吸引了大量的开发者和用户,使得Linux逐渐成长并成熟起来。如今,Linux已经发展成为一个性能稳定、功能强大的多用户网络操作系统,支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。同时,Linux也有上百种不同的发行版,如基于社区开发的Debian、ArchLinux,以及基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

二、Linux文件种类 

1、纯文本文件

纯文本文件是由ASCII码字符构成的文件,其内容可以被人类轻松读懂和编写。纯文本文件是原始且高效的进程间通信方式,特别是在两个不同步执行的进程需要进行通信时。此外,纯文本文件常用于存储源代码、配置文件、日志文件等。它们通常具有 .txt、.conf 或 .log 等扩展名。


2、二进制文件

二进制文件存储的是数字,这些数字并不是文字的编码数字,而是真正的数字。二进制文件在Linux中非常常见,尤其是可执行文件。这些文件由编译器生成,例如gcc编译程序在编译过程中会生成中间文件,这些文件就是二进制文件。二进制文件的编码是变长的,利用率高,但译码相对困难,不同的二进制文件译码方式可能不同。


3、数据文件

数据文件主要用于存储程序运行时所需的数据。这些数据可能是文本、数字、图像或其他任何类型的信息。数据文件的具体格式和内容取决于程序的需求和设计。在Linux中,数据文件可以有多种格式,如CSV、XML、JSON等,用于存储和交换结构化或非结构化的数据。

4、目录

就是目录,第一个属性为[ d ],例如[ drwsr-sr-t ]

5、链接文件

在Linux中,链接文件允许用户创建指向其他文件或目录的引用。链接文件可以分为两种主要类型:硬链接(hard link)符号链接(symbolic link,也称为软链接)

硬链接


硬链接是指创建一个指向文件索引节点(inode)的链接。每个文件在文件系统中都有一个唯一的inode,它包含了文件的所有元数据(如权限、所有者、大小等)以及指向文件数据块的指针。硬链接实际上只是给文件的inode增加了一个引用计数,并不会创建新的inode或数据块。

符号链接


符号链接是一个特殊的文件,它包含了一个指向另一个文件或目录的路径字符串。符号链接也被称为“软链接”,因为它仅仅是一个指向另一个文件或目录的“快捷方式”。

6、设备文件

Linux设备文件代表了系统中的硬件设备。在Linux操作系统中,所有的硬件设备都被抽象为一个文件,这使得用户可以像访问普通文件一样来访问和操作硬件设备。

Linux设备文件通常位于/dev目录下,每个设备文件都有一个唯一的设备号(也称为主设备号和次设备号),用于标识不同的硬件设备。设备文件可以分为字符设备文件和块设备文件两种类型,它们分别对应于字符设备和块设备。字符设备是指那些只能顺序访问的设备,如键盘、鼠标等;而块设备是指那些可以随机访问的设备,如硬盘、光驱等。

作为设备驱动程序的接口,设备文件允许应用程序通过标准输入输出系统调用使用其设备驱动程序与设备进行交互。使用标准系统调用简化了许多编程任务,并且无论设备的特性和功能如何,都可以实现一致的用户空间I/O机制。设备文件通常提供与标准设备(如打印机和串行端口)的简单接口,但也可用于访问这些设备(如磁盘分区)上的特定独特资源。

7、套接字文件 

Linux套接字文件用于进程间通信和网络通信。它提供了一种进程间的双向通信机制,使得不同进程可以通过套接字文件进行数据交换和通信。在网络编程中,套接字文件是建立网络连接的一种方式,通过创建和使用套接字文件,进程可以通过网络进行通信,例如通过TCP/IP或UDP协议发送和接收数据。

在Linux中,套接字文件以文件的形式实现,与套接字相应的文件属于sockfs特殊文件系统。创建一个套接字就是在sockfs中创建一个特殊文件,并建立起为实现套接字功能的相关数据结构。

套接字文件的主要属性包括:

  • 域(domain):指定了套接字通信中使用的网络介质。例如,AF_UNIX表示UNIX域协议(文件系统套接字),而AF_INET表示ARPA因特网协议(UNIX网络套接字,可以用于包括互联网在内的TCP/IP网络进行通信)。
  • 类型(type):一个域包含多种不同的通信方式。例如,AF_INET域包括流和数据报两种通信方式。

每个套接字必须有其自己的唯一文件描述符与之关联,以便在Linux中两个套接字之间传输数据。这些文件描述符是在套接字使用bind()、listen()、accept()、connect()、send()等函数时与套接字关联的。

第一个属性为[ s ]

8、管道文件

管道文件主要用于进程间通信。它允许一个进程(写入端)将其产生的数据写入到管道中,而另一个进程(读取端)则可以从管道中读取这些数据。这种通信方式在父子进程间通信尤为常见。

管道文件实际上只存在于内存中,不占用磁盘空间。它单独构成一种独立的文件系统,但不属于任何常规的文件系统。每个管道文件都有一个与之关联的文件描述符,用于在进程间传递数据。

管道文件具有一些特点,如数据按顺序从写端传到读端,数据是临时性的,不持久化到磁盘,且管道有大小限制,当数据超过限制时,写操作会被阻塞。当最后一个读或写进程关闭后,管道文件会自动删除。

除了无名管道(即通常所说的管道),Linux还提供了命名管道(Named Pipe)。命名管道允许无关进程(即非父子关系进程)之间进行通信,甚至跨越不同的进程号和主机。命名管道通过文件系统中的某个文件名来建立,其他进程可以通过打开该文件来进行通信。使用命名管道时,需要先用mkfifo命令创建管道文件,然后通过文件I/O操作来进行数据的读写。

三、Linux文件扩展名 

1、扩展名的概念

在Linux系统中,文件的扩展名通常被称为文件的类型,它可以告诉用户文件的内容或用途。尽管Linux系统并不像Windows系统那样严格要求文件有扩展名,但很多文件在命名时仍然会带有特定的扩展名,以便于用户对文件进行识别和管理。

Linux系统的文件扩展名通常是以“.”开头的,例如“.txt”、“.jpg”、“.sh”等。不同的扩展名代表不同的文件类型,比如“.txt”表示文本文件,“.jpg”表示图片文件,“.sh”表示脚本文件等等。除了常见的文件类型扩展名之外,Linux系统还支持用户自定义扩展名,用户可以根据自己的需求给文件添加不同的扩展名。

2、扩展名的使用习惯

扩展名主要用于帮助用户和组织识别文件的用途和内容。

以下是一些Linux扩展名的使用习惯:

  • 自定义性:Linux允许用户自定义扩展名,这意味着我们可以根据自己的需要为文件添加任何扩展名。但是,为了保持一致性和可读性,通常建议遵循常见的扩展名约定。
  • 脚本和程序:对于脚本文件,如bash脚本,常见的扩展名是.sh。这有助于用户快速识别哪些文件是可执行的脚本。
  • 压缩文件:压缩文件通常使用如.tar、.gz、.bz2、.zip等扩展名。这些扩展名告诉用户文件的压缩格式,以及可能需要使用哪种工具来解压。
  • 配置文件:配置文件可能没有特定的扩展名,但通常会有一些常见的命名约定,如使用.conf作为扩展名。
  • 文档和文本:文本文件可能使用.txt作为扩展名,但这不是强制的。实际上,很多文本文件(如源代码文件)可能没有扩展名,或者使用与文件内容相关的扩展名(如.c对于C语言源文件)。
  • 二进制文件:二进制文件通常没有特定的扩展名,因为Linux系统通过文件的权限和内容来识别文件是否可以执行。
  • 避免特殊字符:在Linux中,文件名(包括扩展名)应避免使用特殊字符,因为这可能导致文件在命令行中无法正确识别或处理。建议使用字母、数字和下划线来命名文件。
  • 长度限制:Linux文件系统对文件名和路径的长度有限制。所以,当使用扩展名时,应注意确保整个文件名(包括路径)的长度不超过系统限制。

 

3、扩展名与MIME类型 

在Linux和更广泛的计算机环境中,文件的扩展名和MIME类型都用于标识文件的类型和用途,但它们有着不同的作用和使用方式。

文件的扩展名,如.txt、.jpg、.sh等,主要是用于帮助用户和组织识别文件的类型和内容。在Linux系统中,尽管文件扩展名并不是确定文件类型的唯一标准,但它仍然被广泛使用,尤其是在用户层面,作为识别文件的一种快捷方式。用户可以根据自己的需要自定义文件扩展名,以更好地组织和管理文件。

而MIME(Multipurpose Internet Mail Extensions)类型则是一种更标准化的方式,用于描述文件的类型和内容。MIME类型通常由两部分组成:主类型(如文本、图像、音频、视频等)和子类型(如纯文本、JPEG图像、MP3音频等),两者之间用斜杠分隔。例如,“text/plain”表示纯文本文件,“image/jpeg”表示JPEG图像文件。

MIME类型的主要用途是在互联网通信中,特别是HTTP协议中,标识服务器所返回的资源类型。当客户端(如浏览器)向服务器请求一个文件时,服务器返回的HTTP响应中包含一个MIME类型字段,用于告诉客户端这个文件的内容类型。这样,客户端就可以正确地解析和显示文件内容。

 

四、目录配置

1、Linux目录结构概述

Linux目录结构是一个树状结构,其中根目录(/)是整个文件系统的顶级目录,所有其他目录和文件都是从根目录开始的。

FHS (Filesystem Hierarchy Standard): FHS 是一个标准化的规定,旨在统一类UNIX系统的目录结构,确保不同Linux发行版之间的兼容性和一致性,并且方便用户和开发者熟悉和管理文件系统。

2、根目录( / )下的主要子目录

  • /bin:包含一些基本的可执行文件,这些文件是系统启动和运行所必需的。例如,ls、cat等常用的命令就存放在这个目录下。
  • /boot:包含启动加载程序(bootloader)的相关文件,包括内核映像文件和引导配置文件。这些文件在启动过程中用于引导操作系统。
  • /dev:包含设备文件,这些文件用于与系统中的设备进行交互。
  • /etc:存放系统配置文件,这些文件包含系统运行时的各种参数和设置。
  • /home:用户的主目录,每个用户都有一个与其用户名相对应的子目录。这些目录通常用于存储用户的个人文件和数据。
  • /lib:存放系统库文件,这些库文件包含程序运行时所需的共享代码。
  • /media:通常用于挂载可移动设备,如USB驱动器或光盘。
  • /mnt:用于临时挂载其他文件系统或网络共享。
  • /opt:用于安装第三方软件包。这通常是一些可选的、非系统核心的软件。
  • /proc:一个虚拟文件系统,提供有关系统和进程的信息。它并不真正占用磁盘空间,而是实时反映系统的状态。
  • /sbin:存放系统管理员使用的系统管理命令和守护进程等。
  • /srv:存放服务器数据。
  • /tmp:用于存放临时文件。这些文件在系统重启后通常会被删除。
  • /usr:用户文件存放目录,存放用户的文件和软件。例如,/usr/bin 和 /usr/sbin 分别存放用户级别的和系统级别的可执行文件。
  • /var:存放系统运行过程中产生的可变数据,如日志文件、数据库等。

3、目录的创建、删除与移动

在Linux系统中,目录的创建、删除与移动可以通过一系列命令来实现。

目录的创建:

  • 使用mkdir命令:mkdir是一个简单且直观的命令,可以快速创建单个目录或多级目录。例如,mkdir my_directory将创建一个名为my_directory的新目录。如果要创建多级目录,可以使用-p选项,如mkdir -p parent_directory/child_directory。
  • 使用cp命令:虽然cp主要用于复制文件,但当指定目标路径不存在时,它也可以用来创建目录。例如,cp -r my_directory new_directory会复制my_directory并创建一个新的目录new_directory(如果它还不存在)。

目录的删除:

  • 使用rmdir命令:这是一个用于删除空目录的命令。如果目录中有文件或子目录,rmdir命令将无法删除。
  • 使用rm命令:rm命令既可以删除文件也可以删除目录。当用于删除目录时,需要使用-r选项来表示递归删除目录及其内容。
  • 例如,rm -rf directory_name将删除名为directory_name的目录及其所有内容。但请注意,使用rm -rf命令时要格外小心,因为它会无提示地删除文件和目录,可能导致数据丢失。

目录的移动:

  • 使用mv命令:mv命令用于移动或重命名文件或目录。要将一个目录移动到另一个位置,可以使用mv命令并指定源目录和目标目录的路径。
  • 例如,mv source_directory destination_directory/将把source_directory移动到destination_directory/下。如果destination_directory/不存在,mv命令会将其视为新目录的名称,并将source_directory重命名为destination_directory。

五、高级话题 

1、隐藏文件与目录(.前缀)

在Linux系统中,隐藏文件或目录的一个常见方法是在文件名或目录名前添加一个点(.)作为前缀。这样做是因为Linux通过文件名来判断是否将其视为隐藏文件或目录。带有点前缀的文件或目录在大多数文件管理器中默认会被隐藏,使得用户不会在日常操作中轻易看到它们。

要隐藏一个文件或目录,可以使用mv命令来重命名文件或目录,例如:

mv myfile .myfile

这样,myfile或mydirectory就会变为隐藏文件或目录。

要查看隐藏的文件或目录,可以使用ls -a命令来列出当前目录下的所有文件和目录,包括隐藏的。例如:

ls -a

 

2、查找文件与目录(使用find命令)

find命令是用于在目录层次结构中搜索文件和目录的强大工具。我们可以使用find命令根据各种条件(如权限、类型、日期、所有权、大小等)来搜索文件和目录,并对每个匹配的文件执行指定的操作。

find命令的基本语法如下:

find <path> <options> <patterns>
  • <path>:指定要进行搜索的目录路径。
  • <options>:用于设置搜索的条件和行为的选项。
  • <patterns>:匹配文件名的模式。

以下是一些常用的find命令选项:

  • -name pattern:根据文件名进行匹配搜索。
  • -type type:按照文件类型进行搜索,如f表示普通文件,d表示目录等。
  • -user username:搜索指定所有者的文件。
  • -size [+|-]size:根据文件大小进行搜索,可以使用+表示大于,-表示小于。
  • -exec command {} \;:对搜索结果执行指定的命令。


例如,查找当前目录及其子目录下所有名为myfile.txt的文件:

find . -name myfile.txt

查找/home/user目录下所有的目录:

find /home/user -type d


查找/etc目录下所有属于用户root的文件:

find /etc -user root


查找当前目录及其子目录下所有大于1M的文件,并删除它们:

find . -type f -size +1M -exec rm {} \;

💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于Linux的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!! 

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

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

相关文章

高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据)

高精度端到端在线校准环视相机和LIDAR&#xff08;精度0.2度内&#xff01;无需训练数据&#xff09; 附赠自动驾驶学习资料和量产经验&#xff1a;链接 写在前面 在自动驾驶车辆的使用寿命内&#xff0c;传感器外参校准会因振动、温度和碰撞等环境因素而发生变化。即使是看似…

分布式锁实战

4、分布式锁 4.1 、基本原理和实现方式对比 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁&#xff0c;只要大家使用的是同一把锁&#xff0c;那么我们就能锁住线程&#xff0c;不让线程进行&#x…

python爬虫学习第十五天-------ajax的get和post请求

嗨嗨嗨&#xff01;兄弟姐妹大家好哇&#xff01;今天我们来学习ajax的get和post请求 一、了解ajax Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;是一种在 Web 开发中用于创建交互式网页应用程序的技术。通过 Ajax&#xff0c;网页可以在不重新加载整个页面…

一文解析智慧城市,人工智能技术将成“智”理主要手段

长期以来&#xff0c;有关智慧城市的讨论主要围绕在技术进步方面&#xff0c;如自动化、人工智能、数据的公开以及将更多的传感器嵌入城市以使其更加智能化。实际上&#xff0c;智慧城市是一个关于未来的设想&#xff0c;其重要原因在于城市中存在各种基础设施、政治、地理、财…

操作系统(7分)

进程管理 进程的状态 前趋图 表达哪些任务可以先运行&#xff0c;任务间运行的先后顺序。 进程的同步与互斥 在多道程序环境下&#xff0c;操作系统必须采取相应措施处理好进程之间的制约关系。进程同步的主要任务是对多个有制约关系的进程在执行次序上进行协调&#xff0c;…

插入电脑的u盘文件删除了怎么恢复?删除文件恢复的5个方法

随着科技的发展&#xff0c;U盘已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;使用U盘时&#xff0c;有时我们可能会不小心删除一些重要的文件&#xff0c;这可能会给我们带来很大的困扰。那么&#xff0c;当U盘中的文件被删除后&#xff0c;我们该如何恢复呢&…

Spark编程基础

一、RDD入门 1.RDD是什么&#xff1f; RDD是一个容错的、只读的、可进行并行操作的数据结构&#xff0c;是一个分布在集群各个节点中的存放元素的集合&#xff0c;即弹性分布式数据集。 2.RDD的三种创建方式 第一种是将程序中已存在的集合&#xff08;如集合、列表、数组&a…

批量导入svg文件作为图标使用(vue3)vite-plugin-svg-icons插件的具体应用

目录 需求svg使用简述插件使用简述实现安装插件1、配置vite.config.ts2、src/main.ts引入注册脚本3、写个icon组件4、使用组件 需求 在vue3项目中&#xff0c;需要批量导入某个文件夹内数量不确定的svg文件用来作为图标&#xff0c;开发完成后能够通过增减文件夹内的svg文件&a…

OSPF基础实验

一、实验拓扑 二、实验要求 1、按照图示配置IP地址 2、R1&#xff0c;R2&#xff0c;R3运行OSPF使内网互通&#xff0c;所有接口&#xff08;公网接口除外&#xff09;全部宣告进 Area 0&#xff1b;要求使用环回口作为Router-id 3、业务网段不允许出现协议报文 4、R4模拟互…

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解 一、什么是Log4j2二、环境搭建三、简单使用Log4j2四、JDNI和RMI4.1、启动一个RMI服务端4.2、启动一个RMI客户端4.3、ldap 五、漏洞复现六、Python批量检测 参考视频&#xff1a;https://www.bilibili.com/video/BV1mZ4y1D7K…

ARM、X86、RISC-V三分天下

引入&#xff1a; 简单的介绍一下X86、ARM、RISC-V三种cpu架构的区别和应用场景。 目录 简单概念讲解 1. X86架构 2. ARM架构 3. RISC-V架构 应用场景 X86、ARM和RISC-V是三种不同的CPU架构&#xff0c;它们在设计理念、指令集和应用场景上有一些区别。 简单概念讲解 1. X…

33. UE5 RPG使用增强输入激活GameplayAbility(三)

在前面的文章&#xff0c;我们实现了使用GameplayTag和InputAction的对应绑定的数据&#xff0c;并且添加到了增强输入映射的上下文中&#xff0c;实现了通过按键打印对应的GameplayTag&#xff0c;这只是我们基础需要制作的。目的主要是为了实现在GameplayAblity上面设置对应的…

计算机网络 实验指导 实验16

实验16 PPP配置实验 1.实验拓扑图 实验10讲了如何添加Se的接口 名称接口IP地址Router1se0/0/0192.168.1.1/24Router0se0/0/0192.168.1.2/24se0/0/1192.168.2.1/24Router2se0/3/0192.168.2.2/24 2.实验目的 &#xff08;1&#xff09;掌握PPP的基本配置步骤和方法 &#xf…

linux之文件系统、inode和动静态库制作和发布

一、背景 1.没有被打开的文件都在磁盘上 --- 磁盘级文件 2.对磁盘级别的文件&#xff0c;我们的侧重点 单个文件角度 -- 这个文件在哪里&#xff0c;有多大&#xff0c;其他属性是什么&#xff1f; 站在系统角度 -- 一共有多少文件&#xff1f;各自属性在哪里&#xff1f…

Hive 之 UDF 运用(包会的)

文章目录 UDF 是什么&#xff1f;reflect静态方法调用实例方法调用 自定义 UDF&#xff08;GenericUDF&#xff09;1.创建项目2.创建类继承 UDF3.数据类型判断4.编写业务逻辑5.定义函数描述信息6.打包与上传7.注册 UDF 函数并测试返回复杂的数据类型 UDF 是什么&#xff1f; H…

数组-二维数组

本笔记为47 数组-二维数组定义方式_哔哩哔哩_bilibili的学习笔记 二维数组 定义方式 注&#xff1a; 常用第二种方式定义&#xff0c;原因&#xff1a;第二种方式更清晰列数可以省行数不可省 &#xff0c;详见上述第四种定义方式 示例&#xff1a; 二维数组 数组名 作用&am…

【QT+QGIS跨平台编译】063:【qca-logger+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、qca-logger插件介绍二、QCA下载三、文件分析四、pro文件五、编译实践5.1 windows下编译5.2 linux下编译5.3 macos下编译一、qca-logger插件介绍 QCA::Logger 是 Qt Cryptographic Architecture (QCA) 库中的一个类,它提供了一个简单而灵活的日志…

PostgrerSQL基本使用与数据备份

前言 上篇了解了 PostgrerSQL 数据库的部署PostgreSQL关系型数据库介绍与部署-CSDN博客&#xff0c;本篇将继续就其基本操作、备份与还原内容做相关介绍。 目录 一、数据库的操作 1. 本机登录 2. 开启远程登录 2.1 开放远程端口 2.2 编辑配置文件 2.3 修改配置密码 2.…

xss.pwnfunction-Ma Spaghet!

根据代码得知 这个是根据get传参的并且是由someboby来接收参数的 所以 <script>alert(1137)</script> js并没有执行因为 HTML5中指定不执行由innerHTML插入的<script>标签 所以 ?somebody<img%20src1%20onerror"alert(1337)"> 这样就成…

PowerJob 分布式任务调度简介

目录 适用场景 设计目标 PowerJob 功能全景 任务调度 工作流 分布式计算 动态容器 什么是动态容器? 使用场景 可维护性和灵活性的完美结合 实时日志&在线运维 PowerJob 系统组件 PowerJob 应用场景 PowerJob 的优势 PowerJob&#xff08;原OhMyScheduler&…