Linux基本知识点

第 1 章 Linux 文件与目录结构

1.1 Linux 目录结构

/bin

​ 是Binary的缩写,这个目录存放着最经常使用的额命令

/sbin

​ s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/home

​ 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号 命名的。

/root

​ 该目录为系统管理员,也称作超级权限者的用户主目录。

/lib

​ 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应 用程序都需要用到这些共享库。

/lost+found

​ 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/etc

​ 所有的系统管理所需要的配置文件和子目录。

/usr

​ 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的 program files目录。

/boot

​ 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别 放这里。

/proc

​ 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统 信息。

/srv

​ service缩写,该目录存放一些服务启动之后需要提取的数据。

/sys

​ 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs 。

/tmp

​ 这个目录是用来存放一些临时文件的。

/dev

​ 类似于windows的设备管理器,把所有的硬件用文件的形式存储。

/media(CentOS6)

​ linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这 个目录下。

​ CentOS7迁移到/run/media

/mnt

​ 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上, 然后进入该目录就可以查有里面的内容了

/opt

​ 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到这个目录 下。默认是空的。

/var

​ 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包 括各种日志文件。

第 2 章 VI/VIM 编辑器

2.1 是什么

​ VI 是Unix 操作系统和类Unix 操作系统中最通用的文本编辑器。

​ VIM 编辑器是从VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与VI 编辑器完全兼容。

2.2 一般模式

​ 以vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

​ 表2-1 常用语法

语法功能描述
yy复制光标当前一行
y 数字y复制一段(从第几行到第几行)
p箭头移动到目的行粘贴
u撤销上一步
dd删除光标当前行
d 数字d删除光标(含)后多少行
x剪切一个字母,相当于del
X剪切一个字母,相当于Backspace
yw复制一个词
dw删除一个词
shift+6(^)移动到行头
shift+4 ($)移动到行尾
1+shift+g移动到页头,数字
shift+g移动到页尾
数字+shift+g移动到目标行

2.3 编辑模式

​ **在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!**要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
​ 注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

1)进入编辑模式

按键功能
i当前光标前
a当前光标后
o当前光标行的下一行
I光标所在行最前
A光标所在行最后
O当前光标行的上一行

2)退出编辑模式
按『Esc』键退出编辑模式,之后所在的模式为一般模式。

2.4 指令模式

​ 在一般模式当中,输入『: / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

​ 在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开vi 、显示行号等动作是在此模式中达成的!

1)基本语法

命令功能
:w保存
:q退出
:!强制执行
/要查找的词n 查找下一个,N 往上查找
:noh取消高亮显示
:set nu显示行号
:set nonu关闭行号
:%s/old/new/g替换内容/g 替换匹配到的所有内容

第 3 章 网络配置

3.1 配置网络ip地址

3.1.1 ifconfig 配置网络接口

ifconfig :network interfaces configuring 网络接口配置

1)基本语法

ifconfig (功能描述:显示所有网络接口的配置信息)

2)案例实操

(1)查看当前网络ip

1
[root@hadoop100 桌面]# ifconfig

3.1.2 ping 测试主机之间网络连通性

1)基本语法

ping 目的主机(功能描述:测试当前服务器是否可以连接目的主机)

2)案例实操

(1)测试当前服务器是否可以连接百度

1
[root@hadoop100 桌面]# ping www.baidu.com

3.2 配置主机名

3.2.1 修改主机名称

**1) 基本语法

hostname (功能描述:查看当前服务器的主机名称)

2) 案例实操

(1)查看当前服务器主机名称

1
[root@hadoop100 桌面]# hostname

(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname 文件

1
[root@hadoop100 桌面]# vi /etc/hostname

修改完成后重启生效。

3.2.2 修改hosts 映射文件

1)修改linux 的主机映射文件(hosts 文件)
后续在hadoop 阶段,虚拟机会比较多,配置时通常会采用主机名的方式配置,
比较简单方便。不用刻意记ip 地址。
(1)打开/etc/hosts

1
2
3
4
5
6
7
8
[root@hadoop100 桌面]# vim /etc/hosts
添加如下内容
192.168.2.100 hadoop100
192.168.2.101 hadoop101
192.168.2.102 hadoop102
192.168.2.103 hadoop103
192.168.2.104 hadoop104
192.168.2.105 hadoop105

(2)重启设备,重启后,查看主机名,已经修改成功

2)修改windows 的主机映射文件(hosts 文件)

(1)进入C:\Windows\System32\drivers\etc 路径

(2)打开hosts 文件并添加如下内容

