day05

  

回顾

  •    所有的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 实现开机自动挂载

 

  1. /     /bin  /sbin
  2.         /etc
  3.         /usr    /usr/local/
  4.         /var
  5.        /opt
  6.        /sys  /proc
  7.        /tmp
  8.        /lib  /lib64
  9.        /home /root
  10.        /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 teacher@192.168.94.10

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

   ssh root@192.168.94.10

 

上一篇:第一阶段:Python开发基础 day05 Python基础语法入门--流程控制(一)


下一篇:day05