1、Linux入门概述
1.1 概述
Linux内核最初由芬兰人Linus Torvalds在赫尔辛基大学就读时处于我的爱好编写的。linux
Linux是一套无偿使用且自由传播的类Unix操做系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操做系统。Linux能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操做系统。shell
而目前市面上较为知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SUSE、OpenSUSE。数据库
1.2 下载地址
CentOS下载地址:编程
网易镜像:http://mirrors.163.com/centos/8/isos/vim
搜狐镜像:http://mirrors.sohu.com/centos/8/isos/windows
1.3 Linux的特色
在Linux系统中,一切皆是文件,没有后缀名的这一说法。centos
1.4 Linux和Windows的区别
目前国内Linux更多应用于服务器上,而桌面操做系统(我的PC以及办公电脑)更多使用的是Windows,不过也有少数人选择Deepin(国产Linux桌面操做系统)。Linux和Windows的主要区别有:安全
- 在界面上,windows的界面统一,外壳程序固定全部Windows程序菜单几乎一致,快捷键也几乎相同;而Linux使用圆形界面风格,且不一样的发布版本也会有不一样的改变,可能互不兼容。GNU/Linux的终端机是从Unix传承下来,基本命令和操做方法也几乎一致。
- 在驱动程序上,Windows的驱动程序丰富,版本更新频繁。默认安装程序里面通常包含该版本发布时流行的硬件驱动程序,以后所出的新硬件驱动依赖于硬件厂商提供,对于一些老硬件,若是没有了原配的驱动有时候很难支持,另外有时硬件厂商未提供所需版本的Windows下的驱动,会比较难搞;而Linux的驱动程序由志愿者开发,由核心开发小组发布,不少硬件厂商基于版本考虑并未提供驱动程序,尽管多数无需手动安装,可是涉及安装则相对复杂,是的新用户面对驱动程序问题会束手无策,可是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易赵铎驱动,HP、Intel和AMD等硬件厂商逐步不一样程序支持开源驱动,问题正在获得缓解。
- 在使用方面,Windows的使用更加简单却容易入门,圆形化界面对没有计算机背景知识的用户使用十分有利;而Linux的文字界面(即命令行界面)须要学习才能掌握,相对较难入门。
- 在学习方面,Windows系统构造复杂、变化频繁,且知识、技能淘汰快,深刻学习较难;而Linux系统构造简单、稳定,且知识、技能传承性好,深刻学习相对容易。
- 在软件方面,Windows每一种特定功能可能都须要商业软件的支持,须要购买相应的受权;而Linux大部分软件均可以自由获取,一样功能的软件选择较少。
2、Linux目录结构
2.1 概览

