Linux上机报告

文章目录

  • 0、前言
  • 1、第一次上机
  • 2、第二次上机
  • 3、第三次上机
  • 4、第四次上机

0、前言

分享给大家做参考和复习啦

1、第一次上机

1、使用命令在用户主目录(/home/stu下)创建一个目录,目录名为各自的学号。查看当前在线用户,以及工作目录

mkdir 114514		#假设学号是114514
cd 114514
who
pwd

Linux上机报告_第1张图片

2、使用命令date显示当前的时间和日期;将现在日期按照格式:时:分:秒 年-月-日显示。(并将显示结果存入/home/stu/[学号]/a文件中,并查看文件内容。)

date +%T%n%F > a
ls
cat a

Linux上机报告_第2张图片

3、使用echo命令显示“hello linux”。(并将显示结果存入/home/stu/[学号]/b文件中,并查看文件内容。)

echo "hello linux" > b
ls
cat b

Linux上机报告_第3张图片

4、 使用命令切换到/etc目录,并显示当前工作目录路径。

cd /etc
pwd

Linux上机报告_第4张图片

5、使用命令显示/etc目录下所有文件目录的详细信息,包括隐藏文件,查看文件类型。

ls -al

Linux上机报告_第5张图片

6、 在/home/stu/[学号]/目录下创建空文件ab,内容是当前的日期信息。

cd /home/stu/114514
date +%F >ab
ls
cat ab

Linux上机报告_第6张图片

7、将文件/etc/host.conf文件复制到目录/home/stu/[学号]/学号中。

mkdir 114514
ls
cp /etc/host.conf 114514
cd 114514/
ls

Linux上机报告_第7张图片

8、将目录中的文件host.conf更名为test。

mv host.conf test
ls

Linux上机报告_第8张图片

9、统计文件/home/stu/[学号]/test的行数、字符数和单词数。

wc -l test
wc -c test
wc -w test

Linux上机报告_第9张图片

10、使用命令对创建符号链接文件/home/stu/[学号]/linka ,链接对象是/home/stu/[学号]/ 目录下的文件test。

cd ..
ls
ln -s 114514/test linka
ls

Linux上机报告_第10张图片

11、将该目录及其目录下的文件一起删除。

rm -r /home/stu/114514
cd /home/stu
ls

Linux上机报告_第11张图片

2、第二次上机

1、以学号创建文件夹,在学号目录中创建logs子目录

mkdir logs
ls

Linux上机报告_第12张图片

2、查找/var/log下所有log文件,并复制到上一步创建的logs目录

find /var/log -name '*log*'| xargs cp -t /home/stu/114514
ls

Linux上机报告_第13张图片

3、统计logs目录下文件的数量,并把统计结果保存到学号/logscount文件中

ls -l /home/stu/114514/logs | grep "^-" | wc -l > logscount
cat logscount

这里是引用

4、将当前系统时间以“当前系统时间:xx:xx:xx”的形式追加到logscount 文件中

date +"current system time : %H:%M:%S" >> logscount
cat logscount

Linux上机报告_第14张图片

5、将logs目录打包为logs.tar.gz

tar zcvf logs.tar.gz logs

这里是引用

6、将logs.tar.gz解包到学号/logs_bak目录

tar zxvf ./logs.tar.gz -C ./logs_bak

这里是引用

7、在学号下创建vi目录,在vi目录创建文件abc.c程序,输入内容见下图,并完成以下操作:

mkdir vi
cd vi
vi abc.c

Linux上机报告_第15张图片

#include
void main()
{       
        int h,f;
        int x,y;
        printf("请输入头数和脚数");
        scanf("%d,%d",&h,&f);
        x=(4*h-f)/2;
        y=(f-2*h)/2;
        printf("鸡=%d 兔子=%d",x,y);
}       

Linux上机报告_第16张图片

(1) 显示行号

set number

Linux上机报告_第17张图片

(2) 移动光标到第6行

Linux上机报告_第18张图片

(3) 复制该行

按下y,没有效果显示

(4)移动光标到倒数第2行

Linux上机报告_第19张图片

(5) 粘贴复制行内容

Linux上机报告_第20张图片

(6) 撤销上一步操作

Linux上机报告_第21张图片

(7) 删除第6行

Linux上机报告_第22张图片

(8) 移动光标到第1行

Linux上机报告_第23张图片

(9) 向下查找字符在“int”

Linux上机报告_第24张图片

(10) 存盘退出

Linux上机报告_第25张图片

3、第三次上机

1、使用vi建立一个脚本,脚本包括date、pwd、cal、ls 等命令,使用不同的方式执行该脚本。

echo "date"
date
echo "pwd"
pwd
echo "cal"
cal
echo "ls"
ls

Linux上机报告_第26张图片

chmod +x test.sh
./test.sh

