01-linux介绍
一、Linux简介
Linux内核最初只是由芬兰人林纳斯.托瓦兹在大学时出于爱好写出来的,是一套免费使用和自由传播的类Unix操作系统,是基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。Linux继承了Unix以网络核心的设计思想,是一个性能稳定的多用户网络操作系统。换句话说,Unix是Linux的前身,因为收费,才导致Linux的诞生。
Linux的发行版:
发行版说简单点就是将Linux内核与应用软件做一个打包:
目前知名发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
Linux系统启动过程
内核的引导-------运行init------系统初始化--------建立终端------用户登录系统
1、计算机打开电源,首先是BIOS开机自检,按照BIOS设置的启动设备(硬盘)来启动。操作系统接管硬件以后,首先读入/boot目录下的内核文件。
2、init进程是系统所有进程的起点,你可以把它当做系统所有进程的父亲,没有这个进程,系统其它进程都不会启动。init程序首先是需要读取配置文件/etc/initab。
运行级别:
许多程序需要开机启动,在windows上叫做服务(service),在Linux就叫做守护进程(daemon)
Linux系统有7个运行级别:
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
3、在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
4、rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。
5、一般来说,用户的登录方式有三种:(1)命令行登录(2)ssh登录(3)图形界面登录
图形模式与文字模式的切换方式
图像界面----------->文字界面:
按Ctrl + Alt + F1 ~ F6 虚拟机:Alt + Space + F1~F6
文字界面------------->图形界面:
Ctrl + Alt + F7 虚拟机:Alt + Shift + Ctrl + F1~F6
Linux关机
关机流程:
sync -> shutdown -> reboot -> halt
sync 将数据由内存同步到硬盘中。
shutdown –h now 立马关机 shutdown –r now 系统立马重启 reboot 重启 halt 关闭系统,等同于shutdown –h now 和 poweroff shutdown –h +10 十分钟后关机 shutdown –r +10 系统十分钟后重启 shutdown –h 20:25 系统会在今天20:25关机
注意:不管是关机还是重启,都需要首先运行sync命令,把内存中的数据写到磁盘中,防止数据丢失。
二、Linux系统目录结构
登录系统后,在命令窗口输入:
ls
树状结构:
/root:该目录为系统管理员,也称作超级权限者的用户主目录。 /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 /srv:该目录存放一些服务启动之后需要提取的数据。 /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。 sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 /tmp:这个目录是用来存放一些临时文件的。 /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 /usr/bin:系统用户使用的应用程序。 /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。 /usr/src:内核源代码默认的放置目录。 /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
有几个目录是比较重要的,平时注意不要误删或者随意更改内部文件。如果你更改了/etc目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。