1
2
3
4
5
6
192.168.2.100 hadoop100
192.168.2.101 hadoop101
192.168.2.102 hadoop102
192.168.2.103 hadoop103
192.168.2.104 hadoop104
192.168.2.105 hadoop105

第 4 章 系统管理

4.1 Linux 中的进程和服务

​ 计算机中,一个正在执行的程序或命令,被叫做“进程”(process)。
​ 启动之后一只存在、常驻内存的进程,一般被称作“服务”(service)

4.2 systemctl (CentOS 7 版本-重点掌握)

1) 基本语法
systemctl start | stop | restart | status 服务名
2) 经验技巧
查看服务的方法:/usr/lib/systemd/system

1
2
3
4
5
6
7
8
9
10
11
12
[root@hadoop100 system]# pwd
/usr/lib/systemd/system
[root@hadoop100 init.d]# ls -al
-rw-r--r--. 1 root root 275 4 月27 2018 abrt-ccpp.service
-rw-r--r--. 1 root root 380 4 月27 2018 abrtd.service
-rw-r--r--. 1 root root 361 4 月27 2018 abrt-oops.service
-rw-r--r--. 1 root root 266 4 月27 2018 abrt-pstoreoops.service
-rw-r--r--. 1 root root 262 4 月27 2018 abrt-vmcore.service
-rw-r--r--. 1 root root 311 4 月27 2018 abrt-xorg.service
-rw-r--r--. 1 root root 751 4 月11 2018 accounts-daemon.service
-rw-r--r--. 1 root root 527 3 月25 2017 alsa-restore.service
-rw-r--r--. 1 root root 486 3 月25 2017 alsa-state.service

3)案例实操

(1)查看防火墙服务的状态

1
[root@hadoop100 桌面]# systemctl status firewalld

(2)停止防火墙服务

1
[root@hadoop100 桌面]# systemctl stop firewalld

(3)启动防火墙服务

1
[root@hadoop100 桌面]# systemctl start firewalld

(4)重启防火墙服务

1
[root@hadoop100 桌面]# systemctl restart firewalld

4.3 systemctl 设置后台服务的自启配置

1)基本语法

​ systemctl list-unit-files (功能描述:查看服务开机启动状态)

​ systemctl disable service_name (功能描述:关掉指定服务的自动启动)

​ systemctl enable service_name (功能描述:开启指定服务的自动启动)

**2)案例实操

(1)开启/关闭iptables(防火墙)服务的自动启动

1
2
[root@hadoop100 桌面]# systemctl enable firewalld.service
[root@hadoop100 桌面]# systemctl disable firewalld.service

4.4 系统运行级别

1)Linux 运行级别[CentOS 6]

开机 -> BIOS -> /boot -> init进程 -> 运行级别 -> 运行级别对应的服务

​ 查看默认级别:vi/etc/inittab

Linux系统有7种运行级别(runlevel):常用的是级别3和5

​ 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

​ 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

​ 运行级别2:多用户状态(没有NFS),不支持网络

​ 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

​ 运行级别4:系统未使用,保留

​ 运行级别5:X11控制台,登陆后进入图形GUI模式

​ 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

2)CentOS7 的运行级别简化为:

​ multi-user.target 等价于原运行级别3(多用户有网,无图形界面)
​ graphical.target 等价于原运行级别5(多用户有网,有图形界面)

3) 查看当前运行级别:

​ systemctl get-default

4)修改当前运行级别

​ systemctl set-default TARGET.target (这里TARGET 取multi-user 或者graphical)

4.5 关闭防火墙

1) 临时关闭防火墙

(1)查看防火墙状态

1
[root@hadoop100 桌面]# systemctl status firewalld

(2)临时关闭防火墙

1
[root@hadoop100 桌面]# systemctl stop firewalld

2)开机启动时关闭防火墙

(1)查看防火墙开机启动状态

1
[root@hadoop100 桌面]# systemctl enable firewalld.service

(2)设置开机时关闭防火墙

1
[root@hadoop100 桌面]# systemctl disable firewalld.service

4.6 关机重启命令

​ 在linux 领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

1)基本语法

(1)sync (功能描述:将数据由内存同步到硬盘中)
(2)halt (功能描述:停机,关闭系统,但不断电)
(3)poweroff (功能描述:关机,断电)
(3)reboot (功能描述:就是重启,等同于shutdown -r now)
(4)shutdown [选项] 时间

选项功能
-H相当于–halt,停机
-r-r=reboot 重启
参数功能
now立刻关机
时间等待多久后关机(时间单位是分钟)。

