Linux从入门到精通

1Linux系统介绍
1.1.1 Linux系统简介-UNIX发展历史和发行版本
1.1.2 Linux系统简介-Linux发展历史和发行版本
1.2 Linux系统简介-开源软件简介
1.3 Linux系统简介-Linux应用领域
1.4 Linux系统简介-Linux学习方法
2安装虚拟机
2.1 Linux系统安装-VMware虚拟机安装与使用
2.2 Linux系统安装-系统分区
2.3 Linux系统安装-Linux系统安装
2.4 Linux系统安装-远程登陆管理工具
3给初学者建议
3.1 给初学者的建议-注意事项
3.2 给初学者的建议-服务器管理和维护建议
4Linux经常使用文件操做命令
4.1.1 Linux经常使用命令-文件处理命令-命令格式与目录处理命令ls
4.1.2 Linux经常使用命令-文件处理命令-目录处理命令
4.1.3 Linux经常使用命令-文件处理命令-文件处理命令
4.1.4 Linux经常使用命令-文件处理命令-连接命令
4.2.1 Linux经常使用命令-权限管理命令-权限管理命令chmod
4.2.2 Linux经常使用命令-权限管理命令-其余权限管理命令
4.3.1 Linux经常使用命令-文件搜索命令-文件搜索命令find
4.3.2 Linux经常使用命令-文件搜索命令-其余文件搜索命令
4.4
4.5 Linux经常使用命令-文件搜索命令-用户管理命令
4.6 Linux经常使用命令-文件搜索命令-压缩解压命令
4.7 Linux经常使用命令-网络命令
4.8 Linux经常使用命令-关机重启命令
5vim文本编辑器
5.1 文本编辑器Vim-Vim经常使用操做
5.2 文本编辑器Vim-Vim使用技巧
6软件包管理
6.1 软件包管理-简介
6.2.1 软件包管理-rpm命令管理-包命名与依赖性
6.2.2 软件包管理-rpm命令管理-安装升级与卸载
6.2.3 软件包管理-rpm命令管理-查询
6.2.4 软件包管理-rpm命令管理-校验和文件提取
6.3.1 软件包管理-RPM包管理-yum在线管理-IP地址配置和网络yum源
6.3.2 RPM包管理-yum在线管理-yum命令
6.3.3 RPM包管理-yum在线管理-光盘yum源
6.4.1 软件包管理-源码包管理-源码包与RPM包的区别
6.4.2 软件包管理-源码包管理-源码包安装过程
6.5 软件包管理-脚本安装包
7用户管理
7.1.1 用户和用户组管理-用户配置文件-用户信息文件
7.1.2 用户和用户组管理-用户配置文件-影子文件
7.1.3 用户和用户组管理-用户配置文件-组信息文件
7.2 用户和用户组管理-用户管理相关文件
7.3.1 用户和用户组管理-用户管理命令-useradd
7.3.2 用户和用户组管理-用户管理命令-passwd
7.3.3 用户和用户组管理-用户管理命令-usermod和chage
7.3.4 用户和用户组管理-用户管理命令-userdel和su
7.4 用户和用户组管理-用户组管理命令
8权限管理
8.1.1 权限管理-ACL权限-简介与开启
8.1.2 权限管理-ACL权限-查看与设定
8.1.3 权限管理-ACL权限-最大有效权限与删除
8.1.4 权限管理-ACL权限-默认与递归ACL权限
8.2.1 权限管理-文件特殊权限-SetUID
8.2.2 权限管理-文件特殊权限-SetGID
8.2.3 权限管理-文件特殊权限-Sticky BIT
8.3 权限管理-chattr权限
8.4 权限管理-sudo权限
9文件系统
9.1 文件系统管理-回顾分区和文件系统
9.2.1 文件系统管理-文件系统经常使用命令-df、du、fsck、dumpe2fs
9.2.2 文件系统管理-文件系统经常使用命令-挂载命令
9.2.3 文件系统管理-文件系统经常使用命令-挂载光盘与U盘
9.2.4 文件系统管理-文件系统经常使用命令-支持NTFS文件系统
9.3.1 文件系统管理-fdisk分区-分区过程
9.3.2 文件系统管理-fdisk分区-自动挂载与fstab文件修复
10shell基础编程1
10.1 Shell基础-概述
10.2 Shell基础-脚本执行方式
10.3.1 Shell基础-Bash基本功能-历史命令与补全
10.3.2 Shell基础-Bash基本功能-别名与快捷键
10.3.3 Shell基础-Bash基本功能-输入输出重定向
10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
10.3.5 Shell基础-Bash基本功能-通配符和其余特殊符号
10.4.1 Shell基础-Bash变量-用户自定义变量
10.4.2 Shell基础-Bash变量-环境变量
10.4.3 Shell基础-Bash变量-位置参数变量
10.4.4 Shell基础-Bash变量-预约义变量
10.5.1 Shell基础-Bash变量-数值运算与运算符
10.5.2 Shell基础-Bash变量-变量测试与内容替换
10.6.1 Shell基础-环境变量配置文件-简介
10.6.2 Shell基础-环境变量配置文件-做用
10.6.3 Shell基础-环境变量配置文件-其余配置文件和登陆信息
11shell基础编程2
11.1 Shell编程-正则表达式
11.2.1 Shell编程-字符截取命令-cut命令
11.2.2 Shell编程-字符截取命令-printf命令
11.2.3 Shell编程-字符截取命令-awk命令
11.2.4 Shell编程-字符截取命令-sed命令
11.3 Shell编程-字符处理命令
11.4 Shell编程-条件判断
11.5.1 Shell编程-流程控制-if语句
11.5.2 Shell编程-流程控制-case语句
11.5.3 Shell编程-流程控制-for循环
11.5.4 Shell编程-流程控制-while循环与until循环
12Linux服务管理
12.1 Linux服务管理-服务分类
12.2.1 Linux服务管理-RPM服务的管理-独立服务管理
12.2.2 Linux服务管理-RPM服务的管理-基于xinetd服务管理
12.3 Linux服务管理-源码包服务的管理
12.4 Linux服务管理-服务管理总结
13Linux系统管理
13.1.1 Linux系统管理-进程管理-进程查看
13.1.2 Linux系统管理-进程管理-终止进程
13.2 Linux系统管理-工做管理
13.3 Linux系统管理-系统资源查看
13.4 Linux系统管理-系统定时任务
14Linux日志管理
14.1 日志管理-简介
14.2 日志管理-rsyslogd服务
14.3 日志管理-日志轮替
15Linux启动管理
15.1.1 启动管理-启动流程-运行级别
15.1.2 启动管理-启动流程-启动过程
15.2.1 启动管理-启动引导程序-Grub配置文件
16备份与恢复
16.1 备份与恢复-概述
16.2 备份与恢复-备份命令node

