一、Linux入门概述
1.1 概述
Linux内核最初由芬兰人Linus Torvalds在赫尔辛基大学就读时处于个人爱好编写的。
Linux是一套免费使用且*传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
而目前市面上较为知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SUSE、OpenSUSE。
1.2 下载地址
CentOS下载地址:
网易镜像:http://mirrors.163.com/centos/8/isos/
搜狐镜像:http://mirrors.sohu.com/centos/8/isos/
1.3 Linux的特点
在Linux系统中,一切皆是文件,没有后缀名的这一说法。
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大部分软件都可以*获取,同样功能的软件选择较少。
二、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:存放着不断扩充的东西,我们习惯将那些经常被修改的目录放在该目录下,包括各种日志文件
三、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.1 查看、修改IP、网关、DNS
一、临时修改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
注意:在命令行中的操作待用户退出后会失效,如要永久生效,则需要修改配置文件
二、永久修改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
三、查看IP、网关、DNS
命令行中输入ifconfig可以查看IP
命令行中输入route -n ,IP地址为0.0.0.0后的gateway即为默认网关
四、IP等信息修改完成后需要执行service network restart重启生效
4.2 防火墙
一、基本语法
- 【service iptables statas】:查看防火墙状态
- 【chkconfig iptables -list】:查看防火墙开机启动状态
- 【service iptables stop】:临时关闭防火墙
- 【chkconfig iptables off】:关闭防火墙开机启动
- 【chkconfig iptables on】:开启防火墙开机启动
二、扩展
Linux系统有7个运行级别(runlevel),分别是:
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root权限,用户系统维护,进制远程登陆
- 运行级别2:多用户状态(没有NFS)
- 运行界别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登录后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
4.3 关机重启
Linux大多用于服务器,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。正确的关机流程为:sync ->shutdown ->reboot -> halt。
一、基本语法
- 【sync】:将数据有内存同步到硬盘中
- 【shutdown [选项][时间]】,选项:-h:关机,-r:重启
- 【halt】:关闭系统,等同于shutdown -h now 和 poweroff
- 【reboot】:重启,等同于shutdown -r now
二、示例
- 10分钟后关机:shutdown -h 10
- 立即重启:shutdown -r now或者reboot
- 关机:halt
五、常用基本命令
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