带你全面认识 Linux

2023-05-16

点击上方“大鱼机器人”,选择“置顶/星标公众号”

福利干货,第一时间送达!

来源:CSDN(ID:CSDNnews)

作者:arvin

译者:Enmanuel,责编 | 屠敏

以下为译文:

你知道哪个操作系统是世界上最受欢迎的操作系统吗?是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中的典型系统树或文件系统层次结构。如果你要在自己的Linux系统上进行操作,你的目录可能跟我的不完全一样,可能具有更多或更少的目录。如果你想详细了解这些目录(文件夹),请在Linux终端中敲入man hier并运行该命令来阅读手册。我个人的习惯是,通过搜索引擎随时查找我不知道含义的新名称。如果你经常使用Linux,可能偶尔会觉得需要在某个奇怪的目录中编辑或写入文件。下面罗列出一些目录名称的通常含义,希望对你有所帮助:

  • / 这是根目录(文件夹),文件系统树的根。

  • /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 包含随时间变化其大小发生变化的文件,例如日志和备份。

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)。

mv fun-letter.text ~/Documents/letters/

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

mv fun-letter.txt hilarious-letter.txt

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

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

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

mkdir -p code/web-stuff/html notes

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

如果你想要做更复杂的事情,可以阅读这些命令的更多信息。

9、日常使用的Linux

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

想了解更多,可以查阅 Linux 教程:https://www.runoob.com/linux/linux-tutorial.html。


原文:https://dev.to/emtes/so-linux-3i9k

本文为 CSDN 翻译,转载请注明来源出处。

免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除

-END-

往期好文合集

40+张最全Linux/C/C++思维导图,收藏!

Linux常用命令,超强万字总结!

