目录

第一次上机:

第二次上机:

第三次上机:

第四次上机:


第一次上机:

1,查看当前在线用户,以及工作目录。

w            #查看当前在线用户
pwd          #查看工作目录

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

date +'%H:%M:%S %y/%m/%d'               #以时:分:秒 年-月-日显示当前时间。
date +'%H:%M:%S %y/%m/%d' > /home/a.txt #将显示结果存入/home/a.txt文件中。
head -v /home/a.tet                     #查看文件内容

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

echo hello wold                #显示hello wold
echo hello wold >b.txt         #将hello wold放入b.txt
head -v b.txt                  #查看b.txt  

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

cd /etc            #进入路径
pwd                #显示路径

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

ls -a -all        #查看所有文件

6,使用命令在用户主目录(/home/shouyi下)创建一个目录,目录名为各自0的学号,在此目录下创建空文件ab,内容是当前的日期信息。

cd home/shouyi            #进入路径
mkdir 20191101666         #创建学号目录
cd 20191101666            #进入学号目录
date >ab                  #将时间放入ab文件,没有则创建

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

cp etc/host.conf /home/shouyi/20191101666        #进行复制

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

mv host.conf test            #将名字修改为test

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

wc -lwc test            #显示行数字符数单词书

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

ln -s /home/linka /home/sn/20191101666  #创建符合链接

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

cd /home             #进入要删除文件的路径
rm -rf 20191101666   #删除20191101666

第二次上机:

1,以root用户登录到家目录。(后续操作均在root的家目录进行)

sudo passwd            #修改密码进入
su                     #进入管理员权限
cd /root               #进入root

2,以学号创建文件夹,及学号/logs

mkdir 20191101666            #创建学号目录
cd 20191101666               #进入目录
mkdir logs                   #创建logs

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

ls –a /var/log          #查看路径下内容
cp  –r  /var/log  /logs #复制

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

ls -l ./ |grep "^-"| wc –l        #查看当前文件数量
ls -l ./ |grep "^-"| wc –l >home/20191101666    #将数量放入学号文件夹

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

date +"present_time:%H:%M:%S" >>logscount

6, 将logs目录打包为logs.tar.gz

tar zcvf log.tar.gz logs      #将logs目录打包为logs.tar.gz

7, 将logs.tar.gz解包到学号/logs_bak目录

tar zxvf /home/shouyi/Desktop/20191101666/log.tar.gz -C /home/shouyi/Desktop/20191101666/logs_bak    #(绝对路径)

8, 在学号下创建vi目录

mkdir vi        #在学号下创建vi目录

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

 :set nu        #(1)显示行号

10,将学号目录及其目录下的文件一起删除。

rm -r 20191101666        #删除学号文件夹

第三次上机:

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

首先获取权限

sudo passwd            #修改密码
su                     #获取权限
vi test.sh             #建立脚本文件

进入文本后输入

#!bin/bash

echo “date”

date +”%F %T”

echo “pwd”

cal

echo “cal”

cal

echo “ls”

ls -alba

然后退出,在输入

chmod +x test.sh            #添加执行权限
bash <test.sh               #执行脚本

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

代码分析部分

代码1

#if user has logged in the system
#then, copy a file to his or her file
#else,display an error informationecho "Type in the user name ."                #输出文字Type in the user name
read user                                     #读取user的信息
if                                            #如果grep $user  /etc/passwd > /tmp/null        #字符匹配user,存在把/etc/passwd放入/tmp/nullwho | grep $user                           #显示匹配的user
then                                          #然后echo "$user has not logged in the system." #输出语句user has not logged in the systemcp /tmp/null tmp1                          #复制/tmp/null到tmp1rm /tmp/null                               #删除/tmp/null
else                                          #否则echo "$user has not logged in the system." #输出user has not logged in the system
fi                                            #结束

代码2

