Linux简介
- Linux是一种自由和开放源码的类UNIX操作系统
- Linux英文解释为:Linux is not Unix
- Linux是在1991年由林纳斯·托瓦兹在赫尔辛基大学上学时创立的
Linux 是开源的
Linux遵循GNU通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源码,也可以自由地修改和再发布。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。
Linux能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux的发行版
Linux的发行版简单来说就是将Linux内核与应用软件做一个打包。
Linux系统的启动过程
Linux的启动大致分为五个过程:
- 内核引导
- 运行init
- 系统初始化
- 建立终端
- 用户登录系统
内核引导
当计算机打开电源时,首先进行的时BIOS开机自检,当操作系统接管硬件之后,首先读入/boot目录下的内核文件。
运行init
init进程时系统所有进程的起点,init程序首先需要读取配置文件/etc/inittab
运行级别
许多程序需要开机启动,它们在Windows叫做“服务”,在Linux叫做“守护进程”。其中init进程的一大任务就是运行这些开机启动的服务。
Linux允许为不同场合,分配不同的开机启动程序,这叫做运行级别(runlevel)
Linux系统有7个运行级别:
- 0:系统停机,系统默认运行级别不能为0,否则不能正常启动
- 1:单用户工作状态,root权限,用于系统维护,禁止远程登录
- 2:多用户状态(没有NFS)
- 3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
- 4:系统未使用,保留
- 5:X11控制台,登陆后进入图形GUI模式
- 6:系统正常关闭并重启,默认运行级别不能为6,否则不能正常启动
系统初始化
系统初始化的主要工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行的任务。
建立终端
rc执行完毕后,返回init,这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。
Linux关机
Linux关机通常涉及如下的指令:
- 将数据由内存同步至硬盘中
- 关机指令
- 立刻关机
- 指定时间关机
- 十分钟后关机
- 系统立刻重启
*
reboot
halt
关机的时候,首先运行sync命令,将内存中数据保存到硬盘中,其次使用poeroff等指令关闭系统。
Linux 系统目录结构
系统树状目录包含如下文件夹:
- /bin
bin是Binaries(二进制文件)的缩写,这个目录存放着最经常使用的命令
- /boot
boot存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
- /dev
dev是Devic(设备)的缩写,该目录存放的是Linux的外部设备,在Linux中访问设备的方式与访问文件的方式是相同的
- /etc
etc是Etcetera(等等)的缩写,这个目录用来存放所有系统管理需要的配置文件和子目录
- /home
用户的主目录,在Linux中每一个用户都有一个自己的目录,一般该目录名都是以用户的账号名命名的
- /lib
lib是Library(库)的缩写,这个目录中存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
- /lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
- /media
Linux系统会自动识别一些设备,例如U盘或者光盘等,当识别后Linux会把识别的设备挂载到这个目录下
- /mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt上,然后进入该目录即可查看光驱中的内容了
- /opt
opt是Optional(可选)的缩写,这是给主机额外安装软件所摆放的目录,默认是空的
- /proc
proc是Processes(进程)的缩写,/proc是一种伪文件系统(即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这个目录不在硬盘中而是在内存里
- /root
这个目录是系统管理员的主目录
- /sbin
s就是Super User的意思,是Superuser Binaries(超级用户的二进制文件)的缩写,这里存放的是系统管理员使用的系统管理程序
- /selinux
这个目录是Redhat/Centos所特有的目录,Selinux是一个安全机制,类似于Windows的防火墙
- /srv
该目录存放一些服务启动后需要提取的数据
- /sys
sysfs文件系统继承了下面三种文件系统信息:针对进程信息的proc文件系统,针对设备的devfs文件系统以及针对伪终端的devpts文件系统
- /tmp
tmp是Temporary(临时)的缩写,这个目录是用来存放一些临时文件的
- /usr
usr是Unix Shared Resources(共享资源)的缩写,这是一个非常重要的目录,用户很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
- /usr/bin
系统用户使用的应用程序
- /usr/sbin
超级用户使用的比较高级的管理程序和系统守护程序
- /usr/src
内核源码默认的放置目录
- /var
var是Variable(变量)的缩写,这个目录中存放着不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件
- /run
是一个临时文件系统,存储系统启动以来的信息,当系统重启时,这个目录下的文件应该被删掉或清除,如果你的系统上有/var/run目录,应该让他指向run
Linux 文件基本属性
为了保护系统的安全性,Linux系统对不同的用户访问同一文件的权限做了不同的规定。
在Linux中我们通常使用以下两个命令来修改文件或目录所属用户与权限:
- chown 修改所属用户与组
- chmod 修改用户权限
在Linux中,我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组