Linux centOS7 安装及简单配置

一、前提准备:

虚拟机VMware12或15
centOS7镜像文件

二、虚拟机的安装步骤

Linux centOS7 安装及简单配置_第1张图片
Linux centOS7 安装及简单配置_第2张图片
Linux centOS7 安装及简单配置_第3张图片
Linux centOS7 安装及简单配置_第4张图片
Linux centOS7 安装及简单配置_第5张图片
下面安装一路默认:直到有红色警告的地方
Linux centOS7 安装及简单配置_第6张图片
Linux centOS7 安装及简单配置_第7张图片
Linux centOS7 安装及简单配置_第8张图片
Linux centOS7 安装及简单配置_第9张图片
Linux centOS7 安装及简单配置_第10张图片
Linux centOS7 安装及简单配置_第11张图片
等待安装完成登陆即可

三、简单配置

1.设置自己的IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33

Linux centOS7 安装及简单配置_第12张图片
Linux centOS7 安装及简单配置_第13张图片
每行代码的解释如下:

代码 解释
TYPE=Ethernet //网络类型:Ethernet以太网
BOOTPROTO=none //引导协议:自动获取、static静态、none不指定
DEFROUTE=yes //启动默认路由
IPV4_FAILURE_FATAL=no //不启用IPV4错误检测功能
IPV6INIT=yes //启用IPV6协议
IPV6_AUTOCONF=yes //自动配置IPV6地址
IPV6_DEFROUTE=s //启用IPV6默认路由
IPV6_FAILURE_FATAL=no //不启用IPV6错误检测功能
NAME=ens33 //网卡设备的别名
UUID=90528772-9967-46da-b401-f82b64b4acbc //网卡设备的UUID唯一标识号
DEVICE=ens33 // 网卡的设备名称
ONBOOT=yes // 开机自动激活网卡
DNS1=6.6.6.6 //D NS域名解析服务器的IP地址
IPADDR=192.168.1.199 //网卡的IP地址
PREFIX=24 //子网掩码
GATEWAY=192.168.1.1 //默认网关IP地址
IPADDR=192.168.2.2 #你想要设置的固定IP理论上192.168.2.2-255之间都可以,
NETMASK=255.255.255.0 #子网掩码,不需要修改;
GATEWAY=192.168.2.1 #网关,这里是你在“2.配置虚拟机的NAT模式具体地址参数”中的

保存退出后刷新一下网络

service network restart

查看能否连接外网

ping www.baidu.com

在这里插入图片描述
建议关闭防火墙

systemctl stop firewalld.service

关闭开机自启

systemctl disable firewalld.service

关闭selinux

vi /etc/selinux/config

设置 SELINUX=disabled

2.修改主机名以及IP和主机名的映射
vi /etc/sysconfig/network

在最后一行添加 HOSTNAME=yourname.com
保存退出

vi /etc/hosts

在最后一行添加(你自己的ip)
   192.168.195.88     yourname.com
保存退出
检查:
ping yourname.com

3.创建用户以及赋予普通用户免密码的超级权限

useradd  newUserName

visudo
在 root   ALL=(ALL)   ALL 下一行添加
username    ALL=(ALL)    NOPASSWD:ALL
保存退出

四、其他Linux的简单命令

基础命令:

命令 说明 1 2 3
ls 查看本文件夹下的信息 -a:显示所有的内容 -l或ll:列举详细的信息 -d:列举当前信息
mkdir 创建文件夹 [-p]:递归创建 mkdir -p data/data 相对目录和绝对目录
rmdir 删除空文件夹
touch 创建文件 通过改变创建时间 -p:递归
rm 删除文件 rm -rf:删除目录和文件
cd 打开 cd …返回上一级 cd / 返回根目录 cd ~家目录
pwd 显示当前目录
whereis 查找命令
clear 清屏 ctrl l
history 显示用户的登录信息
cp 复制 -r 复制目录 可以重命名的
mv 剪切
cat 查看一个文件的内容 -n:显示行号
more 翻页查看 空格翻页 按q退出
less 可以上下翻页
head -10 :显示前10行 -F:后行显示
tail -3 :显示最后三行
echo 回显
操作 说明
date 显示当前时间
who 显示用户的登录名
su 切换用户命令
cal 显示日历
bc 计算器
shutdown 关机
useadd 增加普通用户
userdel 删除普通用户