2020 年最漂亮的 Linux 发行版

  最 后  

 

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带你全面认识 Linux 的相关文章

  • ubuntu 用root登录后没法使用chromium 的问题

    用root登录后启动chromium会出现错误 xff1a Google Chrome can not be run as root Please start Google Chrome as a normal user To run as
  • Linux下的XAMPP基本配置技巧(设置虚拟主机、添加FTP账户等)

    http www cnblogs com luoine archive 2011 03 09 1978096 html xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户 xff0c 这显然不符合我们平时的需求了 xf
  • 揭秘SQL优化技巧 改善数据库性能

    http www php100 com html webkaifa database Mysql 2011 1206 9438 html 这篇文章是以 MySQL 为背景 xff0c 很多内容同时适用于其他关系型数据库 xff0c 需要有一
  • mysql 5.0存储过程学习总结

    http www ccvita com 100 html mysql存储过程的创建 xff0c 删除 xff0c 调用及其他常用命令 mysql 5 0存储过程学习总结 一 创建存储过程 1 基本语法 xff1a create proced
  • SVN常用命令

    http sunjun041640 blog 163 com blog static 2562683220111154567740 1 将文件checkout到本地目录 svn checkout path xff08 path是服务器上的目
  • magento :如何在后台的form中添加内容可变的select filed

    如下图 xff1a 在product form中添加了一个attribute spot spotter xff0c 这个attribute可以选择某个已注册的用户 注意了 xff0c 由于这个attribute 的内容是动态变化的 xff0
  • STM32好找工作,所以学linux错了吗?

    不知道各位朋友有没有发现 xff0c 公众号改版了 xff0c 现在的推送规则已经不一定是按照时间顺序了 xff0c 有一些小伙伴甚至几天收不到消息 xff0c 要点进去公众号主页才能看到 所以 xff0c 为了账号不会从您的订阅表里面消失
  • MyISAM 与InnoDB 数据表类型区别

    http blog sina com cn s blog 5a8b8eb80100stge html InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型 xff0c 这两个表类型各有优劣 xff0c 视具体应用而定 基本
  • 手把手教你把Vim改装成一个IDE编程环境(图文)

    http blog csdn net wooin article details 1858917
  • Mysql-Master与Slave配置

    http database ctocio com cn 291 12219291 shtml 今天在ubuntu下进行了mysql的Master和Slave的简单配置 xff0c 基本上属于hello world的难度 xff0c 但是看起
  • 上海回来的一点感想

    1 上海不是一般的冷 xff0c 是非常冷 xff0c 上海回来的时候在上海都要穿毛衣了 xff0c 但广州还是短袖衣服 2 在上海足足吃了两个月的 大娘水饺 xff0c 几乎把那里的水饺品尝了一次 xff0c 结果发现还是素的水饺好吃 x
  • Linux日知录(常用问题笔记)

    http blog csdn net yizhu2000 article details 7068842 0 序言 日有一知 当有一录 自09年来 工作所需 接触开源平台 对Linux常有涉猎 其间问题 记录在案 虽为敝帚 不敢自珍 所记条
  • ubuntu postfix安装问题及解决办法

    http hi baidu com truetruelove blog item adf3099711b0f76454fb9653 html 从8月22日凌晨1点多熬到早上9点半 xff0c 终于搞定发信收信 实在郁闷 xff0c 刚接触p
  • Ubuntu smtp验证配置

    http blog itpub net post 11939 459273 在配置sendmail 的smpt验证时 xff0c 碰到了不少麻烦事 xff0c 最后总算搞定了 有时只是一些简单的操作 xff0c 却是因为没有文档 xff0c
  • Send mail using Gmail SMTP in Magento

    http blog goods pro com 486 replace mta with gmail smtp in magento 我能想到的也是大部分人能想到的 我想用gmail smtp server代替magento内置的sendm
  • magento 中查看执行的sql语句

    在开发的时候 xff0c 经常需要看到magento所生成的sql语句 xff0c 一般来说分为以下的两种情况 xff1a xff08 1 xff09 只需要查看某个sql语句 xff1a collection of products 61
  • 如何学习技术?

    http blog csdn net heiyeshuwu article details 6920880 文章来自baidu NY 同学的邮件 xff0c 整理发出 1 想学的技术非常多 xff0c 该怎么办 xff1f 区分重点 xff
  • 终于等到你!2020年电子设计竞赛来了!

    刚刚 xff0c TI官方发布了电赛的通知 xff0c 如下 关于支持合作赛区 举办2020年TI杯 省级大学生电子设计竞赛的通知 根据部分合作赛区的要求和倡议 xff0c TI从2008年开始支持合作赛区举办TI杯省级大学生电子设计竞赛
  • mysql导入数据时的外键约束问题

    当导入数据的时候 xff0c 经常会出现报告外键错误 xff0c 这是由于table中有外键约束 xff0c 但导入数据时数据可能还没完整 xff0c 所以会出现这样的错误 这个问题可通过FOREIGN KEY CHECKS解决 xff0c
  • Ubuntu7.10 vi/vim搭建超级c/c++编程环境

    http blog chinaunix net u 30958 showart 507405 html 在没有怎么太深的接触vi vim之前 xff0c 也曾经搞不懂为什么有好多linux下的程序员说vi vim是个超级的代码编辑器或者编译

