0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux是什么以及它来自何处

strongerHuang 来源:CSDN 作者:CSDN 2020-11-01 11:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

你知道哪个操作系统是世界上最受欢迎的操作系统吗?是Linux!它一般运行于服务器和超级计算机上,我们日常访问网站背后的数百万台服务器很有可能运行着的操作系统就是Linux。在本文中,我们将学习Linux是什么以及它来自何处,常用的Linux知识以及想要在这个令人兴奋的平台上畅游所需的命令。

1

什么是Linux? 就像Windows或Apple的mac OS一样,Linux也是一个操作系统。操作系统是管理计算机中不同设备和应用程序软件的集合。举例来说,其中的部分软件负责着关闭、启动计算机,有些软件提供与键盘和鼠标等设备交互界面等功能。

学习使用Linux系统是熟悉命令行的绝佳机会,命令行是与计算机进行通信的最明确的方式。此外,当你尝试不同的项目时,你将会学习软件仓库,程序包管理,文件权限,用户管理等更多信息。如果你有使用npm和GitHub的经验,那么程序包管理和软件仓库可能是你已经熟悉的概念。

2

为什么Linux如此流行? Linux在企业计算,大数据和科学(联想下超级计算机)世界中独树一帜。主要原因如下

Linux是免费的。你不需要为使用Linux而付费,你可以自由查看,编辑和分发源代码。当你购买装有Windows或macOS的计算机时,这些操作系统的费用其实已包含在价格中。

Linux是灵活的。Linux被用于许多不同类型的计算机中,包括智能烤面包机和冰箱,其他物联网设备,互联网路由器,Android智能手机等,简直不胜枚举。你现在可以立即在笔记本电脑或台式机上安装Linux,而无需进行任何设置即可启动和运行!这种灵活性之所以成为可能,是因为Linux操作系统被设计为既可以简单地完成一项工作又能使用功能更完善的工具来完成工作。你可以组装一个适用于你的设备并针对你的需求进行过优化的Linux版本。

3

Unix哲学

Linux是一个“类Unix”操作系统,这意味着它的大部分功能派生自Unix操作系统,并且通常遵循Unix的设计原则。理想的Unix程序是简单,模块化和可扩展的。Unix程序确实能很好地完成一些任务,并且被设计为可以与其他程序很好地协同工作,而不必依赖太多其他程序。该系统通过利用程序的协作而变得强大,而不是因为程序本身超级强大。

关于Linux,我最喜欢的一点是一切都是文件。你在终端中运行的命令和程序被抽象成文件。用来快速打开自己喜欢的应用程序的桌面图标也被抽象成文件。系统检查应用程序更新的代码库如何处理?当然也是写在文件里。所有可能导致混乱的都可以用文件解决。Linux就是这么透明、富有动力和优雅。你可以想象一下,你可以随心设置自己的Linux安装程序,同时拥有对系统的完全控制权,只要你想要的,完全甩掉你不想要的,这非常酷炫!

这些原则如实地说明了Linux的灵活性。怪不得它被用于许多应用中。

4

一切都是文件,文件是一切的最终归宿

