彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 彩世界时时app > 实验楼-小时赛第1期 linux练习,实验楼第1期

实验楼-小时赛第1期 linux练习,实验楼第1期

发布时间:2019-09-04 00:56编辑:彩世界时时app浏览(101)

    实验楼-小时赛第1期 linux练习,实验楼第1期

    1 服务管理

    安装并运行samba:

    sudo apt-get update
    sudo apt-get install samba
    sudo service samba restart
    

    2  提取文本中的信息

    用脚本提取给定文档中以png和jpg结尾的图片链接:

    grep "http.*.(jpg|png)" $1 
    

    grep "http.*. ( jpg | png )" $1 

    3  查找指定文件

    将 /etc 目录下所有内容中包含 shiyanlou 字符串的文件的完整路径都写入 /home/shiyanlou/output 文件中:

    touch output
    sudo grep -R "shiyanlou" /etc > output
    

    4  获取满足条件的程序

    请实现一个脚本获取指定端口上正在运行的程序的绝对路径,如果没有运行任何程序则打印 OK 字符串。

    t=`lsof -i:$1|tail -1|awk '{print $1}'`
    if [  -n "$t" ] ;then
        which $t
    else
        echo "OK"
    fi
    

    5  证书配置 请为 shiyanlou 用户配置一个 SSH 证书,使 shiyanlou 用户 SSH 登陆本地实验环境的时候不需要输入密码。同时设置 SSH 服务禁止所有用户使用密码登陆。

    #1 修改sshd配置
    sudo vi /etc/ssh/sshd_config
    #禁止密码登录
    PasswordAuthentication  no 
    #注释三行
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    #AuthorizedKeysFile .ssh/authorized_keys
    
    #重启让配置生效
    sudo service ssh restart
    
    #生成公钥写入文件
    cd ~/.ssh
    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    cp  id_dsa.pub  authorized_keys
    #不安全的设置,将不能使用RSA功能
    chmod 600 ~/.ssh/authorized_keys
    

    6 避免误删

    (1)rm -f 命令删除的文件或文件夹都临时存入 /tmp/trash 文件夹,而不删除,例如使用 rm -f /home/shiyanlou/testfile 后,文件 testfile 会被移动到 /tmp/trash/testfile,如果 /tmp/trash 目录下已经有 testfile 重名文件则直接覆盖老的文件。
    (2)rm 命令不加 -f 参数的时候执行流程不变,不需要移动到 /tmp/trash 文件夹。

    sudo cp /bin/rm /bin/oldrm
    sudo cp  ~/rm.sh  /bin/rm
    
    #脚本内容
    #!/bin/bash
    if [ $# -eq 2 ] && [ "$1"=="-f" ]
    then
            mv $2 /tmp/trash
    else
            /bin/oldrm $1 $2
    fi
    

    实验楼 linux 学习

    7  密码生成器

    (1)生成的密码字符串长度为12位
    (2)密码中必须同时包含数字,大小写字母及至少1个特殊字符
    (3)只允许使用这些特殊字符:><+-{}:.&;

    arr1=(> < + - { } : . & ;)
    arr2=(a b c d e f g h i j k l m n o p q r s t u v w x y z)
    arr3=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
    t=${arr1[$[$RANDOM%10]]}
    t=$t${arr2[$[$RANDOM%26]]}
    t=$t${arr3[$[$RANDOM%26]]}
    t=$t$[$RANDOM%10]
    echo $t"abcdefgh"
    

    10 拷贝指定文件

    拷贝指定目录下(包括子目录)所有大于4M文件

    #!/bin/bash
    function getdir(){
        #目录一定要一致
        if [ ! -d "/tmp"$1 ]; then
            `mkdir "/tmp"$1`
        fi
        for element in `sudo ls $1 `
        do
            dir_or_file=$1"/"$element
            if [ -d $dir_or_file ]
            then
                getdir $dir_or_file
                continue
            else
                ss=`sudo ls -l $dir_or_file| awk '{print $5}'`
                if [ $ss -gt 10240 ]; then
                    `cp $dir_or_file "/tmp"$1`
                fi
            fi
        done
    }
    root_dir="/etc"
    getdir $root_dir
    

    查看评论

    linux练习,实验楼第1期 1 服务管理 安装并运行samba: sudo apt-get updatesudo apt-get install sambasudo service samba restart 2  提取文...

     

     

    一、Linux 用户管理

    1.查看用户

    who am i //

    who mom likes

    whoami

     

    ====--------======

    输入的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可),第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言的,还记得上一节讲终端时的那七个使用 [Ctrl]+[Alt]+[F1]~[F7] 进行切换的 /dev/tty 设备么,这是“真终端”,伪终端就是当你在图形用户界面使用 /dev/tty7 时每打开一个终端就会产生一个伪终端, pts/0 后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i ,看第二列是不是就变成 pts/1 了,第三列则表示当前伪终端的启动时间

    ===---------=====

    2.创建用户

    sudo adduser lilei //穿件用户

     

    ====---------====

    按照提示输入 shiyanlou 密码(Linux 下密码输入通常都是不可见的),然后是给 lilei 用户设置密码,后面的选项的一些内容你可以选择直接回车使用默认值:

    ====--------====

     

     

    su -l lilei 切换到用户状态

     

    3.用户组

    在 Linux 里面如何知道自己属于哪些用户组呢?

    方法一:使用groups命令

    groups shiyanlou

    方法二:查看/etc/group文件

    cat /etc/group | sort

     

    将其它用户加入 sudo 用户组

    #su -l lilei

    #sudo ls

    su shiyanlou

    groups lilei

    sudo usermod -G sudo lilei

    groups lilei

    删除用户

    sudo deluser lilei --remove-home

     

    二、Linux 文件权限

    1.查看文件权限

    ls -A 查看隐藏文件

    ls -Al

     

    ls -dl <目录名> //查看某一个目录的完整属性,而不是显示目录里面的文件属性:

    ls -AsSh 显示所有文件大小,并以普通人类能看懂的方式呈现 、其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。

    2.变更文件所有者

    sudo chown shiyanlou iphone6

     

    3.修改文件权限

    chmod 700 iphone6

     

    Linux 目录结构及文件基本操作

    一、Linux 目录结构

    1.FHS 标准 //文件系统层次结构标准

    FHS 定义了两层规范,

    第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。

    第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

     

    2.目录路径

    绝对路径 //关于绝对路径,简单地说就是以根"/"目录为起点的完整路径,以你所要到的目录为 终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。

    相对路径 // 相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点

     

    二、Linux 文件的基本操作

    1.新建

    cd ~

    touch test

     

    新建目录

    //文件夾

    mkdir -p father/son/grandson

    2.复制

    复制文件

    cp [文件] [目標地址]

     

    复制目录

    cp -r [文件夾] [目標文件夾/沒有將創建]

    3.删除

    删除目录、文件夾

    rm -f [文件、文件夾]

    rm -rf [文件/文件夹]

    4.移动文件与文件重命名

    移动文件

    mv [文件] [目標地址]

    重命名文件

    mv [旧文件] [新文件]

    批量重命名

    5.查看文件

    使用cat,tac和nl命令查看文件

    这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示。

    nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。

    nl -b a [file]

     

    -b : 指定添加行号的方式,主要有两种:

    -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)

    -b t:只列出非空行的编号并列出(默认为这种方式)

    -n : 设置行号的样式,主要有三种:

    -n ln:在行号字段最左端显示

    -n rn:在行号字段最右边显示,且不加 0

    -n rz:在行号字段最右边显示,且加 0

    -w : 行号字段占用的位数(默认为 6 位)

    使用more和less命令分页查看文件

    more [file]

    less [file]

    使用head和tail命令查看文件

    tail [file]

    tail -n 1 [file]

    这两个命令那些性子比较急的人应该会比较喜欢,因为它们一个是只查看的头几行(默认为10行,不足10行则显示全部)和尾几行

    * 关于tail命令,不得不提的还有它一个很牛的参数-f,这个参数可以实现不停地读取某个文件的内容并显示。这可让我们动态查看日志起到实时监视的作用,不过我不会在这门基础课程中介绍它的更多细节,感兴趣的用户可以自己去了解。

    6.查看文件类型

    file [file]

     

    召喚神龍

    xeyes

    nohup xeyes & //後臺執行

     

    环境变量与文件查找

    一、环境变量

    文件比较

    vimdiff [文件1] [文件2] [文件3]

    3.命令的查找路径与顺序

    echo $PATH

    查看PATH环境变量的内容:

     

    gcc -o hello_world hello_world.c

     

    二、搜索文件

    与搜索相关的命令常用的有如下几个whereis,which,find,locate。

    whereis简单快速

    whereis [file]

    locate快而全

    locate /home/shiyanlou/*.c

    which小而精

    which [file]

    find精而细

    列出 home 目录中,当天(24 小时之内)有改动的文件:

    find ~ -mtime 0

    列出用户家目录下比Code文件夹新的文件:

    find ~ -newer /home/shiyanlou/Code

     

     

    文件打包与压缩

    一、文件打包和解压缩

    1.zip压缩打包程序

    zip -r -q -o shiyanlou.zip /home/shiyanlou

    du -h shiyanlou.zip

    file shiyanlou.zip

    上面命令将 shiyanlou 的 home 目录打包成一个文件,并查看了打包后文件的大小和类型。

    -r参数表示递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用du命令查看打包后文件的大小(后面会具体说明该命令)。

     

    创建加密zip包

    使用-e参数可以创建加密压缩包:

    zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou

     

    2.使用unzip命令解压缩zip文件

    unzip shiyanlou.zip

     

    使用安静模式,将文件解压到指定目录:

    unzip -q shiyanlou.zip -d ziptest

    上述指定目录不存在,将会自动创建。如果你不想解压只想查看压缩包的内容你可以使用-l参数:

    unzip -l shiyanlou.zip

     

    3.rar打包压缩命令

    **注意:rar 的命令参数没有-,如果加上会报错

     

    rar a shiyanlou.rar .

    rar a [压缩名.rar] [压缩目录]

     

    从指定压缩包文件中删除某个文件

    rar d shiyanlou.rar .zshrc

    rar d [压缩包名.rar] [要删除的文件]

    查看不解压文件:

    rar l [压缩包名.rar]

     

    使用unrar解压rar文件

    unrar x [压缩包]

     

    去掉路径解压:

    mkdir tmp

    unrar e [压缩包] [路径/tmp]

     

    4.tar打包工具

    下面先掌握tar命令一些基本的使用方式,即不进行压缩只是进行打包(创建归档文件)和解包的操作

    创建一个 tar 包:

    tar -cf shiyanlou.tar ~

    tar -cf [压缩名.tar] [需要压缩的目录]

    上面命令中,-c表示创建一个 tar 包文件,-f用于指定创建的文件名,注意文件名必须紧跟在-f参数之后,比如不能写成tar -fc shiyanlou.tar,可以写成tar -f shiyanlou.tar -c ~。你还可以加上-v参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的/,你也可以使用-P保留绝对路径符。

    解包一个文件(-x参数)到指定路径的已存在目录(-C参数):

    mkdir tardir

    tar -xf shiyanlou.tar -C tardir

    只查看不解包文件-t参数:

    tar -tf shiyanlou.tar

    本文由彩世界平台发布于彩世界时时app,转载请注明出处:实验楼-小时赛第1期 linux练习,实验楼第1期

    关键词:

上一篇:Saltstack 快速入门教程,Saltstack入门教程

下一篇:没有了