8.Linux用户权限

操作 说明
root 最高权限 UID=0
useradd 添加用户 500-1000
passwd 设置密码
su 切换用户
groupadd 创建组
groupdel 删除组
chgrp 改变档案所属群组
chown 改变档案所属人
chmod 改变档案的属性 SUID等等的特性

Linux入门


##权限管理
说明:将人们创建的权限进行修改
用户类型:

所有者:u
用户组:g
其他人:o
所有人:a

目录权限的类型:

类型 说明 数字
r 可读 4
w 可写 2
x 可执行 1

chmod:修改文件的权限

chmod g+x aaa:给组添加执行的权限
chmod a-x,a+r aaa:所有人去除实行,添加读的权限
chmod 777 aaa:共享文件

注意:普通用户没有在其他家目录中的任何的操作
家目录绝对隐私
分组:
chgrp [-r] 组名 文件和文件夹
改变用户所有权:

chown username:username /test01
username:groupname

修改用户指定组:
usermod -g 组名 用户名

操作 说明 例子 说明
chmod 修改文件权限 chmod 777 所有人都可以操作
chgrp 把文件赋给某个组权限 chgrp user1 /test01 赋予某个组权限
chown 改变文件所有权 chown user1:user1 /test01 修改某个文件的所有权和分组
usermod 修改用户所在组 usermod -g user2 user1 把1分到2组当中

关机和克隆

关机 重启 克隆 快照
shutdown -h now reboot 复制镜像 备份
halt init 6 下次出问题可以直接返回快找时间点
init 0

常用工具命令

visudo 普通用户获得超级权限 在root后加入: username   ALL=(ALL)   NOPASSWD: ALL
systemctl stop firewalld 关闭防火墙 service iptables stop
systemctl start firewalld 打开防火墙 普通用户打不开 service iptables start
systemctl status firewalld 查看防火墙状态 service iptables status

常见符号:

符号 注释 说明 符 号 注释
. 当前目录 上一级目录
| 管道符 过滤 :grep ‘data’ 模糊匹配 > 定向覆盖符号
>> 重定向追加符号 cat /etc/passwd | grep ‘data’ >>/test01/test3.txt ~ 家目录
& 后台运行 \ 换行
< 可以改变标准输入 * 任意的,通配符
代表任意一个字符 d?v … d* set nu 设置行号

vi编辑器

操作 说明 操作 说明
yy 复制当前行 10yy 复制从当前开始的十行
p 粘贴 dd 剪切当前行
10dd 剪切从当前行开始的十行 G 跳到最后一行
gg 跳到第一行 10gg 跳到第10行
u 撤销上一步

进入插入模式(6个命令)

操作 说明
【i】 从目前光标所在处插入
【I】 从目前光标
【a】 从当前光标所在的下一个字符处开始插入
【A】 从光标所在行的最后一个字符处开始插入
【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入
【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入

最后行模式:在命令行的模式下按shift+:进入最后行模式

操作 说明 操作 说明
:w 保存文件 :w! 若文件为只读,强制保存文件
:q 退出 :q! 不保存强制退出
:wq 保存后离开 --会修改最后修改的时间 :wq! 强制保存后离开
:set nu 显示行号 :set nonu 取消显示行号
强制退出 x 保存退出不会修改时间
X 加密

帮助与查找命令

man:查看命令的详细用法
-新命令;–旧命令
find:查找文件,会包含子目录
格式:find 路径 条件

条件 说明 例子
-name 以名字来查询 find /test01 -name ‘*.txt’
-size 大小查找 find /test01 -size +0
-type 类型 find /test01 -type d(文件夹)f(文件)b(块)

