Linux基础
一、Linux历史
Unix在1969年,美国贝尔实验室的肯汤普森在DEC PDP-7机器上开发出了UNIX系统。
Linux出现于1991年,是由芬兰赫尔辛基大学学生李纳斯·托瓦兹(Linus Torvalds)和后来加入的众多爱好者共同开发完成 。
Linux两大阵营:
Redhat系列 RedHat,SUSE,CentOS,Fedora等
Debian系列 Debian,Ubuntu等
主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
免费:RedHat 和CentOS差别不大,CentOS是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本
更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat那样需要花钱购买支持服务!
二、Linux的发行版
Linux的发行版说简单点就是将Linux内核与应用软件做一个打包
Ubuntu(图形化接口,个人用户操作比较良好)
RedHat(企业使用的比较多,图形化接口比较差,收费)
CentOS(免费、开源、图形化接口比较差)
Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS
三、Linux常识
(1)、Linux文件系统:倒置单树结构。
(2)、‘/目录/目录/文件’,第一个‘/’代表根,第二个‘/’代表分隔符。
(3)、对Linux(存在分区)用于而言只需知道按照根的方式,知道文件存放在哪个目录下即可,并不需要知道文件具体存放在哪个分区中。
(4)、命令执行
终端、命令提示符、命令、选项、对象
[root@localhost /root]#(非root用户为$)
四、Linux目录
bin(所有):是Binary的缩写,存放系统命令的目录,所有用户都可以执行
sbin(系统管理员):保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通 用户查看
usr:安装一些第三方应用程序,用户共享目录(user share directory),相当windows的program files目录,安装系统是所安装的软件的安装目录
etc:存放操作系统及应用程序配置文件
proc:虚拟文件系统,正在运行的内核信息映射,主要输出进程信息、内存资源信息、磁盘分区信息等等
sys:硬件设备的驱动程序信息
lib:存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。相当于windows中C:\Windows\System32
var:动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等
opt:给主机额外安装软件所摆放的目录,装完系统后你又需要安装其他的应用软件,一般是源码包的软件,可以自己指定路径,管理员习惯性的把软件按在这,你也可以安装在其他位置
home:普通用户的家目录
root:管理员的家目录
lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
srv: 服务启动之后需要访问的数据目录,存放一些服务启动之后需要提取的数据,如www服务需要访问的网页数据存放在/srv/www内
tmp:临时目录,存放文件不会超过七天,自动删除
boot:存放用于系统引导时使用的各种文件
dev:存放设备文件
media:Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了
selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
五、常用快捷键
CTRL+ALT+F2:命令行视图(Vm)
CTRL+ALT+F1:图形视图(Vm)
CTRL+SHIFT+++:终端窗口增大
CTRL+-:终端窗口缩小
CTRL+L:清屏
CTRL+A:光标移动到命令开始的位置
CTRL+E: 光标移动到末尾的位置
CTRL+U: 清除光标之前的所有命令
CTRL+R: 搜索历史命令
Ctrl+Z:将一个前台程序挂起至后台
Ctrl+C:结束某一进程
六、帮助信息
(1)、帮助信息:命令后加--help
(2)、显示全部相关帮助信息
man手册:命令、配置文件、系统调用、库信息,相关帮助信息,以文档的风格显示帮助信息
使用格式:man 命令,共有9本手册
重点:1、命令手册(普通用户命令,不包括系统管理员命令,与/bin相关)
系统调用手册
库调用手册
特殊文件手册(/dev,设备文件)
重点:5、文件格式手册(配置文件手册)
游戏手册
杂项(压缩、字符编码等)
重点:8、系统管理命令手册(与/sbin相关)(前八本为标准手册)
第九本相关内核手册,可能会并未被纳入
查看手册系统默认从第一本手册依次向后找,一本找到则不继续向后(注意命令可能会在多本手册中重复出现),阅读完毕按Q退出。可以在man和命令之间加数字,表示查找第几本手册
最小化安装手册不全:yum install man-pages
查找:输入键盘斜线,可以输入感兴趣的字符串,回车会匹配查找,按n从上往下匹配,N从上往下匹配
whatis 命令:可以查找在哪些手册中包含该命令
模糊查找:man -k pass,只要手册的名称或介绍包含pass字符串则会列出
(3)、info手册(风格像书籍)
偏向于开发人员使用,更加全,使用与man手册差不多
格式:info 命令
以*开头的都是超链接,按N下一章节,P上一章节
pinfo(yum install pinfo),风格偏向于man手册
(4)、/usr/share/doc/中会提供某些应用的帮助文档
七、Linux 系统启动过程
内核的引导
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
操作系统接管硬件以后,首先读入/boot 目录下的内核文件。
运行init
init进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。
init程序首先是需要读取配置文件/etc/inittab
系统初始化
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本
建立终端
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:
用户登录系统
命令行登录
ssh登录
图形界面登录
八、Linux中忘记密码
CentOS 6.X及之前
!进入单用户模式更改一下root密码即可
3 秒之内要按一下回车
然后输入e
在末尾输入 (single s S)其中的一个,有一个空格
最后按回车启动,启动后就进入了单用户模式了
此时已经进入到单用户模式了,你可以更改root密码了。更密码的命令为 passwd