首页 > 系统相关 >Linux核心命令22Linux系统信息网络磁盘用户

Linux核心命令22Linux系统信息网络磁盘用户

时间:2023-05-01 09:56:20浏览次数:54  
标签:22Linux hexoBlog xiezhr 用户 命令 参数 Linux 磁盘 root

Linux核心命令21系列文章目录

快速上手Linux核心命令(一):核心命令简介
快速上手Linux核心命令(二):关机、重启
快速上手Linux核心命令(三):文件和目录操作命令
快速上手Linux核心命令(四):文件内容相关命令
快速上手Linux核心命令(五):文本处理三剑客
快速上手Linux核心命令(六):Linux的文本编辑器vi和vim
快速上手Linux核心命令(七):Linux系统信息相关命令
快速上手Linux核心命令(八):网络相关命令
快速上手Linux核心命令(九):文件备份与压缩命令(博主正在玩命更新中)
快速上手Linux核心命令(十):软件安装命令(博主正在玩命更新中)
快速上手Linux核心命令(十一):Linux用户相关命令(博主正在玩命更新中)
快速上手Linux核心命令(十二):磁盘与文件系统相关命令(博主正在玩命更新中)
快速上手Linux核心命令(十三):进程相关命令(博主正在玩命更新中)
快速上手Linux核心命令(十四):系统管理相关命令(博主正在玩命更新中)


  • 快速上手Linux核心命令(六):Linux的文本编辑器vi和vim

     

    @

    目录

     

     

    快速上手Linux核心命令(七):Linux系统信息相关命令

     

     

    目录

     

    快速上手Linux核心命令(八):网络相关命令

     

     

    目录

     

    前言

    快速上手Linux核心命令(九):文件备份与压缩

     

     

    目录

     

    快速上手Linux核心命令(十):Linux安装软件

    目录

     

    前言

    Linux用户相关命令
    前言
    useradd 创建用户
    usermod 修改用户信息
    userdel 删除用户
    groupadd 创建新的用户组
    groupdel 删除用户组
    passwd 修改用户密码
    chage 修改用户密码有效期
    批量更新用户密码
    su 切换用户
    visudo 编辑sudoers文件
    sudo 以另一个用户身份执行命令
    id 显示用户与用户组信息
    w 显示已登录用户信息
    显示已登录用户信息
    users 显示已登录用户
    whoami 显示当前登录的用户
    last 显示用户登录列表
    lastb 显示用户登录失败的记录
    lastlog 显示所有用户最近登录记录
    前言
    上一篇中已经预告,我们这篇主要说一说Linux中用户相关的命令。
    可能各位小伙伴用的Windows会比较多一点,在Windows操作系统中,我们知道有Administrator用户,Administrator 是Windows系统中的管理员用户,有着最高的权限。
    用户登录Administrator后可以创建Gust等用户,修改密码并且给Gust用户分配相应的权限。
    同样的在Linux中,root就相当于Administrator用户,具有着最高权限。登录root 用户可以创建用户、修改用户密码、给用户分配角色等等。
    ————————————————
    版权声明:本文为CSDN博主「xie_zhr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/rong09_13/article/details/126592897

     

     

     

     

     

    快速上手Linux核心命令(七):Linux系统信息相关命令

     

     

    目录

     

    前言

    这期呢主要说一说Linux中与系统相关的命令,一共包含10个命令
    在这里插入图片描述

    uname 显示系统信息

    1、简介

    uname命令用于显示系统相关信息,比如内核版本号、硬件架构等

    2、语法格式

    uname [参数选项]
    

    3、参数说明

    参数参数说明
    -a 显示系统所有相关信息
    -m 显示计算机硬件架构
    -n 显示主机名称
    -r 显示内核发行版本号
    -s 显示内核名称
    -v 显示内核版本

    4、实践操作

    ①显示系统所有信息

    [root@xiezhr ~]# uname -a
    Linux xiezhr 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    

    ②显示计算机硬件架构

    [root@xiezhr ~]# uname -m
    x86_64
    

    ③显示主机名称

    [root@xiezhr ~]# uname -n
    xiezhr
    

    ④显示内核发行版本号

    [root@xiezhr ~]# uname -r
    3.10.0-1127.19.1.el7.x86_64
    

    hostname 显示或设置系统主机名

    1、简介

    hostname用于显示或设置系统主机名‘

    2、语法格式

    hostname [参数选项]
    

    3、参数说明

    参数参数说明
    -i 显示主机IP地址,依赖DNS解析,比较慢
    -I 显示主机的所有IP地址,速度较快

    3、实践操作

    ①显示主机名

    [root@xiezhr ~]# hostname
    xiezhr
    

    ②修改主机名

    # 临时修改
    [root@xiezhr ~]# hostname hosta
    # 永久修改
    
    # Created by cloud-init on instance boot automatically, do not edit.
    [root@xiezhr ~]# vi /etc/sysconfig/network
    NETWORKING=yes
    hosta
    ~
    ~
    ~
    -- INSERT --
    

    ③ 获取IP地址

    [root@xiezhr ~]# hostname -i
    ::1 127.0.0.1 127.0.0.1 127.0.0.1
    [root@xiezhr ~]# hostname -I
    172.17.0.4
    

    du 统计磁盘空间使用情况

    1、简介

    du 用于统计磁盘空间使用情况。可以让我们找出哪些文件过多的占用磁盘空间

    2、语法格式

    du [参数选项] [文件或目录]
    

    3、参数说明

    参数参数说明
    -a 显示所有文件大小
    -h 以人类可读的方式显示,以K、M、G为单位显示
    -s 显示文件的总大小
    --exclude=<目录或文件> 略过指定的目录或文件
    --max-depth=<目录层数> 超过指定层数的目录后,予以忽略

    4、实践操作

    ① 【-a】参数显示所有目录或文件所占空间

    [root@xiezhr ~]# du -a
    4       ./.lesshst
    4       ./.bashrc
    4       ./.pydistutils.cfg
    4       ./.bash_profile
    4       ./.mysql_secret
    4       ./.pm2/modules
    4       ./.pm2/pm2.pid
    0       ./.pm2/pub.sock
    0       ./.pm2/rpc.sock
    4       ./.pm2/pids/tyloochat-0.pid
    8       ./.pm2/pids
    4       ./.pm2/module_conf.json
    184     ./.pm2/logs/tyloochat-out.log
    236     ./.pm2/logs/tyloochat-error.log
    424     ./.pm2/logs
    

    ② 以人类可读的方式显示当前路径下文件大小

    [root@xiezhr test]# du -h
    4.0K    ./dir5
    8.0K    ./dir
    8.0K    ./dir3
    12K     ./dir6
    4.0K    ./dir_bak
    112K    .
    

    ③ 显示当前路径下文件总大小

    [root@xiezhr test]# du -s
    112  
    

    ④指定层次的目录大小

    [root@xiezhr test]# du -h --max-depth=1 /usr/local/
    4.0K    /usr/local/lib
    4.0K    /usr/local/games
    2.6G    /usr/local/mysql
    4.0K    /usr/local/src
    2.5G    /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
    4.0K    /usr/local/libexec
    4.0K    /usr/local/bin
    4.0K    /usr/local/etc
    1017M   /usr/local/qcloud
    92K     /usr/local/share
    4.0K    /usr/local/include
    4.0K    /usr/local/sbin
    4.0K    /usr/local/lib64
    6.6G    /usr/local/
    

    ⑤ 排除指定目录文件后的大小

    [root@xiezhr test]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/mysql
    4.0K    /usr/local/lib
    4.0K    /usr/local/games
    4.0K    /usr/local/src
    2.5G    /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
    4.0K    /usr/local/libexec
    4.0K    /usr/local/bin
    4.0K    /usr/local/etc
    1018M   /usr/local/qcloud
    92K     /usr/local/share
    4.0K    /usr/local/include
    4.0K    /usr/local/sbin
    4.0K    /usr/local/lib64
    4.1G    /usr/local/
    

    echo 显示一行文本

    1、简介

    echo 可以将指定的文本显示在Linux命令行上

    2、语法格式

    echo [参数选项] [文本]
    

    3、参数说明

    参数参数说明
    -n 不要自动换行
    -e 如果字符串中出现以下特殊字符,则进行特殊处理,不会当成一般字符输出 \b 删除前一个字符
    特殊字符特殊字符说明
    \a 发出警告声
    \b 删除前一个字符
    \c 最后不加上换行符
    \f 换行,但光标停留在原来的位置
    \n 换行,且光标移动到行首
    \r 光标移动到行首,但不换行
    \t 插入制表符tab
    \v 与-f 相同
    \ 插入\字符
    \' 插入' 字符
    \" 插入"字符

    4、实践操作

    ① 显示普通字符

    [root@xiezhr ~]# echo my official accounts  is xiezhrspace
    my official accounts is xiezhrspace
    

    ②显示转义字符

    [root@xiezhr ~]# echo \"my official account is xiezhrspace \"
    "my official account is xiezhrspace "
    

    ③ 将单行文本输入到文件中

    [root@xiezhr test]# echo my official account is xiezhrspace >> xie.txt
    [root@xiezhr test]# more xie.txt 
    my official account is xiezhrspace
    

    ④ 显示命令执行结果

    [root@xiezhr test]# echo `date`
    Mon May 9 21:37:40 CST 2022
    

    watch 监视命令执行情况

    1、简介

    watch 英文意思是看,用于以全屏的方式动态显示命令或程序的执行情况

    2、语法格式

    watch [参数选项] [命令]
    

    3、参数说明

    参数参数说明
    -n 命令执行的时间间隔、默认为2m
    -d 高亮显示命令结果变动之处
    -t 关闭watch命令执行后顶部显示的时间间隔、命令及当前时间

    4、实践操作

    每个一秒显示网络连接数的变化情况

    [root@xiezhr test]# watch -n 1 -d netstat -nginx
    
    Kernel Interface table
    Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0             1500 247530399      0      0 0      322331584      0      0      0 BMRU
    lo              65536   141692      0      0 0        141692      0      0      0 LRU
    

    stat

    1、简介

    stat 用于显示文件或文件系统的状态信息

    2、语法格式

    stat [参数选项] [文件或目录]
    

    3、参数说明

    参数参数说明
    -c 使用指定输出格式代替默认值

    4、实践操作

    查看文件的属性信息

    [root@xiezhr test]# stat /etc/hosts
      File: ‘/etc/hosts’
      Size: 157             Blocks: 8          IO Block: 4096   regular file
    Device: fd01h/64769d    Inode: 265944      Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2020-11-29 10:25:47.000000000 +0800
    Modify: 2020-11-29 11:54:33.000000000 +0800
    Change: 2020-11-29 11:54:53.216579255 +0800
     Birth: -
    

    whereis 显示命令及其相关文件的全路径

    1、简介

    whereis 命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径

    2、语法格式

    whereis [参数选项] [文件名]
    

    3、参数说明

    参数参数说明
    -b 查找可执行文件
    -s 查找源代码文件
    -m 查找man帮助文件

    4、实践操作

    ① 查找可执行文件路径

    [root@xiezhr test]# whereis nginx
    nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz
    

    ② 查找man 帮助文件

    [root@xiezhr test]# whereis -m nginx
    nginx: /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz
    

    ③ 查找源代码文件

    [root@xiezhr test]# whereis -s nginx
    nginx:
    # 没有找到相关源代码
    

    date 显示与设置系统时间

    1、简介

    date命令用于显示当前系统时间或设置系统时间

    2、语法格式

    date [参数选项] [+日期格式]
    

    3、参数说明

    参数

    参数参数说明
    -d 时间字符串 显示指定字符串所描述的时间,而非当前时间
    -s 日期时间 设置系统时间

    日期格式

    格式格式说明
    %y 显示年(短格式)
    %Y 显示年(长格式)
    %m 显示月
    %d 显示日
    %H 24小时制 (00-23) 例如:7点显示07
    %k 24小时(0-23) 例如:7点显示7
    %I 12小时制(00-12)例如:7点显示07
    %l 12小时制(0-12)例如:7点显示7
    %M 分钟(00-59)
    %S 秒(00-60)
    %p 显示本地 AM 或 PM
    %F 完整日期格式,等价于%Y-%m-%d(2022-05-12)
    %T 完整时间格式,等价于%H:%M:%S(07:58:23)

    4、实践操作

    ①显示日期时间

    # 显示年(短格式)
    [root@xiezhr ~]# date +%y
    22
    # 显示年(长格式)
    [root@xiezhr ~]# date +%Y
    2022
    # 显示月
    [root@xiezhr ~]# date +%m
    05
    #显示日
    [root@xiezhr ~]# date +%d
    12
    # 显示时
    [root@xiezhr ~]# date +%H
    08
    # 显示分
    [root@xiezhr ~]# date +%M
    01
    # 显示秒
    [root@xiezhr ~]# date +%S
    53
    # 显示特殊日期(年-月-日)
    [root@xiezhr ~]# date +%F
    2022-05-12
    # 显示特殊格式时间(时:分:秒)
    [root@xiezhr ~]# date +%T
    08:02:18
    #格式化输出日期时间
    [root@xiezhr ~]# date "+%Y-%m-%d %H:%M:%S"
    2022-05-12 08:11:03
    

    ②参数【-d】的使用

    注:-号表示过去,+表示未来 day表示日,month表示月,year表示年

    # 显示昨天
    [root@xiezhr ~]# date +%F -d "-1day"
    2022-05-11
    # 显示明天
    [root@xiezhr ~]# date +%F -d "+1day"
    2022-05-13
    # 显示一个月后
    [root@xiezhr ~]# date +%F -d "+1month"
    2022-06-12
    # 显示一年后
    [root@xiezhr ~]# date +%F -d "+1year"
    2023-05-12
    

    ③ 参数【-s】设定时间

    # 设置20220512,时间为空则为00:00:00
    [root@xiezhr ~]# date -s 20220512
    Thu May 12 00:00:00 CST 2022
    # 设置时间为08:20:03,不会更改日期
    [root@xiezhr ~]# date -s 08:20:03
    Thu May 12 08:20:03 CST 2022
    # 通过不同格式设置日期时间
    [root@xiezhr ~]# date -s "08:22:04 20220512"
    Thu May 12 08:22:04 CST 2022
    [root@xiezhr ~]# date -s "08:22:04 2022/05/12"
    Thu May 12 08:22:04 CST 2022
    [root@xiezhr ~]# date -s "08:22:04 2022-05-12"
    Thu May 12 08:22:04 CST 2022
    

    which 显示命令全路径

    1、简介

    which 用于显示命令的全路径,经常用来查找命令在哪里,which的查找范围时path环境变量的路径

    2、语法格式

    which [参数选项] [命令名]
    

    3、参数说明

    注:默认在PATH路径中由前往后查找命令,如果找到了,就停止匹配。

    参数参数说明
    -a 遍历所有PATH路径,输出所有匹配项

    4、实践操作

    ①查找指定命令的全路径

    # 查看环境变量
    [root@xiezhr ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    # 查看man命令的全路径
    [root@xiezhr ~]# which man
    /usr/bin/man
    # 查看date命令的全路径
    [root@xiezhr ~]# which date
    /usr/bin/date
    # 查看cd命令的全路径
    [root@xiezhr ~]# which cd
    /usr/bin/cd
    

    ②【-a】参数

    [root@xiezhr ~]# which -a nginx
    /usr/sbin/nginx
    

    locate 快速定位文件路径

    1、简介

    Linux系统中有一个名为mlocate.db的数据库文件,包含了系统文件的文件名及对应路径信息。locate 命令查找文件时,不用遍历磁盘,而是直接查找mlocate.db文件

    注意:mlocate.db文件不是实时更新的,而是有系统自带的定时任务执行updatedb命令定期更新。当然了,我们在使用locate命令时,可以先用updatedb命令更新一下mlocate.db文件

    2、语法格式

    locate [参数选项] [文件名]
    

    3、参数说明

    参数参数说明
    -c 不显示匹配的内容,只显示匹配的行数
    -r 支持基本正则表达式匹配
    -i 匹配时忽略大小写
    --regex 支持扩展正则表达式匹配

    4、实践操作

    ①查找文件路径(只要包含pwd都会显示出来)

    [root@xiezhr ~]# locate pwd
    /etc/.pwd.lock
    /usr/bin/pwd
    /usr/bin/pwdx
    /usr/include/pwd.h
    /usr/lib/modules/3.10.0-1127.19.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz
    /usr/lib64/cracklib_dict.pwd
    /usr/lib64/python2.7/lib-dynload/spwdmodule.so
    /usr/local/qcloud/monitor/python26/lib/python2.6/lib-dynload/spwd.so
    /usr/sbin/unix_chkpwd
    /usr/share/cracklib/cracklib-small.pwd
    /usr/share/cracklib/pw_dict.pwd
    /usr/share/man/man1/pwd.1.gz
    /usr/share/man/man1/pwdx.1.gz
    /usr/share/man/man8/unix_chkpwd.8.gz
    /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt
    /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi
    /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi/decoding.h
    

    ②显示匹配的行号

    [root@xiezhr ~]# locate -c pwd
    17
    

    ③使用通配符查找文件路径

    [root@xiezhr ~]# locate /etc/sh*
    /etc/shadow
    /etc/shadow-
    /etc/shells
    /etc/shells.rpmnew
    

    这期内容就到这,下期根据思维导图就到Linux网络相关命令的使用了。

    涉及到的命令有: ping、 ifconfig、 netstat、 telnet、 ssh、 ip、 tcpdump、nmap、ss等等

    敬请期待哦(●’◡’●)

    专栏目录:快速上手Linux核心命令专栏目录

    上一篇:快速上手Linux核心命令(六):Linux的文本编辑器vi和vim
    下一篇:快速上手Linux核心命令(八):网络相关命令(博主正在玩命更新中)

     

    快速上手Linux核心命令(八):网络相关命令

     

     

    目录

     

    前言

    这期呢主要说一说Linux中与网络相关命令,一共包含19个命令

    测试主机之间网络是否联通

    1、简介

    ping 命令不管是在Windows还是Linux都是比较常用的命令。命令用于测试主机之间的网络连通性

    2、语法格式

    ping [参数选项] [目标主机]
    

    3、参数说明

    参数参数说明
    -c 指定报文次数,若不指定,ping命令将一直发送报文
    -i 相邻两次发送报文的时间间隔,默认时间间隔是1s
    -s 设置发送数据包大小,默认为56字节,加上8字节ICMP头,共64字节数据包

    还有其他的参数,这里就不一一列举了。。。。

    4、实践操作

    ①测试与目标主机的网络连通性

    # 网络正常情况
    [root@xiezhr ~]# ping www.xiezhrspace.cn
    PING www.xiezhrspace.cn (42.192.46.248) 56(84) bytes of data.
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.233 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.215 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.230 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.235 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=5 ttl=63 time=0.235 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=6 ttl=63 time=0.246 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=7 ttl=63 time=0.243 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=8 ttl=63 time=0.215 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=9 ttl=63 time=0.227 ms
    
    # 网络不正常
    [root@xiezhr ~]# ping 10.10.114.56
    PING 10.10.114.56 (10.10.114.56) 56(84) bytes of data.
    
    

    上面命令执行后会一直发送报文,相当于windows中的ping www.baidu.com -t

    ② 指定发送报文的次数

    # 发送报文4次后自动退出
    [root@xiezhr ~]# ping -c 4 www.xiezhrspace.cn
    PING www.xiezhrspace.cn (42.192.46.248) 56(84) bytes of data.
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.230 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.248 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.226 ms
    64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.214 ms
    
    --- www.xiezhrspace.cn ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3021ms
    rtt min/avg/max/mdev = 0.214/0.229/0.248/0.019 ms
    

    ③ 多参数使用情况

    [root@xiezhr ~]# ping -c 4 -i 3 -s 1024 -t 255 www.xiezhrspace.cn
    PING www.xiezhrspace.cn (42.192.46.248) 1024(1052) bytes of data.
    1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.214 ms
    1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.250 ms
    1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.226 ms
    1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.261 ms
    
    --- www.xiezhrspace.cn ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 9027ms
    rtt min/avg/max/mdev = 0.214/0.237/0.261/0.026 ms
    

    上面列子中参数解释

    • -c 4 : 发送4次报文
    • -i 3:每隔3s发送一次报文
    • -s 1024: 每次发送数据报文大小为1024字节
    • -t 255: **发送数据包的ttl值为255 **

    ifconfig 配置或显示网络信息

    1、简介

    ifconfig 命令类似于Windows 下的ipconfig 。不知道大家会不会混淆在一起,反正我是经常混淆了在一起(●'◡'●)。命令用于显示网卡IP地址等参数信息

    2、语法格式

    ifconfig [网路接口] [参数选项]
    

    网络接口指的是:eth0、eth1和lo 分别表示第一块网卡、第二块网卡和回环接口。该选项是非必填项

    3、 参数说明

    参数参数说明
    -a 显示所有网络接口信息,包括活动的和非活动的
    -up 激活指定网络接口
    -down 关闭指定网络接口
    hw 设置网络接口的物理地址(MAC地址)

    4、实践操作

    ①显示当前系统开启的所有网络接口信息

    [root@xiezhr ~]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.17.0.4  netmask 255.255.240.0  broadcast 172.17.15.255
            inet6 fe80::5054:ff:fe19:f6d0  prefixlen 64  scopeid 0x20<link>
            ether 52:54:00:19:f6:d0  txqueuelen 1000  (Ethernet)
            RX packets 254776100  bytes 26271134342 (24.4 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 331164543  bytes 72224346549 (67.2 GiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 143816  bytes 10756556 (10.2 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 143816  bytes 10756556 (10.2 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    • eth0表示第一块网卡、第二块为eth1,依次类推;lo表示回环接口

    ②显示指定网卡eth0信息

    [root@xiezhr ~]# ifconfig eth0
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.17.0.4  netmask 255.255.240.0  broadcast 172.17.15.255
            inet6 fe80::5054:ff:fe19:f6d0  prefixlen 64  scopeid 0x20<link>
            ether 52:54:00:19:f6:d0  txqueuelen 1000  (Ethernet)
            RX packets 254778009  bytes 26271295935 (24.4 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 331166449  bytes 72224671528 (67.2 GiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    ③ 启动关闭网卡

    # 关闭网卡
    [root@xiezhr ~]# ifconfig eth0 down
    # 启动网卡
    [root@xiezhr ~]# ifconfig eth0 up
    
    

    ④ 设置网卡IP

    [root@xiezhr ~] ifconfig eth0 192.168.205.98 
    

    route 显示或管理路由表

    1、简介

    route 命令用来显示或管理Linux的路由表

    2、路由小科普

    说到路由,不得不简单做下科普。这里只是简单通俗介绍一下,如果需要了解更多请查阅相关资料哈

    路由表与生活中的路标指示牌类似,指示牌指引着我们该往什么地方走;而路由表则指引着数据包该去向何方。

    在这里插入图片描述

    不得不说技术源于生活,又服务于生活。

    那么,两台计算机之间是怎么传输数据的呢?

    • 数据的传输必须要又网络来完成,而网络是由两台计算机之间一个或多个节点构成的
    • 数据传输由一台计算机传送到第一个网络节点,然后这个网络节点会根据“约定”将数据传宋到另一个网络节点,另一个网络节点再根据“约定”将数据传输到下一个节点,直到把数据传输到另一台计算机。 这里的“约定”就是我们上面说的路由表
    • 路由表说白了就是指定了一些规则,标明数据报文该何去何从
    • 路由分为静态路由和动态路由。
    • 我们通过route命令手动加入的路由属于静态路由;动态路由时无需手动加入的,其路由规则时不同计算机彼此相互交换路由规则而来的

    3、语法格式

    route [参数选项]
    

    4、参数说明

    参数参数说明
    -n 直接使用ip地址,不进行DNS解析主机名
    add 添加路由信息
    del 删除路由信息
    -net 到一个网络的路由,参数后面接的是一个网络号地址
    -host 到一个主机的路由,参数后面接的时一个主机地址
    netmask NM 为添加的路由指定网络掩码
    gw GW 为发往木匾网络/主机的任何分组指定网关
    dev If 指定有哪个网络设备出去,后面接网络设备名 如:eth0

    5、实践操作

    ① 查看当前系统路由表信息

    [root@xiezhr ~]# route 
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         gateway         0.0.0.0         UG    0      0        0 eth0
    link-local      0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    172.17.0.0      0.0.0.0         255.255.240.0   U     0      0        0 eth0
    
    • Destination :网络号,也就是network的意思
    • Gateway:连出网关地址,也就是说该网络时通过该IP连接出去的,0.0.0.0,则表示该路由直接由本机传送出去。如果由具体IP,表示本条路由必须经过该IP转接才能连接出去
    • Genmask:表示子网掩码
    • Flags:路由标记信息
      • U :表示此路由当前为启动状态
      • H:目标路由是一个主机(IP)而非网络
      • R:使用动态路由时,恢复路由信息标识
      • G:表示他需要通过外部的注解来转接传递数据
      • M:表示路由已经被修改
      • D:已经由服务设定为动态路由
    • Metric :表示需要经过几个网络节点才能到达路由的目标网络地址
    • Ref:参考到此路由规则的数目
    • Use:有几个转送数据包参考到了此路由规则
    • Iface:路由对应的网络设备接口

    ② 添加或删除路由

    # 删除默认网关方法1
    [root@xiezhr ~]# route del default
    # 删除默认网关方法2
    [root@xiezhr ~]# route del default gw 10.0.0.2
    # 添加网关
    [root@xiezhr ~]# route add default gw 10.0.0.2 dev eth0
    

    netstat 查看网络状况

    1、简介

    netstat 命令用于显示本机网络的连接状态、运行端口和路由表等信息

    2、语法格式

    netstat [参数选项]
    

    3、参数说明

    参数参数说明
    -n 显示数字形式的地址而不是去解析主机、端口或用户名
    -a 显示处于监听状态和非监听状态的socket信息
    -c<秒数> 后面跟的秒数表示每隔几秒就刷新显示一次
    -t 显示所有的TCP连接情况
    -u 显示所有的UDP连接情况
    -p 显示socket所属进程的PID和名称

    4、实践操作

    ① 显示详细的所有连接信息

    [root@xiezhr ~]# netstat -an
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
    tcp        0      0 172.17.0.4:80           103.127.81.10:33832     SYN_RECV   
    tcp        0      0 172.17.0.4:80           154.221.22.70:44617     SYN_RECV   
    tcp        0      0 172.17.0.4:80           103.195.150.7:31982     SYN_RECV 
    。。。
    udp        0      0 0.0.0.0:68              0.0.0.0:*                          
    udp        0      0 172.17.0.4:123          0.0.0.0:*                          
    udp        0      0 127.0.0.1:123           0.0.0.0:*                          
    udp6       0      0 fe80::5054:ff:fe19::123 :::*                               
    udp6       0      0 ::1:123                 :::*                               
    Active UNIX domain sockets (servers and established)
    Proto RefCnt Flags       Type       State         I-Node   Path
    unix  2      [ ACC ]     STREAM     LISTENING     12804    /var/run/lsm/ipc/simc
    unix  2      [ ACC ]     STREAM     LISTENING     12810    /var/run/lsm/ipc/sim
    

    简单说明下上面显示内容的含义

    列数名称含义
    第一列 Proto socket使用的协议(TCP/UDP/RAW)
    第二列 Recv-Q 接收到但是还未处理的字节数
    第三列 Send-Q 已经发送但是未被远程主机确认收到的字节数
    第四列 Local Address 本机主机地址和端口
    第五列 Froeign Address 远程主机地址和端口
    第六列 State tcp状态

    ② 显示所有TCP、UDP正在监听的连接信息

    [root@xiezhr ~]# netstat -lntup
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2812/nginx: master  
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      980/sshd            
    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      2812/nginx: master  
    tcp        0      0 0.0.0.0:65535           0.0.0.0:*               LISTEN      17087/./proc        
    tcp6       0      0 :::80                   :::*                    LISTEN      2812/nginx: master  
    tcp6       0      0 :::3000                 :::*                    LISTEN      27339/PM2 v4.5.1: G 
    tcp6       0      0 :::443                  :::*                    LISTEN      2812/nginx: master  
    udp        0      0 0.0.0.0:68              0.0.0.0:*                           809/dhclient        
    udp        0      0 172.17.0.4:123          0.0.0.0:*                           546/ntpd            
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           546/ntpd            
    udp6       0      0 fe80::5054:ff:fe19::123 :::*                                546/ntpd            
    udp6       0      0 ::1:123                 :::*                                546/ntpd 
    

    ③ 显示当前系统的路由表

    [root@xiezhr ~]# netstat -rn
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         172.17.0.1      0.0.0.0         UG        0 0          0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
    172.17.0.0      0.0.0.0         255.255.240.0   U         0 0          0 eth0
    

    ④ 显示网络的接口状况

    [root@xiezhr ~]# netstat -i
    Kernel Interface table
    Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0             1500 257171559      0      0 0      334662383      0      0      0 BMRU
    lo              65536   144476      0      0 0        144476      0      0      0 LRU
    

    telnet 远程登录主机

    1、简介

    telnet以前用于远程登录主机,但是其安全性不好。因此现在一般采用更加安全的SSH,这个后面也会说到。

    现在telnet命令主要用于判断远端服务器端口是否开发

    2、语法格式

    telnet [参数选项] [主机名或IP] [端口]
    

    3、实际操作

    ①测试端口是否开放

    [root@xiezhr ~]# telnet 112.112.17.172 31189
    

    ssh 安全的远程登录主机

    1、简介

    ssh命令用于安全的登录远程服务器,实现对服务器的远程管理。取代了telnet命令

    2、语法格式

    ssh [参数选项] [用户名@] [主机名或IP地址] [远程执行的名]
    

    3、参数说明

    参数参数说明
    -p 指定ssh登录端口,如果忽略则默认为22端口
    -t 强制分配伪终端,可以在远程机器上执行任何全屏幕程序。
    -v 调试模式

    4、实践操作

    ① 远程登录服务器

    [root@xiezhr ~]# ssh 220.165.5.45
    

    ②远程执行命令

    [root@xiezhr ~]# ssh 10.0.0.26 "free -m"
    

    wget 命令行下载工具

    1、简介

    wget 用于从网络上下载某些资料。只要Linux连接互联网,就可以直接从网络上下载自己所需的文件

    • 支持断点下载
    • 支持ftp和http下载方式
    • 支持代理服务器
    • 非常稳定。如果由于网络原因下载失败,wget 会不断尝试,直到整个文件下载完毕。如果服务器打断了下载过程,当再次连接服务器时,会从停止的地方继续下载。【这对下载大文件非常有用】

    2、语法格式

    wget [参数选项] [下载地址]
    

    3、参数说明

    参数参数说明
    -O 指定保存的文件名后下载文件
    --limit-rate 限速下载
    -b 转入后台执行命令
    -c 断点续传
    --tries=number 设置重置次数
    --spider 模拟爬虫访问

    4、实践操作

    ① wget下载单个文件

    [root@xiezhr /]# wget https://xiezhrspace.cn/medias/logo.png
    --2022-05-30 23:08:24--  https://xiezhrspace.cn/medias/logo.png
    Resolving xiezhrspace.cn (xiezhrspace.cn)... ::1, ::1
    Connecting to xiezhrspace.cn (xiezhrspace.cn)|::1|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 112674 (110K) [image/png]
    Saving to: ‘logo.png’
    
    100%[========================================================================================================================================================================>] 112,674     --.-K/s   in 0s      
    
    2022-05-30 23:08:24 (433 MB/s) - ‘logo.png’ saved [112674/112674]
    

    ②使用-O参数,指定下载文件的保存文件名

    [root@xiezhr test]# wget -O /home/test/logo.png https://www.xiezhrspace.cn/medias/logo.png
    --2022-05-30 23:14:03--  https://www.xiezhrspace.cn/medias/logo.png
    Resolving www.xiezhrspace.cn (www.xiezhrspace.cn)... 42.192.46.248
    Connecting to www.xiezhrspace.cn (www.xiezhrspace.cn)|42.192.46.248|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 112674 (110K) [image/png]
    Saving to: ‘/home/test/logo.png’
    
    100%[========================================================================================================================================================================>] 112,674     --.-K/s   in 0.01s   
    
    2022-05-30 23:14:03 (9.78 MB/s) - ‘/home/test/logo.png’ saved [112674/112674]
    
    [root@xiezhr test]# cd /home/test/
    [root@xiezhr test]# ll
    total 208
    -rw-r--r-- 1 root   root   112674 Nov 29  2020 logo.png
    

    ③ 限速3kb/s下载

    [root@xiezhr test]# wget --limit-rate=3k https://www.xiezhrspace.cn/medias/logo.png
    --2022-05-30 23:15:57--  https://www.xiezhrspace.cn/medias/logo.png
    Resolving www.xiezhrspace.cn (www.xiezhrspace.cn)... 42.192.46.248
    Connecting to www.xiezhrspace.cn (www.xiezhrspace.cn)|42.192.46.248|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 112674 (110K) [image/png]
    Saving to: ‘logo.png.1’
    
    100%[========================================================================================================================================================================>] 112,674     3.00KB/s   in 37s    
    
    2022-05-30 23:16:34 (3.00 KB/s) - ‘logo.png.1’ saved [112674/112674]
    

    ④ 断点续传下载大文件

    [root@xiezhr test]# wget -c https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
    

    ⑤后台下载文件

    [root@xiezhr test]# wget -b https://www.xiezhrspace.cn/medias/logo.png
    Continuing in background, pid 4526.
    Output will be written to ‘wget-log’.
    

    ⑥ 有些网站会根据判断代理名称是不是浏览器而拒绝你的下载请求,这时候就可以伪装代理下载

    [root@xiezhr test]# wget -b https://www.xiezhrspace.cn/medias/logo.png
    Continuing in background, pid 4526.
    Output will be written to ‘wget-log’.
    [root@xiezhr test]# clear
    [root@xiezhr test]# wget --user-agent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" https://www.xiezhrspace.cn/medias/logo.png
    --2022-05-30 23:29:27--  https://www.xiezhrspace.cn/medias/logo.png
    Resolving www.xiezhrspace.cn (www.xiezhrspace.cn)... 42.192.46.248
    Connecting to www.xiezhrspace.cn (www.xiezhrspace.cn)|42.192.46.248|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 112674 (110K) [image/png]
    Saving to: ‘logo.png.3’
    
    100%[========================================================================================================================================================================>] 112,674     --.-K/s   in 0.01s   
    
    2022-05-30 23:29:27 (9.85 MB/s) - ‘logo.png.3’ saved [112674/112674]
    

    ⑦ 监控网站URL是否正常

    # 采用静默方式访问网站,3秒超时,重试1次,模拟爬虫方式进行访问
    [root@xiezhr test]# wget -q -T 3 --tries=1 --spider www.xiezhrspace.cn
    # 返回0表示正常
    [root@xiezhr test]# echo $?
    0
    
    

    ip网络配置工具

    1、简介

    ip 命令用于显示或管理Linux系统的路由、网络设备、策略路由和隧道

    2、语法格式

    ip [参数选项] [网络对象] [操作命令]
    

    3、参数说明

    参数参数说明
    -s 输出更详细的信息
    -r 显示主机时,不适用ip地址,而是使用主机的域名
    -V 显示命令的版本信息
       

    3、网络对象及对应操作命令

    网络对象网络对象说明对应操作命令
    link 网络设备 set:修改设备属性、show:显示设备属性
    address 设备的协议地址(IP地址) add:添加协议地址、del:删除协议地址、flush:清除协议地址、show:查看协议地址
    addrlabel 协议地址标签管理 add、del、list、flush
    neighbour arp或ndisc缓存表  
    route 路由表 add、change、relpace、delete、show、flush
    rule 策略路由表 add、delete、flush、show
    maddress 多播地址 show、add、delete
    mroute 多播路由缓存表 show
    tunnel IP隧道 add、change、delete、prl、show
         

    4、实践操作

    ip link show                     # 显示网络接口信息
    ip link set eth0 up             # 开启网卡
    ip link set eth0 down            # 关闭网卡
    ip link set eth0 promisc on      # 开启网卡的混合模式
    ip link set eth0 promisc offi    # 关闭网卡的混个模式
    ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
    ip link set eth0 mtu 1400        # 设置网卡最大传输单元
    ip addr show     # 显示网卡IP信息
    ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
    ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
    
    ip route show # 显示系统路由
    ip route add default via 192.168.1.254   # 设置系统默认路由
    ip route list                 # 查看路由信息
    ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
    ip route add default via  192.168.0.254  dev eth0        # 设置默认网关为192.168.0.254
    ip route del 192.168.4.0/24   # 删除192.168.4.0网段的网关
    ip route del default          # 删除默认路由
    ip route delete 192.168.1.0/24 dev eth0 # 删除路由
    

    tcpdump 监听网络流量

    1、简介

    tcpdump 命令是一个包分析工具。可以将网络中传输的数据包的“头”完全截获下来以提供分析。

    2、语法格式

    tcpdump [参数选项] [表达式]
    

    3、参数说明

    参数参数说明
    -c 接收指定数据包数目后退出命令
    -i 指定要监听数据包的网络接口
    -n 不精细DNS解析,加快显示速度
    -nn 不将协议和端口数字等转换成名字
    -q 以快速输出的方式运行,输出的信息比较简洁

    4、实践操作

    ① 不带参数监听网络

    [root@xiezhr ~]# tcpdump
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    21:49:34.194426 IP xiezhr.ssh > 39.130.60.147.54868: Flags [P.], seq 2354337386:2354337582, ack 602321997, win 255, length 196
    21:49:34.194837 IP xiezhr.55410 > 183.60.82.98.domain: 13037+ PTR? 147.60.130.39.in-addr.arpa. (44)
    21:49:34.241013 IP 39.130.60.147.54868 > xiezhr.ssh: Flags [.], ack 0, win 511, length 0
    21:49:34.260399 IP 183.60.82.98.domain > xiezhr.55410: 13037 NXDomain 0/1/0 (93)
    21:49:34.261639 IP xiezhr.44621 > 183.60.83.19.domain: 25778+ PTR? 4.0.17.172.in-addr.arpa. (41)
    21:49:34.262436 IP 183.60.83.19.domain > xiezhr.44621: 25778 NXDomain 0/1/0 (100)
    
    

    ② 精简输出信息

    [root@xiezhr ~]# tcpdump -q
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    21:51:39.084015 IP xiezhr.ssh > 39.130.60.147.54868: tcp 196
    21:51:39.084415 IP xiezhr.54183 > 183.60.83.19.domain: UDP, length 44
    21:51:39.084690 IP 183.60.83.19.domain > xiezhr.54183: UDP, length 93
    21:51:39.095563 IP xiezhr.37447 > 183.60.82.98.domain: UDP, length 41
    21:51:39.095795 IP 183.60.82.98.domain > xiezhr.37447: UDP, length 100
    21:51:39.107963 IP xiezhr.57539 > 183.60.83.19.domain: UDP, length 43
    21:51:39.108025 IP xiezhr.ssh > 39.130.60.147.54868: tcp 100
    21:51:39.108749 IP 183.60.83.19.domain > xiezhr.57539: UDP, length 107
    21:51:39.118945 IP xiezhr.51494 > 183.60.82.98.domain: UDP, length 43
    21:51:39.119024 IP xiezhr.ssh > 39.130.60.147.54868: tcp 180
    21:51:39.119165 IP 183.60.82.98.domain > xiezhr.51494: UDP, length 107
    21:51:39.130005 IP xiezhr.ssh > 39.130.60.147.54868: tcp 596
    21:51:39.130036 IP xiezhr.ssh > 39.130.60.147.54868: tcp 100
    

    ③监听指定网卡收到的数据包

    [root@xiezhr ~]# tcpdump -i eth0
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    21:52:41.482275 IP 169.254.0.4.http > xiezhr.45330: Flags [.], ack 31739111, win 136, length 0
    21:52:41.486536 IP xiezhr.48369 > 183.60.82.98.domain: 56337+ PTR? 4.0.17.172.in-addr.arpa. (41)
    ^C21:52:41.487054 IP xiezhr.ssh > 39.130.60.147.54868: Flags [P.], seq 2354686734:2354686930, ack 602325169, win 255, length 196
    

    ④ 监听指定主机数据包

    [root@xiezhr ~]# tcpdump -n host 220.165.5.50 
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    

    ⑤ 监听指定端口数据包

    [root@xiezhr ~]# tcpdump -nn port 22
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    21:54:39.961652 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 2354867994:2354868190, ack 602329953, win 255, length 196
    21:54:39.961828 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 196:376, ack 1, win 255, length 180
    21:54:39.961860 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 376:524, ack 1, win 255, length 148
    21:54:39.961888 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 524:672, ack 1, win 255, length 148
    21:54:39.961916 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 672:820, ack 1, win 255, length 148
    21:54:39.961943 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 820:968, ack 1, win 255, length 148
    21:54:39.961971 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 968:1116, ack 1, win 255, length 148
    21:54:39.961998 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 1116:1264, ack 1, win 255, length 148
    

    nmap 网络探测工具和安全/端口扫描器

    1、简介

    nmap 是一款开源的网络探测和安全审核工具。其作用是快速扫描大型网络,并发现网络上有哪些主机,主机提供哪些服务,并探测操作系统的类型及版本信息

    如果系统没有nmap命令,可通过一下命令安装

    yum -y install nmap
    

    2、语法格式

    nmap [扫描类型] [通用选项] [扫描目标]
    

    3、参数说明

    参数参数说明
    -sS TCP同步扫描
    -sn 不进行端口扫描,只检查主机正在运行
    -v 显示扫描过程中的详细信息
    -n 不进行DNS解析,加快扫描速度
    -p<端口> 指定扫描端口,可以是一个单独的端口,也可以是逗号分隔的多个端口

    4、实践操作

    ① 查看主机当前开放的端口

    [root@xiezhr ~]# nmap 127.0.0.1 
    

    ②扫描主机的指定端口

    [root@xiezhr ~]#  nmap -p 1024-65535 127.0.0.1
    

    ③扫描局域网内所有IP

    [root@xiezhr ~]# nmap 10.0.0.0/24
    

    ifup 激活网络接口

    1、简介

    ifup 用于激活指定的网络接口

    2、语法格式

    ifup [网络接口]
    

    3、实践操作

    激活网络接口

    [root@xiezhr ~]# ifup eht0
    

    ifdown 禁用网络接口

    1、简介

    ifdown命令与上面说的ifup命令刚好作用相反,用于禁用网络接口

    2、语法格式

    ifdown [网络接口]
    

    3、实践操作

    禁用网络接口

    [root@xiezhr ~]# ifdown eht1
    

    arp 管理系统的arp缓存

    1、简介

    首先我们先来看看什么是arp? arp是地址解析协议,主要功能是通过ip地址获取物理地址(MAC地址)

    arp命令用于操作本机arp缓存,可以显示、删除、添加指定IP地址与MAC地址对应关系

    2、语法格式

    arp [参数选项]
    

    3、参数说明

    参数参数说明
    -n 显示数字IP地址
    -s <主机或MAC地址> 指定主机的IP地址与MAC地址静态映射关系
    -d<主机> 从arp缓存区中删除指定主机的arp条目

    4、实践操作

    ① 显示arp缓存区的所有条目

    [root@xiezhr ~]# arp
    Address                  HWtype  HWaddress           Flags Mask            Iface
    169.254.0.79             ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.128.6            ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.4              ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.128.4            ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.2              ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.15             ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.55             ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.81             ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.82             ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.83             ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.80             ether   fe:ee:00:2e:16:9a   C                     eth0
    172.17.0.5               ether   fe:ee:00:2e:16:9a   C                     eth0
    gateway                  ether   fe:ee:00:2e:16:9a   C                     eth0
    169.254.0.23             ether   fe:ee:00:2e:16:9a   C                     eth0
    

    ② 查询指定主机的arp条目

    [root@xiezhr ~]# arp -n 42.192.46.248
    42.192.46.248 (42.192.46.248) -- no entrys
    

    ③ 静态绑定IP地址与MAC地址

    [root@xiezhr ~]#  arp -s 10.0.0.100 00:0c:29:c0:5e:df
    

    ss 查看网络状况

    1、简介

    ss 命令用于查看网络状态信息,包括TCP、UDP连接、端口。

    如果系统没有该命令,需要自己安装一下

    yum -y install iproute
    

    2、语法格式

    ss [参数选项] [过滤器]
    

    3、参数说明

    参数参数说明
    -n 显示IP地址不进行DNS解析
    -a 显示所有socket连接
    -l 显示所有监听socket
    -p 显示使用socket的进程
    -t 仅显示TCP的socket
    -u 仅显示UCP的socket

    4、实践操作

    ① 显示所有的socket连接

      [root@xiezhr ~]# ss -an
    Netid  State      Recv-Q Send-Q        Local Address:Port       Peer Address:Port              
    nl     UNCONN     0      0                         0:0                      *                   
    nl     UNCONN     0      0                         0:546                    *                   
    nl     UNCONN     0      0                         0:546                    *                   
    nl     UNCONN     4352   0                         4:30221                  *                   
    nl     UNCONN     768    0                         4:0                      *                   
    nl     UNCONN     0      0                         6:0                          
    

    ② 显示所有正在监听的TCP和UDP连接

    Netid  State   Recv-Q  Send-Q  Local                               Address:Port  Peer                                                      Address:Port
    udp    UNCONN  0       0       *:68                                *:*           users:(("dhclient",pid=809,fd=6))
    udp    UNCONN  0       0       172.17.0.4:123                      *:*           users:(("ntpd",pid=546,fd=19))
    udp    UNCONN  0       0       127.0.0.1:123                       *:*           users:(("ntpd",pid=546,fd=16))
    udp    UNCONN  0       0       [fe80::5054:ff:fe19:f6d0]%eth0:123  [::]:*        users:(("ntpd",pid=546,fd=20))
    udp    UNCONN  0       0       [::1]:123                           [::]:*        users:(("ntpd",pid=546,fd=17))
    tcp    LISTEN  0       128     *:80                                *:*           users:(("nginx",pid=26238,fd=6),("nginx",pid=2812,fd=6))
    tcp    LISTEN  0       128     *:22                                *:*           users:(("sshd",pid=980,fd=3))
    tcp    LISTEN  0       128     *:443                               *:*           users:(("nginx",pid=26238,fd=8),("nginx",pid=2812,fd=8))
    tcp    LISTEN  0       1       *:65535                             *:*           users:(("proc",pid=17087,fd=3))
    tcp    LISTEN  0       128     [::]:80                             [::]:*        users:(("nginx",pid=26238,fd=7),("nginx",pid=2812,fd=7))
    tcp    LISTEN  0       128     [::]:3000                           [::]:*        users:(("PM2                                              v4.5.1:       God",pid=27339,fd=20))
    tcp    LISTEN  0       128     [::]:443                            [::]:*        users:(("nginx",pid=26238,fd=9),("nginx",pid=2812,fd=9))
    

    nc 多功能网络工具

    1、简介

    nc 是一个多功能、可靠、强大的网络工具,可以建立TCP连接,发送UDP数据包,监听端口,处理IPv4和IPv6数据包

    如果系统没有nc命令,可以通过一下命令手动安装

    yum -y install nc
    

    2、语法格式

    nc [参数选项]
    

    3、参数说明

    参数参数说明
    -l 指定监听端口,然后一直等待网络连接
    -z 表示zero,表示扫描时不发送任何数据
    -v 显示详细输出

    4、实践操作

    ①TCP端口扫描

    [root@xiezhr ]# nc -v -z -w2 192.168.0.3 1-100 
    192.168.0.3: inverse host lookup failed: Unknown host
    (UNKNOWN) [192.168.0.3] 80 (http) open
    (UNKNOWN) [192.168.0.3] 23 (telnet) open
    (UNKNOWN) [192.168.0.3] 22 (ssh) open
    

    ②扫描指定端口

    [root@xiezhr ~]# nc -nvv 192.168.0.1 80 //扫描 80端口
    (UNKNOWN) [192.168.0.1] 80 (?) open
    y  //用户输入
    

    mail 发送和接收文件

    1、简介

    mail命令是命令行的电子邮件接收和发送工具

    2、语法格式

    mail [参数选项]
    

    3、参数说明

    参数参数说明
    -s 指定邮件主题
    -a 发送邮件附件,多个附件使用多次-a选项即可

    nslookup 域名查询工具

    1、简介

    nslookup 命令是常用的域名查询工具

    如果系统没有该命令,需要按照以下方式自己安装下

    yum -y install bind-utils
    

    2、语法格式

    nslookup [参数选项] [域名/IP] [DNS服务器]
    

    3、参数说明

    参数参数说明
    server<域名服务器> 指定解析域名的服务器地址
    set 关键字=值 设置查询关键字(域名属性的值)
    all(全部) 查询域名有关的所有信息
    domain=name 指定查询域名
    port=端口号 指定域名服务器使用的端口号
    type=类型名 指定域名查询类型
    retry=<次数>指定查询时重试册数
    timeout= 秒数 指定查询的超时时间

    dig 域名查询工具

    1、简介

    dig 是常用的域名查询工具,可以用于测试域名系统的工作是否正常

    2、语法格式

    dig [参数选项]
    

    3、参数说明

    参数参数说明
    @<DNS服务器地址> 指定进行域名解析的域名服务器
    -t 指定要查询的DNS数据类型,如A、MX和PTR
    +trace 从跟域开始跟踪查询结果

    4、实践操作

    ① 查询指定域名的IP地址

    [root@xiezhr init.d]# dig www.xiezhrspace.cn
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> www.xiezhrspace.cn
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43520
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;www.xiezhrspace.cn.            IN      A
    
    ;; ANSWER SECTION:
    www.xiezhrspace.cn.     600     IN      A       42.192.46.248
    
    ;; Query time: 76 msec
    ;; SERVER: 183.60.82.98#53(183.60.82.98)
    ;; WHEN: Fri Jun 03 09:28:46 CST 2022
    ;; MSG SIZE  rcvd: 52
    

    ② 查询MX类型的域名信息

    [root@xiezhr init.d]# dig -t MX www.xiezhrspce.cn
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> -t MX www.xiezhrspce.cn
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 62926
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;www.xiezhrspce.cn.             IN      MX
    
    ;; AUTHORITY SECTION:
    cn.                     594     IN      SOA     a.dns.cn. root.cnnic.cn. 2029763095 7200 3600 2419200 21600
    
    ;; Query time: 76 msec
    ;; SERVER: 183.60.82.98#53(183.60.82.98)
    ;; WHEN: Fri Jun 03 09:29:54 CST 2022
    ;; MSG SIZE  rcvd: 88
    

    ③ 显示完整DNS解析过程

    [root@xiezhr init.d]# dig @223.5.5.5 www.xiezhrspace.cn +trace
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @223.5.5.5 www.xiezhrspace.cn +trace
    ; (1 server found)
    ;; global options: +cmd
    .                       3323    IN      NS      k.root-servers.net.
    .                       3323    IN      NS      g.root-servers.net.
    .                       3323    IN      NS      m.root-servers.net.
    .                       3323    IN      NS      f.root-servers.net.
    .                       3323    IN      NS      c.root-servers.net.
    .                       3323    IN      NS      e.root-servers.net.
    .                       3323    IN      NS      d.root-servers.net.
    .                       3323    IN      NS      l.root-servers.net.
    .                       3323    IN      NS      i.root-servers.net.
    ...
    

    host 域名查询工具

    1、简介

    host 命令用于查询DNS工具,可以将指定主机名转换为IP地址

    2、语法格式

    host [参数选项]
    

    3、参数说明

    参数参数说明
    -a 显示详细的DNS信息
    -t 指定查询的域名信息类型,可以是“A”、”ALL“、”MX“、”NS“

    4、实践操作

    ① DNS查询

    [root@xiezhr init.d]# host www.xiezhrspace.cn
    www.xiezhrspace.cn has address 42.192.46.248
    

    ② 查询详细信息

    [root@xiezhr init.d]# host -a www.xiezhrspace.cn
    Trying "www.xiezhrspace.cn"
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41474
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;www.xiezhrspace.cn.            IN      ANY
    
    ;; ANSWER SECTION:
    www.xiezhrspace.cn.     600     IN      A       42.192.46.248
    
    Received 52 bytes from 183.60.82.98#53 in 65 ms
    

    这期主要是说了Linux系统网络相关命令,大概内容就这些了。下期根据思维导图就到了文件备份与压缩相关的命令了。这些命令呢比较基础,但也是比较重要的

    涉及到的命令有: tar、gzip、zip、unzip、scp、rsync等等

    敬请期待哦(●’◡’●)

    专栏目录:快速上手Linux核心命令专栏目录

    上一篇:快速上手Linux核心命令(七):Linux系统信息相关命令x
    下一篇:快速上手Linux核心命令(九):文件备份与压缩命令(博主正在玩命更新中)

      合集: 快速上手Linux核心命令 分类: 快速上手Linux核心命令 标签: Linux , Linux核心命令 , 快速上手Linux核心命令 好文要顶 关注我 收藏该文   xiezhr
    粉丝 - 14 关注 - 5     +加关注 3 0       « 上一篇: 快速上手Linux核心命令(七):Linux系统信息相关命令
    » 下一篇: 快速上手Linux核心命令(九):文件备份与压缩    

快速上手Linux核心命令(九):文件备份与压缩

 

 

目录

 

这期呢主要说一说Linux中文件备份与压缩命令,一共6个命令。这6个命令都是平常工作中非常非常常用的。

tar 打包备份

1、简介

tar 可以将多个文件压缩打包、压缩。是工作中经常用到的命令

2、语法格式

tar [参数选项] [文件或目录]

3、参数说明

参数参数说明
z 通过gzip压缩或解压
c 创建新的tar包
v 显示详细的tar命令执行过程
f 指定压缩文件名字
t 不解压查看tar包的内容
p 保持文件的原有属性
j 通过bzip2命令压缩或解压
x 解开tar包
C 指定解压的目录路径
--exclude=PATTERN 打包时排除不需要处理的文件或目录
-h 打包软连接文件指向的真实源文件
-hard-dereference 打包硬链接文件

4、实践操作

① 打包博客文件(将/home/hexoBlog 打包成hexoBlog.tar.gz)

[root@xiezhr home]# tar zcvf hexoBlog.tar.gz hexoBlog
hexoBlog/
hexoBlog/page/
hexoBlog/page/3/
hexoBlog/page/3/index.html
hexoBlog/page/2/
hexoBlog/page/2/index.html
hexoBlog/contact/
hexoBlog/contact/index.html
hexoBlog/baidusitemap.xml
hexoBlog/movies/
hexoBlog/movies/index.html
hexoBlog/images/
hexoBlog/images/0.jpg
hexoBlog/images/2020年年终总结.jpg
hexoBlog/archives/
hexoBlog/archives/87a8e6ef.html
hexoBlog/archives/93a2b0e4.html
hexoBlog/archives/b55ad976.html
hexoBlog/archives/page/
hexoBlog/archives/page/3/

[root@xiezhr home]# ll 
drwxr-xr-x 30 git    git        4096 Jun  6 20:42 hexoBlog
-rw-r--r--  1 root   root   43478804 Jun 14 22:43 hexoBlog.tar.gz

② 不解压查看压缩包的内容

[root@xiezhr home]# tar ztvf hexoBlog.tar.gz 
drwxr-xr-x git/git           0 2022-06-06 20:42 hexoBlog/
drwxr-xr-x git/git           0 2022-02-26 16:43 hexoBlog/page/
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/page/3/
-rw-r--r-- git/git       56427 2022-06-03 14:57 hexoBlog/page/3/index.html
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/page/2/
-rw-r--r-- git/git       63574 2022-06-03 14:57 hexoBlog/page/2/index.html
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/contact/
-rw-r--r-- git/git       43745 2022-06-03 14:57 hexoBlog/contact/index.html
-rw-r--r-- git/git        4169 2022-06-03 14:57 hexoBlog/baidusitemap.xml
drwxr-xr-x git/git           0 2022-06-03 14:57 hexoBlog/movies/
-rw-r--r-- git/git       43246 2022-06-03 14:57 hexoBlog/movies/index.html
drwxr-xr-x git/git           0 2021-02-13 19:32 hexoBlog/images/
-rw-r--r-- git/git      570852 2020-11-29 16:42 hexoBlog/images/0.jpg
-rw-r--r-- git/git      133945 2021-02-13 19:32 hexoBlog/images/2020年年终总结.jpg
drwxr-xr-x git/git           0 2022-06-06 20:42 hexoBlog/archives/
-rw-r--r-- git/git       97587 2022-06-03 14:57 hexoBlog/archives/87a8e6ef.html

③ 解压文件到指定目录

[root@xiezhr home]# tar -zxvf hexoBlog.tar.gz -C /home/test/
hexoBlog/
hexoBlog/page/
hexoBlog/page/3/
hexoBlog/page/3/index.html
hexoBlog/page/2/
hexoBlog/page/2/index.html
hexoBlog/contact/
hexoBlog/contact/index.html
hexoBlog/baidusitemap.xml
hexoBlog/movies/
hexoBlog/movies/index.html
hexoBlog/images/
hexoBlog/images/0.jpg
hexoBlog/images/2020年年终总结.jpg
hexoBlog/archives/
hexoBlog/archives/87a8e6ef.html

[root@xiezhr home]# cd /home/test/
[root@xiezhr test]# ll
total 1
drwxr-xr-x 30 git    git      4096 Jun  6 20:42 hexoBlog

④ 排除指定文件后打包

# hexoBlog/books 目录下的文件将被排除后打包
[root@xiezhr home]#  tar zcvf hexoBlog.tar.gz  hexoBlog --exclude=hexoBlog/books
hexoBlog/
hexoBlog/page/
hexoBlog/page/3/
hexoBlog/page/3/index.html
hexoBlog/page/2/
hexoBlog/page/2/index.html

⑤ 使用-h参数打包链接文件

[root@xiezhr etc]# tar zcfh local_h.tar.gz ./rc.local 
[root@xiezhr etc]# tar tfv local_h.tar.gz 
-rwxr-xr-x root/root       749 2022-03-22 09:10 ./rc.local

tar 使用小结

  • 打包一个目录时,一般需要进入到目录的上级目录,然后再执行打包命令。解压时需要非常注意,文件是否会覆盖原文件

  • 打包记忆:**tar zcvf /路径/篮子.tar.gz 相对路径/鸡蛋 ** 【把鸡蛋放到篮子里】

gzip 压缩或解压文件

1、简介

gzip 命令用于将一个大的文件通过压缩算法变成一个小文件。

注意: gzip 命令不能直接压缩目录,如果要压缩目录时,先要用tar 将目录打包成一个文件,然后tar 再调用gzip压缩

2、语法格式

gzip [参数选项] [文件]

3、参数说明

参数参数说明
-d 解压文件
-v 显示命令执行的过程
-l 列出压缩文件的内容信息
-c 将内容输出到标准输出,不改变原始文件
-r 对目录下的所有文件递归进行压缩
-数字<1-9> 指定压缩率,默认是6,值越大压缩率越高
-t 测试,检查压缩文件是否完整

4、实践操作

① 把目录下的每个文件都单独压缩成.gz文件

[root@xiezhr dir3]# ls
a.txt  b.txt  c.txt  money.java  test.java  test.txt  tt.txt  user.java  xiezhr.java  xiezhr.txt
[root@xiezhr dir3]# gzip *.txt
[root@xiezhr dir3]# ls
a.txt.gz  b.txt.gz  c.txt.gz  money.java  test.java  test.txt.gz  tt.txt.gz  user.java  xiezhr.java  xiezhr.txt.gz

② 不解压显示压缩文件信息

[root@xiezhr dir3]# gzip -l xiezhr.txt.gz 
         compressed        uncompressed  ratio uncompressed_name
                 31                   0   0.0% xiezhr.txt

③解压文件,并显示解压过程

[root@xiezhr dir3]# ls
a.txt.gz  b.txt.gz  c.txt.gz  money.java  test.java  test.txt.gz  tt.txt.gz  user.java  xiezhr.java  xiezhr.txt.gz
[root@xiezhr dir3]# gzip -dv *.gz
a.txt.gz:         0.0% -- replaced with a.txt
b.txt.gz:         0.0% -- replaced with b.txt
c.txt.gz:         0.0% -- replaced with c.txt
test.txt.gz:     15.9% -- replaced with test.txt
tt.txt.gz:        0.0% -- replaced with tt.txt
xiezhr.txt.gz:    0.0% -- replaced with xiezhr.txt
[root@xiezhr dir3]# ls
a.txt  b.txt  c.txt  money.java  test.java  test.txt  tt.txt  user.java  xiezhr.java  xiezhr.txt

注: 以上实践我们看到gzip命令在压缩和解压文件时,都会把源文件删除。当然也有其他方法可以解决这个问题,但是使用起来有点麻烦。

zip 打包和压缩文件

1、简介

zip 压缩格式是Windows和Linux通用的压缩格式。和gzip命令相比,zip命令压缩文件不会删除源文件,还可以压缩目录。所以相比gzip命令,我们使用zip命令会更多一些

2、语法格式

zip [参数选项] [文件或目录]

3、参数说明

参数参数说明
-r 指定目录下的所有文件和子目录一并压缩
-x 压缩文件时排除某个文件
-q 不显示压缩信息

4、实践操作

① 压缩文件

[root@xiezhr testdir]# ls
xiezhr.txt
[root@xiezhr testdir]# zip xiezhr.zip xiezhr.txt 
  adding: xiezhr.txt (deflated 17%)
[root@xiezhr testdir]# ls
xiezhr.txt  xiezhr.zip

②压缩目录

# 这里只将testdir这个目录压缩了,目录下的文件并没有压缩
[root@xiezhr test]# zip testdir.zip ./testdir/
  adding: testdir/ (stored 0%)
# 使用-r参数可以将目录及目录下的文件也递归压缩了
[root@xiezhr test]# zip -r testdir.zip ./testdir/
updating: testdir/ (stored 0%)
  adding: testdir/xiezhr.txt (deflated 17%)

③ 排除压缩

# 将abc.txt 文件排除到压缩之外
[root@xiezhr testdir]# ll
total 8
-rw-r--r-- 1 root root  49 Jun 26 16:01 abc.txt
-rw-r--r-- 1 root root 527 Jun 26 15:50 xiezhr.txt
[root@xiezhr testdir]# cd ..
[root@xiezhr test]# zip -r testdir.zip ./testdir/ -x testdir/abc.txt 
updating: testdir/ (stored 0%)
updating: testdir/xiezhr.txt (deflated 17%)xxxxxxxxxx -[root@xiezhr testdir]# lltotal 8-rw-r--r-- 1 root root  49 Jun 26 16:01 abc.txt-rw-r--r-- 1 root root 527 Jun 26 15:50 xiezhr.txt[root@xiezhr testdir]# cd ..[root@xiezhr test]# zip -r testdir.zip ./testdir/ -x testdir/abc.txt updating: testdir/ (stored 0%)updating: testdir/xiezhr.txt (deflated 17%)shell

unzip 解压zip文件

1、简介

unzip 命令可以解压zip格式的文件,一般与zip配套使用

2、语法格式

unzip [参数选项] [压缩文件]

3、参数选项

参数参数说明
-l 在不解压的情况下显示压缩包的内容
-o 解压时不提示是否覆盖文件
-d 指定解压目录
-v 解压时显示详细信息

4、实践操作

①不解压查看压缩包里的文件

[root@xiezhr test]# unzip -l testdir.zip 
Archive:  testdir.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  06-26-2022 16:01   testdir/
      527  06-26-2022 15:50   testdir/xiezhr.txt
---------                     -------
      527                     2 files

② 解压文件

# 不带参数解压文件时,会提示是否覆盖文件
# [y]es, [n]o, [A]ll, [N]one, [r]ename  
# y--是  n--否  A--所有文件都替换 N--所有文件都不替换 r--重命名
[root@xiezhr test]# unzip testdir.zip 
Archive:  testdir.zip
replace testdir/xiezhr.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: testdir/xiezhr.txt 
# -o 参数,解压时不提示覆盖
[root@xiezhr test]# unzip -o testdir.zip 
Archive:  testdir.zip
  inflating: testdir/xiezhr.txt 

③ 指定解压目录解压文件

# 将testdir.zip 解压到指定目录dir7下
[root@xiezhr test]# mkdir dir7
[root@xiezhr test]# unzip -d /home/test/dir7/ testdir.zip 
Archive:  testdir.zip
   creating: /home/test/dir7/testdir/
  inflating: /home/test/dir7/testdir/xiezhr.txt  
[root@xiezhr test]# cd dir7/
[root@xiezhr dir7]# ls
testdir

scp 远程文件复制

1、简介

scp 命令用于不同主机之间文件复制。scp命令每次都是全量完整复制,因此效率不高,适合第一次复制时候使用,增量复制建议使用rsync命令

2、语法格式

scp [参数选择] [用户@主机1:文件1] [用户@主机2:文件2]

3、参数选项

参数参数说明
-C 压缩传输
-l 指定传输占用的宽带,单位Kbit/s
-P 指定传输的端口号
-p 传输后保留文件原始属性
-q 不显示传输进度
-r 递归复制整个目录

4、实践操作

① 将本地文件或目录复制到远程服务器

[root@xiezhr ~]# scp  /home/test/xie.txt  42.192.46.248:/tmp
[email protected]'s password: 

② 从远程服务器将数据复制到本地

[root@xiezhr ~]# scp 42.192.21.248:/tmp .

rsync 文件同步工具

1、简介

rsync 可以实现全量或增量的文件复制的开源工具。 可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件 。 它也可以当作文件复制工具,替代cpmv命令

2、语法格式

# 1、本地模式
rsync [参数选项] [源文件] [目标文件]
# 2、远程同步模式
# 拉取文件
rsync [参数选项] [用户@主机:源文件] [目标文件]
# 推送文件
rsync [参数选项] [源文件] [用户@主机:目标文件]

3、参数选项

参数参数说明
-r 递归方式同步目录
-a 可以替代-r参数,除了可以递归同步,还可以同步文件属性(修改时间、权限等)
-n 不确定 rsync 执行后会产生什么结果,可以先用-n参数模拟执行结果
--delete 使目标目录内容和源保持目录一致,删除不同文件
--exclude 同步时,排除不需要的文件或目录
--include 同步时,必须包含的文件
   

4、实践操作

注: 有些Linux系统中可能没有默认安装rsync ,我们只需按照如下命令安装即可

yum -y install rsync

① 将当前目录下的hexoBlog 同步到 dir7目录下

[root@xiezhr test]# rsync -r hexoBlog/ dir7/hexoBlog
[root@xiezhr test]# cd dir7/
[root@xiezhr dir7]# ll
total 4
drwxr-xr-x 30 root root 4096 Jun 29 20:54 hexoBlog

② 将当前目录下的logo.png 和hexoBlog 同步到dir8/test 目录下

[root@xiezhr test]# rsync -r logo.png hexoBlog/  dir8/test
[root@xiezhr test]# cd dir8/test/
[root@xiezhr test]# ll
total 1420
drwxr-xr-x  2 root root   4096 Jun 29 21:00 about
drwxr-xr-x  6 root root   4096 Jun 29 21:00 archives
drwxr-xr-x  2 root root   4096 Jun 29 21:00 artitalk

注: -r表示递归,即包含子目录。注意,-r是必须的,否则 rsync 运行不会成功

③-a 参数,递归同步,同步修改时间、权限等信息

# rsync -a hexoBlog hexoBlog_new
# 目标目录hexoBlog_new 如果不存在,rsync 会自动创建。
# 执行上面的命令后,源目录hexoBlog被完整地复制到了目标目录hexoBlog_new下面,hexoBlog_new/hexoBlog的目录结构。

[root@xiezhr test]# ll
total 16
drwxr-xr-x  2 xiezhr xiezhr 4096 Mar 26 21:46 dir
drwxr-xr-x 30 git    git    4096 Jun  6 20:42 hexoBlog
-rw-r--r--  1 root   root     35 May  9 21:36 xie.txt
-rw-r--r--  1 root   root    527 Apr  9 10:55 xiezhr.txt
[root@xiezhr test]# rsync -a hexoBlog hexoBlog_new
[root@xiezhr test]# ll
total 20
drwxr-xr-x  2 xiezhr xiezhr 4096 Mar 26 21:46 dir
drwxr-xr-x 30 git    git    4096 Jun  6 20:42 hexoBlog
drwxr-xr-x  3 root   root   4096 Jul  2 09:15 hexoBlog_new
-rw-r--r--  1 root   root     35 May  9 21:36 xie.txt
-rw-r--r--  1 root   root    527 Apr  9 10:55 xiezhr.txt

#如果只想同步源目录 hexoBlog 里面的内容到目标目录hexoBlog_new,则需要在源目录后面加上斜杠。
[root@xiezhr test]# rsync -a hexoBlog/ hexoBlog_new
#上面命令执行后,hexoBlog目录里面的内容,就都被复制到了hexoBlog_new目录里面,并不会在hexoBlog_new下面创建一个hexoBlog子目录。

④ -n参数模拟执行结果

注: 如果不确定 rsync 执行后会产生什么结果,可以先用-n 参数模拟执行结果

[root@xiezhr test]# rsync -anv xie.txt testdir
sending incremental file list
xie.txt

sent 49 bytes  received 19 bytes  136.00 bytes/sec
total size is 35  speedup is 0.51 (DRY RUN)

# -n参数模拟命令执行的结果,并不真的执行命令。-v参数则是将结果输出到终端,这样就可以看到哪些内容会被同步。

⑤ --delete 参数的使用,保持源目录和目标目录文件一致

[root@xiezhr test]# rsync -av --delete hexoBlog hexoBlog_0702
sending incremental file list
created directory hexoBlog_0702
hexoBlog/
hexoBlog/Staticfile.txt
hexoBlog/baidu_urls.txt
hexoBlog/baidusitemap.xml
hexoBlog/favicon.png
hexoBlog/tags/问卷调查/index.html

sent 63,638,655 bytes  received 8,246 bytes  42,431,267.33 bytes/sec
total size is 63,597,216  speedup is 1.00

注: 默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持相同,并且不会删除文件。使用--delete参数,这将删除只存在于目标目录、不存在于源目录的文件。

⑥ --exclude 参数 的使用,同步时排除某些文件

[root@xiezhr test]# rsync -av --exclude '*.txt' hexoBlog hexoBlog_test
sending incremental file list
created directory hexoBlog_test
hexoBlog/
hexoBlog/baidusitemap.xml
hexoBlog/favicon.png
hexoBlog/favicon1.png
hexoBlog/tags/问卷调查/index.html

sent 63,638,026 bytes  received 8,208 bytes  127,292,468.00 bytes/sec
total size is 63,596,717  speedup is 1.00

注: 上面脚本将hexoBlog 目录下除了.txt外的文件都同步到了hexoBlog_test 目录下

--include 参数的使用,同步时必须包含某些文件

[root@xiezhr test]# rsync  -av --include "*.txt" --exclude "*" hexoBlog hexo_xie
sending incremental file list

sent 18 bytes  received 12 bytes  60.00 bytes/sec
total size is 0  speedup is 0.00

注:上述命令将hexoBlog目录下的所有文件排除,但包含txt文件同步到hexo_xie目录下

⑧远程同步资源

注: rsync 命令除了可以本地同步之外,还支持远程同步资源

# 以下命令是将本地资源source 同步到远程服务器destination
[root@xiezhr test]# rsync -av source/ username@remote_host:destination
# 以下命令是将远程服务器资源source同步到本地 destination
[root@xiezhr test]# rsync -av username@remote_host:source/ destination

由于博主比较穷,手上只有一台云服务器,这里就没法做具体演示了

标签:22Linux,hexoBlog,xiezhr,用户,命令,参数,Linux,磁盘,root
From: https://www.cnblogs.com/xinxihua/p/17366202.html

相关文章

  • KaliLinux安装Burpsuite
    注意事项1.注意linux位数安装jdk之前先输出uname-a,看看kalilinux是32位的还是64位,例如此处我的kali是32位的,因此需下载的是32位的jdk2.jdk版本jdk版本最好是oracle的,若使用的是openjdk很可能会出现burpsuite闪退现象安装JDK1.解压jdk将jdk压缩包解压至kali的/opt目录......
  • Linux 进程调度之schdule主调度器
    考虑到文章篇幅,在这里我只讨论普通进程,其调度算法采用的是CFS(完全公平)调度算法。至于CFS调度算法的实现后面后专门写一篇文章,这里只要记住调度时选择一个优先级最高的任务执行一、调度单位简介1.1task_struct结构体简介对于Linux内核来说,调度的基本单位是任务,用structtask......
  • 如何修改linux中HTTP默认目录
    在Linux中,HTTP服务器的默认目录通常是/var/www/html。要修改它,可以按照以下步骤进行操作:打开Apache配置文件httpd.conf。该文件通常位于/etc/httpd/conf/或/etc/apache2/目录下。找到DocumentRoot指令,并将其值更改为您想要的目录路径。例如,如果您想将默认目录更改为/home/user/......
  • Linux下用tar完整拷贝/备份目录
    保留软连接、createtime、accesstime、modifytime、permission信息以拷贝/mnt/myhome/username到/mnt/newhome/username为例:cd/mnt/myhometar-cf-username|(cd/mnt/newhome&&tar-xpf-)管道符前的tar将文件夹username打包为tar归档文件,并将其输出到......
  • Linux核心命令系列文章目录
    Linux核心命令系列文章目录快速上手Linux核心命令(一):核心命令简介快速上手Linux核心命令(二):关机、重启快速上手Linux核心命令(三):文件和目录操作命令快速上手Linux核心命令(四):文件内容相关命令快速上手Linux核心命令(五):文本处理三剑客快速上手Linux核心命令(六):Linux的文本编辑器vi和vi......
  • 一、Linux安装LAMP环境
    一:安装Apache1、查看是否安装过Apache:rpm-qa|grephttpd2、有就卸载httpd:yumremove-y"httpd*"3、重新安装httpd:yuminstall-yhttpd4、查看启动状态:systemctlstatushttpd5、启动httpd:systemctlstarthttpd6、添加开机启动:systemctlenablehttpd7、设置防......
  • Linux安装LAMP环境
    一:安装Apache1、查看是否安装过Apache:rpm-qa|grephttpd2、有就卸载httpd:yumremove-y"httpd*"3、重新安装httpd:yuminstall-yhttpd4、查看启动状态:systemctlstatushttpd5、启动httpd:systemctlstarthttpd6、添加开机启动:systemctlenablehttpd7、设置防火墙tcp......
  • linux设备树-pin控制器驱动
    ----------------------------------------------------------------------------------------------------------------------------内核版本:linux5.2.8根文件系统:busybox1.25.0u-boot:2016.05-------------------------------------------------------------------------------......
  • 如何在Linux服务器上部署Vue项目
    1.在本地将Vue项目打包以项目运行在vscode为例,在调试窗口输入 npmrunbuild待命令执行完毕之后,在项目目录下会生成dist文件夹,如下图 2.创建一个运行文件,名字是:server.js server.js中的内容如下:constexpress=require('express');constapp=express();app.use(expr......
  • 快速上手Linux核心命令(十):Linux安装软件
    目录前言rpmrpm包管理器yum自动化RPM包管理工具前言这期呢主要说一说Linux中包软件管理相关命令,这一期的命令虽然只有两个。但软件包的安装和卸载都是我们平常最常用的,需要熟练掌握。rpm和yum是CentOS主要的包软件管理。两个命令各有用处,①yum需要互联网,yum会去网上的yum......