……Linux系统管理-Linux安装
1、VMware简介
VM是一个虚拟PC的软件,可以在现有的操作系统上虚拟一个新的硬件环境,相当于模拟出一台新的PC,以此来实现一台机器上真正同时运行两个独立的操作系统。
- VM的主要特点:
- 不需要分区或者重新开机就能在同一台PC上使用两种以上的操作系统
- 本机系统可以与虚拟机系统网路通信
- 可以设定并且随时修改虚拟机操作系统的硬件环境
2、系统分区
- MBR分区表(主引导分区表):最大支持2.1T硬盘,最多支持四个分区
- 主分区:最多只能四个
- 扩展分区:
- 最多只能有一个
- 主分区加扩展分区最多有4个
- 不能写入数据,只能包含逻辑分区
- 逻辑分区:
- GPT分区表(全局唯一标识分区表):GPT分区支持9.4ZB硬盘(1ZB=102PB,1PB=1024EB,1EB=1024TB),理论上支持的分区数量没有限制,但是window上限制为128个主分区
格式化:
逻辑格式化,它是根据用户选定的文件系统(如FAT16、FAT32,NTFS、EXT2、EXT3、EXT4),在磁盘的特定区域写入特定的数据,在分区中划出一片用户存放文件分配表,目录表等用户文件管理的磁盘空间。
挂载点:
使用已经存在的空目录作为挂载点
挂载
- 必须分区
- /(根分区)
- swap分区(交换分区)
- 如果真实内存小于4GB,swap为内存的4G
- 如果真实内存大于4GB,swap和内存一致
- 实验环境,不大于2GB
- 推荐分区
- /boot (启动分区, 1GB)
- 常用分区
3、linux系统安装
4、linux常用命令
-
命令的基本格式
1、命令的提示符
[root@localhost ~]#
-
[]:这是提示符的分隔符号,没有特殊的含义
-
root:显示的是当前的登录用户
-
@:分隔符号,没有特殊含义
-
localhost:当前系统的简写主机名
-
~:代表用户当前所在目录。此例中用户当前所在的目录是家目录
-
#:命令提示符。超级用户是#,普通用户是$。
2、命令的基本格式
命令 [选项] [参数]
ls
二、目录操作命令
1、ls 命令 :显示文件
2、cd 命令
cd:切换所在目录的命令,这个命令的基本信息如下:
命令名称:cd
英文原文:change direactory
绝对路径和相对路径
绝对路径:以根目录为参照物,从根目录开始,一级一级进入目录
相对路径:以当前目录作为参照物,进行目录查找
3、pwd:显示当前在哪里
4、mkdir 命令
-
命令名称:mkdir
-
英文原意:make directories
-
所在路径:/bin/mkdir
-
执行权限:所有用户
-
功能描述: 创建空目录
命令格式: mkdir [选项] 目录名
选项:
-p:递归建立所需目录
5、rmdir :删除空目录
这个命令太笨,我们后续无论是删除文件还是目录,都会使用rm 命令
三、文件操作命令
1、touch 命令
创建空文件或修改文件时间,这个命令的基本信息如下:
- 命令名称:touch
- 英文原意:
- 功能描述:创建或者修改文件时间
2、stat命令:查看文件的基本信息
[root@localhost ~]# stat abc
文件:"abc"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33643003 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2019-12-27 21:38:29.388569690 +0800
最近更改:2019-12-27 21:38:29.388569690 +0800
最近改动:2019-12-27 21:38:29.388569690 +0800
创建时间:-
3、cat命令查看文件内容
功能描述:合并文件并打印输出到标准输出
4、more 命令
more是分屏显示的文件的命令,该命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下:
- 空格键:向下翻页
- b:向上翻页。
- 回车键:向下滚动一行
- /字符串:搜索指定的字符串
- q:退出
5、less命令
less是分行显示命令,其他的跟more命令相似
四、目录和文件都能操作的命令
1、 rm 命令
rm是强大的删除命令,不仅可以删除文件,也可以删除目录
- 命令名称:rm
- 英文原意:remove file or driectories
- 所在路劲:/bin/rm
- 执行权限:所有用户
- 功能描述:删除文件或目录
[root@localhost ~]# rm [选项] 文件或目录
选项:
-f: 强制删除
-i:交互删除,在删除前会咨询用户
-r:递归删除,可以删除目录
2、cp命令
是复制命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ydqVfiFI-1585839152676)(assets/1577494706204.png)]
3、mv命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Temupbl-1585839152677)(assets/1577494844802.png)]
五、linux常见的文件权限
drwxr-xr-x. 2 root root 6 Dec 27 17:09 123
drwxr-xr-x
:总共10位。
第一位代表的是文件类型:
- “-”:普通文件
- “b":快设备文件,存储设备就是这类文件,如分区文件/dev/sda1就是这种文件
- ”c":字符设备文件。这也是一种特殊的设备文件,输入设备一般就是这种文件,如鼠标、键盘等
- “d":目录文件。linux中一切皆文件,所以目录也是文件的一种
- ”l":软链接文件。
- “p":管道符文件。这是一种非常少见的特殊设备文件
- ”s":套接字文件。这也是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件。
第2~4位代表文件所有者的权限
-
r:代表read,是读取权限
-
w代表write,是写权限
-
x:代表execute,是执行权限
如果有字母代表有对应权限,如果是"-",则代表没有对应的权限
第57位代表文件所属组的权限,第810位代表其他人的权限
管道符 |
示例:
ll /etc | more
netstat 命令:
查看本机开启的端口号:netstat -tuln
命令的别名:补充命令
alias用来查询 命令别名
alias 别名=‘原命令名’ 设定命令别名。
用命令定义的别名,是临时生效,要想永久生效,需要写入环境变量配置文件 ~/.bashrc
常用快捷键:补充命令
快捷键 | 作用 |
---|---|
Tab键 | 命令或者文件补全 |
ctrl + A | 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行的开头时使用 |
ctrl+E | 把光标移动到命令行结尾 |
ctrl + C | 强制总之当前的命令 |
ctrl + L | 清屏,相当于clear命令 |
ctrl + u | 删除或者剪切光标之前的命令 |
ctrl + Y | 粘贴ctrl + U剪切的命令 |
压缩和解压命令
在linux中可以识别的常见压缩格式有十几种,比如“.zip",".gz",".bz2"、".bar"、".tar.gz"、”.bar.bz2"等
1、zip格式
“.zip"是windows中最常见的压缩格式,Linux也可以正确识别".zip"格式,这可以方便地和windows系统通用压缩格式
- 1.1 ”.zip“
压缩命令就是zip,其基本信息如下:
命令名称:zip
英文原意:package and compress(archive) files
所在路径:/usr/bin/zip
执行权限:所有用户
2、”.gz"
-
2.1 ".gz"格式的压缩命令
“.gz"格式是Linux中最常用的压缩格式,使用gzip命令进行压缩,其基本信息如下:
-
命令名称:gzip
-
英文原意:compress or expand files
-
所在路径:/bin/gzip
-
执行权限:所有用户
-
功能描述:压缩文件或目录
这个命令的格式如下:
gzip [选项] 源文件
选项:
-c:将数据压缩输出到标准的输出中,可以用户保留源文件
-d:解压缩
-r:压缩目录
-
3、bz2格式的压缩包
这个命令的压缩格式:
bzip2 [选项] 源文件
选项:
-d:解压缩
-k:压缩式,保留源文件
-v:显示压缩的详细信息
[root@localhost ~]# bzip2 anaconda-ks.cfg
[root@localhost ~]# ls
123 anaconda-ks.cfg.bz2 Navicat Premium.lnk
[root@localhost ~]# bzip2 -d anaconda-ks.cfg.bz2
[root@localhost ~]# ls
123 anaconda-ks.cfg Navicat Premium.lnk
[root@localhost ~]# bzip2 -k anaconda-ks.cfg
#保留了源文件
[root@localhost ~]# ls
123 anaconda-ks.cfg anaconda-ks.cfg.bz2 Navicat Premium.lnk
4、".tar"命令 :打包命令,但不会压缩
-
4.1".tar"格式的打包命令
".tar"格式的打包和解打包都是使用tar命令,区别只是选项不同。
-
命令名称:tar
-
所在路径:/bin/tar
-
功能描述:打包与解打包命令
命令的基本格式如下:
tar [选项] [-f压缩包名] 源文件或目录
选项:
-c:打包
-f:指定压缩包的文件名。压缩把的扩展名
-v:显示打包文件过程
-
-
4.2 “.tar” 格式的解打包命令
“.tar"格式的解打包也需要使用tar命令,但是选项不一样。命令格式如下:
tar [选项] 压缩包
选项:
-x:解打包
-f:指定压缩包的文件名
-v:显示解打包文件的过程
-t:测试,就是不解打包,只是查看包中有哪些文件
-
4.3 “.tar.gz"和”.tar.bz2"格式
使用tar命令直接打包压缩。命令格式如下
tar [选项] 压缩包 源文件或目录选项:
-d:压缩和解压缩”.tar.gz"格式
-j:压缩和解压缩".tar.bz2"格式
示例:
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
#把tmp目录打包压缩为:".tar.gz"格式
[root@localhost ~]# ls
123 abc anaconda-ks.cfg bcd Navicat Premium.lnk tmp.tar.gz
[root@localhost ~]# tar -zxvf tmp.tar.gz
#解压缩与解打包 “tar.gz”格式
[root@localhost ~]# ls
123 abc anaconda-ks.cfg bcd Navicat Premium.lnk tmp tmp.tar.gz
bz2格式只需将-z替换为-j就行。
关机重启命令:
1、sync 同步数据 :刷新文件系统缓冲区
2、shutdown命令 :关机
3、reboot命令:重启动命令。在现代系统中,reboot命令也是安全的,而且不需要加入过多的选项
4、halt 和poweroff命令:都是关机命令,不会完整的关闭和保存系统服务,不建议使用
5、init命令:init 是修改Linux运行级别的命令,不是安全的
网络配置:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
2、重启网络服务:
service network restart
1.3 虚拟机需要桥接到有线网卡,并重启网络服务
1.4 复制镜像有可能需要重置UUID(唯一标识符)
3、netstat 命令
netstat
-tuln
5、write 命令
[root@localhost ~]# write root tty1
向其他用户发送消息
6、wall命令
wall命令用于给所有登录用户发送消息,包括自己
[root@localhost ~]# wall “hello ,erveryOne”
登录终端
本地字符终端 tty1-6 alt + F1-6
本地图形终端 tty7 ctrl + alt + F7(按住3秒,需要安装图形界面)
远程终端 pts/0-255
7、mail 命令
给系统的其他用户发送邮件
十一、系统痕迹命令
十二、 挂载命令
1、mount
第五章 vim编辑器
1、vim编辑器 (配置文件位置:~/.vimrc)
vim 是一个全屏幕纯文本的编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。可以利用别名
2、命令模式操作
2.1 移动光标
1)上下左右移动光标
上、下、左、右方向键
H、j、k、l 字母来移动光标
2)、把光标移动文件的头或者尾
gg 移动到文件头
G 移动文件的尾(shift+g)
3)、移动到行首或行尾
^ 移动到行首
$ 移动到行尾
4)、移动到指定行
:n 移动到第几行
2.2 删除或者剪切
1)、删除字母
x 删除单个字母
nx 删除n个字母
2)、删除整行或剪切
dd 删除单行
ndd 删除多行
:n1,n2d删除指定范围的行
删除整行或多行,这是比较常用的删除方法。这里的dd即是删除,也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切。粘贴方法如下:
p 粘贴到光标后
P(大写) 粘贴到光标前
3)、从光标所在行删除到文件尾
dG 从光标所在行删除到文件尾
2.3 复制d
yy 复制单行
nyy 复制多行
复制之后的粘贴,依然可以使用p键或者P(大)键
2.4 撤销
u 撤销 # 能够一直撤销到文件打开时的状态,类似windows下“ctrl +z“键的作用
ctrl + r 反撤销
2.5修改
r:修改光标位置的字符
R:开启连续修改模式,按ESC退出
2.8 替换
:1,10s/old/new/g 替换1到10行的所有old为new
:%s/old/new/g 替换整篇文章的old为new
批量替换
:1,10s/^/#/g 注释一到10行
:1,10s/^#//g 取消注释
批量添加“//”注释
:1,10s/^/\/\//g 注释1到 10行
:1,10s/^\/\///g 取消1到10行::
vim 使用技巧
1、导入其他文件的内容
:文件名 把文件内容导入光标位置
2、在vim中系统命令
:!命令 在vim中执行系统命令
3、导入系统命令结果
:r !命令 在vim中执行系统命令,并把命令结果导入光标所在行
4、设定快捷键
:map 快捷键 快捷键执行的命令 自定义快捷键
常用自定义快捷键:
:map ^p I#<ESC> 按下"ctrl + p"时,在行首加入注释
:map ^B ^x 按下"ctrl + b"时,删除行首的第一个字符(删除注释)
注意:^p快捷键不能手工输入,需要执行ctrl+v+p来定义
字符替换
:ab 源字符串 新字符串
有时候需要频繁的输入某一个长字符串(比如邮箱);这时候使用字符串替换可能增加输入效率,例如:
:ab mymail 760963@qq.com 当碰到”mymail“时将转换为邮箱。
第六章 软件安装
一、软件包分类
1、软件包分类
- 源码包
- 二进制包
2、rpm 包安装
rpm -ivh 包全名
3、rpm 包升级
rpm -Uvh 包全名 -U:升级安装,如果没有安装过,也进行安装
rpm -Fvh 包全名 -F:升级安装,如果包没有安装过,必须安装有较旧版本,才能升级
4、卸载
rpm -e 包名
--nodeps 不检查依赖性
-e 卸载
5、查询
-
查询软件是否已经安装,命令格式如下:
rpm -q 包名
-
查询系统中所有已经安装的软件
rpm -qa
当然可以使用管道符来查看所需要的内容,比如:
rpm -qa | grep htt
-
查询软件的安装的信息
rpm -qi 包名 # 查询软件的信息
-
查询软件包中的文件列表
查询已经安装的软件包中的文件列表和安装的完整目录
rpm -ql 包名 选项: -l:列出软件包中所有的文件列表和软件所安装的目录
查询未安装的软件包中的文件列表和打算安装的位置,命令如下:
rpm -qlp 包全名
查询系统文件属于哪个RPM包,手工新建的文件不可以查询
rpm -qf 系统文件名 选项: -f:查询系统文件属于哪个软件包
-
导入数字证书
[root@localhost cdrom]# rpm --import RPM-GPG-KEY-CentOS-7
查询数字证书
rpm -qa | grep gpg-pub gpg-pubkey-f4a80eb5-53a7ff4b
6、rpm 包中文件提取命令
当文件被修改后,发现没法修改成原文件。
1)、cpio 命令
命令格式:
rpm2cpio rpm包全名 | cpio -idv ./文件在rpm 包中的路径
rpm2cpio /mnt/cdrom/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm | cpio -idv ./etc/httpd/conf/httpd.conf
二、rpm 包在线安装(yum安装)
1、yum源文件解析
yum源配置文件保存在/etc/yum.repos.d/目录中,文件的扩展名一定是 “*.repo”。也是就说,yum源配置文件只要扩展名是"*.repo"就会生效
[root@localhost conf]# ls /etc/yum.repos.d
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
有5个yum源 文件,默认Centos-Bash.repo文件生效。
在Centos-Bash.repo
文件中有5个yum 源容器,这里列出base容器,其他容器和base容器类似。
- [base] :容器说明,可一定要写在[]中。
- name:容器说明,可以自己随便写
- mirrorlist:镜像站点,可以注释掉
- baseurl:我们的yum源文件服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的。如果觉得慢,可以修改成你喜欢的yum源地址
- enabled:此容器是否生效。enabled=1:表示生效,enabled=0:表示不生效
- gpgcheck:如果为1则表示RPM的数字证书生效;如果为0则表示RPM的数字证书不生效
- gpgkey:数字证书的公钥文件保存位置。不用修改
2、搭建本地光盘yum源
第一步:放入CentOS光盘,并挂载光盘到指定位置。命令如下:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
第二步:修改其他几个yum源配置文件的扩展名。让他们失效,因为只有扩展名是"*.repo"的文件才能作为yum源配置文。
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
第三步:修改光盘yum源配置文件CentOS-Media.repo,参照下面方法修改:
14 [c7-media]
15 name=CentOS-$releasever - Media
#修改你自己光盘挂载地址
17 baseurl=file:///mnt/cdrom/
18 # file:///media/cdrecorder/
19 gpgcheck=1
20 enabled=1 #让源文件生效
21 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
22
3、yum命令
1)、查询
-
查询yum源服务器上所有可以安装的软件包列表
yum list
-
查询yum源服务器中是否包含某个软件包
yum list 包名
-
搜索yum源服务器上所有和关键字相关的软件包
yum search 关键字
-
查询指定软件包的信息
yum info samba
2)、安装
yum -y install 包名
选项:
install 安装
-y 自动回答yes。如果不-y,那么每个安装软件都需要手工回答yes
3)、升级
yum -y update 包名
4)、卸载
除非你确定卸载的软件的依赖包不会系统产出影响,否则不要执行yum的卸载。因为很有可能在卸载软件包的同时卸载的依赖包也是重要的系统文件,这就有可能导致系统崩溃。卸载命令如下:
yum remove 包名
4、yum 组管理命令
xshell上传下载,下载工具安装:只适用 xshell
rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm