目录
虚拟机网络配置
查看计算机ip地址: Windows + R cmd ipconfig
NAT连不上互联网,但是宿主机正常联网:VMnet8虚拟网卡
查看子网ip:192.168.111.0,说明NAT模式建立的所有虚拟机网段都是192.168.111开头
VMnet8的ip地址是192.168.111.1
Windows------VMnet8------centos
解决方案:查看VMnet8的ip地址是否是192.168.xxx.1 如果不是,修改ip地址(Windows端)修改方式:控制面板\网络和 Internet\网络连接 双击VMnet8---选择属性---选择Internet协议版本4----手动修改ip地址即可(修改成192.168.xxx.1)
Centos配置静态ip
原因: 保证所有客户机之间的网络连接是固定的
1、修改配置文件
配置方式:修改文件(cat /etc/sysconfig/network-scripts/ifcfg-ens33)
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9b4c784c-8910-4fb7-a1f4-5be34cc970f3
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.23.100
PREFIX=24
GATEWAY=192.168.23.2
DNS=192.168.23.2:
2、重启网络适配器
service network restart
3、在VMware的虚拟机中查看ip地址是否修改成功 ip addr
4、设置客户机连接外网
修改文件 sudo vi/etc/resolv.conf
添加
# DNS地址
nameserver 192.168.111.2
环境变量:
------------------------------------
操作系统运行的时候,识别的变量
PATH 是命令识别搜索的目录集合
Centos提取变量的方式: echo $PATH (√); "$PATH"(√) ; ${PATH}(√) ; "$PATH" (√); '$PATH'(×)
Windows中不区分大小写,Linux中严格区分大小写
修改环境变量
临时修改环境变量
export PATH=Mary
export PS1='[\u@\h \w]\$ '
永久修改环境变量(/etc/profile)系统环境变量:
sudo vi /etc/profile,在末尾添加以下配置
# 配置命令提示符格式
export PS1='[\u@\h \w]$ '
保存退出即可
使环境变量生效:source /etc/profile
Linux会话:Linux默认支持多用户、多会话同时访问 、一个会话控制一个终端
修改变量====》当前会话有效 修改文件===》永久有效
使用export控制命令提示符格式
echo $PS1
[\u@\h \W]\$ \u //用户 \h //主机名 \w //当前目录 \$ //提示符
\w //当前目录的绝对路径 \t //时间 \T //时间 \d //当前日 ...
[\u@\h `pwd`]\$ 反引号`` ====> 强制命令解析
echo `pwd`
压缩和归档:
-----------------------------------------------
查看帮助的几种方法
- -h
- --help //ls --help
- help ls //help ls
- man // man ls
- info // info ls
archive:归档
- tar:归档
- jar:java归档
- har:Hadoop归档
- war:web归档文件
- ear:enterprise归档。。。
- tar:将多个文件进行整合,成为单个文件
- tar -cf aAB.tar aaa AAA BBB //将aaa AAA BBB归档为aAB.tar
- tar -tvf bcd.tar //列出bcd.tar的内容
- tar -xf yz.tar //抽取yz.tar中所有文件
压缩:gzip
- gzip //压缩 gzip 1.txt //压缩1.txt文件
- gunzip //解压 gunzip 1.txt.gz //解压1.txt.gz文件
将yyy文件夹进行归档+压缩
tar -czvf bcd.tar.gz bbb ccc ddd //将bbb、ccc、ddd归档并压缩为bcd.tar.gz
- -z gzip //调用压缩
- -c create //创建新文件
- -v verbose //输出详细信息
- -f file //指定文件名称
- tar -xzvf bcd.tar.gz //将bcd.tar.gz 进行解压
- -x extract //抽取,解压
在Centos上安装Linux的JDK
winSCP安装位置:
安装winSCP,并将JDK发送到Centos中
JDk 安装:
1、创建/soft文件夹 sudo mkdir /soft
2、修改/soft文件夹的user sudo chown centos:centos /soft
3、切换到~目录 cd ~
4、将JDK解压到 /soft 文件夹下 tar -xzvf jdk-8u131-linux-x64.tar.gz -C /soft
5、给JDK创建符号链接 ln -s /soft/jdk1.8.0_131 /soft/jdk
6、配置环境变量 sudo vi /etc/profile 添加如下命令
添加如下内容:
# java环境变量
export JAVA_HOME=/soft/jdk
export PATH=$PATH:$JAVA_HOME/bin
7、生效环境变量 source /etc/profile
8、测试环境变量 切换到任意目录 : 输入java -version
d:目录 -: 普通文件 l: 链接 ln xxx yyy //将xxx创建链接,指向yyy(硬链接)
ln -s xxx yyy //将xxx创建链接,指向yyy(软链接 || 符号链接)
硬链接:在Linux中,文件存放形式是名字空间+真实空间;硬链接的作用是对真实数据创建另外一个对真实数据的引用
软链接:相当于快捷方式
Centos软件安装
第一次使用yum,yum会自动更新
yum:黄狗 yellowdog update modified
安装:sudo yum install -y
卸载:sudo yum remove -y
下载:sudo yum install --downloadonly --downloaddir=/home/centos nano
本地安装:sudo yum localinstall nano-2.3.1-10.el7.x86_64.rpm
搜索包名:yum search ifconfig
Nano文本编辑器
- nano 3.txt //编辑3.txt
- Ctrl + O //保存
- Ctrl+x //退出
- Ctrl+k //剪切
- Ctrl+U // 粘贴
- Ctrl+W //搜索
ifconfig: sudo yum -y install net-tools
问题1:在本地下载的时候,1、如果已经安装:sudo yum reinstall 2、如果未安装:sudo yum install
问题2:无法下载:测试是否能连接到外网:
1、ping www.baidu.com
2、ping ip地址 如果第2步可以,第1步不行====》域名解析问题,修改/etc/resolv.conf文件;如果第1、第2步均不行,查看Centos 配置
shell脚本:脚本语言,需要解释器进行解释 // 所见即所得
创建脚本步骤
1、创建文件 touch hello.sh
2、给文件增加执行权限 chmod a+x hello.sh
3、编辑文件 nano hello.sh,添加以下内容 #!/bin/bash echo helloworld
4、执行脚本 ./hello.sh
#!/bin/bash echo helloworld
java :编译型语言
for 循环
for NAME [in WORDS ... ] ; do COMMANDS; done //将WORDS中的单词进行分词
eg: for x in `cat 1.txt` ; do echo $x ; done //将1.txt中的单词进行分词,并已列表的形式打印
for ((: for (( i=0; i<10; i++ )); do echo $i; done
for 打印99乘法表
#!/bin/bash
for (( i=1; i<10; i++ )); do
for (( j=1; j <= $i; j++ )); do
echo -ne "$j"x"$i"=$(( j*i ))'\t'
done
echo
done
while循环:
while COMMANDS; do COMMANDS; done
#!/bin/bash
i=1
while (( i<10 )) ; do
j=1
while (( j<=$i )) ; do
echo -ne ${j}x${i}=$(( j*i ))'\t' ;
j=$(( j+1 ));
done
i=$(( i+1 ));
echo
done
变量:
for99.sh
$# //参数个数
$1 //第1个参数
$0 //当前脚本(命令)名称
$@ //取出所有参数
shift //参数左移
if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
[ a -eq b ] //a等于b
[ a -ne b ] //a != b
[ a -gt b ] //a > b
[ a -ge b ] //a >= b
[ a -lt b ] //a < b
[ a -le b ] //a <= b
//使用方法
if [ $age -gt 50 ]; then echo old ; elif [ $age -ge 30 ] ; then echo middle; else echo young ; fi
fori.sh //终极版脚本
==============================
#!/bin/bash
if [ $# -ne 1 ]; then echo param must be 1 ; exit ; fi
for (( i=1; i<=$1; i++ )); do
# tput setaf $i
for (( j=1; j <= $i; j++ )); do
tput setaf $j
echo -ne "$j"x"$i"=$(( j*i ))'\t'
done
echo
done