Linux 初始安装 常规配置 常用目录 快捷键 vim
一、初始安装
1. 虚拟机安装CentOS7
- 选择安装:
鼠标点击黑屏处-按上键(在一分钟内完成)到:Install Contos7
- 修改网口名称
按tab一下——按空格——输入(net.ifnames=0 biosdevname=0)——按回车 -
默认系统使用MBR格式,强制使用硬盘GPT格式参数 inst.gpt
-
安装完成后选择安装语言
默认选择为英文—Continue -
设置时区
时区安装完成后出现如下页面——点击DATE&TIME
- 选择安装文件
点击SOFTWARE SELECTION -
选择安装方式:Minmal install(最小化安装)——Done
-
设置磁盘(我们选择第一种磁盘设置方式)
# 目前学习操作的虚拟机:
/boot分区(系统启动相关文件存放目录):500M-1024M
swap分区(虚拟内存):物理内存的 1 - 2倍 ,但是上限是8G
/:根分区(windows的C盘):剩下的都给 / 分区
# 云主机:
/boot分区(系统启动相关文件存放目录):500M-1024M
/:根分区(windows的C盘):剩下的都给 / 分区
# 专门用来存储数据的服务器:
/boot分区(系统启动相关文件存放目录):500M-1024M
swap分区(虚拟内存):物理内存的 1 - 2倍 ,但是上限是8G
/data:磁盘总量的,80%
/:根分区(如:windows的 C盘):剩下的都给 / 分区
- 点击INSTALLATION DESTINATION
- 选择:I will configure partitioning(自行分区)—Done
- 选择Standard Partition(标准分区)
- boot分区:点击+号——选择boot分区——给与500M——Add mount point
- swap分区:点击+号——选择swap分区——给与2048——Add mount point
-
分区:点击+号——选择/分区——无需填写数字会自动将剩余磁盘容量分给/分区——Add mount point
-
3个分区分完成后确认——Done
- 选择点击Accept changes
-
网卡设置
选择点击NETWORK & HOST NAME -
点击General——将Automatically connect to this network when is available(自动连接此网络) 打上√
网卡信息设置
1.点击IPV4 Settings
2.选择Manual
3.点击ADD
address(IP):10.0.0.200
Netmask(子网掩码):255.255.255.0
Gateway(网关):10.0.0.2
4.DNS servers:223.5.5.5
5.点击Save
确认网卡配置信息——Done
- 去除KDUMP
选择点击KDUMP -
将Enadie kdump √ 去掉——Done
-
系统安装
以上设置完成后,点击begin lnstallation安装系统 -
设置密码
点击BOOT password 设置密码 -
当前密码设置成.——Done(当前因为密码设置比较简单需要点击两次Done)
-
完成安装
系统安装完成后,点击Reboot重启系统
- 重启完成后进入页面
查看IP是否可以ping通
1.输入用户名密码
用户名:root
密码:1
2.输入ip 查看是否和设置的IP一致
3.输入:ping 192.168.1.105(本机IP) 确认是否可以ping通
2. 三种连接模式
- 桥接模式
- NAT模式
- 仅主机模式
3. 安装Linux后初始设置
#安装时修改网卡名称:
net.ifnames=0 biosdevname=0
#使用图形化界面改IP和主机名
nmtui
#重启虚拟机
reboot
#重启网卡
systemctl restart network
#安装基础包 (lrzsz用于ftp上传下载文件)
yum install -y vim net-tools wget lrzsz bash-completion
#查看ip
ifconfig
#查看当前的主机名
[root@oldboy ~]# hostname
hostname.hostname
#使用命令修改主机名
[root@oldboy ~]# hostnamectl set-hostname web01
#使用命令修改网卡IP地址(及其具体配置内容)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
==============================
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none" #启动模式none,static不配置或手动都可以
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes" #网卡开启,且配置自动生效。
IPADDR="10.0.0.250"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.2"
DNS1="223.5.5.5" #dns服务器地址
vim /etc/sysconfig/network-scripts/ifcfg-eth1
===============================
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"
IPADDR="172.16.1.250"
NETMASK="255.255.255.0"
#开启关闭网卡
[root@linux ~]# ifup eth0
[root@linux ~]# ifdown eth0
或者
ifconfig eth0 up
ifconfig eth0 down
#重启网卡(CentOS7)
systemctl restart network
## 修改完网卡,重启(CentOS6)
service network restart
或者:/etc/init.d/network restart
#创建目录
语法: mkdir 目录名 make directory
mkdir zls_test
#切换、进入目录
语法: cd 目录名 change directory
cd zls_test
#查看目录中都有哪些文件
#语法:ls 目录名 文件名 不接任何东西(查看当前目录下) list
ls /
ls zls.txt
ls -l (可以用ll代替)
4. 修改ip和主机名脚本
# 编辑脚本,脚本修改IP 和 主机名(注意,默认ip尽量使用250,否则脚本容易出bug替换错误)
文档有显示错误,修改以下图为准
vim ip_host.sh
---
benji_ip=`hostname -I|awk -F '[. ]+' '{print 4}'`
read -p "Plase Input hostname:" h
hostnamectl set-hostnameh
read -p "Plase Input IP:" ip
sed -i "s#10.0.0.benji_ip#10.0.0.ip#g" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s#172.16.1.benji_ip#172.16.1.ip#g" /etc/sysconfig/network-scripts/ifcfg-eth1
systemctl restart network
---
5. 修改yum仓库
# 修改yum源,使用两个仓库
CentOS-Base.repo:CentOS系统的所有基础安装包
epel.repo:CentOS系统的扩展安装包
repo和epel的关系
repo是配置源的,即配置从哪里下载包(以及依赖关系)的。
epel是作为桥的,centos等企业linux不具有repo,yum的功能,所以需要安装epel,使得其具有yum功能。
1.进入yum源存放的目录
cd /etc/yum.repos.d/
2.删除yum源存放目录中的所有文件
rm -fr /etc/yum.repos.d/*
3.使用阿里云的源(先修改基础源:Base源)(推荐可用华为云)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者用华为
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
'注意必须删除文件以后才能操作,否则无效。'
4.安装完base源,我们就可以安装wget命令
yum install -y wget
5.使用阿里云的epel源(推荐可用华为云)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
或者用华为:
yum install -y epel-release
sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/epel.repo
sed -i "s/metalink/#metalink/g" /etc/yum.repos.d/epel.repo
sed -i "s@https\?://download.fedoraproject.org/pub@https://repo.huaweicloud.com@g" /etc/yum.repos.d/epel.repo
执行yum update更新
6.清除和重建服务端的yum缓存
yum clean all
yum makecache
7.查看yum包验证是否成功
yum repolist
6. 关闭防火墙和SElinux
# 关闭linux的防火墙
systemctl stop firewalld 临时关闭
systemctl disable firewalld 彻底关闭
# 查看selinux状态
[root@web01 code]# getenforce
Enforcing
1、查看firewall服务状态
systemctl status firewalld
2、查看firewall的状态
firewall-cmd --state
# 关闭selinux(临时关闭)
setenforce 0
# 再次查看
[root@web01 code]# getenforce
Permissive
# 关闭selinux(永久关闭)修改selinux配置文件
vim /etc/sysconfig/selinux
把: SELINUX=enforcing
修改为:SELINUX=disabled
#注意:永久关闭,修改配置文件,修改以后,重启才可以生效
二、安装软件
1. 安装nginx(示例)
# 自动安装nginx
yum install -y nginx
==============================================
# 半手动安装nginx
1.修改官方源
[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/releasever/basearch/
gpgcheck=1 (有check就需要指定对应的key才能访问)
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key (对应的key)
module_hotfixes=true
2.安装
[root@web01 ~]# yum install -y nginx
3.启动,并添加开机自启
[root@web01 conf.d]# systemctl start nginx
[root@web01 conf.d]# systemctl enable nginx
nginx报错启动失败:注意nginx -t检查修改nginx配置文件。错误的配置会导致这个错误。
# 检测nginx是否启动,安装成功
1.检查端口 (如果删除修改过配置文件,可能还没有开启80端口)
[root@web01 conf.d]# netstat -lntup |grep 80
2.检查进程
[root@web01 conf.d]# ps -ef|grep [n]ginx
3.检查nginx版本
[root@web01 conf.d]# nginx -v (简单信息)
[root@web01 conf.d]# nginx -V (详细信息)
================================================
2. 简单配置nginx
# nginx的配置文件目录
cd /etc/nginx
# 配置文件名称
nginx.conf
# 修改nginx的页面 index.html
vim index.html
# 启动nginx 并设置开机自启动
systemctl start nginx
systemctl enable nginx
# 检查端口
netstat -lntup
"nginx报错启动失败:注意nginx -t检查,修改nginx配置文件。错误的配置会导致这个错误。"
三、Linux系统目录结构
1. /目录
# 在Linux中,所有的文件,定点都是 '/' 根
/etc : 系统程序的配置文件存放目录
/boot : 系统启动的文件
/var : 系统的可变文件,例如系统日志,缓存等
/run : 存放系统程序启动信息的目录
/home : 系统的普通用户家目录
/root : 系统的超级用户家目录(root)
/tmp : 系统的垃圾回收站,公共厕所
/dev : 存放虚拟机的所有设备文件
/usr : 存放用户安装的软件(只是习惯,也可以自己创建目录,安装软件)
/usr/bin -> /bin : 存放系统命令(普通用户可以执行的命令)
/usr/sbin -> /sbin : 存放系统命令(超级用户root用户,可以执行的命令)
/usr/local : 自定义 ,安装软件
2. /etc目录
/etc/passwd : Linux登陆用户的文件
/etc/group : 存放Linux用户组的文件
/etc/shadow :存放用户密码的文件
/etc/hosts : 本地域名解析文件
/etc/resolv.conf : DNS 文件
/etc/sysconfig/network-scripts/ifcfg-eth0 : 第一块网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth1 : 第二块网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth2 : 第三块网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth3 : 第四块网卡配置文件
/etc/hostname : 主机名的配置文件
3. /usr目录
/usr/local : 存放用户安装的程序目录
/usr/bin 快捷方式 /bin:系统命令 普通用户
/usr/sbin 快捷方式 /sbin:系统命令 超级用户 root
/usr/lib 快捷方式 /lib : 库文件 32位
/usr/lib64 快捷方式 /lib64 : 库文件 64位
4. /var目录
/var/log/messages : 系统日志
/var/log/secure : 系统登陆日志
5. /proc目录
/proc/meminfo : 内存信息
/proc/cpuinfo : cpu信息
6. /dev目录
/dev/random : 产生随机数
/dev/null : 黑洞设备
/dev/zero : 可以源源不断的产生数据
/dev/sda : 第一块磁盘
- sda1 :第一块磁盘的第一个分区 /boot
- sda2 :第一块磁盘的第二个分区 swap
- sda3 :第一块磁盘的第三个分区 /
/dev/sdc
- sdc4 :第三快磁盘的第4个分区
/dev/pts:当前连接系统的终端设备
四、快捷键 # history
1. 常用快捷键
Ctrl + a : 将光标跳转到当前命令的行首(ahead)
Ctrl + e : 将光标跳转到当前命令的行尾(end)
Ctrl + w : 按照空格删除光标之前的命令(word)
Ctrl + c : 终止当前的命令(cancel)
Ctrl + l : 清屏(命令clear的功能)
Ctrl + r : 查找执行的最近的一条命令(包含查找的字母)
Ctrl + d : 退出当前的bash(只退出一个)exit logout(退出当前登陆的用户)
Ctrl + z : 把程序放在后台运行(windows上QQ最小化)
(1) CTRL+Z挂起进程并放入后台
(2) jobs 显示当前暂停的进程
(3) bg %N 使第N个任务在后台运行(%前有空格)
(4) fg %N 使第N个任务在前台运行
默认bg,fg不带%N时表示对最后一个进程操作!
(在终端输入fg后回车就能返回刚才放后台的程序)
Ctrl + k : 删除当前光标到行尾的所有内容
Ctrl + u : 删除当前光标到行首的所有内容
Ctrl + 左右 : 快速移动光标
ESC + . : 上一条命令,最后一个空格后面的内容显示出来
Ctrl + s : 锁定当前命令行
Ctrl + q : 解锁当前命令行
windows + l : windows锁屏
2. history和“#”
# 在bash shell里是注释的意思 (不让计算机看)
# 历史命令
一般用于日志审计
1.查看历史命令
history
2.清空历史命令
history -c
3.指定删除某一条历史记录
history -d 4
保存到: /root/.bash_history
4.历史命令相关操作
!v: 执行你上一条,命令带v的操作
!!:执行上一条命令
!17:执行历史命令中,指定的操作
五、vim编辑器
- vim 和 vi的区别:
1.vi不会高亮显示
2.vim会高亮显示(且需要安装)
- vim 的三种模式
1. 普通模式(命令模式)
2. 编辑模式
# 从普通模式(命令模式)切换到编辑模式
i(insert):在当前光标所在字符之前,插入内容
I(shift + i):将当前光标跳转至行首,然后进入编辑模式,即可插入内容
o:往当前光标所在行的下一行插入内容
O(shift + o):往当前光标所在行的上一行插入内容
s:删除当前光标所在的字符,并且进入编辑模式
S(shift + s):删除当前光标所在行内容,并且进入编辑模式
a:在当前光标所在字符之后,进入编辑模式,插入内容
A(shift + a):在当前光标所在行末尾,进入编辑模式,插入内容
# 注释多行内容(行首)
1、首先将光标移动到,你要注释的行的第一行。
2、按Ctrl + v,进入到 可视 块
3、按 I (Shift + i)
4、输入井号 # (或者其他想输入的内容,比如空格)
5、输入完成后按ESC即可多行同时完成操作。
# 多行尾部添加内容(行末)
1、Ctrl+v
2、G或Ctrl+d后按
3、A(Shift + a)
4、输入内容
5、Esc
======简化比较=====
1.Ctrl + v 2.选中 3.(Shift + i) 4.输入 5.ESC
1.Ctrl + v 2.选中 3. G$A 4.输入 5.ESC
3. 末行模式
# 从编辑模式 切换回 命令模式 按 `ESC`
编辑模式 无法直接切换到末行模式
普通模式 才能直接切换到末行模式
使用:从普通模式切换到末行模式
:N 切换后,直接输入N(正整数)会跳转到指定行
:wq 保存退出(write quit写入并且退出)
:w 保存不退出
:q 退出不保存
:wq!
:q!
:w!
!: 强制执行
:x 保存退出
:ZZ(shift + zz):保存退出
:/字符 (查找高亮显示该字符内容)
:set nu 显示文件行号
:set nonu 取消显示文件行号
:set ic 忽略大小写
:set noic 取消忽略大小写
:set ai 自动缩进
:set noai 取消自动缩进
:set list 显示制表符,tab..^I $ (开头和结尾符号)
:set nolist 取消显示制表符
# 替换:
:%s#binkp#zls#g
:%s#binkp#zls#gc
==========
%:全文替换
1,10 1-10行替换
s:替换
g:匹配的所有
c:提示询问
替换为 tcpmux (y/n/a/q/l/^E/^Y)?
y:替换一次
n:选中下一个
a:全部替换
q:退出
l:退出并询问