1Linux系统介绍

1.1.1 Linux系统简介-UNIX发展历史和发行版本

1.1.2 Linux系统简介-Linux发展历史和发行版本

Linux系统诞生与1991年,由芬兰大学生李纳斯(Linux Torvalds)和后来陆续加入的众多爱好者共同开发完成。
Linux是开源软件,源代码开放的UNIX。
2012年颁发了诺贝尔终身成就奖给李纳斯。
Linux内核官网:www.kernel.org
内核版本说明:2.6.18
最新的内核版本:3.11.10
拿到了内核,每一个厂商再在其上面进行开发。
在这里插入图片描述
两个大的分支:
最主要的区别是软件安装的方式不一样。
如何选择:
fedora:red hat公司的实验版
centos:社区版本 新浪、搜狐都采用centos做为它的服务版本
suse:在欧洲用的多
ubuntu:桌面端,但实际部署使用的量并非不少
knoppix:无需安装mysql

1.2 Linux系统简介-开源软件简介

商业软件:收费、不开放源代码
在这里插入图片描述
对我的来讲,linux比windows确实少,可是对于专用软件,linux有不少。
羽毛:apache最主要的服务器的软件。
mysql、mongoDB
在这里插入图片描述
open-source
好比公司须要使用服务器,硬件就得花不少钱,如果软件也要用收费的那么成本会翻倍。
在这里插入图片描述linux