du统计目录的大小
格式:du [-acsh] dir_目录

条件 说明 例子
-a 全部文件和目录大小都列出来 du -a /test01
-c 最后总加 du -c /test01
-h 大小显示单位 du -h /test01

wc:文本统计
-l:查看多少行
-w:查看有多少单词
-c:字节

shell 脚本

##网络管理

关键字 意思 用法 说明
route 查看网络 route -n 查看路由信息
netstat 端口 netstat -alunlp 查看端口信息
netstat -alunlp | grep 22 查看22号端口信息
标签 解释
top:实时查看进程信息
PID 进程id
USER 进程所有者
PR 进程优先级
VIRT 进程使用的虚拟内存总量
RES 进程使用的、未被换出的物理内存大小
SHR 共享内存大小
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)
. .
free -m 查看内存信息
ps 查看进程(列出)
-A:查看所有; -l:查看启动的进程
kill -p pid 只打印相关进程的进程号,而不发送任何信号
kill -9 pid 强制杀死指定的进程
jps 专门用于查看java进程

Linux常用压缩

只能压缩文件,压缩后,原文件就不见了

压缩 解压
gzip 文件名 (.gz格式) gunzip 压缩包名字
bzip2 文件名字 (.bz2格式) bunzip2 压缩包名字
funzip 压缩文件名:可以查看其内容

打包 tar

. .
tar -cvf 打包的名字.tar 文件 打包
tar -xvf 要解包 -C 路径 解包
例:先打包,再压缩 再解压,后解包
tar -zcvf 新建包名.tar.gz 文件 打包压缩
tar -zxvf 要解压解包名 -C 路径 解压解包
操作 说明 操作 说明
-c 打包 -x 解包
-v 显示 -t 查看
-z gzip -j bzip2
-f 使用档名 -C 指定文件的路径

打开即插即用文件,打开光盘,查看内容是否为空,Packages即包含RPM包

rpm操作 说明
rpm -qa | grep ‘zlib’ 查看已经安装的,带zlib
rpm -ivh 压缩包 进行安装
rpm -Uvh 文件(包)名 更新
rpm -e 安装后的名字 删除安装
rpm -e --nodeps name 忽略依赖关系
rpm -qf /bin/ls 查看ls属于哪个软件包
rpm -ql zlib-1.2.3-29.el6.x86_64
rpm -qR 软件包名 查询软件包的依赖性
操作 代码
查看所有安装过的 yum list [installed]
安装上载软件(rz上传) yum install [-y] lrzsz
卸载 yum remove [-y] package_name

运算符和表达式

变量定义:key=value,等号两边不能有空格,系统变量要大写,值中有空格用"",命令赋给变量用``
echo的使用:回显
-n:不要在最后自动换行
-e:特别处理特殊字符(\n:换行; \t:插入tab键)

环境变量

全局变量在:/etc/profile
用户自己变量:.bash_profile

