Linux应知应会(一)

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打开一个档案就直接进入通常模式了,也是默认模式。在这个模式中,你可使用【上下左右】按键来移动光标,可使用【删除字符】或【删除整行】来处理档案内容,也可使用【复制】【粘贴】来处理文件数据。

经常使用语法

  1. 【yy】:复制光标单签一行
  2. 【y数字Ny】:复制一段(光标后N行)
  3. 【p】:箭头移动到目的行粘贴
  4. 【u】:撤销上一步
  5. 【dd】:删除光标当前行
  6. 【d数字Nd】:删除光标后N行
  7. 【x】:删除一个字母,至关于del
  8. 【X】:删除一个字母,至关于backspace
  9. 【yw】:复制一个词
  10. 【dw】:删除一个词
  11. 【shift+^】:移动到行头
  12. 【shift+$】:移动到行尾
  13. 【1+shift+g】:移动到页头,数字
  14. 【shift+g】:移动到页尾
  15. 【数字N+shift+g】:移动到目标行

3.3 编辑模式

在通常模式中能够进行删除、复制、粘贴等动做,可是却没法编辑文件内容。要等按下【i,I,o,O,a,A,r,R】任何一个字母以后才会进入编辑模式。

在Linux中,按下这些按键时,会在画面的左下方出现【INSERT】或【REPLACE】字样,此时表明进入编辑模式,能够进行编辑,若是要回到通常模式时,必须按下【Esc】退出编辑模式。

经常使用语法

  1. 【i】:进入编辑模式,当前光标前
  2. 【a】:进入编辑模式,当前光标后
  3. 【o】:进入编辑模式,当前光标行的下一行
  4. 【Esc】:退出编辑模式

3.4 指令模式

在通常模式中,输入【:】【/】【?】中的任何一个按钮,就能够将光标移动到最底下那一行。

在这个模式中,能够提供搜寻资料的动做,而读取、存盘、大量取代字符、离开vi、显示行号等动做都是在此模式中达成。

经常使用语法

  1. 【:】:选项
  2. 【w】:保存
  3. 【q】:退出
  4. 【!】:强制执行
  5. 【/被查找词】:n是查找下一个,shift+n是往上查找
  6. 【?被查找词】:n是查找上一个,shift+n是往下查找
  7. 【:wq!】:强制保存退出

4、网络与防火墙

4.1 查看、修改IP、网关、DNS

1、临时修改IP地址、网关

  1. 修改IP:命令行输入 network eth0 192.168.1.100 netmask 255.255.255.0
  2. 修改网关:命令行输入 route add default gw 192.168.1.1
  3. 删除网关:命令行输入 route del dafault gw 192.168.1.1

注意:在命令行中的操做待用户退出后会失效,如要永久生效,则须要修改配置文件

2、永久修改IP地址、网关、DNS

  1.  在命令行输入setup,在弹出的窗口中手动配置IP、网关、DNS便可
  2. 修改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、基本语法

  1. 【service iptables statas】:查看防火墙状态
  2. 【chkconfig iptables -list】:查看防火墙开机启动状态
  3. 【service iptables stop】:临时关闭防火墙
  4. 【chkconfig iptables off】:关闭防火墙开机启动
  5. 【chkconfig iptables on】:开启防火墙开机启动

2、扩展

Linux系统有7个运行级别(runlevel),分别是:

  1. 运行级别0:系统停机状态,系统默认运行级别不能设为0,不然不能正常启动
  2. 运行级别1:单用户工做状态,root权限,用户系统维护,进制远程登录
  3. 运行级别2:多用户状态(没有NFS)
  4. 运行界别3:彻底的多用户状态(有NFS),登录后进入控制台命令行模式
  5. 运行级别4:系统未使用,保留
  6. 运行级别5:X11控制台,登陆后进入图形GUI模式
  7. 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,不然不能正常启动

4.3 关机重启

Linux大多用于服务器,不多遇到关机的操做。毕竟服务器上跑一个服务是永无止境的,除非特殊状况下,不得已才会关机。正确的关机流程为:sync ->shutdown ->reboot -> halt。

1、基本语法

  • 【sync】:将数据有内存同步到硬盘中
  • 【shutdown [选项][时间]】,选项:-h:关机,-r:重启
  • 【halt】:关闭系统,等同于shutdown -h now 和 poweroff
  • 【reboot】:重启,等同于shutdown -r now

2、示例

  1. 10分钟后关机:shutdown -h 10
  2. 当即重启:shutdown -r now或者reboot
  3. 关机:halt

5、经常使用基本命令

5.1 帮助命令

5.1.1 man得到帮助信息

基本语法

man 【命令或配置文件】:得到帮助信息

  1. 显示说明
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