2.2 目录结构及做用
- /bin:是Binary的缩写,该目录下存放着系统必备的执行命令,例如:cd、ls、cat...
- /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件和镜像文件,相似于Windows下的system目录
- /dev:Device的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
- /etc:全部的系统管理所须要的配置文件和子目录
- /home:存放普通用户的主目录,在Linux中每一个yoghurt都有一个本身的目录,通常该目录名是以用户的帐号命名的
- /lib:系统开机所须要最基本的动态连接共享库,其做用相似于Windows里的dll文件,几乎全部的应用程序都须要用到这些共享库
- /lost+found:这个目录通常状况下是空的,当系统非法关机后,这里就会产生会自动删除的碎片文件
- /media:linux系统会自动识别一些设备,例如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,咱们能够将光驱挂载在/mnt/上,而后进入该目录就能够查看光驱里面的文件了
- /net:存放着和网络相关的一些文件
- /opt:这是给主机额外安装软件所摆放的目录,好比要安装一个Oracle数据库就能够放在这个目录下,默认是空的
- /proc:该目录是一个虚拟的目录,是系统内存的映射,能够经过直接访问这个目录来获取系统信息
- /root:该目录为系统管理员,也称做超级权限者的用户主目录
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
- /selinux:这个目录是Redhat和CentOS特有的目录,Selinux是一个安全机制,相似于windows的防火墙
- /srv:service的缩写,该目录存放一些服务启动以后须要提取的数据
- /sys:存放着与Linux系统相关的文件
- /tmp:用来存放临时文件
- /usr:存放用户的不少应用程序和文件,相似于windows的program files目录
- /var:存放着不断扩充的东西,咱们习惯将那些常常被修改的目录放在该目录下,包括各类日志文件
3、VI、VIM编辑器
3.1 概述
全部的Unix Like系统都会内建vi文书编辑器,其余的文书编辑器则不必定会存在。可是目前咱们使用比较多的是vim编辑器。服务器
Vim具备程序编辑的能力,能够主动的以字体颜色辨别语法的正确性,方便程序设计。Vim是从VI发展出来的一个文本编辑器,代码补完、编译及错误 跳转等方便编程的功能特别丰富,被普遍使用。网络
具体来讲,VI是老师的字处理器,不过功能已经齐全,可是能够改进;VIM则能够说是程序开发者的一项很好用的工具。
3.2 通常模式
以VI打开一个档案就直接进入通常模式了,也是默认模式。在这个模式中,你可使用【上下左右】按键来移动光标,可使用【删除字符】或【删除整行】来处理档案内容,也可使用【复制】【粘贴】来处理文件数据。
经常使用语法
- 【yy】:复制光标单签一行
- 【y数字Ny】:复制一段(光标后N行)
- 【p】:箭头移动到目的行粘贴
- 【u】:撤销上一步
- 【dd】:删除光标当前行
- 【d数字Nd】:删除光标后N行
- 【x】:删除一个字母,至关于del
- 【X】:删除一个字母,至关于backspace
- 【yw】:复制一个词
- 【dw】:删除一个词
- 【shift+^】:移动到行头
- 【shift+$】:移动到行尾
- 【1+shift+g】:移动到页头,数字
- 【shift+g】:移动到页尾
- 【数字N+shift+g】:移动到目标行
3.3 编辑模式
在通常模式中能够进行删除、复制、粘贴等动做,可是却没法编辑文件内容。要等按下【i,I,o,O,a,A,r,R】任何一个字母以后才会进入编辑模式。
在Linux中,按下这些按键时,会在画面的左下方出现【INSERT】或【REPLACE】字样,此时表明进入编辑模式,能够进行编辑,若是要回到通常模式时,必须按下【Esc】退出编辑模式。
经常使用语法
- 【i】:进入编辑模式,当前光标前
- 【a】:进入编辑模式,当前光标后
- 【o】:进入编辑模式,当前光标行的下一行
- 【Esc】:退出编辑模式
3.4 指令模式
在通常模式中,输入【:】【/】【?】中的任何一个按钮,就能够将光标移动到最底下那一行。
在这个模式中,能够提供搜寻资料的动做,而读取、存盘、大量取代字符、离开vi、显示行号等动做都是在此模式中达成。
经常使用语法
- 【:】:选项
- 【w】:保存
- 【q】:退出
- 【!】:强制执行
- 【/被查找词】:n是查找下一个,shift+n是往上查找
- 【?被查找词】:n是查找上一个,shift+n是往下查找
- 【:wq!】:强制保存退出
4、网络与防火墙
4.1 查看、修改IP、网关、DNS
1、临时修改IP地址、网关
- 修改IP:命令行输入 network eth0 192.168.1.100 netmask 255.255.255.0
- 修改网关:命令行输入 route add default gw 192.168.1.1
- 删除网关:命令行输入 route del dafault gw 192.168.1.1
注意:在命令行中的操做待用户退出后会失效,如要永久生效,则须要修改配置文件
2、永久修改IP地址、网关、DNS
- 在命令行输入setup,在弹出的窗口中手动配置IP、网关、DNS便可
- 修改IP地址和网关:
命令行输入:vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE = eth0 //etho标识网卡的标识
IPADDR =192.138.1.100 //标识网卡的IP
GATWAY = 192.168.1.1 //标识网关
NETMASK = 255.255.255.0 //标识子网掩码
HWADDR = 11:22:***:33 //标识Mac地址
ONBOOT = yes/no //启动时是否激活该网卡
3. 修改DNS:在命令行输入 vim /etc/resolv.conf,手动输入:nameserver 123.125.81.6
3、查看IP、网关、DNS
命令行中输入ifconfig能够查看IP
命令行中输入route -n ,IP地址为0.0.0.0后的gateway即为默认网关
4、IP等信息修改完成后须要执行service network restart重启生效
4.2 防火墙
1、基本语法
- 【service iptables statas】:查看防火墙状态
- 【chkconfig iptables -list】:查看防火墙开机启动状态
- 【service iptables stop】:临时关闭防火墙
- 【chkconfig iptables off】:关闭防火墙开机启动
- 【chkconfig iptables on】:开启防火墙开机启动
2、扩展
Linux系统有7个运行级别(runlevel),分别是:
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,不然不能正常启动
- 运行级别1:单用户工做状态,root权限,用户系统维护,进制远程登录
- 运行级别2:多用户状态(没有NFS)
- 运行界别3:彻底的多用户状态(有NFS),登录后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登陆后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,不然不能正常启动
4.3 关机重启
Linux大多用于服务器,不多遇到关机的操做。毕竟服务器上跑一个服务是永无止境的,除非特殊状况下,不得已才会关机。正确的关机流程为:sync ->shutdown ->reboot -> halt。
1、基本语法
- 【sync】:将数据有内存同步到硬盘中
- 【shutdown [选项][时间]】,选项:-h:关机,-r:重启
- 【halt】:关闭系统,等同于shutdown -h now 和 poweroff
- 【reboot】:重启,等同于shutdown -r now
2、示例
- 10分钟后关机:shutdown -h 10
- 当即重启:shutdown -r now或者reboot
- 关机:halt
5、经常使用基本命令
5.1 帮助命令
5.1.1 man得到帮助信息
基本语法
man 【命令或配置文件】:得到帮助信息


