Linux 系统

Linux系统的安装

安装Vmvare软件

安装VM

VMWare的安装步骤(了解,不会了搜索引擎查,最好选择新版本,例如16以上),具体如下:
第一步:去BIOS里修改设置开启虚拟化设备支持(在电脑启动时按f2或f10).
第二步:安装虚拟机VM (课前安装)

安装Linux系统

镜像下载

下载CentOs,其下载的镜像地址如下:

http://mirrors.163.com/centos/7/isos/x86_64/
http://mirrors.sohu.com/centos/7/isos/x86_64/

创建VM空间

安装Linux系统

第一步:设置VM的硬件配置
第二步:打开虚拟机设置,加载linux镜像
第三步:开启虚拟机
键盘上下键移动,选择第一项,Install CentOS 7 回车
默认进入check状态(也可以选择跳过)
1.选择语言环境
2.点击继续
3.设置日期和时间
4.设置键盘
5.软件选择
6.设置分区
7.配置root用户名密码。
安装好以后,重新启动并同意相关协议

时间

查看时区:date -R
修改时区:timedatectl set-timezone Asia/Shanghai
安装NTP (网络时间协议(Network Time Protocol,NTP):sudo yum -y install ntp
使用 ntpdate 更新系统时间:ntpdate pool.ntp.org
启动ntpd daemon,持续校准时间(其中systemctl用于管理系统启动和服务):systemctl start ntpd
查看ntpd daemon是否启动:systemctl status ntpd

Linux系统克隆和快照

虚拟机克隆分为“完整克隆”(Full Clone)和“链接克隆”(Linked Clone)两种方式。克隆过程中,VMware会生成和原始虚拟机不同的MAC地址和UUID,这就允许克隆的虚拟机和原始虚拟机在同一网络中出现,并且不会产生任何冲突。例如:

完整克隆

完全克隆(Full Clone)的虚拟机不依赖源虚拟机,是完全独立的虚拟机,它的性能与被克隆虚拟机相同。由于完整克隆不与父虚拟机共享虚拟磁盘,所以创建完整克隆所需的时间比链接克隆更长。如果涉及的文件较大,完整克隆可能需要数分钟才能创建完成。完整克隆只复制克隆操作时的虚拟机状态,因此无法访问父虚拟机的快照。

连接克隆

连接克隆(Lined Clone)依赖于源虚拟机(称为父虚拟机)。需要通过父虚拟机的快照创建而成,因此节省了磁盘空间,而且克隆速度非常快,但是克隆后的虚拟机性能能会有所下降。对父虚拟机的虚拟磁盘进行的更改不会影响链接克隆,对链接克隆磁盘所做的更改也不会影响父虚拟机。但是如果父虚拟机损坏或快照点删除,链接克隆的虚拟机也不能使用;如果父虚拟机移动位置,需要重新指定父虚拟机的位置,再启动链接克隆虚拟机。

拍摄系统快照

快照是虚拟机某个时间点上完整系统的镜像,可以在虚拟机内部通过快照文件恢复系统到之前的节点。

Linux 系统基础操作

安装MobaXTerm工具

MobaXTerm是目前市场上一款主流linux系统的操作工具,性能非常好,是目前程序员首选的linux远程登陆和操作软件。从官网https://mobaxterm.mobatek.net/直接下载MobaXterm软件(功能强大,远超xshell这样的软件),打开即可使用。
打开MobaXterm软件后,选择settings,修改字体大小(SSH终端窗口字体),打开Terminal选项卡,进行修改

连接linux操作系统

在MobaXterm主窗口打开session,然后选择ssh选项卡,配置IP地址
连接成功以后,然后输入用户名和密码进行系统登陆

基本指令操作

系统重启

reboot 立刻重启(底层调用shutdown -r now )
shutdown -r now 立刻重启(root用户使用)
shutdown -r 10 过10分钟自动重启(root用户使用)
shutdown -r 20:35 在时间为20:35时候重启(root用户使用)

系统关机

halt 立刻关机(底层调用shutdown -h)
poweroff 立刻关机
shutdown -h now 立刻关机(root用户使用)
shutdown -h 10 10分钟后自动关机

防火墙操作

systemctl stop firewalld.service #关闭防火墙服务
systemctl disable firewalld.service #禁止防火墙开启启动
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

Linux文件系统及操作

目录结构

linux文件系统的目录结构,如图所示:
请添加图片描述

/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev:dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的

/lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

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

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

/selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:该目录存放一些服务启动之后需要提取的数据。

/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:系统用户使用的应用程序。

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:内核源代码默认的放置目录。

/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

基本操作

cd 操作

cd命令是linux中最基本的命令语句,必须熟练掌握。

cd / 返回根目录
cd ~ 用户主目录   cd /root  与 cd 的效果一致.
cd . 当前目录
cd ..返回到上一级目录
cd /usr/ 进入到usr目录
cd – 返回上一个目录
cd 直接回家

ls目录显示

ls –l 详细格式,文件权限,时间
ll 和ls –l作用相同
ls *.txt 查看所有的txt类型文档

创建和删除目录

mkdir 创建目录

mkdir a 创建 a目录
mkdir -p a/b 创建 a目录,并在a目录里创建b目录
mkdir -m 777 c 创建一个权限为777的C目录

rmdir 删除目录(如果目录里有文件,则不能用此命令)

rm n.txt 提示y删除n放弃
rm –f n.txt 不提示
rm –rf dirname 不提示递归删除目录下所以内容
rm –rf * 删除所有文件
rm –rf /abc/* 删除所有abc的子目录和文件  

创建和删除文件

touch 创建文件

touch f1.txt
touch f2.txt f3.txt
touch -a aa.txt   #-a 参数更改最后访问的时间

rm 删除文件

rm n.txt 提示y删除n放弃
rm –f n.txt 不提示
rm –rf dirname 不提示递归删除目录下所以内容
rm –rf * 删除所有文件
rm –rf /abc/* 删除所有abc的子目录和文件  

浏览文件内容

cat 查看文件所有的内容(缺陷是文件比较长是也是直接到到文件尾),例如:

cat -n /etc/profile  #-n 表示行号

more通常会结合cat使用输出文档所有的内容,分页输出,空格浏览下一屏,enter表示一行一行看,按q退出,ctrl+b 向上看一屏,ctrl+f表示向下看一屏。

more /etc/profile #这里表示将cat的内容交给more进行分页显示

less 用法和more类似,用来分屏查看文件内容,它的功能与more指令类似,但是比more更加强大,此指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于大型文件会有较高的性能。通过PgUp、PgOn,空格等键来控制文件内容的显示,按q则退出。

less /etc/profile

echo 用于输出文件环境信息,当然也可以输出文本信息,例如

echo $PATH
echo ‘hello’ #输出普通串

head指令一般用于显示文件的头几行,默认显示文件的前10行

head /etc/profile
head -n 5 /etc/profile

tail 用于显示文件后几行,默认显示后10行,例如:

tail -5 nginx.conf 查看nginx.conf的最后5行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息,使用频繁(例如在一个窗口增加内容,一个窗口查看内容,检测文件内容的变化。

ctrl+c 结束查看

打包和压缩命令

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成name.tar.gz的文件。

-c 创建一个新的tar文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用gzip压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开tar文件

tar –cvf n.tar ./* 压缩当前目录下的所有文件和目录,文件名为n.tar
tar –xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压成功 Ctrl+C推出)
tar –cvzf m.tar ./* 解压m.tar.gz文件到当前目录

Find 查找文件

语法:

find [PATH] [option] [action]

与时间有关的参数:

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名

与用户或用户组名有关的参数:

-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件

与文件权限及名称有关的参数:

-name filename :找出文件名为filename的文件
-size [±]SIZE :找出比SIZE还要大(+)或小(-)的文件
-type TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示

Linux 系统中的vi和vim指令

概述

Vi为linux文件内容编辑器,所有linux系统都自带vi编辑器。vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

应用模式

Vim 操作文件时,提供了正常模式、输入模式、命令模式:

正常模式(一般模式)

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

输入模式(编辑模式)

按下i, I, o,等任何一个字母之后才会进入编辑模式,一般来说按i即可.

命令行模式

在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的

应用模式切换

VIM 指令打开一个文件后,几个模式之间切换

常用快捷键

拷贝操作

拷贝当前行:【yy】,拷贝当前行(包括当前行)向下的5行:【5yy】,粘贴:【p】

删除操作

删除当前行【dd】,删除当前行(包括当前行)向下的5行:【5dd】

查找操作

在文件中查找某个单词:【命令行模式下 /关键字或者?关键字】,回车查找,输入【n】就是查找下一个设置文件的行号,取消文件的行号:【命令行模式下: set nu和set nonu】

保存和退出

文件编辑好以后,可以进入命令模式保存和退出

q:直接退出(不保存退出)

wq:修改后保存退出

q!:强制退出,不保存修改的内容

其它操作

使用快捷键到文档的最末行【G】和首行【gg】
在一个文件中输入"内容", 然后又撤销这个动作:【u】

0或功能键Home:这是数字0,移动到这一行的最前面字符处
$或功能键End:移动到这一行的最后面字符处
H:光标移动到这个屏幕的最上方那行的第一个字符
M:光标移动到这个屏幕的中央那行的第一个字符

如果你将右手放在键盘上的话,你会发现hjkl是排列在一起的,因此可以使用这四个按钮来移动光标。

h或向左箭头键:光标向左移动一个字符

j或向下箭头键:光标向下移动一个字符

k或向上箭头键:光标向上移动一个字符

l或向右箭头键:光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合按键,亦即加上想要进行的次数(数字)后,按下动作即可!

假如希望按页为单位进行移动,可参考如下指令:

Ctrl+f:屏幕【向下】移动一页,相当于【Page Down】按键

Ctrl+b:屏幕【向上】移动一页,相当于【Page Up】按键

Ctrl+d:屏幕【向下】移动半页

Ctrl+u:屏幕【向上】移动半页

Linux 系统中的yum指令

概述

yum命令是linux系统中基于RPM的一个软件包管理器,它能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。使用起来非常方便。

基本语法

 yum [options] [command] [package …]

选项(options)可以是:

-h:显示帮助信息; 
-y:对所有的提问都回答“yes”; 
-c:指定配置文件; 
-q:安静模式; 
-v:详细模式; 
-d:设置调试等级(0-10); 
-e:设置错误等级(0-10); 
-R:设置yum处理一个命令的最大等待时间; 
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

命令(command)可以是:

install:安装rpm软件包; 
update:更新rpm软件包; 
check-update:检查是否有可用的更新rpm软件包; 
remove:删除指定的rpm软件包; 
list:显示软件包的信息; 
search:检查软件包的信息; 
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存; 
shell:进入yum的shell提示符; 
resolvedep:显示rpm软件包的依赖关系; 
localinstall:安装本地的rpm软件包; 
localupdate:显示本地rpm软件包进行更新; 
deplist:显示rpm软件包的所有依赖关系。

案例分析

安装JDK

第一步:查询要安装 JDK 的版本

yum -y list java*

第二步:安装JDK

yum install -y java-1.8.0-openjdk.x86_64

第三步:检查JDK安装

java -version

linux系统中环境变量的设置

业务描述

Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

设置环境变量的方法

系统环境变量

这类变量对系统内的所有用户都生效,所有用户都可以使用这类变量。作用范围是整个系统。此文件只在root下才能修改。

# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

添加完成后新的环境变量不会立即生效,立即生效需要运行 source /etc/profile ,否则只能在下次重进此用户时才能生效。

指定用户环境变量

在用户目录下的.bash_profile 文件中添加变量,该文件是隐藏文件,可使用ll -a查看:

$ whoami 
rethink

$ vi /home/rethink/.bash_profile
export CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib 

$ source /home/rethink/.bash_profile

其中,.bash_profile文件只会在用户登录的时候读取。

临时有效的环境变量

此类环境变量只对当前的shell有效。当我们退出登录或者关闭终端再重新打开时,这个环境变量就会消失。是临时的。

设置方法:命令行下直接使用[export 变量名=变量值] 定义变量。

$ export NAME="rethink"
$ echo $NAME
rethink

设置环境变量常用命令

echo 用于打印显示环境变量,如:echo N A M E ; e x p o r t 用 于 设 置 新 的 环 境 变 量 , 如 : e x p o r t N A M E = ′ r e t h i n k ′ ; 更 新 环 境 变 量 更 新 环 境 变 量 直 接 重 新 赋 值 即 可 : N A M E = ′ t e s t ′ ( 注 意 : 变 量 名 前 不 需 要 加 NAME; export 用于设置新的环境变量,如:export NAME=‘rethink’; 更新环境变量 更新环境变量直接重新赋值即可:NAME=‘test’ (注意:变量名前不需要加NAME;export用于设置新的环境变量,如:exportNAME=

rethink

;更新环境变量更新环境变量直接重新赋值即可:NAME=

test

(注意:变量名前不需要加);

env 显示当前用户的变量;
set 显示当前shell变量,shell变量包含用户变量;
unset 删除一个环境变量,如:unset NAME;
readonly 设置环境变量只读,如:readonly NAME ,只读变量unset无效。

系统常用环境变量应用分析

PATH 环境变量

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

路径之间用冒号分隔,这些路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell会先检查命令是否是系统内部命令,如果不是则会再去检查此命令是否是一个应用程序,shell会试着从PATH中寻找这些应用程序。

如果shell在这些路径目录里没有找到可执行文件,就会报错;若找到,系统将调用执行应用程序。通过设置PATH ,可以让我们运行程序或指令更加方便。

将某个目录路径加入到PATH中,可以这样写:

$ pwd
/root/docker/httpd
$ export PATH=$PATH:$PWD
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd
`可以看到在PATH后面已经加上了我们当前所处目录的路径`

HOME 环境变量

用户的主工作目录,即为用户登录到Linux系统中时的默认目录。

$ whoami
rethink
$ echo $HOME
/home/rethink

HISTSIZE 环境变量

保存历史命令的条数。我们输入的指令都会被系统保存下来,这个环境变量记录的就是保持指令的条数。一般为1000。

$ echo $HISTSIZE
1000
$ HISTSIZE=1001
$ echo $HISTSIZE
1001

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取我们可以通过history命令来查看。可以使用符号 ! 执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。

$ history 5
   59  ls
   60  who
   61  history | head -n 5
   62  who am i
   63  history 5
$ !62
who am i
root     pts/0        2018-04-04 11:00 (101.81.92.18)

LOGNAME环境变量

当前用户登录名。

$ echo $LOGNAME
rethink
HOSTNAME 主机名称。
$ echo $HOSTNAME
JDu4e00u53f7

SHELL环境变量

当前用户使用的shell种类。

$ echo $SHELL
/bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值