2) 经验技巧
Linux 系统中为了提高磁盘的读写效率,对磁盘采取了“预读迟写”操作方式。当用户保存文件时,Linux 核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据丢失。使用sync 指令可以立即将缓冲区的数据写入磁盘。

3)案例实操

(1)将数据由内存同步到硬盘中

1
[root@hadoop100 桌面]#sync

(2)重启

1
[root@hadoop100 桌面]# reboot

(3)停机(不断电)

1
[root@hadoop100 桌面]#halt

(4)计算机将在1 分钟后关机,并且会显示在登录用户的当前屏幕中

1
[root@hadoop100 桌面]#shutdown -h 1 ‘This server will shutdown after 1 mins’

(5)立马关机(等同于poweroff)

1
[root@hadoop100 桌面]# shutdown -h now

(6)系统立马重启(等同于reboot)

1
[root@hadoop100 桌面]# shutdown -r now

第 5 章 软件包管理

5.1 RPM

5.1.1 RPM 概述

​ RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
​ RPM包的名称格式
​ Apache-1.3.23-11.i386.rpm

  • “apache” 软件名称
  • “1.3.23-11”软件的版本号,主版本和此版本
  • “i386”是软件所运行的硬件平台,Intel 32位处理器的统称
  • “rpm”文件扩展名,代表RPM包

5.1.2 RPM 查询命令(rpm -qa)

1)基本语法

rpm -qa (功能描述:查询所安装的所有rpm 软件包)

2)经验技巧

由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

3)案例实操

(1)查询firefox软件安装情况

1
2
[root@hadoop101 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64

5.1.3 RPM 卸载命令(rpm -e)

1)基本语法

(1)rpm -e RPM软件包
(2)rpm -e --nodeps 软件包

2)选项说明

选项功能
-e卸载软件包
–nodeps卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件
在此之后可能就不能正常工作了。

3)案例实操
(1)卸载firefox软件

1
[root@hadoop101 Packages]# rpm -e firefox

5.1.4 RPM 安装命令(rpm -ivh)

1)基本语法

rpm -ivh RPM 包全名

2)选项说明

选项功能
-iinstall,安装
-v–verbose,显示详细信息
-h–hash,进度条
–nodeps安装前不检查依赖

3)案例实操

(1)安装firefox软件

1
2
3
4
5
6
7
8
9
[root@hadoop101 Packages]# pwd
/run/media/root/CentOS 7 x86_64/Packages
[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1
Signature, key ID c105b9de: NOKEY
Preparing... ###########################################
[100%]
1:firefox ###########################################
[100%]

5.2 YUM 仓库配置(重点)

5.2.1 YUM 概述

​ YUM(全称为Yellow dog Updater, Modified)是一个在Fedora 和RedHat 以及CentOS中的Shell 前端软件包管理器。基于RPM 包管理,能够从指定的服务器自动下载RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

5.2.2 YUM 的常用命令

1)基本语法

yum [选项] [参数]

2)选项说明

选项功能
-y对所有提问都回答“yes”

3)参数说明

参数功能
install安装rpm 软件包
update更新rpm 软件包
check-update检查是否有可用的更新rpm 软件包
remove删除指定的rpm 软件包
list显示软件包信息
clean清理yum 过期的缓存
deplist显示yum 软件包的所有依赖关系

4)案例实操实操

(1)采用yum 方式安装firefox

1
[root@hadoop101 ~]#yum -y install firefox

5.2.3 修改网络YUM 源

​ 默认的系统YUM 源,需要连接国外apache 网站,网速比较慢,可以修改关联的网络YUM 源为国内镜像的网站,比如网易163,aliyun 等

1)安装wget, wget 用来从指定的URL 下载文件

1
[root@hadoop101 ~] yum install wget

2)在/etc/yum.repos.d/目录下,备份默认的repos 文件

1
2
3
4
[root@hadoop101 yum.repos.d] pwd
/etc/yum.repos.d
[root@hadoop101 yum.repos.d] cp CentOS-Base.repo CentOS-Base
.repo.backup

3)下载网易163 或者是aliyun 的repos 文件,任选其一

1
2
3
4
[root@hadoop101 yum.repos.d] wget
http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop101 yum.repos.d] wget
http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易163

4)使用下载好的repos 文件替换默认的repos 文件

​ 例如:用CentOS7-Base-163.repo 替换CentOS-Base.repo

1
[root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo

5)清理旧缓存数据,缓存新数据

1
2
[root@hadoop101 yum.repos.d]#yum clean all
[root@hadoop101 yum.repos.d]#yum makecache

​ yum makecache 就是把服务器的包信息下载到本地电脑缓存起来
6)测试

1
2
[root@hadoop101 yum.repos.d]# yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox