>

Linux实验报告,实验楼第1期

- 编辑:金沙国际平台登录 -

Linux实验报告,实验楼第1期

实验楼-小时赛第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  提取文...

第六章

压缩

1,1 使用zip压缩打包程序

shiyanlou:~/ $ zip -r -q -o shiyanlou.zip /home/shiyanlou

shiyanlou:~/ $ du -h shiyanlou.zip

以上命令将实验楼的home目录打包成一个文件,

第一行中 -r参数表示递归打包包含子目录的全部内容

               -q参数表示未安静模式,既不像屏幕输出信息

               -o表示输出文件,需要在气候紧跟打包输出文件名

第二行中 用du命令查看打包后文件的大小

(可设置压缩级别-【1-9】1表示最快压缩但体积大,9表示体积最小但耗时最久)注意:这里只能使用绝对路径,否则不起作用

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

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

例 将shiyanlou.zip解压到当前目录

$ unzip shiyanlou.zip

注意  如果你不想解压只想查看压缩包的内容你可以使用-1 参数

         使用-o参数在解压时制定编码类型

3.3 rar打包压缩命令

基本操作

安装 sudo apt-get update

        sudo  apt-get install rar unrar

从指定文件或目录 创建压缩包或添加文件压缩包

rm *.zip

rar a shiyanlou.rar .

上面使用的a参数添加一个目录~到一个归档文件中,如果该文件不存在就会自动创建

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

删除  $ rar d shiyanlou.rar .zshrc

解压 

全路径解压  $ unrar x shiyanlou.rar

去掉路径解压  $ mkdir tmp

$ unrar e shiyanlou.rar tmp/

3,4tar打包工具

创建一个tar包  $ tar -cf shiyanlou.tar ~

-c表示创建一个 tar 包文件

-f 用于指定创建的文件名

常用命令:

zip:

打包 :zip something.zip something (目录请加 -r 参数)

解包:unzip something

指定路径:-d 参数

tar:

打包:tar -zcvf something.tar something

解包:tar -zxvf something.tar

指定路径:-C 参数

本文由金沙国际平台登录发布,转载请注明来源:Linux实验报告,实验楼第1期