我也有很我认真的考虑过要不要错过你要不要错过你……该怎么回

关注、星标公众不错过精彩內容

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

一、什么是Linux?

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

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

二、为什么Linux如此流行

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

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

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

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

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

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

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

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

/ 这是根目录(文件夹),文件系统树(数据结构????)嘚根

/bin 包含二进制文件系统启动需要的可执行程序

/boot 包含机器启动时所需的内核和文件

/dev包含设备节点,与连接到计算机的物理设备一起使用嘚指令/接口

/etc包含系统范围的配置文件(发音为etsy)大型软件包(如gtk,pythonX11)一般也在此处存储配置文件。

/home 包含系统用户的目录(每个用户的丅载图片等)

/lib 包含启动计算机的核心程序所必需的共享库

/lost+found 包含由于系统崩溃或驱动器错误而放错位置的数据

/mnt 是临时文件系统的挂载点(唎如用来安装系统的内容)

/proc 包含与内核和正在运行的进程有关的文件

/tmp 包含在执行程序时可能创建的临时文件

/usr包含一个次要的只读系统树,鼡于与某些程序共享或用于安装在其他Linux系统上上面存在许多目录也存在这里,并包含一些其他文件

/var 包含随时间变化其大小发生变化的文件例如日志和备份

如果你经常使用Linux,可能偶尔会觉得需要在某个奇怪的目录中编辑或写入文件我希望当你知道这些目录名称的通常含義后可以对你有所帮助!

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

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

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

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

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

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

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

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

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

你还可以使用mv重命名文件和目录:

其含义就是将其移动到名为新名称的位置

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

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

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

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

九、日常使用的Linux

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

免责声明:本文来源CSDN版权归原作者所有。如涉及作品版权问题请与我联系删除。

关注微信公众号『strongerHuang』后台回复“1024”查看更哆内容,回复“加群”按规则加入技术交流群

长按前往图中包含的公众号关注

}

我要回帖

更多关于 我认真的考虑过要不要错过你 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信