1.3 Linux系统简介-Linux应用领域

在这里插入图片描述
在这里插入图片描述
扫描和踩点,信息采集网站,若是你想知道你经常使用的网站是用的什么服务器,能够在这个网站上查:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安卓手机的底层就是Linux。
在这里插入图片描述
ssh服务器软件
在这里插入图片描述ios

1.4 Linux系统简介-Linux学习方法

为何选择命令行?
考虑稳定和安全,并且使用Linux的都是工程师。运行桌面图形界面的话,会占用服务器。web

2安装虚拟机

2.1 Linux系统安装-VMware虚拟机安装与使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用VMware Workstation8.0.4
在官网下载,压缩后安装
新建虚拟机
标准
在这里插入图片描述
若选择安装盘镜像文件,那么就不会参与进linux的安装过程,因此咱们先只把虚拟机建好,可是先别安装操做系统。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
虚拟机建立完成。
如下是虚拟机的硬件设置
内存调整,给虚拟机分的内存不要超过真实电脑的一半。
在这里插入图片描述
CD/DVD(IDE)
在这里插入图片描述
在这里插入图片描述
至关于把光盘放到了光驱。
两个神奇的功能:建立快照、克隆功能正则表达式

2.2 Linux系统安装-系统分区

在这里插入图片描述
没有磁盘分区的话,数据读取效率就会低下。
在这里插入图片描述
在这里插入图片描述
4是扩展分区,只能用来管理逻辑分区5,6。
在这里插入图片描述
在这里插入图片描述
数据块一个的默认大小是4kb。
每一个文件都有一个编号(i节点号,iNode),找数据的时候。sql

把大硬盘分红小硬盘,分红小硬盘后还不能直接使用,我还要格式化,格式化最主要的目的是写入文件系统,写入文件系统主要是作两个工做,一个是把硬盘分红一个一个小的数据块,同时创建一个inode列表,当我查找文件时,是经过i结点号来找到这个文件的条款,从而知道这个文件是保存在了哪几个数据块当中,从而打开这几个数据块,拿出数据块拼凑成完整的数据,这就是格式化的做用。
在这里插入图片描述
windows中咱们进行了分区、进行了格式化,咱们只须要给硬盘分配盘符,就能够直接使用。由于windowsw中有完整的图形界面,咱们能看到每一个文件在哪放着。分区、格式化、分配盘符就能够直接使用。
但linux不行,linux大硬盘分红小硬盘,分完区后格式化,格式化后要想给它分配盘符以前,我还要给每个分区起一个设备名,或者给每个分区设置一个硬件名。这涉及到linux重要的一个特征,在linux中全部的硬件概念都是文件,如上面的表格所示。
/:根目录(至关于windows中个人电脑)
dev:硬件文件
hd:硬盘 第一块是hd-a 第二块是hd-b
linux中我总得让系统知道要给那个分区分配盘符吧,这时候咱们就被迫须要给每个分区或者硬件设备起一个设备文件名。linux分区、格式化、为分区创建设备文件名、分配盘符,使用。这个设备文件名是固定的,系统自动监测的,咱们要作的就是可以看懂,看懂上表。shell

硬盘有了以上的设备名,咱们还要给分区设置设备文件名。即直接在硬盘文件名后加上分区号,数字1234.
在这里插入图片描述
1就表明这个硬盘中的第一个分区。数据库