操作 说明
export -p 显示变量
export TEMA=12 创建环境变量(大写)
export -n TEMA 删除变量(不是真正意义的删除

变量设置

位置变量

脚本中:$1-$9,表示第一个到第九个参数
编写脚本规范:必须声明头部 #!/bin/bash
脚本的运行:必须有可执行的权限,文件添加可执行文件

预定义变量: .
$0 脚本的名称
$! 进程的PID号
$? 程序执行的状态,0成功,非0不成功
$* 所有参数,整体
$$ 当前进程的id号
$# 参数的总个数
$@ 所有参数,分割
自定义变量:
定义 a=1 b=abcd c=“wo hen shuai”
使用 echo “ a − − − − {a} ---- a{b}----${c}”

read:从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量

read的用法
-n 后跟一个数字,定义输入文本的长度,很实用。
-r 允许输入使用转义字符
-p 打印提示内容

通配符

.
* 匹配任意长度的任意字符
? 匹配任意单个字符
使用范围 ls find cp
列出以.gz结尾文件的详细信息 ls -l *.gz
列出以d开头、后面跟1个字符 ls -l ‘d?’
表达式 意思 说明
[] 某个范围的单个字符 0-9 a-z A-Z
. 单个字符
* 匹配多个–匹配多个字符需要用.*
^ 以什么开头 在中括号中表示非
$ 以什么结尾
\ 通常用于打开或关闭后续字符的特殊含义
过滤操作 说明
grep ‘r…t’ passwd 过滤出r…t数据
grep ‘^root’ passwd 过滤出以root开头的数据
grep ‘[0-9]:[0-9]’ passwd 过滤出0-9:0-9复合的数据

sed:是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作

sed操作 说明
sed ‘1d’ passwd 删除第一行
sed -i ‘1d’ passwd 在原数据上直接删除第一行数据
sed -n ‘1,2p’ passwd 查看1.2行
sed -i ‘1d’ passwd 直接修改原文件(删除)
sed -i ‘1a\hello word’ passwd 第一行添加数据
sed -e ‘4a\newLine’ passwd 不修改原文件,在第4行后添加新一行数据
sed ‘1c Hi’ passwd 第一行替换成Hi
操作符 说明
-e 以选项中指定的script来处理输入的文本文件。
-i 直接修改读取的档案内容,而不是由萤幕输出。
-n 使用安静(silent)模式,在指定了值的时候显示指定的值
command
a 新增,后面可以接字串
c 取代,可以接字串,这些字串可以取代 n1,n2 之间的行!
d 删除,因为是删除啊,所以 d 后面通常不接任何东西
p 查看

awk:
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑awk在其对数据分析并生成报告时,显得尤为强大。

wak使用 说明
cat /etc/passwd | awk -F ‘:’ ‘{print$1"\t" $7}’ 打印第一列和第七列
awk -F ‘:’ ‘{ print $3 }’ passwd 打印第三列

通用表达式

&& A执行成功,B才执行
|| A成功,B不执行
; 无逻辑关系

内置判断测试

所在位置 等于 不等于 大于 小于 大于等于 小于等于
字符串 = != \> <
数字:在[]中 -eq -ne -gt -lt -ge -le
在(())中 == != > < >= <=

-z:判断变量是否为空,空返回真 非空返回假 可以判断

str=''
判断的是 ""

-n:判断变量是否不为空,不为空返回真

		[ -n "\$str3" ];echo \$? 
		[ -n "\$str" ];echo \$? 	--1

|文件|-e|-f|-d|-r|-w|-x|

文件 .
-f 判断是否是一个文件
-d 判断是否是一个目录
-e 判断是否是存在
-w 判断是否是可写
-r 判断是否是可读
-x 可执行

运算(a=1,b=2)

.
$[a+b] $[ a + a+ a+b]
$((a+b)) $(($a+$b))
expr $a \* $b

时间命令:date

.
date +%Y%m%d%H%M
date -d ‘1 days ago’ '+%Y%m%d%H%M‘
date -d ‘-1 day’ ‘+%Y%m%d%H%M’
修改
date -s “2016-10-22 18:00:00”
date -s ‘如期’–Sat Oct 22 18:00:00 CST 2016
date -d '2 days ago '+"%Y-%m-%d" || date -d ‘-2day’+"%Y-%m-%d"

[ -z num1 ];echo $? :判断是否为空
expr $num1 * $num2

((num1 > num2));echo $?

shell脚本

###循环结构
for循环
1.

for 变量 in 集合
do

done
for((表达式1;表达式2;表达式3))
do

doine

例:

#!/bin/bash
for i in {1..10}
do
    echo -n "$i "
done
echo
name=`ls /`
for i2 in $name
do
    echo -n "$i2"
done
echo
for i3 in {a,b,c,d,e,f}
do
    echo "$i3 "
done
echo 

九九乘法表:

#!/bin/bash
for ((i=1;i<=9;i++))
do
        for ((j=1;j<=i;j++))
        do
                a=$(( $i * $j ))
                if [ $j == 1 ];
                then
                        echo -n "$j"x"$i"="$a "
                elif [ $a -le 9 ];then
                        echo -n "$j"x"$i"="$a  "
                elif [ $a -ge 10 ];then
                        echo -n "$j"x"$i"="$a "
                fi
        done
        echo
done

while 循环
read -p “输入提示符” 变量 —变量输入
语法:

定义变量a,b
while [ a > b ]
do
    循环体
    变量赋值
done

读取文本:

while read -r line
do
    语句
done < file_path

例:

#!/bin/bash
read -p "请输入一个整数:" num
i=1
echo "我来打印 1 - $num "
while [ $i -le $num ]
do
        echo -n "$i "
        i=$(($i+1))
done
echo
#!/bin/bash
while read -r line
do
    echo $line | awk -F ':' '{print $1}'
done < /etc/passwd

选择结构

单分支

if [ 表达式 ]
then
    语句
fi

双分支

if [ 条件 ]
then
    语句1
else
    语句2
fi

多分支

if [ 条件 ]
then
    语句1
elif [条件2]
then
    语句2
elif [条件3]
then
     语句3
fi

例:

#!/bin/bash
echo "选择练习"
read -p "你是选择外出呢还是在家?(1外出;2在家):" a
if [ $a -eq 1 ]
then
        read -p "今天天气真不错,如果你要出门那你要去哪里呢?(1逛公园;2购物):" b
        if [ $b -eq 1 ]
        then
                echo "公园里比较好玩,当然去公园了"
        elif [ $b -eq 2 ]
        then
                echo "当然是陪女票去购物了"
        else
                echo "必须在1和2中选择,请重新开始游戏!!!"
        fi
elif [ $a -eq 2 ]
then
        read -p "今天有霾,如果待在家里你会怎么选择呢(1看电影;2打游戏)" c
        if [ $c -eq 1 ]
        then
                echo "我喜欢看电影"
        elif [ $c -eq 2 ]
        then
                echo "当然是放弃女票打游戏了"
        else
                echo "必须在1和2中选择,请重新开始游戏!!!"
        fi
else
        echo "必须在1和2中选择,请重新开始游戏!!!"
fi

case的用法:

case 变量 in
value1)
    exec command1
