Linux学习笔记二(打包压缩和常用服务器)

day02--打包压缩和常用服务器
1.打包和压缩 工具的使用
    1).初级版【不能压缩目录】
        a. gzip-->.gz格式的压缩包【不能保留原文件】
            gzip *.txt 压缩当前目录下所有.txt格式文件为.gz文件
            gunzip *.gz    还原所有.gz格式压缩文件到原文件
        b. bzip2-->.bz2格式的压缩包【可以保留原文件-k】
            bzip2 *.txt 压缩当前目录下所有.txt格式文件为.bz2文件
            bunzip2 *.gz 还原所有.bz2格式压缩文件到原文件
            bzip2 -k *.txt 可以保留原文件
    2).高级版
        a) tar --  不使用z/j参数,该命令只能对文件或目录进行打包
            参数:
            c--创建--压缩
            x--释放--解压缩
            v--显示提示信息--压缩/解压缩--可以省略
            f--指定压缩文件的名字
            
            z--使用gzip的方式压缩文件--.gz
            j--使用bzip2的方式压缩文件--.bz
            
            压缩:
                tar zcvf xxx.tar.gz【生成的压缩包的名字】 fileName/dirName【要压缩的文件或目录】
                tar jcvf xxx.tar.bz2【生成的压缩包的名字】 fileName/dirName【要压缩的文件或目录】
            解压缩
                tar zxvf xxx.tar.gz 解压到当前文件夹
                tar zxvf xxx.tar.gz -C 指定目录

        b) rar--必须手动安装该软件
            参数:
                压缩:a
                解压缩:x
            
            压缩:
                rar a 生成的压缩文件的名字(temp)    压缩的文件或目录
            解压缩:
                rar x 压缩文件名 [解压缩目录]
        c) zip--
            参数:
                压缩目录要带 -r
            压缩: 
                zip 压缩包的名字  压缩的文件或目录
                例子:zip -r 压缩包的名字  压缩的文件或目录
            解压缩:
                unzip 压缩包的名字
                unzip 压缩包的名字 -d 解压目录

2.进程管理
    1).who的使用--查看当前在线用户情况
    输入命令 who
    结果:dandan   tty1         2020-11-27 14:33
          root     pts/0        2020-11-30 08:02 (192.168.1.125)
          dandan   pts/1        2020-11-30 08:25 (192.168.1.125)
    说明:
        tty1 表示文字终端
        pts/0 表示设备终端--打开几个命令黑框就显示几个
        
    2).查看整个系统内部运行情况
        ps的使用
        PID-->进程id    TTY-->终端
        
        ps a 列出当前所有使用的用户
        ps au 带用户详细信息
        ps aux 查询出不带终端的应用程序【TTY--?】
        例子:ps aux | grep bash【|指管道】

    3).终止进程
        kill命令使用
        kill -l 查询信号编号
        kill -9 pid 杀死对应的进程

    4).    查看当前进程的环境变量
        env 查看所有
        env | grep PATH 用管道指定查询
        Linux下环境变量的格式:key-value
            key=value1:value2:value3
        
    5).    任务管理器
        top

3.网络管理
    ip a
    nslookup www.baidu.com【查看服务器域名对应的ip地址命令】
    ping www.baidu.com

4.用户管理
    1).创建用户
        sudo adduser + 用户名【通过脚本创建】
        sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcast 【通过命令创建】
        
        -s 指定新用户登录时shell类型
        -g 指定所属组,该组必须已经存在
        -d 用户家目录
        -m 用户家目录不存在时,自动创建该目录
    2).设置用户组
        sudo groupadd groupName 创建组        
    3).删除用户
        sudo userdel -r itcast 【选项-r的作用是把用户的主目录一起删除】
    4).切换用户:su + 用户名
    5).设置密码:
        修改当前用户密码:sudo passwd
        修改其他用户密码:sudo passwd userName
        修改root用户密码:sudo passwd root
    6).退出当前用户:exit
       查询创建的用户:cat /etc/passwd
       
