Linux系统

Linux系统

Linux内核最-初只是由芬兰人林纳斯-托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux系统是一套免费使用和自由传播的类Unix操作系统,是一个PosIX和Unix的多用户,多任务,支持多线程的和多cpu的操作系统。
主要特性编辑

基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行.
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
在这里插入图片描述

Linux系统启动过程

内核的引导
运行init
系统初始化
建立终端
用户登陆系统

init程序的类型

  • SYSVs:init,CentOS5之前,配置文件:

/ect/inittab

  • Upstart:init,CentOS6,配置文件

/ect/inittab,/ect/init/*.conf

  • Systemd:systemd,CentOS7,配置文件
  • /usr/lib/systemd/system 、/ect/systemd/system

内核引导

当计算机打开电源后,首先BIOS开机自检,按照BIOS中设置的启动设备来启动。
操作系统接管硬件后,首先读入/boot目录下的内核文件。

运行init

init进程是系统所有进程的起点,你可以把他比拟成系统所有进程的老祖宗,没有这个进程系统中任何进程都不会启动。
init程序首先是读取配置文件/ect/initab

运行级别

许多程序需要开机启动。他们在Windows叫做服务,在Linux就叫做守护进程(daemon)
init检查的一大任务就是去运行这些开机启动的程序。
但是,不同场合需要启动不同的程序 ,比如用作服务器时,需要启动Apache,作用桌面就不需要。

Linux系统有7个运行级别

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
  • 运行级别2:多用户状态(没有NFS)
  • 运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登录后进入GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

系统初始化

在init的配置文件中有这么一行:si::sysinit:/ect/rc.d/rc.sysinit 它调用了执行 /ect/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要完成一些系统初始化的工作,rc.sysinit是每个运行级别都要首先运行的重要脚本。
主要完成的工作

激活交换分区,检查磁盘,加载硬件模块以及其他一些需要优先执行任务。
15:5:wait:/etc/rc.d/rc 5
这一行表示以5位参数运行/etc.rc.d/rc ,/etc/rc.d/rc 是一个shel脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/目录下所有的rc启动脚本,/etc/rc.d/rc5.d/目录的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。

在这里插入图片描述

建立终端

rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登陆系统

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

用户登陆系统

一般来说,用户的登陆方式有三种:

  • 命令行登陆
  • ssh登陆
  • 图形界面登陆

命令行登陆
在Linux服务器发行版中都是使用命令行登陆
用户登陆

##Linux关机
在Linux领域大多数用在服务器上,很少遇到关机的炒作。毕竟服务器上跑一个服务器是永无止境的,处非特殊情况下,不得已才会关机。
正确关机的流程为:sync>shutdown>halt
关机指令为:shutdown

sync 将数据由内存同步到硬盘中。

shutdown 关机指令,可以使用man shutdown 来查看帮助文档

shutdown -h 10 'This serverwill shutdown after 10 mins' 这个命令告诉大家,系统会在10分钟后关机

shutdown -h now 立马关机

shutdown -h 20:25 系统绘制今天20:25关机

shutdown -r now 系统立马重启

reboot 就是重启,等同一 shutdown -r now

halt 关闭系统

##Linux系统目录结构
登陆系统后,在当前命令窗口下输入命令:

ls /
[root@localhost ~]# ls /

  • /bin :
    bin是Binary的缩写,这个目录存放着最经常使用的命令。

  • /boot
    这里存放的是 启动Linux时使用的一些文件,包括一些链接文件以及镜像文件。

  • /dev:
    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc:
    这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:
    用户的主目录,在linux中,每个用户都有一个自己的目录,一般该目录名是以用账户名命名

  • /lib:
    这个目录里存放系统最基本的动态链接共享库,其作用类似Windows里的Dll文件。

  • /lost+found:
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt:
    这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:
    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  • /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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值