初识linux(一):全面了解linux目录结构&基础操作指令详解

今天小风将带着大家进行有关liunx部分章节的学习,由于是第一节初识linux部分的内容,所以内容理解起来并不会太过困难。在本篇博客中,小风将向大家具体讲解一下内容:

  1. 初识Linux操作系统
  2. 初识Xshell登录命令 ,简单了解一下操作系统基本概念
  3.  使用常用Linux命令,了解linux系统目录结构和访问方式

 一、初识linux操作系统

1.linux发展史

  • 1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有被发布,原因是0.01版本不实用。 Linus仅仅在第一个Linux的FTP站(ftp://nic.funet.fi)上提供过这个版本的的源代码。
  • Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。 Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。
  • Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的

2.开源

  • Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲, Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
  • GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写, GPL给予了计算机程序自由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
  • Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此, Linux也成为了开源软件的代名词。

3.发行版本

  • Debian
    Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。
  • Ubuntu
    Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。 Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。 Ubuntu是新手用户肯定爱不释手的一款操作系统。
  • 红帽企业级Linux
    这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。
  • CentOS
    CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说, CentOS值得一试。此外, CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
  • Fedora
    小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实, Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。 Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
  • Kali Linux
    Kali Linux是Debian的一款衍生版。 Kali旨在用于渗透测试。 Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。 Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。 Kali使用APT来管理软件包。



 二、初识shell命令 &操作系统基本概念

1.什么是操作系统

操作系统是一款进行软硬件资源管理的软件。也就是说操作系统实质上也是一款软件。

linux是一款具体的操作系统中的一个种类,而上述介绍中所涉及CentOs/Ubuntu等是一款具体的linux操作系统。

2.对操作系统的理解

像我们熟知一些操作系统包括Windows、Linux、macOS等,那么为什一定需要操作系统呢,上述众所提到的软硬件资源管理究竟是什么意思呢?

  • 首先我们日常所使用的计算机,它包含了显示器、硬盘、键盘等一系列的硬件资源。当我们认为自己在使用计算机时,其实我们的计算机是有很多很多小的硬件单元构成
  • 其次当我们买来一台计算机时,如果没有电源不开机,那么整个计算机都使用不了,开机操作的目的是将我们的操作系统加载到内存中,使我们的计算机能够运行起来。如果没有操作系统,我们只能人工式的自己在对应的硬件上操作。比如当我们想玩游戏的时候还需要自己调整网卡上的二进制,这是不是听起来就很扯淡哈哈!所以操作系统至少将我们电脑上的硬件资源管理好,能够让使用者方便的调用各种硬件。

  • 设备驱动指的是一种程序,它能够沟通相应的硬件资源,每种不同的硬件队会有与之对应的设备驱动程序,例如现实生活中经常可以看见当我们插入有线鼠标或者优盘的的时候,电脑显示屏中否会出现弹窗说明某某硬件正在驱动。
  • 操作系统对下提供基本的管理工作,让各种硬件工作在一个稳定的、高效的、安全的状态中;对上要提供一个高效的、稳定的安全的运行环境(对用户)。

4.使用Xshell命令登录linux

在这里小风采用的是通过Xshell7来进行远程连接电脑上的虚拟机,如果小伙伴们是直接在虚拟机上操作的,则可以忽略该小节的内容。

ssh root@ + linux虚拟机的域名

当我们以这种方式进行连接后,将会出现弹窗(如下图所示)要求我们输入相应的密码即可使用。

 当出现下图箭头所指向的信息时,则说明登陆成功。

三、linux基础指令

关于linux指令的讲解,小风将采用编写与实际案例效果相互穿插结合的方式向大家展示,以便大家能够跟好的理解。除此之外在讲解指令的同时小风还会向大家横向扩展有关linux周边配套的知识,使得大家不仅学到指令同时也深入理解有关Linux操作系统的环境。

值得说明的是,指令的学习本身是一件比较枯燥的事情,不仅需要理解跟需要我们花比较多的时间进行记忆和练习,希望大家能坚持下来!

1.快速认识5~6个常用指令

(1)pwd指令

显示当前的所处的路径

(2)ls指令

显示出当前路径下的文件名,可以理解为list的缩写

(3)mkdir指令

 在当前路径下创建一个新的文件夹,后面一般加文件名(中间有空格),可以理解为是make direction的缩写

例如我现在要创建一个文件名为111的文件夹。当我们再次查看当前路径中的内容时,可以清楚的看到我们刚刚创建的文件被显示出来了。

 在以上内容中我们可以观察到不同的颜色的字体,由于我们创建的文件夹是蓝色的,所以由此推断其他蓝色的字体同样代表的是一个文件夹,至于其他颜色的字体所表示的含义我们后续再逐渐深入了解。

(4)cd指令

它的功能是进入指定的文件夹,可以理解为change direction更改目录的含义

例如我们现在要进入刚刚创建的文件夹中,通过pwd查看路径是否变化进行验证操作是否成功。

 通过上图可知,我们进入到了111文件中。

(5)clear指令

清屏,当我们在屏幕中的程序进行了很多步骤时,输入和输出的内容占据了很多的位置,看的不是很清爽,此时我们可以采用clear指令进行清除。

(6)touch指令

在当前目录下创建一个新的普通文件,后面加文件名(中间有空格),记住不是文件夹!

 以上六种指令是我们最常使用的,请大家务必牢记心中。

2.ls指令扩展知识

实际上ls指令不仅能单独使用表示的是显示当前目录下的内容,同时在ls指令集合中他还可以包含很多种选项。今天我们扩展的ls指令并不会太多,只有2~3个,同时也希望大家能够熟记

(1)ls -l(可以简写成ll)

 补充知识点:

  • 我们新建的文件是存储在磁盘上的,当我们创建的文件并没有写入任何内容时,他仍然是存储在磁盘上的。这是因为一个文件所占空间的大小是等于文件属性加文件内容。
  • 像上图所显示的,即使是一个空的文件它的属性(文件权限、大小、创建时间等)都是用字符串来描述和记录的,而这些都是永久保存的,因此它仍然是存储在磁盘上。
  • 此外属性也是数据,是数据也就需要保存。当我们文件显示文件内容占据的大小时,实际应该是大它的,因为还有它的属性值。

讲到这或许有很多小伙伴不能理解为啥需要扩展这些内容,这是应为在未来我们对文件的操作(指令或编程)无外乎是两个部分:属性和内容。因此未来我们进行相关操作时,只需分清这两个目的即可。

例如上述中的ls和ls -l指令显示的都是文件的属性(ls是显示文件名属性;ls -l是显示更多属性),这两个指令适用于对属性操作的。

(2)ls -la指令(是ls -l -a的简写)

 显示所有文件(包括隐藏文件),在linux中以开头的文件属于隐藏文件。

那么在这里一个点和两个点分别表示的是什么含义呢?(关于这个问题我们将留到pwd扩展知识中在进行详细讲解)

 (3)ls + 指定目录名

表示显示的是该目录中的此指向目录中的内容(不包含隐藏文件),如果不是在当前路径下的文件是无法访问的

(4)ls -ld(ls -l -d的缩写)+ 指定目录名

 只显示当前目录中的指定目录文件的属性

3.pwd指令扩展知识

用户当前所处的默认所对应的路径

通过观察Windows和linux路径的显示他们中间每个文件夹都是通过\(win)或/(lin)来进行分割的,而这种操作符我们称之为路径分隔符

结论:两个路径分隔符之间一定是一个目录(文件夹),分隔符的末尾一定是一个普通文件或文件夹。

问题:问什么系统中一定需要有路径来标识文件?

在回答该问题时,我们需要给予如下认识:

  • 路径的作用是在系统层面来标识一个特定的文件
  • 路径必须要有唯一性(相同文件名不能同时存在一个相同的目录,但可以在不同的层集中)

1.cd命令式进行路径切换的,我们首先查看当前使用者是谁(命令:whoami

可以看到使用的人是我们的小风。

2.隐藏文件的含义

  • 在linux任何目录中都含有这两种隐藏文件
  • 一个点指向当前目录
  • 两个点指向上级目录

但我们一直进行返回上级目录的操作直至目录结构不再发生改变时,此时的目录我们称为根目录—>'/'

3.目录标识符

在我们的目录文件中,通过ls -l现实的文件中以d开头的文件表示这是一个目录文件,例如下图所展示的根目录文件

结论:linux整个目录文件是一个多叉树结构

因此一个目录中可以含有多个子目录,而每一个子目录只能对应一个父目录。由此构成了路径的唯一性。

5.路径

绝对路径:由根目录到当前目录的路径结构成为绝对路径

到这里呢我们在回到最初的问题当中(为什么需要有路径?)

  • 首先我们操作的对象是文件,而操作该文件的前提条件是能够找到它
  • 其次我们该如何找到它呢,那首先每个文件的位置得满足具有唯一性,也即我们可以通过这个文件的路径去搜索
  • 因此我们需要路径来标识每个文件,一边对文件进行查找

当讲解完上述这么多内容时,我们同时也扩充了许多的命令和知识,但其实我们还遗留了一个似乎并不起眼的问题:目录中的一个点究竟有什么实质性的作用呢?

我们只知道它是指向当前目录,但这似乎有些多余,其实则不然。当我们直接想查找当前目录中的某个文件时,如果直接输入文件名,系统会显示是查找不到的,这是因为系统也不知道这个文件是在哪个地方,因此需要有一个符号来进行标识它是在当前目录中的

因此一个点的作用如下(重点):

  • 标识需查找文件的位置,说明它是当前目录下的文件(相对路径:同过.或..按照当前目录进行描述搜索的路径
  • 而如果查找的文件并非是一个目录而是一个普通文件时,'./' 所表示的含义是执行当前文件

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

whelloworldw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值