跳转至

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关机通常涉及如下的指令:

  • 将数据由内存同步至硬盘中
sync
  • 关机指令
shutdown
  • 立刻关机
shutdown -h now
  • 指定时间关机
shutdown -h hh:mm
  • 十分钟后关机
shutdown -h +10
  • 系统立刻重启
shutdown -r now

* 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命令来显示一个文件的属性以及文件所属的用户和组