5.常用服务器:ftp、nfs、ssh
    1).ftp服务器搭建--vsftpd
        作用:负责文件的上传和下载
        a.服务器端
            1>.修改配置文件
                anonymous_enable=YES             #允许匿名用户登录
                local_enable=YES                 #允许本地用户登录
                write_enable=YES                 #允许登录用户拥有写权限(上传数据)
                local_umask=022                  #设置本地掩码为022
                anon_upload_enable=YES            #匿名用户可以向ftp上传数据
                anon_mkdir_write_enable=YES        #匿名用户在ftp创建目录
            2>.重启服务
                service vsftpd restart

        b.客户端
            1>.实名用户登录
                ftp + IP(server)
                输入用户名(server)
                输入密码(server)
                
                文件的上传和下载:
                    文件的上传:put fileName
                    文件的下载: get fileName
                    不允许操作目录,如果想操作目录--打包 tar/rar/zip

            2>.匿名用户登录    
                ftp + IP(server)
                用户名:anonymous
                密码:无
                
                不允许匿名用户在任意目录直接切换
                只能在一个指定的目录范围内工作
                需要在ftp服务器上创建一个匿名用户目录--匿名用户的根目录
                anon_root=/home/dandan/anonFtp【修改配置文件】
                
                遇到的问题:421 Service not available, remote server has closed connection
                解决方案:
                    sestatus -b| grep ftp 查询ftp状态
                    getsebool -a | grep ftp 查询ftp状态
                    
                    设置以下三个状态:
                    setsebool ftpd_full_access=1
                    setsebool tftp_home_dir=1
                    setsebool tftp_anon_write=1
                    
                    service vsftpd restart重启服务
                完美解决。。。
                
                退出:quit/bye/exit
            
        c.客户端lftp--一个ftp客户端工具,可以上传和下载目录
            软件安装:yum install lftp
            
            登录服务器:
                匿名:1). lftp IP(server) 回车
                      2). login
                实名:1). lftp username:@IP(server) 回车
                      2). 输入服务器密码
                      
                操作:put         上传文件
                      mput        上传多个文件
                      get        下载文件
                      mget      下载多个文件
                      mirror     下载整个目录及其子目录
                      mirror -R 上传整个目录及其子目录
                      
6.nfs服务器搭建:yum -y install nfs-utils
    1>.服务器端
        1).创建共享目录
            mkdir dir
        2).修改配置文件
            /etc/exports
            
            /home/dandan/NFSshare 192.168.1.*(rw,sync)
            /home/dandan/NFSshare *(rw,sync)
            /home/dandan/NFSshare:共享文件的位置
            sync:可以实时更新
        3).重启服务
            service nfs restart
    2>.客户端
        1).挂载服务器共享目录
            mount serverIp:shareDir /mnt

7.ssh服务器:
    1>.服务器端
        yum -y insatll openssh
    2>.客户端
        1).远程登录:ssh userName@serverIP
        2).退出登录:logout

8.scp命令的使用--scp【super copy】
    1).首先必须安装ssh服务器
    2).使用格式:
        scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对或相对路径
        拷贝目录需要加参数-r
    
9.一些其他命令
    a.终端相关
        1).终端翻页:
        Shift+PageUp->上翻页
        Shift+PageDown->下翻页
        
        2).创建终端:Ctrl+Alt+T
        
        3).查看手册:man man
        
        4).设置或查看别名
            查看:alias
            设置:alias pag='ps aux | grep'【需要长久有效需要去设置配置文件:.bashrc】
            
        5).echo--在显示器上显示数据
            普通数据:echo 字符串
            显示环境变量:echo $PATH
            显示上一次程序退出值:echo $?    
    b.关机重启
        poweroff;关机
        reboot:重启
        shutdown:
            参数:-t 秒数:设定在切换至不同的runlevel之前,警告和删除二讯号之间的延迟时间(秒).
                  -k:仅送出警告讯息文字,但不是真的要shutdown
                  -r: shutdown之后重新开机
                  -h: shutdown之后关机
                  -n: 不经过init,由shutdown指令本身来做关机动作。(不建议你用)
                  -f: 重新开机时,跳过fsck指令,不检查档案系统。
                  -F:重新开机时,强迫做fsck检查。
                  -c: 将已经正在shutdown的动作取消。
                  
            例子:shutdown -r now 立即重新开机
                  shutdown -h now 立即关机
                  shutdown -k now 'Hey! Go away! now...'仅送出警告讯息文字
                  shutdown -t3 -r now 立即重新开机,但在警告和删除processes之间,延迟3秒钟
                  shutdown -h 10:42 'GO Away!' 10:42 分关机
                  shutdown -r 10 'Hey!Go away!' 10分钟后关机
                  shutdown -c 将刚才下的shutdown指令取消,必须切换至其它tty.
                  shutdown now 切换至单人操作模式(不加任何选项时)

 

上一篇:第51月第16天 shutdown()函数:优雅地断开TCP连接


下一篇:程序人生:程序员常用的关机方式?就一段代码的事!