Linux 基础上机篇
目录
第一次上机:
第二次上机:
第三次上机:
第四次上机:
第一次上机:
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 基础上机篇相关推荐
- Linux基础入门篇知识回顾
Linux基础入门篇知识回顾 一.回顾书籍 二.基础知识 1.计算机基础知识 1.1计算机的特点及发展趋势 ①特点 ②发展趋势 1.2计算机系统组成 ①计算机硬件概念 ②计算机硬件各部分功能 ![在这 ...
- linux基础命令篇一
2019独角兽企业重金招聘Python工程师标准>>> 此篇博客目录: 1. linux系统目录结构 2. ls命令 3. 文件类型 4. alias命令 5 ...
- Linux基础面试篇
Linux 概述 什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的操作系统. 它能运行主要的Unix工具 ...
- Linux基础第一篇
1 初识Linux 1.1 操作系统 操作系统(Operation System, OS),是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石.操作系统需要处理如管理与配置内存.决 ...
- linux 基础上机练习,Linux上机练习题shell程序设计基础.docx
上机实习题: 1. 用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev目录下.a #!/bin/bash directory=/dev for file in /bin/a2p ...
- 从零开始缓慢深入Linux - 基础指令篇(3)
Linux下常用性能监控指令 概述 运维的职责之一就是排查故障,而排查故障意味着我们必须要有能够及时定位问题的能力.如果对操作系统的本身的性能状态后知后觉,那又从何谈起故障排除呢?学会使用合适的工具来 ...
- 河南省周口市安吉软件测试培训中心第一次软件测试课程-Linux基础命令篇
服务器版本Linux: Redhat Centos Linux命令: cd命令 命令功能:切换当前目录至dirName 命令格式:cd [目录名] 注:目录名称与cd指令之间存在一个空格 cd ..表 ...
- img解包工具_3、Linux基础命令篇、压缩打包工具
在管理系统中,我们遇到经常会使用后缀为*.tar.gz |*.tar.bz2 等文件,他们是什么文件呢?请看下面介绍及使用方法 压缩的原理,比如一个字符串"www.baidu.com&quo ...
- Linux基础入门之内外命令讲解篇
Linux基础入门篇--之内外命令讲解 1.基础命令 命令 使用方法 cat /etc/motd 设置用户成功登录系统后显示的提示信息.比如欢迎语! cat /etc/issue 设置用户成功登录系统 ...
最新文章
- Apache下实现禁止目录浏览
- Moving Towards Third‐Generation Sequencing Technologies 迈向第三代测序技术
- 76. Leetcode 295. 数据流的中位数 (堆-技巧一-固定堆)
- iOS系统 应用闪退或图标消失的解决办法
- 魔法照片pascal程序
- 代替vscode的工具_Vscode官方版
- 《那些年啊,那些事——一个程序员的奋斗史》——61
- spring整合使用activemq
- C++指针和数组和动态分配内存
- k8s部署nacos
- 压缩感知重构算法——SP算法
- JAVA编写俄罗斯方块
- 【HMS core】【push kit】【FAQ】华为推送服务 手机未收到推送消息/消息延迟/息屏通知 问题合集
- 【20210823】学习本不应该痛苦人生其实是一种享受
- 单反相机镜头焦距与被摄物体的实际距
- 技术集锦 | 大数据云原生技术实战及最佳实践系列
- 3年Python编程自学经历,分享一些心得经验
- JS实现双向绑定的几种方式
- 《大学章句集注》-读书笔记之二
- 分包和自定义tabBar