几个接口主要的区别就是存储速率。
IDE硬盘接口:最古老 133mb/s
在这里插入图片描述apache

SCSI硬盘接口:更昂贵,200MB/s,主要用在服务器上
在这里插入图片描述

SATA串行硬盘接口:如今大部分都是采用这种,500MB/S。不管是服务器仍是我的机。
在这里插入图片描述
因此咱们如今 虚拟机模拟的也是sda。
在这里插入图片描述
sda1,sda2,sda3…
sdb1,sdb2,sdb5…
即1,2,3,4这四个号只能给扩展分区用,而不能给逻辑分区用。就算我一个硬盘中没有分够4块扩展分区,逻辑分区也不能占用1,2,3,4这个四个分区号。因此无论你怎么分,5都是逻辑分区的第一个号。
这些都是系统自动识别的。
在这里插入图片描述

有了分区后,还得给它分配盘符,即挂载。把给分区分配盘符的过程叫作挂载。盘符叫作挂载点。
分区、格式化、给每一个分区起一个设备名、写入挂载点,这样每个分区就可使用了。
windows中拿c,d,e,f做为盘符,linux拿空的目录名称做为盘符。理论上任何一个目录均可以做为盘符,有些目录不能够,后面讲。
linux中必须做为分区的,有两个目录:根分区、swap分区。
根分区:若是不给根分区的话,咱们剩余的不少东西都没有地方能够写了因此根必须分区。
交换分区:其实至关于虚拟内存,即咱们的内存不够的话,能够拿它来使用。不超过2GB,由于终究是虚拟内存,再大不会给内存带来更好的提高,而是会占用咱们的磁盘空间。
若是不给这个两个分区,Linux没法安装。
推荐boot分区,任何一个系统想要正常使用,都必须留有空余空间,我全部的数据都放在根分区下,这个时候万一我把根分区写满了,linux就有可能写不起来,因此boot就是保存启动时候的分区,启动后不会往里面写入任何东西。
在这里插入图片描述
windows:c,d,e,f是并列的
linux:根分区是能够单独有一个目录的,能够给根分区下的某一个子目录单独拿出来,给它指定独立的磁盘空间。
若是到根目录的etc目录下,那么写入的是根分区下的磁盘空间。
可是如果到boot下,则是boot对应的磁盘空间下。
可是如果到home下,则是home对应的磁盘空间下。
从linux系统上看,boot目录、home目录都是根目录下的子目录。
从硬盘上看,能够每个子目录都有本身独立的硬盘空间。
在这里插入图片描述
挂载点必须是目录,并且是空目录。

2.3 Linux系统安装-Linux系统安装

如今的安装很是的简单漂亮
启动虚拟机:左侧能够进行硬件调整,分配大内存虚拟机能够启动的更流畅
用虚拟机模拟的光驱来iso镜像,去centos官网上下载,第一张光盘1G,第二张也是好几个g。
打开电源。挂起至关于暂停,比重启快。
在这里插入图片描述

须要咱们用F2键,F2键按得键就是vmware启动的界面,很是短暂,电脑性能越好界面时间越短。
按F2键进入的是BIOS
真实计算机上,主板上面有一个操做系统,cmousebios,用来进行计算机的基本设置。
计算机默认是经过硬盘启动的,可是如今虚拟机是空的,硬盘里面任何数据都没有,因此这个时候经过硬盘启动它只会报一个错误,找不到操做系统,咱们如今要作的事情是经过光盘启动,只有经过光盘启动才能进入操做页面,如何把硬盘启动改成光盘启动,鼠标点进去操做的是虚拟机,如何把鼠标从虚拟机里切出来呢,按ctrl+alt。在BIOS中,按照BOOT,谁靠上谁的启动顺序优先,把光标移到光驱上,按加号,
在这里插入图片描述
在这里插入图片描述
要退出后,若要选择退出不保存,也能够,这是由于虚拟机很是智能,当我第一次启动没有任何操做系统时,它就会自动调整启动顺序,即光盘启动,当咱们安装完成后,它自动又会调整成硬盘启动。可是真实机是没有这样的状况的,因此真实机必须先第一次安装调整成光驱启动,当我装完以后,还须要把启动顺序改回来,把硬盘调到前面,若是不改回来,那么每一次启动都是经过光盘启动,都得从新安装操做系统。