#!/bin/bash
echo -n "keyin a number(1-10): "
read a                            #读取a
if                                #如果[ $a -lt 1 -o $a -gt 10 ]     #a小于1或者大于10
thenecho "Erroe Number."         #输出Erroe Numberexit 2
elif[ ! $a -lt 5 ]              #如果a不小于5
then                            #则echo "It's no less 5."      #输出It's no less 5
else                            #否则echo "It's less 5."         #输出It's less 5
fi                              #结束
echo "accept key in value . "   #输出accept key in value

代码3

#/bin/bash                            #告诉系统这是脚本
for((i=1;i<=10;i++))                  #外循环10次
do                                    #执行for ((j=1;j<=i;j++))     #内循环执行j次,j依次加一do                        #执行echo –n “*”     #输出*done                        #内循环结束echo ‘’                     #输出
done                                  #结束
echo”end”                             #输出end

第四次上机:

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

#!/bin/bash                                          #脚本中的内容
echo create account v1                               #输出创建account
prefix=stu_                                          #将prefix赋值为stu_
for((i=1;i<100;i++))                                 #循环100次
do                                                   #执行account_name=${prefix}${i}                   #将账号设名为stu_iecho add user $account_name                  #创建设定的账户#user$account_name -p 123456                 #为账号加密码为123456
done                                                 #结束

在加权限,运行。

chmod +x jb.sh            #加权限
bash jb.sh                #运行脚本

2,运行脚本程序

先创建C语言程序

 vim m1.c

在其中输入

