Linux基础

 

目录

 

                                        Linux基础

1 初始Linux

1.1 什么是Linux

1.2 Linux特点

1.3 Linux内核和发行版

1.4 虚拟机软件

1.5 vmware中安装centos

2 Linux文件系统

2.1 分区

2.2 文件系统

3 Linux目录结构

4 Linux命令终端

5 Linux常见命令

5.1 常用磁盘管理命令详解

5.2 常用文件管理命令详解

5.3 关机和重启

6 vi编辑器

6.1 vi编辑器简介

6.2 vi编辑器的三种模式

6.3 命令模式下的命令

6.4 底行模式下的命令

7 网络管理

7.1 常见网络管理命令

7.2 宿主机和虚拟机的三种通讯方式

7.3 网络配置

7.4 主机名称

7.5 主机映射

7.6 防火墙

8 系统启动级别

8.1 查看系统启动级别

8.2 修改系统启动级别

9 进程管理

9.1 进程相关概念

9.2 进程的状态

9.3 进程常见命令

10 用户和组

10.1 什么是用户和组

10.2 用户和组的分类

10.3 查看用户和组

10.4 用户和组的操作

10.5 配置通过用sudoer权限

11 文件权限

11.1 查看权限

11.2 修改权限

11.3 修改所属权

12 系统管理

12.1 服务管理命令

12.2 挂载

12.3 日期操作

13 httpd

14 打包压缩

14.1 打包与解包

14.2 压缩与解压缩

14.3 打包并压缩与解包并解压缩

15 计划任务

16 Linux软件安装

16.1 二进制发布包

16.2 rpm安装包

16.3 yum安装

16.4 源码编译安装

17 克隆虚拟机

18 SSH免密登录

18.1 SSH概念

18.2 认证机制

18.3 配置免密登录


                                        Linux基础

1 初始Linux

1.1 什么是Linux

Linux系统是一套开源免费类unix的操作系统,主要用在服务器上;基于POSIX和UNIX的多用户,多任务,多线程和多cpu的操作系统;Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间),与UNIX兼容,并在GPL条款下发布。现在,Linux产生了许多不同的Linux发行版本,但它们都使用了Linux内核。1992年,Linux与其他GUN软件结合,完全自由的GNU/Linux操作系统正式诞生,简称Linux。

Linux的基本思想有两点:①一切都是文件第二;②每个软件都有确定的用途。与Unix思想十分相近。

相关名词:

UNIX:操作系统,美国AT&T公司贝尔实验室于1969年完成的操作系统,最早由肯·汤普逊(Ken Thompson),丹尼斯·里奇(Dennis Ritchie)开发。在1971年首次对外发布,丹尼斯·里奇在1973,Unix被他用C语言重新编写。Unix前身源自于MultiCS,叫UniCS,后来改名叫Unix。

POSIX:可移植操作系统接口,IEEE(电气和电子工程师协会)为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称。

GNU:1983年理查德·马修·斯托曼(Richard Stallman)创立GNU计划。一套完全自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标(发展出一套完整的开放源代码操作系统来取代Unix),名称是GNU's Not Unix!的递归缩写。

GPL:一种GNU通用公共许可协议,为保证GNU软件可以自由的使用、复制、修改和发布,所有的GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,是一个被广泛使用的自由软件许可协议条款,保证终端用户运行、学习、分享(复制)及编辑软件之自由,GPL是自由软件和开源软件的最流行许可证。

 

1.2 Linux特点

(1)多用户的分时操作系统

(2)支持多数的网络协议,方便的远程管理

(3)强大的内存管理和文件管理

(4)大量免费软件的支持

(5)优良的稳定性和安全性

(6)良好的可移植性和灵活性

(7)多厂商选择

1.3 Linux内核和发行版

严格来说LInux不是一个操作系统,Linux只是一个操作系统中的内核(Linux kernel),现在所谓的Linux指的是GNU/Linux 。Linux内核官网:http://www.kernel.org/

内核:软件和硬件的通讯平台,提供系统服务,内存管理,io管理,进程管理等。