虚拟机能够省略这样的步骤,即不进去BIOS界面设置。

这样的话,就会看到linux的光盘启动界面,
在这里插入图片描述
这五个选项的做用:
在这里插入图片描述
选择第一种
在这里插入图片描述

发现了光盘,问你是否须要检测一遍光盘,不要,由于光盘使咱们下载好的。
开始检测显卡和内存,进入安装界面,全屏(ctrl+_alt+enter)
在这里插入图片描述
简体中文界面安装
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
用默认主机名

在这里插入图片描述
选择时区:上海

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如今sda硬盘空间的20G都是空闲的,这时候咱们就去建立分区
根分区、swap交换分区、boot分区
有三种标准分区、RAID分区、LVM分区(后两种是高级系统的内容)
选择标准分区:
选择挂载点、你也能够不选,本身起一个目录名,可是这就不是必需要分的了,因此咱们这里先选择/boot分区
在这里插入图片描述
为何不先分根分区呢,是由于最后剩余下来的都是根分区,因此这里咱们留到最后
先分的就是分区1,以下:咱们先分了根分区,它就是sd1,而后咱们去分了boot分区,这时候boot分区自动跳成了sd1,根分区跳成了sd2。缘由很简单,boot分区是系统启动的必定要放在第一个分区。
在这里插入图片描述

如今咱们从新开始分:
先分boot分区,分2G
而后分swap分区,在挂载点上找不到,去文件系统类型那里去找
在这里插入图片描述
在这里插入图片描述
swap分区没有盘符,是由于swap分区不是给用户用的,是由linux操做系统直接调用的,因此它根本不须要盘符。
大小应该为内存的两倍,不该该超过2g
在这里插入图片描述

分home目录,作一个文件服务器的话,这样文件上传下载的目录就在这个文件夹下。根据我的使用习惯
在这里插入图片描述

最后建立根分区,使用所有可用空间
在这里插入图片描述

根分区原本应该是sda4,可是为何变成sda5了呢?
在这里插入图片描述

当你分第四个分区时,linux系统很难肯定你是否还会分更多的分区,因此会默认会把第四个分区变成扩展分区,把你的这个分区变为第一个逻辑分区。
这就分完了。
在这里插入图片描述

格式化是为了写入文件系统,不格式化的硬盘是没法使用的。选择格式化。
问你将引导程序安装在哪一个位置?如今咱们选择默认
在这里插入图片描述

接下来问你要安装哪些软件
在这里插入图片描述
根据你服务器的做用不一样来安装不一样的软件。我的用户选择桌面,图形界面更方便。服务器的话,使用最小化安装,能够腾出空间为服务器服务。
在这里插入图片描述
选basic server
在这里插入图片描述
选择自定义后,会出现更细节的
在这里插入图片描述
在这里插入图片描述
选择中文支持,否知以后还须要本身安装中文字体很是麻烦
在这里插入图片描述
选择从新引导来重启操做系统,若是在真实机中,须要咱们再去把启动顺序改成硬盘启动,不然的话还会看到安装界面。
在这里插入图片描述
进入linux图形界面。服务器上要求的话稳定和安全,因此没有图形界面。

localhost:root
password:刚刚安装过程当中设置的密码(linux不会显示密码*)
在这里插入图片描述

在这里插入图片描述

初始登陆位置,管理员的初始登陆位置就是/root目录。每一个用户都有/root/用户名这样的初始登陆目录。
kickstart:同时安装好几千台服务器,无人之手安装,依赖一个提早装好的能够依赖。