- 显示说明
NAME |
命令的名称和单行描述 |
SYNOPSIS |
怎样使用命令 |
DESCRIPTION |
命令功能的深刻讨论 |
EXAMPLES |
示例 |
SEE ALSO |
相关主题 |
2. 数字说明(命令以后括号中的数字)
1 |
用户在shell环境中能够操做的命令或是可执行的文件 |
2 |
系统内核(Kernel)能够调用的函数 |
3 |
经常使用的函数或函数库 |
4 |
设备配置文件 |
5 |
配置文件的格式 |
6 |
游戏相关 |
7 |
linux网络协议和文件系统 |
8 |
系统管理员能够用的命令 |
9 |
和内核有关系的文件 |
5.1.2 help得到shell内置命令的帮助信息
基本语法
help 【命令】:得到shell内置命令的帮助信息

5.1.3 经常使用快捷键
Ctrl+C |
中止进程 |
Ctrl+L |
清屏 |
Ctrl+Q |
退出 |
Ctrl+ALT |
虚拟机中linux和window切换 |
TAB |
命令、目录补全 |
上下键 |
查找执行过的命令 |
5.2 文件目录类命令
5.2.1 pwd显示当前工做目录的绝对路径
基本语法
【pwd】:显示当前工做目录的绝对路径

5.2.2 ls 列出目录的内容
基本语法
ls【选项】【目录或是文件】
选项:
-a :所有的文件,连同隐藏文件一块儿列出来
-l :长数据串列出,包含文件的属性与权限等,每行列出的基本信息依次为:文件类型与权限、连接数、文件属主、文件属组、文件大小(用byte表示)、创建或最近修改的时间、名字。

