2019.8.5

回顾

     所有的IT知识都时候依托以OSI七层模型(TCP/IP四层);
     协议:(规定)
     应用层协议:http https(B/S) ssh telnet smtp pop3 imap ftp tftp dns dhcp
     传输层:tcp udp -- 端口
     网络层:路由协议 被路由协议(IPv4 IPv6) x.x.x.x
     数据链路层:以太网协议 MAC ff:ff:ff:ff:ff:ff:ff 全球唯一
     物理层:01的电信号

     Linux的目录结构
     Linux的磁盘管理
     fdisk -- 分区(逻辑边界)写入文件系统;-l 磁盘的命名
     mkfs -t //指定文件系统格式;
     mount 要挂载的设备 挂载点 【存储设备在Linux系统上必须挂载】
     umount 要挂在的设备/挂载点
     df -h
     /etc/fstab 实现开机自动挂载

     / /bin /sbin
     /etc
     /usr /usr/local/
     /var
     /opt
     /sys /proc
     /tmp
     /lib /lib64
     /home /root
     /cdrom /media /mnt

   常见的关于目录文件操作的命令:
                                       ls 文件通配符globbing * ? [ ] ^ $
                                       cd . .. ~ - 绝对路径与相对路径
                                       grep


    正则表达式

          1、字符串匹配 . [] [^] [:digit:] [:alpha:] ...

          2、次数匹配 * ? \{m\} \{m,n\} \{0,n\} \{m,\}

          3、位置锚定 ^ $ \b <\ \b /> 4、分组 \(ab\)* abababab
    ab* abbbbb
       .*
       -v
        -i
       ^$ -- 空白行
       mkdir -pv 同时创建多级子目录
       rm -r
       rmdir 删空目录
       tree -L -d

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

文件相关的命令

     1、创建和删除操作
            Touch 摸 修改时间戳 stat (atime mtime ctime),如果没有该文件就创建该文件
            -C
            时间的格式:MMDDhhmm[CC]YY.ss
            top --> 查看进程【CPU:sy ur】
           -a
            Rm
           *find* 【范围】 -file d -name a* [文件属性]
           -exec 命令 {}\;
           -ok 命令 {}\;
           | xargs 命令 ;

            Mkdir -pv

     2、拷贝和移动文件
           Cp -a //携带所有文件属性一块复制
           Mv move   (1).移动文件

                             (2).修改文件名称
           mv a b
           mv /tmp/a /root/
           文件名扩展
           { }
           创建目录 姓名_学号 赵云_00001
            mkdir {赵云,石磊}_{00001,00002}
            赵云_00001
            赵云_00002
            石磊_00001
            石磊_00002

    3、查看文件内容
         cat 一次性查看文件中所有内容
         cat /etc/init.d/
         More //man命令
          /
          ?
          q
          Less 在更多的清下,查看大文件,我们使用less
         Tail 默认查看倒数10行
        -n // tail -n 20 文件名 简化:-20
        *-f* 不退出文件,实时查看文件内容
         Head 查看行首
         -n // head -n 20 文件名 简化:-20

   4、其他
        Echo -e -n
        echo $PATH
        -n // print("Hello World",end='\t') print("Hello World")
        print("Hello World")
        -e 识别 \t \n \r
        echo -n -e "Hello World \t"


  重定向 > 和 >>

          fd 文件标识符

          0 -- 标准输入

          1 -- 标准输出

          2 -- 错误输出

              程序 = 指令 + 数据

                         代码    变量

        变量里面的数据从何而来?通过代码执行的数据又输出到哪里?

       规定:默认标准输入为--键盘 标准输出为--显示器
                  而重定向就是用来改变输入和输出的;


   输出重定向:

                 >         覆盖重定向 默认工作中不能使用 set -C 去掉这个功能,

                            同时 >| 可以进行强制重定向(set +C开启覆盖重定向功能)

                >>        追加重定向 在原有的文件上,在添加追加的数据即可;

    扩展
            在Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;

            返回0代表命令执行成功,而返回非0则是失败;$? 存储上一条命名的执行状态

            结果;在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,

             我们就会使用 重定向 将输出结果重定向至 空文件(/dev/null)

             cat a.txt > /dev/null

    输入重定向:

                     <          把后面的文件,交给前面的命令来执行;

                                 tr 命令,将前面的内容替换为后面的内容

                                 tr abc ABC < a.txt

                   <<         将多行内容同时输入,用在 cat 命令中

                   cat >>文件<<EOF

                   >a

                  >EOF

  错误输出重定向:

                      2>          需要带上 fd(文件标识符)

                      2>>       追加的错误重定向输出

        扩展优化:

                      cat a.txt > /dev/null

                      cat a.txt 2> /dev/null
        &> /dev/null 无论命令执行正确与否,都将输出内容指定到/dev/null

        &>> [普通文件] 

   管道:

          command 1 | comand 2 | command 3 | command 4 | .........

          将前面的命令的执行结果,输出给后面一条命名执行;

                  【Linux思想:结合小功能,完成复杂功能】  

          tail -7 /etc/fstab | cut -d' ' -f1

          cut 切

         -d 指定分隔符‘ ’

          -f 取的列 1-3 1,3 1

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

Linux远程

     1、查看或配置网卡信息

           网卡和IP地址

           ifconfig

           没有该命令,我们需要安装网络包工具(net-tools)

           apt install net-tools

           若果,网卡没有起来,我们需要修改默认的网卡配置文件;

           /etc/network/interfaces

           vim /etc/network/interfaces

         (1)  动态 - dhcp

                     auto eth0

                    iface eth0 inet dhcp

                     【修改配置文件,就需要重启服务】

                  /etc/init.d/networking restart

         (2)静态 - 手动去配置

                  address 192.168.94.10

                  netmask 255.255.255.0

                  gateway 192.168.94.1


       2、远程管理机制

                Ssh 开启Ubuntu的ssh端口的监听功能; tcp-22

                netstat -tnl // t -- tcp协议 n -- 不做解析

               如果没有:apt install openssh-server -y

         /etc/init.d/ssh start

             【Ubuntu默认只能使用普通用户进行远程连接】

               ssh [email protected]

               centos下,直接使用root用户远程登录即可;

               ssh [email protected]

              无密码远程登陆

                 


        

猜你喜欢

转载自www.cnblogs.com/liyuanyuan97/p/11305237.html