发行版:内核+接口(界面,通用软件) Linux系统。常见的有红帽企业系统(RedHat Enterprise Linux, RHEL),社区企业操作系统(CentOS),红帽用户桌面版(Fedora [Linux]),国际化组织的开源操作系统(Debian),基于Debian的桌面版(Ubuntu),国内的有国防科技大学发行麒麟kylin和中科院发行红旗RedFlag等。

1.4 虚拟机软件

通过虚拟化技术模拟出一套完整的计算机系统的软件。

常见虚拟机软件有: vmware workstation / virtual box(oracle) 等。

1.5 vmware中安装centos

下载centos: http://www.centos.org或 http://mirrors.163.com/centos/6.10/isos/x86_64/

 

2 Linux文件系统

2.1 分区

首先了解磁盘的组成:磁盘由盘片,机械手臂,磁头,主轴马达组成,而数据的写入主要是在盘片上面,盘片上又细分为扇区与柱面两种单位,扇区每个为512bytes那么大,其中,磁盘的第一个扇区特别重要,因为磁盘的第一个扇区记录了两个重要的信息:①主引导分区(BMR):可以安装引导加载程序的地方,有446bytes。②分区表:记录整块硬盘分区的状态,有66bytes。

什么是分区:分区是将一个硬盘驱动器分成若干个逻辑驱动器,把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。

分区的目的:把文件系统按类别进行区分,提高查询效率。

分区的特点:①防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。②增加磁盘空间的利用率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。③数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。

硬盘分区是硬盘结合到文件体系的第一步。全新硬盘(未初始化)装系统之前,必须对其进行分区,硬盘分区初始化的格式主要包括MBR和GPT。

SCSI硬盘,是硬盘中的其中一种,性能要好于IDE硬盘,sd:表示,sda的a:表示你机器上的第一块硬盘,如果还有其他的硬盘,会显示b,一次类推。1、2、5表示:第一个分区,第二个分区,第五个分区。

IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,他们是主分区或扩展分区,从5开始就是逻辑分区。

Linux的分区表通常有MBR分区表和GPT分区表。对于MBR分区表的特点(通常使用fdisk命令进行分区)。所支持的最大磁盘大小:2T。最多支持4个主分区或者是3个主分区加上一个扩展分区;对于GPT分区表的特点(使用parted命令进行分区),支持最大卷:18EB(1EB=1024TB),最多支持128个主分区,所以对于GPT的分区表来说,基本就没有什么主分区和逻辑分区的区别了。

主分区:一个硬盘最多只能有4个主分区,IDE主分区采用hdXN的格式,hdX为硬盘,N是1-4的数字,分别表示4个主分区,第一个硬盘的第一个主分区,表示为hda1,以此类推;

扩展分区:扩展分区作为特殊的主分区需要占用硬盘分区表中4个分区记录中的1个记录;

逻辑分区:逻辑分区只能建立在扩展分区中,可以建立文件系统。逻辑分区同样采用了hdXN 的格式,区别在于,逻辑分区的N是从5开始算的,第一个硬盘的第2个逻辑分区就为hda6。

在Linux中磁盘分区和目录的关系:①任何一个分区都要挂载到某个目录上,才能进行读写;②目录是逻辑上的区分,分区是物理上的区分;③ 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区

Linux默认分区:

/boot        引导文件(一般200M,存放启动的引导文件)

swap:    交换分区(如果内存放不下可以先放到交换分区,一般是1.5倍内存大小)

/:              根分区

2.2 文件系统

确定文件存储和管理方式,不同的文件系统类型,存储和查询效率不同.

Window的文件系统是NTFS,Linux中CentOS6的文件系统是ext4,CentOS7的文件系统是xfs。

Linux中以目录树形式管理文件,一切皆文件。

 

3 Linux目录结构

根目录,存放拥有特定功能的目录,一般不要创建文件在该目录下。
/bin;/sbin;/usr/bin;/usr/sbin可执行文件
/home普通用户的家目录,每创建一个普通用户就会在该目录下创建一个同名的目录,用于存放该用户的文件,除了root外其他用户不能访问
/rootroot用户的家目录
/dev设备文件存储的目录
/etc存储系统配置文件的目录
/media;/mnt常用挂载点
/opt常用第三方软件的安装目录
/usr/share存储共享文件的目录
/usr/local软件安装目录
/var存放变化数据的目录
/var/logs存放日志的目录

 

