Linux centOS7 安装及简单配置

一、前提准备:

虚拟机VMware12或15
centOS7镜像文件

二、虚拟机的安装步骤

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
下面安装一路默认:直到有红色警告的地方
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待安装完成登陆即可

三、简单配置

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

在这里插入图片描述
在这里插入图片描述
每行代码的解释如下:

代码解释
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的简单命令

基础命令:

命令说明123
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 nowreboot复制镜像备份
haltinit 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查看
-zgzip-jbzip2
-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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值