#include <unistd.h>                #头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>int main(int argc,char **argv){              #主函数,传入一个整数变量argc一个指针变量argyint i,fd,fd2,nbyte3;                 #定义整形变量char buf[10];                        #定义字符数组变量if(argc<3){                          #如果argc小于3fprintf(stderr,"usage:%s origin destination\n",argv[0]); #向文件中写入argv[0]的数据    return 1;
}if((fd=open(argv[1],O_RDONLY,0644))<0){                         #如果打开argv[1]值小于0等于没有取到数据fprintf(stderr,"cannot open %s for reading\n",argv[1]); #向文件中写入无法读取argv[1]中的数值exit(EXIT_FAILURE);                                     #退出文件流操作
}if((fd2=open(argv[2],O_WRONLY))<0){                             #如果打开argv[2]值小于0等于没有取到数据fprintf(stderr,"cannot open %s for writing\n",argv[2]);#向文件中写入无法读取argv[2]中的数值exit(EXIT_FAILURE);                                     #退出文件流操作
}while((nbyte3=read(fd2,buf,10))>0){                             #如果(以buf形式读取fd2,10字节大小赋值给nbyte3)>0循环执行if(write(fd2,buf,nbyte3)<0){                            #如果(以buf形式读取nbyte3,10字节大小赋值给fd2)>0循环执行fprintf(stderr,"%s writing error!\n",argv[2]);  #向文件写入argv[2]中写入错误exit(EXIT_FAILURE);                             #退出}for(i=0;i<10;i++)                                      #循环给字符串加"\0"buf[i]='\0';}close(fd);                                                     #关闭文件fd       close(fd2);                                                    #关闭文件fd2system("echo    ");                                            #输出echo  system("echo show_this_list--'pwd'--content");                 #输出echo show_this_list--'pwd(工作路径)'--contentsystem("ls     ");                                             #输出ls(现有文件)exit(EXIT_SUCCESS);                                            #退出程序}

在创建脚本

vim sb

脚本中输入

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

再用脚本执行C语言程序

bash sb jb.sh

基础知识往这走Liunx操作指令大全

Linux 基础上机篇相关推荐

  1. Linux基础入门篇知识回顾

    Linux基础入门篇知识回顾 一.回顾书籍 二.基础知识 1.计算机基础知识 1.1计算机的特点及发展趋势 ①特点 ②发展趋势 1.2计算机系统组成 ①计算机硬件概念 ②计算机硬件各部分功能 ![在这 ...

  2. linux基础命令篇一

    2019独角兽企业重金招聘Python工程师标准>>> 此篇博客目录: 1.    linux系统目录结构 2.    ls命令 3.    文件类型 4.    alias命令 5 ...

  3. Linux基础面试篇

    Linux 概述 什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的操作系统. 它能运行主要的Unix工具 ...

  4. Linux基础第一篇

    1 初识Linux 1.1 操作系统 操作系统(Operation System, OS),是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石.操作系统需要处理如管理与配置内存.决 ...

  5. linux 基础上机练习,Linux上机练习题shell程序设计基础.docx

    上机实习题: 1. 用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev目录下.a #!/bin/bash directory=/dev for file in /bin/a2p ...

  6. 从零开始缓慢深入Linux - 基础指令篇(3)

    Linux下常用性能监控指令 概述 运维的职责之一就是排查故障,而排查故障意味着我们必须要有能够及时定位问题的能力.如果对操作系统的本身的性能状态后知后觉,那又从何谈起故障排除呢?学会使用合适的工具来 ...

  7. 河南省周口市安吉软件测试培训中心第一次软件测试课程-Linux基础命令篇

    服务器版本Linux: Redhat Centos Linux命令: cd命令 命令功能:切换当前目录至dirName 命令格式:cd [目录名] 注:目录名称与cd指令之间存在一个空格 cd ..表 ...

  8. img解包工具_3、Linux基础命令篇、压缩打包工具

    在管理系统中,我们遇到经常会使用后缀为*.tar.gz |*.tar.bz2 等文件,他们是什么文件呢?请看下面介绍及使用方法 压缩的原理,比如一个字符串"www.baidu.com&quo ...

  9. Linux基础入门之内外命令讲解篇

    Linux基础入门篇--之内外命令讲解 1.基础命令 命令 使用方法 cat /etc/motd 设置用户成功登录系统后显示的提示信息.比如欢迎语! cat /etc/issue 设置用户成功登录系统 ...

最新文章

  1. Apache下实现禁止目录浏览
  2. Moving Towards Third‐Generation Sequencing Technologies 迈向第三代测序技术
  3. 76. Leetcode 295. 数据流的中位数 (堆-技巧一-固定堆)
  4. iOS系统 应用闪退或图标消失的解决办法
  5. 魔法照片pascal程序
  6. 代替vscode的工具_Vscode官方版
  7. 《那些年啊,那些事——一个程序员的奋斗史》——61
  8. spring整合使用activemq
  9. C++指针和数组和动态分配内存
  10. k8s部署nacos
  11. 压缩感知重构算法——SP算法
  12. JAVA编写俄罗斯方块
  13. 【HMS core】【push kit】【FAQ】华为推送服务 手机未收到推送消息/消息延迟/息屏通知 问题合集
  14. 【20210823】学习本不应该痛苦人生其实是一种享受
  15. 单反相机镜头焦距与被摄物体的实际距
  16. 技术集锦 | 大数据云原生技术实战及最佳实践系列
  17. 3年Python编程自学经历,分享一些心得经验
  18. JS实现双向绑定的几种方式
  19. 《大学章句集注》-读书笔记之二
  20. 分包和自定义tabBar

热门文章

  1. B站直播,哔哩哔哩虚拟主播数据如何分析?
  2. 转载 NLS_LANG设置
  3. 有冒险才会有精彩!转行软件测试,我从不后悔
  4. bzoj2163 复杂的大门
  5. 一道导数与不等式结合的题目
  6. MC9S12G128模块化分层化软件架构之二——IO驱动
  7. kotlin常用语法扫盲及开发注意点,勿错失(持续更新)
  8. 做人做事需牢记20条原则
  9. java djava_Java -Djava.ext.dirs启动的坑
  10. 电脑桌面便签如何按农历日历设置便签提醒事项?