5.2.3 mkdir建立一个新的目录
基本语法
mkdir 【-p】目录名称
选项:-p:建立多层目录

5.2.4 rmdir 删除一个空的目录
基本语法
rmdir 【目录名称】

5.2.5 touch建立空文件
基本语法
touch 【文件名称】

5.2.6 cd切换目录
基本语法
cd 绝对路径 |
进入指定目录 |
cd 相对路径 |
进入指定目录 |
cd~或cd |
进入home家目录 |
cd - |
回到上一次所在目录 |
cd .. |
回到当前目录的上一级目录 |
cd -P |
跳转到实际物理路径,而非快捷方式路径 |

5.2.7 cp复制文件或目录
基本语法
- cp 【source】【dest】:复制source文件到dest
- cp -r【sourceFolder】 【targetFolder】:递归复制整个文件夹

5.2.8 rm 移除文件或目录
基本语法
rm 【文件名】 |
删除文件 |
rm -r 【目录名】 |
递归删除目录 |
rm -rf【目录名】 |
强制递归删除目录 |
rm -rf * |
删库跑路必备 |


5.2.9 mv移动文件与目录或重命名
基本语法
- mv 【oldNameFolder】【newNameFolder】:重命名
- mv 【movefile】 【targetFolder】:移动文件

5.2.10 cat查看文件内容
查看文件内容,从第一行开始显示。
基本语法
cat 【选项】【文件名】
选项:
-A |
至关于-vET的整合,可列出一些特殊字符而不是空白 |
-b |
列出行号,仅针对非空白行作行号显示,空白行不标行号 |
-E |
将结尾的断行字节$显示出来 |
-n |
列出行号,连同空白行也会有行号 |
-T |
将【TAB】按键以^I显示出来 |
-v |
列出一些看不出来的特殊字符 |

5.2.11 tac查看文件内容
查看文件内容,从最后一行开始显示,能够看出tac是cat的反写。
基本语法
tac 【选项参数】【文件名】

5.2.12 more查看文件内容
查看文件内容,一页一页的显示。
基本语法
more 【文件名】
Space空格键 |
向下翻一页 |
Enter回车键 |
向下翻一行 |
q |
马上离开more,再也不显示内容 |
Ctrl+F |
向下滚动一屏 |
Ctrl+B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |

5.2.13 less查看文件内容
less的做用于more十分类似,均可以用来浏览文字档案的内容,不一样的是less容许使用【pageUp】和【pageDown】来回滚动。
基本语法
less 【文件名】
Space空格键 |
向下翻动一页 |
pageDown |
向下翻动一页 |
pageUp |
向上翻动一页 |
/【字串】 |
向下搜寻【字串】,n:向下查找,N:向上查找 |
?【字串】 |
向上搜寻【字串】,n:向上查找,N:向下查找 |
q |
离开less程序 |

5.2.14 head查看文件内容
查看文件内容,只看前几行。
基本语法
head -n 【数字M】【文件名】:查看文件的前M行内容。

5.2.15 tail查看文件内容
查看文件内容,只看后几行。
基本语法
- tail -n 【数字M】【文件名】:查看文件后M行内容。
- tail -f 【文件名】:实时追踪该文件的全部更新。

5.2.16 重定向命令
基本语法
- ls -l >文件名:列表的内容写入文件中(覆盖写)
- ls -al >>文件名:列表的内容追加到文件的末尾

5.1.17 echo命令
基本语法
- echo【要显示的内容】>>【文件名】:将要显示的内容存储到文件中
- echo 【变量】:显示变量的值

5.2.18 In软连接
基本语法
In -s 【原文件】【目标文件】:给原文件建立一个软连接,软连接存放在目标文件目录

5.2.19 history查看命令历史
基本语法
【history】

==================================================================================================================================================================
2020-07-14
22:36:00