Linux学习第2天

目录

虚拟机网络配置

Centos配置静态ip

环境变量:

修改环境变量

临时修改环境变量

永久修改环境变量(/etc/profile)系统环境变量:

压缩和归档:

查看帮助的几种方法

archive:归档

压缩:gzip

在Centos上安装Linux的JDK

winSCP安装位置:

JDk 安装:

Centos软件安装

Nano文本编辑器

创建脚本步骤

for 循环

for 打印99乘法表


虚拟机网络配置

查看计算机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`

压缩和归档:

-----------------------------------------------

查看帮助的几种方法

  1. -h
  2. --help   //ls --help
  3. help ls  //help ls
  4. man    // man ls
  5. info   // info ls

archive:归档

  1. tar:归档                 
  2. jar:java归档       
  3. har:Hadoop归档   
  4. war:web归档文件 
  5. ear:enterprise归档。。。
  6. tar:将多个文件进行整合,成为单个文件     
  7.  tar -cf aAB.tar aaa AAA BBB       //将aaa AAA  BBB归档为aAB.tar
  8. tar -tvf bcd.tar                              //列出bcd.tar的内容
  9. tar -xf yz.tar                                 //抽取yz.tar中所有文件

压缩:gzip

  1.  gzip    //压缩  gzip 1.txt    //压缩1.txt文件
  2.  gunzip    //解压   gunzip 1.txt.gz   //解压1.txt.gz文件

将yyy文件夹进行归档+压缩

tar -czvf  bcd.tar.gz bbb ccc ddd   //将bbb、ccc、ddd归档并压缩为bcd.tar.gz

  1. -z  gzip //调用压缩   
  2. -c  create  //创建新文件 
  3.  -v  verbose //输出详细信息 
  4. -f file //指定文件名称
  5. tar -xzvf     bcd.tar.gz    //将bcd.tar.gz  进行解压   
  6.  -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文本编辑器

  1. nano 3.txt   //编辑3.txt                                                   
  2. Ctrl + O   //保存                                                                 
  3. Ctrl+x    //退出
  4. Ctrl+k //剪切   
  5. Ctrl+U  // 粘贴 
  6. 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

猜你喜欢

转载自blog.csdn.net/chengming320/article/details/82770096