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]

无密码远程登陆

    【见截图】

2019/8/5

猜你喜欢

转载自blog.51cto.com/14476490/2426835
今日推荐