Linux 初步
前言
学习参考
- 菜鸟教程网:https://www.runoob.com/linux/linux-tutorial.html
- Linux官网: https://www.linux.org/
Linux简介
由来和定义
Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU 的操作系统。
Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
应用领域
当下各种场合都在使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。
Linux与Windos
目前, Linux 主要应用于服务器(后端)上,而桌面操作系统(前端)更多使用的是Windows。区别如下:
| 比较 | Windows | Linux |
|---|---|---|
| 界面 | 界面统一,外壳程序固定所有 Windows 程序,菜单基本一致 | 图形界面风格依发布版本不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也基本一致 |
| 驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛 | 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解 |
| 使用 | 图形化界面对没有计算机背景的用户十分友好 | 命令行界面,需要学习才能掌握 |
| 学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易 |
| 软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权 | 大部分软件都可以自由获取,同样功能的软件选择较少 |
Linux命令
学习参考
- Linux命令全集:https://www.runoob.com/linux/linux-command-manual.html
- Linux常用命令全拼辅助记忆:https://www.runoob.com/w3cnote/linux-command-full-fight.html
关于Shell
什么是shell
来看看shell的英文解释:the hard outer covering of something,中文意思就是“外壳”。在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS操作系统下的COMMAND.COM和现在的cmd.exe。它接收用户命令,然后调用相应的应用程序。
- Shell(外壳) 是用 C 语言编写的程序,它是用户使用 Linux(内核) 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
- Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson(肯·汤普森) 的 sh 是第一种 Unix Shell。如下图所示,Windows的 explorer.exe 是一个典型的图形界面 Shell。
学习shell
学习参考
- 菜鸟教程:https://www.runoob.com/linux/linux-shell.html
- 在线编辑器:https://www.runoob.com/try/runcode.php?filename=helloworld&type=bash