随机推荐

  • Vim 复制粘贴探秘

    http www cnblogs com mo beifeng archive 2011 09 07 2170011 html Vim作为最好用的文本编辑器之一 xff0c 使用vim来编文档 xff0c 写代码实在是很惬意的事情 每当学会
  • mysql developer 知识结构思维导图(多图 )

    通过了Sun Certified MySQL Developer SCMDEV xff0c 最大的感触就是对mysql的知识进行了一次全面的梳理 xff0c 而且狠狠地画了N张思维导图 xff0c 过了一把瘾 注意 xff1a 有可能在浏览
  • mysql性能的检查和调优方法

    来源 xff1a http www sudone com linux mysql debug html 我一直是使用mysql这个数据库软件 xff0c 它工作比较稳定 xff0c 效率也很高 在遇到严重性能问题时 xff0c 一般都有这么
  • gvim中文乱码解决方案

    http www cnblogs com login007 archive 2011 09 14 2176764 html 这东西没必要记在脑子里面 xff0c 还是贴这里备用把 set fileencodings 61 utf 8 gb2
  • magento中单例模式的变形实现

    单例模式确保某一个类只有一个实例 xff0c 而且自行实例化并向整个系统提供这个实例 这个类称为单例类 单例模式的要点有三个 xff1b 一是某个类只能有一个实例 xff1b 二是它必须自行创建这个实例 xff1b 三是它必须自行向整个系统
  • Linux下chkconfig命令详解

    http www cnblogs com panjun Donet archive 2010 08 10 1796873 html chkconfig命令主要用来更新 xff08 启动或停止 xff09 和查询系统服务的运行级信息 谨记ch
  • VIM常用命令

    http bbs phpchina com thread 123131 1 1 html 常用的命令 xff1a d0 表示删除从当前光标到光标所在行首的内容 y 表示拷贝从当前光标到光标所在行尾的内容 d 表示删除从当前光标到光标所在行尾
  • C语言程序的内存布局

    http www cnblogs com chenyadong archive 2011 11 28 2266506 html C语言程序的内存布局 一 xff1a C语言程序的存储区域 C语言编写的程序经过编绎 链接后 xff0c 将形成
  • STM32学了很久,我还是不会做项目。

    关注 星标公众号 xff0c 不错过精彩内容 素材来源 xff1a 知乎 编辑整理 xff1a 张巧龙 知乎有人问 xff1a Stm32学了好久了 xff0c 感觉独立做项目还是有力不从心的感觉 从51开始学习 xff0c 到stm32
  • Gvim的字体、颜色、背景设置

    http apps hi baidu com share detail 5348127 很多朋友在使用Linux文本编辑器Gvim的时候 xff0c 遇到这样的问题 xff0c 字体太小 xff0c 或者想还一种自己个喜欢的字体 这可通过e
  • magento负载均衡使用同一个数据库的方法

    在magento的负载均衡策略中 xff0c 其中一个方法是有多台服务来跑同一份代码 xff0c 使用同一个数据库 例如 xff0c 有一台服务器A xff0c 网址是www a com xff0c 另外一台服务器B xff0c 网址是ww
  • 25个Apache性能优化技巧推荐

    http www php100 com html webkaifa apache 2011 0708 8411 html Apache 至今仍处于web服务器领域的霸主 xff0c 无人撼动 xff0c 没有开发者不知道 本篇文章介绍25个
  • Ubuntu 10.04 10.10 11.04 9.10 9.04 中文字体美化——安装雅黑

    http os 51cto com art 201109 288883 htm 刚接触Ubuntu xff0c 可能会觉得那中文字体怪怪的 xff0c 看着不顺眼 xff0c 没关系 xff0c 可以换成你看着顺眼的 xff08 伪Linu
  • 高级应用Magento-订单创建流程及程序代码

    出处 xff1a http www wemvc com 1606 html 老规矩 xff0c 直接看代码吧 下面的代码是如何通过程序创建一个完美订单 lt php require once 39 app Mage php 39 Mage
  • 精通递归程序设计

    http www ibm com developerworks cn linux l recurs html 计算机科学的新学生通常难以理解递归程序设计的概念 递归思想之所以困难 xff0c 原因在于它非常像是循环推理 xff08 circ
  • 优化Apache,提高并发

    http www yuansir web com 2011 10 24 E4 BC 98 E5 8C 96apache EF BC 8C E6 8F 90 E9 AB 98 E5 B9 B6 E5 8F 91 Apache 配置 xff1a
  • magento中的attribute 总结

    1 加载某个attribute xff1a attributeCode 61 Mage getModel 39 catalog resource eav attribute 39 gt load attrbuteId gt getData
  • magento项目中使用多个数据库的方法

    1 在app etc local xml 中 xff0c 添加新的数据库选项 lt xml version 61 34 1 0 34 gt lt Magento NOTICE OF LICENSE This source file is s
  • 为Ubuntu添加PATH环境变量

    http blog csdn net pang123hui article details 6452144 添加分两种 xff1a 一 临时性添加 echo PATH 显示当前环境变量 usr local sbin usr local bi
  • 带你全面认识 Linux

    点击上方 大鱼机器人 xff0c 选择 置顶 星标公众号 福利干货 xff0c 第一时间送达 xff01 来源 xff1a CSDN xff08 ID xff1a CSDNnews xff09 作者 xff1a arvin 译者 xff1a