4 Linux命令终端

当我们打开终端就能看到如下命令提示符:

[root@bigdata01 /]# 

[当前用户@主机名称 当前所处的位置]# 管理员 $普通用户

通过PS1系统变量改变命令提示符,查看命令为echo $PS1

\u:用户名,\h:主机名,\w:工作目录,\$:用户表示,root是#,普通用户是$

更改命令为: PS1="[\t][\u@\h \W]\$ "

Linux的命令格式:命令 [命令选项]  [命令参数]

命令选项格式:①短格式: -单词简写 ls -a               组合: ls -l -h -a ==> ls -alh ②长格式: --单词全拼 ls --all

Linux以回车键表示命令结束,如果linux命令需要折行输入,那么可以以\表示每行结束

5 Linux常见命令

磁盘管理

ls, cd, du, df, mount, unmounts, fdisk

文件管理

mkdir, rmdir, mv, rm, cp, touch, cat, tac, echo, more, less, head, tail, file, find, rename, ln, pwd, scp, alias

文档处理

wc, sort, uniq, cut, sed, awk, grep, vi, diff

用户和组

useradd, usermod, passwd, userdel, groupadd, groupdel, chgrp, su

文件传输

get, put, wget

网络通信

telnet, nc, ifconfig, ping, netstat, ip, host

备份压缩

gzip, bzip2, bunzip2, tar, zip

系统管理

exit, kill, last, ps, top, free, pstree, reboot, halt, shutdown, sudo, who, w, whoami, whereis, which, last, whatis

系统设置

clear, set, unset, hwclock, time, date,

其他

history, hostname, nohup, service, init, rpm, ssh, cal, yum

5.1 常用磁盘管理命令详解

cd(切换目录)

cd 目录(绝对路径/相对路径)

cd .. :切换到上级目录

cd ../.. :切换到上两级目录

cd ~/cd  :切换到当前用户家目录

cd - :回到上次切换的目录

pwd(查看当前的工作目录)pwd :查看当前的工作目录
ls(查看当前目录下的所有内容)

ls [选项] [目录或文件名]

常用选项:

-l :显示详细信息

-a :显示所有子目录和文件的信息,包括隐藏文件

-A :展示所有子目录和文件的信息,包含隐藏的文件(不展示.和..)

-R :递归显示内容

-h: 以易读的方式展示文件大小