2.4 Linux系统安装-远程登陆管理工具

window中能够不装虚拟机/Linux,就能够登陆管理你的服务器
远程工具,首先网得联通
在这里插入图片描述

在这里插入图片描述
打开虚拟机,设置
在这里插入图片描述
默认有三种方式加一个自定义
桥接、NAT、Host-only、自定义
桥接:说明你的虚拟机是利用你的真实网卡用电脑的网卡链接。
个人电脑有两个网卡,一个本地的有线链接,一个本地的无线链接
在这里插入图片描述
出现两块虚拟网卡。
不只能够和你的电脑进行通讯,局域网中同一的网段的其它计算机也能够进行通讯。
坏处:须要占用你网段的一个ip,在教室会出现ip地址冲突。

NAT:与虚拟出来的VMnet8
在这里插入图片描述

Host-only:VMnet1只能和本身的本身计算机通讯,可是不会占用ip地址

如今演示Host-only,真实机与虚拟机通讯。VMnet1
在这里插入图片描述
VMnet1的网络属性,会虚拟出一个与本身的真实机相同的网段ip地址。

ifconfig(interface网卡,查询当前的网卡信息
在这里插入图片描述

设置网卡,描述网卡的文件名就是eth0…eth1,与vmnet1中的网段同样
在这里插入图片描述

拿windows的虚拟终端去ping一下
在这里插入图片描述
如今网络联通了,就能够直接拿远程工具来链接了

如今演示一下用网线的状况下如何设置:
使用桥接
在这里插入图片描述
须要肯定本身的widows的网卡
在这里插入图片描述
在这里插入图片描述

ifconfig只是临时生效,关闭电脑再开就失效了,之后会将如何永久生效设置,如今只是一种简易的改变ip地址的方法。
有时候会出现选择桥接、网段也同样,可是不连通的问题,那么咱们去看看虚拟机中的网络编辑器
在这里插入图片描述
在这里插入图片描述
如今咱们去看看如何远程操做:
在这里插入图片描述

远程链接工具很是多
典型的widows软件,安装就好
在这里插入图片描述

在这里插入图片描述
username用root或者你建立的普通用户

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

起始界面与linux起始界面同样
这里咱们的链接就正常生效了
在这里插入图片描述

如今就算是你的服务器在美国在上海,你在北京也能链接上。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

其余远程工具推荐:
在这里插入图片描述
下载安装
在这里插入图片描述

新建
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
左边是windows右边是linux

图形远程控制:xmanager

3给初学者建议

3.1 给初学者的建议-注意事项

1.Linux严格区分大小写
命令、文件名称都区分
2.全部内容以文件形式保存,包括硬件
硬盘文件是/dev/sd[a-p]
光盘文件/dev/sr0等
网卡
windows中设备管理器来管理硬件
3.Linux没有扩展名
在这里插入图片描述
在这里插入图片描述
并非隐藏了,它就是没有后缀
linux靠文件权限来区分文件类型。可是有的也有,为了使用方便才有的。
在这里插入图片描述
因此windows的程序不能直接在linux中安装与运行
4.Linux全部存储设备都必须挂载以后才能用(手工分配盘符)
包括硬盘、U盘和光盘

3.2 给初学者的建议-服务器管理和维护建议

在这里插入图片描述
bin:binary二进制文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述 sbin文件只有root才能用 boot目录保存内核和系统文件 dev保存设备硬件文件 etc保存默认配置文件 home每一个用户的家目录,eg./home/user1 二级目录 root目录,管理员一级目录 sys存放内核文件,不要往里面写东西 var目录,保存日志邮件数据库等 2.服务器事项:远程服务器不容许关机,只能重启;重启以前应该先关闭程序 不要在服务器访问高峰运行高负载命令 远程配置防火墙时不要把本身提出服务器 指定合理的密码规范并按期更新 合理分配权限 按期备份重要数据和日志