接下来,我将向你展示Linux中的典型系统树或文件系统层次结构。你可以在我的其他文章中(https://dev.to/emtes/learning-data-structures-trees-2p5g)阅读有关树状数据结构的更多信息。如果你要在自己的Linux系统上进行操作,你的目录可能跟我的不完全一样,可能具有更多或更少的目录。如果你想详细了解这些目录(文件夹),请在Linux终端中敲入man hier并运行该命令来阅读手册。我个人的习惯是,将喜欢的搜索引擎放在附近,以随时查找我不知道含义的新名称。

/这是根目录(文件夹),文件系统树(数据结构)的根 /bin包含二进制文件,系统启动需要的可执行程序 /boot包含机器启动时所需的内核和文件 /dev包含设备节点,与连接到计算机的物理设备一起使用的指令/接口 /etc包含系统范围的配置文件(发音为etsy),大型软件包(如gtk,python,X11)一般也在此处存储配置文件。 /home包含系统用户的目录(每个用户的下载,图片等) /lib包含启动计算机的核心程序所必需的共享库 /lost+found包含由于系统崩溃或驱动器错误而放错位置的数据 /media包含用于USB,CD和DVD等媒体设备的安装点 /mnt是临时文件系统的挂载点(例如用来安装系统的内容) /opt包含程序的其他程序包。在我的机器中,Google Chrome和Minecraft Launcher将文件保存在此处。 /proc包含与内核和正在运行的进程有关的文件 /tmp包含在执行程序时可能创建的临时文件 /usr包含一个次要的只读系统树,用于与某些程序共享或用于安装在其他Linux系统上。上面存在许多目录也存在这里,并包含一些其他文件 /var包含随时间变化其大小发生变化的文件,例如日志和备份 如果你经常使用Linux,可能偶尔会觉得需要在某个奇怪的目录中编辑或写入文件。我希望当你知道这些目录名称的通常含义后可以对你有所帮助!

5

命令行基础

之前我说过“与Linux机器通信的最明确的方法是命令行”,我是认真的。接下来,让我们开始学习一些基本的命令行或终端命令,这些命令将使你开始熟悉系统。如果你当前使用图形用户界面进行开发,当你熟悉命令行后,你可能会发现从终端执行操作会更加快捷和安全。

你和终端之间有一个名为shell(可以理解为操作系统内核外围的壳)的程序。Shell是解释文本命令并将其发送到操作系统以执行的程序。最常见的shell程序是Bash,大多数Linux发行版中都包含该程序。对于macOS用户来说,Apple最近将macOS的Shell程序切换为zsh。macOS实际上也是一个类似Unix的操作系统。当然你也可以随意更改shell!

6

终端命令的结构

因为文章已经论述的够多了,所以我不会在这篇文章中分享太多命令,要注意的是学习模式更为重要。通常,终端命令遵循非常相似且可预测的结构:

program_name [--optional flags] [optional arguments]

标志(flag)可以出现在参数之后,并且通常缩短到一个字母和一个破折号,例如-f。标志是更改程序行为方式的选项。比如-h或者--help是常用的帮助性质的标志,程序收到该标志后会提供给你哪些标志可供使用的信息。

参数通常是文件,但也可以是字符串和数字。

你可以从系统中任何目录调用程序,也可以将系统中任何目录的文件用作参数。你可以这么做的原因是你可以在Linux中使用相对或绝对路径来命名文件。相对路径是相对于当前目录的,你可以使用.表示当前目录(下文会详述)。绝对路径从系统根目录/开始,你需要指明每一级的目录以获取所需的文件。

7

命令索引

pwd打印你当前所在的目录(print working directory,即打印工作目录)

cd将目录更改为你指定的参数(changes directory)。如果不提供任何参数,则默认进入用户目录,你也可以在路径中使用~进行跳转。.和.. 分别代表当前目录和父目录,并且也是cd命令的有效的参数。

ls列出指定参数目录中的文件(list),默认参数为当前目录,即.。该-a标志可以非常方便地查看隐藏文件。在linux中,你可以通过以.开头的文件名称来隐藏文件以减少混乱,示例如.gitignore。

ls-a~/Documents

8

文件操作

mv 将文件或目录移动到你指定的目录(move)。

mvfun-letter.text~/Documents/letters/ 你还可以使用mv重命名文件和目录:mvfun-letter.txthilarious-letter.txt 其含义就是将其移动到名为新名称的位置

cp在指定目录中复制文件(copy)。使用-r标志递归复制目录,就像使用mv重命名文件一样,你可以使用类似的方法来重命名文件和目录。

mkdir创建新目录,其中新目录名称作为参数。你还可以使用-p标志在尚不存在的目录下建立新目录。

mkdir-pcode/web-stuff/htmlnotes

touch 创建新文件,其中文件名称作为参数。

你很快就会发现自己想要做更复杂的事情,因此请阅读这些命令的更多信息并保留备忘单。

8

日常使用的Linux

我不会说2020年将是Linux在台式机世界的元年,但我要分享的是,有许多Linux发行版已经能够做到开箱即用,我们可以使用非常简单的方法进行安装。如果你被Shell的功能所吸引,或者担心使用其他操作系统带来的隐私泄露风险,或者只是喜欢黑客攻击等技术,那么Linux很适合你。作为开发人员,这也是一个很棒的平台,因为它是在考虑其他开发人员的情况下制作的。Linux发行版(例如Ubuntu,Linux Mint和Fedora)可以快速启动并运行。这些发行版背后有着庞大的社区支持,社区成员很愿意帮助他人。我最后想提醒的是,记住备份所有重要的文件!

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux系统
    +关注

    关注

    4

    文章

    616

    浏览量

    30142
  • RTOS
    +关注

    关注

    25

    文章

    869

    浏览量

    123209
  • 应用程序
    +关注

    关注

    38

    文章

    3346

    浏览量

    60418

原文标题:Linux 和 RTOS 有什么区别?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一文搞懂Linux权限体系

    Linux权限体系是运维工作的基础中的基础。无论你管理的是单机还是集群,权限问题导致的故障占总故障量的相当比例。本文从一线运维视角出发,系统讲解Linux权限模型的核心概念、常见场景、排障方法以及安全最佳实践。阅读本文后,你应该
    的头像 发表于 04-09 10:04 172次阅读

    Linux文件删除的底层原理和恢复方法

    rm -rf 大概是 Linux 世界里杀伤力最大的命令,没有之一。手一抖、路径一错、通配符一飘,几个 G 的数据就没了。更要命的是 Linux 默认没有回收站机制,rm 删掉的文件不会像 Windows 那样安静地躺在回收站里等你反悔——
    的头像 发表于 02-11 09:14 891次阅读

    请问没有用到的I/0如何处理?

    没有用到的I/0如何处理?
    发表于 01-12 06:29

    分享一个Linux音频开发实用站:ALSA项目官网使用指南

    功能,背后都有的支持。今天就简单分享下ALSA的官方网站,以及上面实用的内容模块,尤其适合开发者来找资源、寻帮助。 一、官网核心内容模块,快速get关键信息 打开官网(https
    的头像 发表于 12-10 07:03 760次阅读
    分享一个<b class='flag-5'>Linux</b>音频开发实用站:ALSA项目官网使用指南

    Linux-RT特点及简单应用

    以及使用适当的API来创建和管理任务。以下是在Linux-RT上创建和管理实时任务的一般步骤: 选择合适的调度策略:Linux-RT内核支持多种调度策略,包括FIFO(先进先出)、RR(轮转)和其他实时
    发表于 12-05 07:37

    如何通过交替式几何处理实现更优的多核 GPU 扩展

    在理论上,通过增加更多GPU核心来提升性能似乎很简单:核心越多,性能越强。但在实践中,这是图形架构领域最棘手的挑战之一。虽然某些工作负载因其独立特性能实现良好扩展,但另一些工作负载(尤其是几何处
    的头像 发表于 12-01 10:12 776次阅读
    如何通过交替式几<b class='flag-5'>何处</b>理实现更优的多核 GPU 扩展

    Stduio使用wifi模块出错如何处理?

    外设为潘多拉IOT开发板,使用Stduio配置了wifi框架,但是代码里在配置wifi模式时,没有找到wlan0这个设备,wifi整个功能也用不了,请问应该如何处理。使用正点原子资料包里的rtthread测试demo,wifi工作正常,wifi模块硬件没有问题。
    发表于 10-10 08:18

    NUC972DF62Y LCD FIFO欠载中断如何处理?

    我使用 NUC972DF62Y 并使用 LCM 和 GE2D 模块。 是什么原因导致 FIFO 欠运行中断,我必须如何处? 清除旗帜UNDERRUN_INT后,再次设置。
    发表于 08-29 07:44

    静力水准仪在测量过程中遇到误差如何处理?

    静力水准仪在测量过程中遇到误差如何处理?静力水准仪在工程沉降监测中出现数据偏差时,需采取系统性处理措施。根据实际工况,误差主要源于环境干扰、设备状态、安装缺陷及操作不当四类因素,需针对性解决。静力
    的头像 发表于 08-14 13:01 1049次阅读
    静力水准仪在测量过程中遇到误差如<b class='flag-5'>何处</b>理?

    请问中断过多的时候进入硬件错误如何处置?

    中断过多的时候进入硬件错误如何处置?是加看门狗还是加硬件错误处理?
    发表于 07-21 06:11

    华为工程师总结Linux笔记

    Linux内核命名规则。 1.1 为什么要学习 Linux 我们为什么要学习 Linux?我们目前的处境是什么?我们想达到什么样的目标?在谈到这三个问题时,相信每个人都有自己的答案,我们
    发表于 07-14 15:28

    Linux系统管理的核心概念

    在前一篇文章中,我们深入探讨了Linux中的文件操作命令,如cp、mv、rm,以及文本处理命令grep、wc和管道符。本文将继续深入Linux系统管理的核心概念,包括root用户的角色、用户和用户组
    的头像 发表于 05-15 17:05 822次阅读

    Linux权限管理基础入门

    Linux的广阔天空中,权限管理犹如一只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效防止未授权访问和数据泄露。本文将带你深入探索Linux权限的奥秘,助你成为权限管理的高手
    的头像 发表于 05-06 13:44 915次阅读
    <b class='flag-5'>Linux</b>权限管理基础入门

    Linux主要的性能有哪些?

      什么是Linux?   Linux是一套自由传播的类Unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。的基本思想有两点,一切都是文件和每个软件
    的头像 发表于 04-30 18:09 765次阅读
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    Linux系统用户权限详解

    Linux 是一种开源的、基于 Unix 的操作系统,因其灵活性、稳定性和高性能而广泛应用于服务器、嵌入式系统、超级计算机、桌面计算等领域。
    的头像 发表于 04-25 10:56 1076次阅读
    <b class='flag-5'>Linux</b>系统用户权限详解