du(显示每个文件和目录的磁盘使用空间

du [选项] [目录或文件名]

常用选项:

-a:统计时包括所有的文件,而不仅仅只统计目录

-h:以更易读的字节单位(K、M等)显示信息

-s:统计每个参数所占用空间总的大小

df(查看磁盘使用情况)

常用选项:

-h:以更易读的字节单位(K、M等)显示信息

-T:显示分区格式

5.2 常用文件管理命令详解

touch(创建文件或修改文件的时间标记)touch 文件名
file(查看文件类型)

file 文件名

(注意:;类型由文件内容决定,而不是根据后缀名)

mkdir(创建目录)

mkdir [选项] [参数]

常用选项:

-p 以级联方式创建(创建子目录时会将父级目录一起创建)

cp(复制文件)

cp [选项] 源文件或目录 目标文件或目录

常用选项

-r :递归复制整个目录树

-i :需要覆盖文件或目录时提示

-f :需要覆盖文件或目录时强制覆盖

-p :保持源文件的属性不变

mv(移动文件)

mv [选项] 源文件或目录 目标文件或目录

常用选项:

-i :需要覆盖文件或目录时提示

-f :需要覆盖文件或目录时强制覆盖

-u :目标文件不存在或源文件比目标文件新则移动

rm(删除文件)

rm  [选项]  文件或目录

常用选项:

-i :需要覆盖文件或目录时删除提示

-f :需要覆盖文件或目录时强制删除

-r :递归删除

-rf  :递归强制删除

rmdir(删除空文件夹)

常用选项:

-p/--parents:级联删除,删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除

cat(查看并打印)

常用选项:

-n或--number:查看行号,由1开始对所有输出的行数编号

tac(倒叙打印)tac 文件名 ;倒叙输出文件内容
head(查看开头若干行,默认显示10行)

常用选项:

-n<数字>:指定显示头部内容的行数

tail(查看结尾若干行,默认显示10行)

常用选项:

-n<数字>:指定显示尾部内容的行数

-f:始终显示文件最新追加的内容

more(翻页显示)

使用方式:

Space键:显示文本的下一屏内容。

Enter键:只显示文本的下一行内容。

h键:显示帮助屏,该屏上有相关的帮助信息。

b键:显示上一屏内容。

q键:退出more命令。

less(翻页显示)

使用方式:

和more使用方式基本类似

按e键:向上滚动一行

按y键:向下滚动一行

G:跳到文件末尾

gg:跳到文件首行

echo(打印字符串或变量)

常用选项:

-n:末尾不换行

-e:处理特殊符号(字符串中,不会将其当成一般文字输出)

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

 

echo aa > a.txt  ## 覆盖

echo bb >> a.txt  ## 追加

echo ${变量名} : $PATH/$USER/$PWD... 查看变量: set

ln(创建链接文件)

常用选项:

-s:创建软链接

ln -s 源文件 链接文件: 给文件创建软链接

alias(别名)

alias: 查看别名

alias lh='ll -h':设置别名

unalias lh:撤销别

>:重定向符号(覆盖)         >>:追加  标准输出:>>         标准输入: << 

5.3 关机和重启

关机命令:halt,init 0,power off,shutdown -h now

重启命令:reboot,init 6

 

6 vi编辑器

6.1 vi编辑器简介

vi编辑器是类unix系统内置的文本编辑器,vim是vi的增强版本

6.2 vi编辑器的三种模式

 

6.3 命令模式下的命令

光标命令:

字符移动↑↓←→ / hjkl
单词移动

w(w):单词的首字母向后移动,不忽略标点(大写W忽略标点)

e(E):单词的尾字母向后移动,不忽略标点(大写E忽略标点)

b(B):单词的首字母向前移动,不忽略标点(大写B忽略标点)

逐句移动( )  :移动到每句结尾标记是"."
逐段移动 {  }  :短路的标记是空行
移动到文档的开头或结尾gg:开头      G:结尾
移动到该行的开头或结尾0:开头         $:结尾

基本操作:

a(A)小写:光标后一位插入  大写:光标所在行行尾
i(I)小写:光标前一位插入  大写:光标所在行行首
o(O)小写:光标下一行插入  大写:光标所在行插入
dd删除光标所在行(5dd表示:包含光标所在行往下删除5行)
yy复制光标所在行(5dd表示:包含光标所在行往下复制5行)
p黏贴
u撤销

6.4 底行模式下的命令

基本操作

:w保存
:q退出
:!强制

查找操作:

:set nu显示行号
:set nonu不显示行号
:number跳转到指定行
:/key更加单词查找(n:跳转到下一个单词 N:跳转到上一个单词)
:noh取消高亮

替换操作:

:开始行,结束行 s/旧字符串/新字符串/g

:1 s/aa/bb          第1行的第一个aa修改为bb

 :1 s/aa/bb/g          第1行的所有aa修改为bb

:. , . +3

光标所在行往下3行,一共4行

:%整篇文章

 

7 网络管理

7.1 常见网络管理命令

ifconfig

查看及管理网络接口

HWAddr:mac地址(硬件地址)硬件设备唯一标识

ip地址:逻辑地址,同一网络中不允许重复

ifconfig(centos 6):查看正在活动的网络接口状态 (centos 7: ip addr )

ifconfig -a:查看所有网络接口

ping

查看连接状态

host查看域名对应ip
netstat

查看程序端口占用(-nltp)

7.2 宿主机和虚拟机的三种通讯方式

桥接模式:宿主机物理网卡和虚拟机交换机之间通过虚拟网桥建立连接。虚拟机ip和物理机ip处于同一网段,虚拟机相当于网络内部一个独立的机器,网络内的其他机器可以与虚拟机互相访问,主机拔掉网线后,虚拟机无法与物理机机通过网络的方式进行通讯。

缺点:虚拟机ip和物理机ip处于同一网段,ip地址有限,不利于搭建大型集群

NAT模式:使用VMware提供的NAT和DHCP服务,虚拟机使用主机中的虚拟网卡Vmnet8作为网关,这种方式可以实现主机和虚拟机通信,虚拟机也能够访问互联网,但是互联网不能访问虚拟机。

虚拟交换机(vmnet8)和虚拟网卡(vmnet8)连接实现宿主机和物理机连接;虚拟交换机(vmnet8)和物理网卡通过NAT设备连接,实现internet访问。

手动设置虚拟机IP,ip设置与vmnet8同网段,gateway,netmask,broadcast设置与vmnet8相同,dns设置与主机相同

仅主机模式:只能进行虚拟机和主机之间的网络通信,虚拟机不能访问外部网络。

虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同

 

7.3 网络配置

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE网卡名称
TYPE配置文件接口类型,网络接口类型为Ethernet
UUID32位字符串,唯一标识
ONBOOT开机是否启动(yes:开机启动  no:开机关闭)

NM_CONTROLLED

network mamager的参数 ,是否可以由NNetwork Manager托管

BOOTPROTO

设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务

HWADDRmac地址,唯一
IPADDRip地址,同一网络不能重复
GATEWAY网关
DNS1dns服务器地址
NAME

网络连接的名字

重启网络服务命令: service network restart

7.4 主机名称

查看主机名称: hostname

修改主机名称: ①临时修改:hostname 主机名称   ②永久修改 :vi /etc/sysconfig/network

7.5 主机映射

主机名称和ip之间的映射关系

linux: /etc/hosts

windows: C:\Windows\System32\drivers\etc\hosts

7.6 防火墙

控制网络访问

防火墙的基本操作命令

service iptables start/stop/status防火墙开启/停止/状态
chkconfig --list iptables查看各种系统启动级别下的开机状态
chkconfig iptables on/off设置开机启动/关闭

修改防火墙规则命令

iptables -A INPUT -p tcp --dport 22 -j DROP删除
iptables -I INPUT -p tcp --dport 80 -j ACDCEPT插入一条IPNUT规则,开发80端口,I可以指定行号,默认插入到第一条
iptables -A INPUT -p tcp --dport 22 -j DROP添加一条IPNUT规则,插入到最后一条

 

8 系统启动级别

8.1 查看系统启动级别

查看启动级别命令: runlevel

配置文件对系统启动级别的描述如下:

0关机(不能使用)
1单一用户
2多用户无网络
3完全的多用户
4未使用,系统预留,一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5图形界面
6重启(不能使用)

 

8.2 修改系统启动级别

vi /etc/inittab 对配置文件进行修改

想让系统不用图形模式登陆可将id:5:initdefault: 中的5改为3即可

 

9 进程管理

9.1 进程相关概念

软件:应用程序加文档;

程序:为了完成某个特定的任务,使用各种语言编写的指令集合,静态的

进程:是一次程序执行的状态,需要申请资源,对应着从代码加载,执行到执行完毕的整个过程,是一个动态的实体,有自己的生命

线程:执行任务的最小单元 ,进程进一步细化的线程,也是程序内部执行的一条路径,线程只是一个进程的不同执行路径,每个线程又对应着各自独立的生命周期,线程是进程的一个实体,是CPU调度和分派的

9.2 进程的状态

新建状态:

就绪状态::除了cpu其他资源已具备

运行状态:拿到cpu

阻塞状态: io等阻塞操作

死亡状态:

9.3 进程常见命令

(1)查看进程

ps命令用于报告当前系统的进程状态

ps 命令常用选项包括:

-a显示所有用户的进程

-u显示用户名和启动时间

-x显示所有进程,包括没有控制终端的进程

-e显示所有进程,包括没有控制终端的进程,较x选项,信息更为简略

-l显示进程详细信息,按长格式显示

ps(查看进程状态)ps -aux查看所有的用户进程
pstree(查看进程树)pstree -p 查看进程的pid
top(定期刷新进程状态) 
jps(监听jvm进程的状态) 

(2)进程管理

kill pid根据pid杀死进程
kill -9 pid强制杀死进程
pkill根据程序名称杀死进程
pidof根据程序名称查看pid

(3)进程调度

前台进程:阻塞命令行,前台运行

后台进程:不会阻塞命令行,后台运行。

ctrl+c终止前台进程
ctrl+z挂起前台进程,暂停状态可以恢复运行
fg切换到前台运行
bg切换到后台运行
jods查看后台进程作业

10 用户和组

10.1 什么是用户和组

用户:权限的集合

组:存储和管理用户,权限的容器

10.2 用户和组的分类

用户分类:

管理员(root用户)拥有所有权限,通过uid 0标记
系统用户版本系统正常运行授权的用户,没有密码不能登录,uid 1-499
普通用户权限受限,uid500 - 60000

组分类:

系统组存放系统用户
私有组如果创建新用户,同时会创建同名的用户组,该组只存在一个同名的用户,称为私有组
普通组存放普通用户

私有组和普通组是可以转换的

10.3 查看用户和组

查看用户:cat /etc/passwd             cat /etc/shadow(查看用户密码信息)

root用户名
x密码占位符
0uid
0用户组id
root说明,备注
/root家目录
/bin/bashshell类型

查看组:cat /etc/group               cat /etc/gshadow(查看组密码信息)

root用户组的名称

x

组密码占位符
0组id
 管理的用户

10.4 用户和组的操作

(1)用户操作(root用户或拥有root权限用户)

添加用户useradd -c 说明 username
修改用户usermod -c 说明 -G 组名 -d HOME_DIR username
删除用户userdel -r username
修改密码passwd username

(2)组操作(root用户或拥有root权限用户)

添加组groupadd 组名
修改组groupmod -n 新名称 组名
删除组groupdel 组名
在组中添加/删除用户gpasswd -a/-d 用户 组

10.5 配置通过用sudoer权限

在root用户下配置:编辑/etc/sudoers

授权用户的操作:sudo useradd zs

 

11 文件权限

11.1 查看权限

:文件类型和权限

:文件链接数(普通文件为1,目录为子目录的个数 )

:所属的用户

:所属的组

:大小

:最后修改日期

:文件名称

文件类型和权限详解:

           drwxr-xr-x:文件类型和权限

                      d:文件类型(-:普通文件  d:目录   l:链接文件    b:二进制    c:字符)

                      rwxr-xr-x:权限(r:可读(目录:ls)  w:可写(目录:创建/删除文件)   x:可执行(目录:cd))

                      rwx-->7                           r-x-->5

11.2 修改权限

(1)chmod u/g/o/a  +/-/=  r/w/x  文件

(2)chmod 755 文件

           -R修改文件及其子文件权限

11.3 修改所属权

chown 用户:组 文件

 

12 系统管理

12.1 服务管理命令

service 进程 start/stop/restart/status某个进程开启/关闭/重启/状态
chkconfig --list 进程查看开机自启状态
chkconfig 进程 on/off开启/关闭开机自启
service --status-all查看所有后台进程
service --status-all | grep 进程| 管道符,将前面命令的输出作为后面命令的输入 grep:检索包含指定内容的行
chkconfig --list查看所有后台进程在各种系统启动级别下开机状态
chkconfig --level 24 进程 off设置指定系统启动级别下的开机状态

12.2 挂载

(1)挂载定义:将设备文件连接到已经存在的目录

挂载源:需要被挂载的设备文件(/dev/)

挂载点:连接到的目录(/mnt或/media)

(2)如何挂载

临时挂载:mount -t 类型 -o 挂载方式 挂载源 挂载点

如:mount -t iso9660 -o ro /dev/sr0 /mnt/cdrom

-t选项

iso9660光盘或光盘镜像
nfsUNIX(LINUX) 文件网络共享
ntfsWindows NT ntfs文件系统
smbfs(需要内核支持) Mount Windows文件网络共享
vfat Mount Windows文件网络共享
msdosDOS fat16文件系统

 

-o选项

ro只读方式挂接设备
rw只写方式挂接设备
loop用来把一个文件当成硬盘分区挂接上系统
iocharset指定访问文件系统所用字符集
remount重新挂载

永久挂载:修改配置文件/etc/fstab,加上挂载命令,如

/dev/sr0                /mnt/cdrom              iso9660  ro             0 0

卸载:umount 挂载点

12.3 日期操作

(1)查看修改时区

cat /etc/sysconfig/clock:查看时区

/etc/locatime:真正定义时区的文件(序列化的数据)

/usr/share/zoneinfo/Asia/Shanghai:正确的时区文件(若不存在则执行 tzselect:生成时区文件)

修改时区命令:cp //usr/share/zoneinfo/Asia/Shanghai /.etc/locatime

(2)查看日期和时间

date

date -R

date "+%Y-%m-%d %H:%M:%S"

(3)修改日期

手动修改:date -s "2019-07-18 07:13:37" 或 date "mmddHHMMCCYY.SS"每位数字依次对应:月月日日时时分分年年年年.秒秒,如date "0718071337.50"

同步网络时间(从时间服务器获取并修改本地时间):ntpdate 时间服务器地址(如:ntp1.aliyun.com)

(4)日期计算

使用-d或--date

date -d "next day/week/month/monday...(yesterday...)" :针对于当前时间

date -d "next day may 4":针对于特定时间

date --date="1 day"...

date "+%s":距离1970年的时间

 

13 httpd

(1)什么是httpd?Apache的web服务器,默认端口号为80,后台进程名称为httpd

(2)查看状态/启动/关闭命令:service httpd status/start/stop

开机状态:chkconfig --list httpd

设置开机自启状态:chkconfig httpd on/off

(3)资源访问

资源路径:/var/www/html/

配置文件目录:/etc/httpd/conf.d/

 

14 打包压缩

14.1 打包与解包

打包:将一大堆文件或目录汇总成一个文件

(1)打包:tar -cvf 打包文件名称.tar 文件列表

c:创建打包文件     v:显示打包过程       f:指定打包文件

(2)解包:tar -xvf 打包文件名称.tar -C 目录

14.2 压缩与解压缩

压缩:将一个大的文件通过一些压缩算法变成一个小文件

(1)压缩:gzip 文件

(2)解压缩:gzip -d 压缩包

14.3 打包并压缩与解包并解压缩

(1)打包并压缩:tar -zcvf 文件.tar.gz 文件列表

(2)解包并解压缩:tar -zxvf 文件.tar.gz -C 目录

 

15 计划任务

(1)两个常见的计划任务

①at:后台进程名称为atd,延迟指定时间或在固定的时刻执行一次

②crontab:后台进程名称为crond,间隔固定时间执行任务

(2)crontab

①检查是否安装crontab:service --status-all | grep crond

②如果没则安装:

yum list | grep cron           

yum install -y crontabs

③命令和配置

命令格式:crontab [-u user] [ -e | -l | -r ]

crontab -u

指定计划任务的用户(默认代表当前用户)

crontab -l

使用标准输出来显示计划任务的内容

crontab -r删除计划任务
crontab -e编辑计划任务(计划任务文件: /var/spool/cron/)

编辑格式:分 时 日 月 周 command

分:1 :固定时间点( 表示每到1分的时候执行)

分:*/1 每隔以分钟

分:1,2,4,8  1分2分或4分或8分时执行

分:1-8/1   1到8分的时候每隔一分钟执行

 

16 Linux软件安装

16.1 二进制发布包

软件已经针对具体平台编译打包发布,只要解压,修改配置即可,如jdk安装

(1)下载jar包

(2)上传到Linux

(3)解压

          ①查询安装的jdk:rpm -qa | grep jdk

          ②卸载已安装的:rpm -e --nodeps 程序包

          ③解包解压缩:tar -zxvf jdk程序包 -C 目标目录

(4)配置

          ①/etc/profile: 全局(所有用户)

          或每个用户的家目录下: .bash_profile         .bashrc

          在配置文件中加上如下内容:

export JAVA_HOME=/opt/jdk1.8.0_73

 export PATH=${JAVA_HOME}/bin:${PATH} 
#export:提升为全局变量

          修改完成后重新加载该配置文件:source /etc/profile

(5)测试:java -version

16.2 rpm安装包

软件包已经安装redhat的包管理规范进行打包发布,获取该软件包,安装rpm命令安装,不一定能够正确安装(因为存在包依赖问题,缺少的依赖包需要自己手动下载安装)

(1)查找:

rpm -q 程序:是否使用rpm安装指定的程序

rpm -qa:查看所有的安装程序

rpm -ql 程序:查看程序的安装目录

(2)安装:

rpm -ivh 程序包:安装并显示进度

(3)卸载:

rpm -e 程序:卸载指定程序

(4)依赖问题:

--nodeps :不考虑依赖问题

--force:强制操作

(5)例子:mysql安装

①下载安装包并上传

②查看是否安装了mysql

           rpm -qa | grep -i mysql(-i:忽略大小写)

           已安装则卸载:rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64:卸载

③解包安装

           解包:tar -xvf mysql-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar

           安装服务端: rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

                      安装程序: /usr/sbin/

                                 默认密码: /root/.mysql_secret

                                 修改密码: SET PASSWORD

                      配置文件: /usr/my.cnf

           安装客户端: rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

④启动服务

           service mysql start

⑤登录操作

            mysql -uroot -p

           修改密码:  set password=password('root');

⑥设置远程访问

           grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;

           刷新权限:flush privileges;

⑦配置文件:

           /usr/my.cnf

16.3 yum安装

在线安装,前端软件管理器,拥有一个服务器,在该服务器上存放了按照rpm方式打包的文件,利用yum命令卡伊从服务器查找,下载安装这些软件,能够解决包依赖的问题(要是有依赖包会自动进行安装)。

(1)检测:

yum list:检测能够安装的软件列表

yum repolist:检测可用的仓库

(2)安装

yum install 程序名称 [-y]                                    -y:表示安装过程中的询问全选yes

(3)卸载

yum remove 程序名称 [-y]

(4)升级

 yum update 程序:升级某个程序

yum update::升级所有程序

(5)配置本地yum源

yum源:服务器+rpm规范打包的软件+索引文件(yum源配置文件位置/etc/yum.repos.d/)

配置步骤:

①开启httpd服务器

②准备rpm规范打包的软件和索引文件(/mnt/crom)

           ln -s /mnt/cdrom/ /var/www/html/cdrom

③配置repo文件(创建CentOS-Local.repo,配置文件位置/etc/yum.repos.d/)

④检测:yum repolist:检测可用的仓库

(6)常用yum源:

CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

16.4 源码编译安装

项目是以源码工程方式发布,必须先编译然后再安装部署

如redis安装,安装redis时再具体说明

 

17 克隆虚拟机

当克隆好后需要对以下配置文件进行修改

(1)硬件配置

           网卡虚拟的,网卡的信息绝对不能一样(mac地址)

           vim /etc/udev/rules.d/70-persistent-net.rules 

           删除eth0,修改eth1的名称为eth0.

(2)配置eth0的信息(ip地址等)

            vim /etc/sysconfig/network-scripts/ifcfg-eth0   

           删除uuid

           修改mac地址( /etc/udev/rules.d/70-persistent-net.rules文件中)

           修改ip地址

(3)修改主机名称

           vim /etc/sysconfig/network

(4)修改主机映射

           vim /etc/hosts

18 SSH免密登录

18.1 SSH概念

SSH为Secure Shell(安全外壳协议)的缩写,简单说,SSH只是一种网络协议,用于计算机之间的加密登录,SSH就是专为远程登录会话和其他网络服务提供安全性的协议。

SSH是由客户端和服务端的软件组成的,服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

18.2 认证机制

(1)第一级别:基于口令的认证(用户名和密码,多次输入密码比较麻烦(需要编写脚本))

(2)第二级别:基于秘钥的认证

需要密匙,创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密”质询”(challenge)并把它发送给客户端软件。客户端软件收到”质询”之后就可以用你的私人密匙解密再把它发送给服务器。(通俗解释:zs请求连接ls,ls在授权池中查询zs的公钥,如果没有公钥就需要口令;如果有公钥,需要加密随机字符串返回给zs;zs根据私钥解密字符串再传给ls;数据不匹配,还是需要口令,如果匹配则建立连接)

18.3 配置免密登录

(1)生成密钥对:ssh-keygen

(2)发送公钥到对方授权池:ssh-copy-id ip

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值