Linux入门浅谈
技术的价值不在于这个技术有多么高超,而在于技术本身给我们带来什么。
为什么要学Linux?
Linux应用范围非常广,工作中经常遇到Linux系统的设备
Linux下个各种工具基本上都是免费的,更方便。
- 路由交换通讯设备
- 企业服务器(WEB、数据库)
- 嵌入式系统(物联网设备、智能家居)
Linux的老大哥:Unix
20世纪60年代的计算机:
早期计算机体积庞大,要发达国家的政府、军方、才能拥有
系统特点:一次只能跑一个任务,是单用户、单进程系统
Unix1969年诞生,萌芽于贝尔实验室,因“星际旅行”游戏而生
Unix之父:
丹尼斯•利奇(Dennis M Ritchie)
肯•汤普森(Kenneth Lane Thompson)
Unix特点:
- 多用户、多任务操作系统,允许多人同时访问计算机,同时运行多个任务。
- Unix系统具有稳定、高效、安全、方便、功能强大等诸多优点,自20实际70年代开始便运行在许多大型和小型计算机上。
- 只能在工作站或小型机上,价格昂贵,对普通用户来说是可望不可及的,这为后来的Linux崛起提供了机会。
Linux是一个类Unix操作系统
主流的Unix系统有单重,分别是AIX、HP-UX、Solaris
共同特点:分别运行在各自的Unix服务器上,这些Unix服务器自成体系,有自己生产的CPU、内存、主板等,且Unix系统互不兼容。
1991年Linux诞生,由芬兰赫尔辛基大学学生Linux Torvalds在本校用于系统教学的Minix系统基础上开大的类UNIX操作系统。
Linux自诞生以来,凭借其稳定、安全、高性能和高扩展性等优点,得到了广大用户的欢迎 。
Linux的开源模式,赢得世界的关注,也促进了Linux迅速发展壮大。
Linux操作系统的特点
- 开放性
- 完全免费
- 多用户
- 多任务
- 良好的用户界面
- 设备独立性
- 提供了丰富的网络功能
- 可靠的系统安全性
- 良好的移植性
Linux系统的版本
Linux的版本分为两类:内核版本和发行版本
内核版本(Kernel)
内核是系统的心脏,是运行程序和管理像CPU和内存等硬件设备的核心程序,它提供了一个在裸设备和应用程序间的抽象层。
Linux内核版本号规则:主版本.次版本号.修正号
主版本号和次版本号一起标志着重要的功能变动,修正号表示较小的功能变更。
次版本号=偶数 代表 稳定版内核
次版本号=奇数 代表 测试版内核
例如:2.6.18-128
第一个组数字:主版本号
第二个组数字:次版本号,偶数表示稳定版
第三个数字:修订版本号,表示修正的次数
头两个数字何在一起可以描述内核系列,如稳定版的2.6.18,它是2.6版内核系列
Linux可以用一下命名查看版本信息:
cat /proc/version
bug132294@Mrzhao:~$ cat /proc/version
Linux version 5.3.0-28-generic (buildd@lcy01-amd64-009) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020
cat /etc/issue
bug132294@Mrzhao:~$ cat /etc/issue
Ubuntu 18.04.4 LTS
l
uname -a
bug132294@Mrzhao:~$ uname -a
Linux Mrzhao 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
发行版本(Distribution)
发行版是由发行商结合一系列的应用程序打包发售时的编号,一个完整的Linux系统由“内核程序+系统程序+应用程序”组成
不同发行版间最大的区别:外层应用程序包不同及对应的包管理模式不同
两大系列 | 主要版本 | 包名 | 管理工具 | 处理单个软件包 | 装包例子 |
---|---|---|---|---|---|
debian | Ubuntu | .deb | apt-get、apt | dpkg | apt install pkgname |
redhat | CentOS | .rpm | yum | rpm | yum -y install pkgname |
Redhat
使用人群广、稳定性高、适合服务器,但是商业版需要付费。
Redhat有两大Linux产品系列
免费的桌面版本:Fedora Core
收费的企业版:Enterprise,拥有AS/ES/WS等分支
Red Hat企业版Linux AS(Advanced Server)超级服务器版,是企业Linux解决方案中最高端的产品(唯一支持IBMI系列、P系列、Z系列的Linux)
CentOS
RHEL(Redhat)的社区克隆版本,免费、简约、稳定、有着强大的英文文档与开发社区的支持,常用于服务器。
常见版本:
centos 7:2014年7月7日正式发布,企业级的Linux发行版本
centos 8:2019年9月35日发布
查看发行版本信息:
lsb_release -a
bug132294@Mrzhao:~$ lsb_release -a
LSB Version: core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
cat /etc/redhat-release
(注:这种方法只适合Redhat系)
Ubuntu
特点:界面非常友好,容易上手,对硬件的支持非常全面,适合桌面系统
版本举例:
Ubuntu 19.10 (Eoan Ermine)
Ubuntu 18.04.3 LTS (Bionic Beaver)
LTS:(Long Term Support)长期支持版本
如何学习Linux
-
抱着良好的心态去学习
不要“死”记命令,有问题找“男人(man)”、“度娘”
查看命令和参数的用法,举例:man + 命令
授人以鱼不如授人以渔
如何有效解决各种执行命令报错问题,先学会提炼问题,再找“度娘”
-
合适的学习方式和教材
《鸟哥的Linux私房菜》、《Linux就该这么学》
学习网站:Linux中国(https://linux.cn/)、Linux公社(https://www.linuxidc.com/)
-
多动手实践
慎终如始,则无败事。
Linux文件目录结构
LiNUX哲学:一切都是一个文件(包括硬件)
Linux重要文件目录
Linux文件管理特点:数据存放和组织事先约定好了,层次分明,结构清晰。
/boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
/dev
存放Linux的外部设备,在Linix中访问设备的方式和访问文件的方式是相同的
/dev下存储设备的命名
Linux将硬盘分为两类:
第一类:传统的IDE硬盘,使用“hd”标示
第二类:SATA、SCSI、USB移动硬盘、U盘,用“sd”标示
举例1:IDE硬盘
第一块IDE槽的Master上的硬盘为:/dev/hda
第二块Salve上的硬盘为:/dev/hdb
举例2:SATA、SCSI硬盘
/dev/sda1:第一个硬盘的第一个主分区
/dev/sda2:第一个硬盘的第二个主分区
/dev/sdb1:第二个硬盘的第一个主分区
/dev/fd0:软盘驱动器
/dev/cdrom:光盘驱动器
/etc
这个目录用来存放所有的系统管理所需要的配置文件和子目录
/etc/rc、rc.d、rc?.d
启动或改变运行级别时运行的脚本或脚本的目录
/etc/passwd
用户数据库,包含:用户名、真实姓名、用户起始目录、加密口令和用户的其他信息
/etc/fstab
指定启动时需要自动安装的文件系统列表
/etc/group
类似/etc/passwd,但这是用户组的信息,包括组的各种数据
/etc/inittab
init的配置文件
/etc/shadow
口令文件,口令文件将/etc/passwd文件中的加密口令移动到/etc/shadow中而后者只对超级用户(root)可读
/usr
存放用户安装的应用程序,类似于windows下的program files目录
/usr/local
本地系统管理员软件安装目录,这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录
/usr/bin
集中了大量程序的运行命令,是系统的软件库(系统)
/usr/sbin
超级用户(root)的一些管理程序
/usr/lib
常用的动态链接库和软件包的配置文件
/usr/src
源代码,Linux的内核的源代码就放在/usr/src/linux
/usr/local/bin
用户本地增加的命令
/usr/local/lib
本地增加的库
/var
存放会不断扩充的文件,包括各种日志文件,我们习惯将经常需要修改的文件放在这个目录下
/var/log
系统日志
常见的系统日志如下:
/var/log/secure
安全信息和系统登录与网络连接信息
/var/log/dmesg
核心启动日志
/var/log/utmp
记录现在登入的用户
/var/log/messages
系统报错日志
/var/log/wtmp
记录所有的登入和登出
/var/log/maillog
邮件系统日志
/var/log/lastlog
记录每个用户最后的登入信息
/var/log/xferlog
FTP系统日志
/var/log/btmp
记录错误的登入尝试
/bin
bin是Binary的缩写,存放二进制可执行文件(ls,cat,mkdir等),常用命令一般在这里
/home
存放所有用户的文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib
这个目录存放着系统最基本的动态连结共享库,其作用类似于Windows里的dll文件,几乎所有的应用程序都需要用到这些共享库
/root
超级用户(系统管理员)的主目录
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
/tmp
这个目录是用来存放一些临时文件的