;;
value2)
    exec command2
;;
*)
    exec command3
esac

例:

#!/bin/bash
read -p "请输入一周之内的整数:" num
case $num in
1)
        echo "今天是礼拜一"
        ;;
2)
        echo "今天是礼拜二"
        ;;
3)
        echo "今天是礼拜三"
        ;;
4)
        echo "今天是礼拜四"
        ;;
5)
        echo "礼拜五"
        ;;
6)
        echo "休息"
        ;;
7)
        echo "还是休息"
        ;;
*)
        echo "请输入1-7的整数"
        ;;
esac

多条件判断

if [ ] && [ ]

#!/bin/bash
read -p "请输入一个年份:" year
if [ $(( $year % 4 )) -eq 0 ] && [ $(( $year % 100 )) -ne 0 ] || [ $(( $year % 400 )) -eq 0 ]
        then
        echo "你输入的是瑞年"
else
        echo "你输入的是平年"
fi

a | b)

#!/bin/bash
read -p "请输入性别:" sex
case $sex in
1 | 0 )
        echo "性别正确"
        ;;
*)
        echo "性别不正确"
        ;;
esac

service crond status:查看定时任务状态

:查看定时器
crontab -e: 编辑定时器
/:清除定时器
crontab -u 用户名 -f 文件:将文件作为是用户的定时任务

*/2	*	*	*	*	echo "hello" >> /test01/test03/a.txt

 30 12 * 1-4 3 命令:1-4月,每周三的12点30分执行一次命令

at 18:00
cat /etc/passwd | awk -F ‘:’ ‘{ print $1 }’
ctrl+D

你可能感兴趣的:(Linux)