Linux上机报告_第27张图片

2、调试脚本:P121例4.11、P123例4.12、P129例4.16

p121.例4.11

#if user has logged in the system                
#then, copy a file to his or her file
#else,display an error information

echo "Type in the user name ."             
read user
if 
   grep $user  /etc/passwd > /tmp/null
   who | grep $user
then
   echo "$user has not logged in the system."
   cp /tmp/null tmp1
   rm /tmp/null
else
   echo "$user has not logged in the system." 
fi

Linux上机报告_第28张图片

chmod +x book_1.sh
./book_1.sh
#键盘输入root

Linux上机报告_第29张图片

p123例4.12

#!/bin/bash                            
echo -n "key in a number(1-10): "  
read a
if 
    [ $a -lt 1 -o $a -gt 10 ]
then
    echo "Error Number."        
    exit 2
elif
    [ ! $a -lt 5 ]
then
    echo "It's no less 5."                    
else
    echo "It's less 5."           
fi
echo "accept key in value . "   

Linux上机报告_第30张图片

chmod +x book_2.sh
./book_2.sh
#键盘输入12

Linux上机报告_第31张图片

P129例4.16

#!/bin/bash                           
for((i=1;i<=10;i++))
do
        for ((j=1;j<=i;j++))
        do
        echo -n "*"     
        done
        echo ""                     
done
echo "end!"  

Linux上机报告_第32张图片
Linux上机报告_第33张图片

3、 编写一个脚本:实现新建一个文件夹,以当前的系统日期命名,文件夹里有文件a以及a的压缩文件,文件a的内容是/etc/passwd文件的内容。

#!/bin/bash
mkdir $(date +"%Y-%m-%d")
cd  $(date +"%Y-%m-%d")
cp /etc/passwd a
tar cvf a.tar a

Linux上机报告_第34张图片
Linux上机报告_第35张图片

4、 编写一个脚本:实现将文件a的第3,5,7,15,17行显示出来。

#!/bin/bash
cat a | head -n 3 | tail -n -1
cat a | head -n 5 | tail -n -1
cat a | head -n 7 | tail -n -1
cat a | head -n 15 | tail -n -1
cat a | head -n 17 | tail -n -1

Linux上机报告_第36张图片
Linux上机报告_第37张图片

4、第四次上机

1、使用vi建立一个脚本,实现用户的批量创建。要求:用户名为stu_序号,序号为1~100,并为每个用户设置密码为123456.

#!/bin/bash                                       
echo create account                         
lst=stu_
for((i=1;i<=100;i++))                                
do                                                   
        acc_name=${lst}${i}                          
        echo "add user $acc_name"                               
done   

Linux上机报告_第38张图片
Linux上机报告_第39张图片

2、调试程序:P216例7.8

example7-8.sh

#!/bin/bash
echo "今天是`date`"
if  (($#!=2)); then
    echo "exam7-8的用法:exam7-8 文件1 文件2"
    exit 1
elif [ ! -f $1 -o ! -f $2 ]; then
    echo "输入文件名有误!"
    exit 2
else
#调用c程序 rdwr
./rdwr $1 $2
fi
echo "下面是文件2--$2--的内容"
cat $2

Linux上机报告_第40张图片

m1.c

#include                 
#include              
#include               
#include                 
#include                 
#include 

int main(int argc,char **argv){ 
int i,fd,fd2,nbyte3;
        char buf[10];

        if(argc<3){
                fprintf(stderr,"usage:%s origin destination\n",argv[0]);
        return 1;
}
        if((fd=open(argv[1],O_RDONLY,0644))<0){
                fprintf(stderr,"cannot open %s for reading\n",argv[1]);
                exit(EXIT_FAILURE);
}
        if((fd2=open(argv[2],O_WRONLY))<0){
                fprintf(stderr,"cannot open %s for writing\n",argv[2]);
                exit(EXIT_FAILURE);
}
        while((nbyte3=read(fd2,buf,10))>0){
                if(write(fd2,buf,nbyte3)<0){
                        fprintf(stderr,"%s writing error!\n",argv[2]);
                        exit(EXIT_FAILURE);
                }
                for(i=0;i<10;i++)
                        buf[i]='\0';
        }
        close(fd);
        close(fd2);
        system("echo    ");
        system("echo show_this_list--'pwd'--content");
        system("ls     ");
        exit(EXIT_SUCCESS);

        }

用vi写完m1.c后:

gcc m1.c -o rdwr
touch kong_1
touch kong_2
vi kong_2 #往kong_2里面写了一句“这里是kong_2”
chmod +x example7-8.sh
./example7-8.sh kong_1 kong_2

Linux上机报告_第41张图片
Linux上机报告_第42张图片

你可能感兴趣的:(Linux,linux,服务器,运维)