首页 > 其他分享 >计算机教育中缺失的一课 课后习题1

计算机教育中缺失的一课 课后习题1

时间:2023-11-24 16:55:31浏览次数:38  
标签:tmp Username 计算机教育 missing -- chmod semester 课后 习题

20231124
链接:计算机教育中缺失的一课

1.本课程需要使用类Unix shell,例如 Bash 或 ZSH。如果您在 Linux 或者 MacOS 上面完成本课程的练习,则不需要做任何特殊的操作。如果您使用的是 Windows,则您不应该使用 cmd 或是 Powershell;您可以使用Windows Subsystem for Linux或者是 Linux 虚拟机。使用echo $SHELL命令可以查看您的 shell 是否满足要求。如果打印结果为/bin/bash/usr/bin/zsh则是可以的。

2. 在 /tmp 下新建一个名为 missing 的文件夹。

Username:~$ cd tmp
Username:~/tmp$ mkdir missing
Username:~/tmp$ ls
missing

3. 用 man 查看程序 touch 的使用手册。

Username:~/tmp$ man touch

4. 用 touch 在 missing 文件夹中新建一个叫 semester 的文件。

Username:~/tmp$ cd missing
Username:~/tmp/missing$ touch semester
Username:~/tmp/missing$ ls
semester

5. 将以下内容一行一行地写入 semester 文件:

 #!/bin/sh
 curl --head --silent https://missing.csail.mit.edu

第一行可能有点棘手, # 在Bash中表示注释,而 ! 即使被双引号(")包裹也具有特殊的含义。 单引号(')则不一样,此处利用这一点解决输入问题。更多信息请参考 Bash quoting 手册

Username:~/tmp/missing$ echo \#'!'/bin/sh > semester
Username:~/tmp/missing$ echo curl --head --silent https://missing.csail.mit.edu >> semester

6. 尝试执行这个文件。例如,将该脚本的路径(./semester)输入到您的shell中并回车。如果程序无法执行,请使用 ls 命令来获取信息并理解其不能执行的原因。

Username:~/tmp/missing$ ./semester
-bash: ./semester: Permission denied
Username:~/tmp/missing$ ls -l
total 4
-rw-rw-r-- 1 whm whm 61 11月 24 16:27 semester

如上,很明显没有权限x执行。

7. 查看 chmod 的手册(例如,使用 man chmod 命令)

Username:~/tmp/missing$ man chmod

8. 使用 chmod 命令改变权限,使 ./semester 能够成功执行,不要使用 sh semester 来执行该程序。您的 shell 是如何知晓这个文件需要使用 sh 来解析呢?更多信息请参考:shebang

Username:~/tmp/missing$ chmod 777 semester
Username:~/tmp/missing$ ./semester
HTTP/2 200
server: GitHub.com
content-type: text/html; charset=utf-8
......

9. 使用 | 和 > ,将 semester 文件输出的最后更改日期信息,写入主目录下的 last-modified.txt 的文件中

Username:~/tmp/missing$ ./semester | grep -i "last-modified" > /home/last-modified.txt

10. 写一段命令来从 /sys 中获取笔记本的电量信息,或者台式机 CPU 的温度。注意:macOS 并没有 sysfs,所以 Mac 用户可以跳过这一题。

Username:~/tmp/missing$ cat /sys/class/power_supply/BAT1/capacity

标签:tmp,Username,计算机教育,missing,--,chmod,semester,课后,习题
From: https://www.cnblogs.com/TTS-TTS/p/17854138.html

相关文章

  • 雅礼信奥 2023.11.22 习题课记录(讲解版)
    雅礼信奥\(2023.11.22\)习题课记录(讲解版)都是CF题,不如AT。剧情版后面会更。A-YarikandArray(CF1899C)dp题,作为学OI\(3\)年的萌新OIer,后面才想到dp真是太蒟蒻了,时间复杂度\(O(tn)\)。初始\(f_1=1\),其他为\(0\)。状态转移方程:\(\begin{cases}\text{if}&......
  • 《计算机科学导论》课后习题 第4章 数据运算
    如果您的答案与我不同,并有个人的理解,欢迎在评论区讨论。一、复习题Q4-1算术运算和逻辑运算有什么区别?A:算数运算时运用于整数和浮点数的加、减、乘、除运算。逻辑运算应用于位模式中的一个二进制位,或者在两个模式中相应的两个二进制位的相同基本运算。Q4-2在二进制补码格式......
  • 《计算机科学导论》课后习题 第3章 数据存储
    一、复习题Q3-1说出5种计算机可以处理的数据。A:数字,文本,音频,图像,视频。Q3-2位模式的长度如何与其能表示的符号数量相关?A:以b代表位模式的长度,a代表能表示符号的数量:a=2^b。Q3-3位图方法是如何以位模式来表示一个图像的?A:“位图方法”即“光栅图”,通过“扫描”将图像以一定......
  • C语言程序代码练习题
    1.#include<stdio.h>voidmain(){chargrade[10];printf("请输入您的成绩等级:");scanf("%s",grade);if(stricmp("A",grade))printf("成绩等级为A");elseif(stricmp("B",grade))printf("成绩等级为B");elseif(stric......
  • rust程序设计(5)结构体相关练习题| 附带解答
    题目基础结构体练习:创建一个名为Person的结构体,包含name(字符串类型)和age(整数类型)两个字段。写一个函数,接收一个Person实例作为参数,并打印出这个人的名字和年龄。结构体方法练习:为Person结构体添加一个方法birthday,当调用时,它将这个人的年龄增加1。创建一个Person实例......
  • 第六章 消息认证和哈希函数 —— 现代密码学(杨波)课后题答案解析
    第五章作业参考答案1.6.1.3节的数据认证算法是由CBC模式的DES定义的,其中初始向量取为0,试说明使用CFB模式也可获得相同的结果。解:设需认证的数据分为64比特长的分组,D1,D2,…,DN,其中DN不够64比特则右边补0,由题设,数据认证算法相当于在CBC模式中初始向量取为0,并按如下关系进行:   ......
  • 第七章 数字签名和认证协议 —— 现代密码学(杨波)课后题答案解析
    第六章作业参考答案1.在DSS数字签名标准中,取p=83=2×41+1,q=41,h=2,于是g≡22≡4mod83,若取x=57,则y≡gx≡457=77mod83。在对消息M=56签名时选择k=23,计算签名并进行验证。解:这里忽略对消息M求杂凑值的处理计算r=(gk modp)modq=(423 mod83)mod41=51mod41=10    k-1modq=......
  • 11.15【习题练习】
    内容:1:计算 n的阶乘2:1!+2!+.......+10!#include<stdio.h>intmain(){ inti=0; intn=0; intret=1; intsum=0; for(n=1;n<=3;n++) { ret=1;//没有ret=1这个条件就会使得ret具有累积效果,当n=3时,原先的ret=2被保留了下来,for进入 //计算就是ret=2*1(i......
  • 第五章 密钥分配与密钥管理 —— 现代密码学(杨波)课后题答案解析
    第五章作业参考答案1.在公钥体制中,每一用户U都有自己的公开钥PKU和秘密钥SKU。如果任意两个用户A,B按以下方式通信,A发给B消息(EPKB(m),A),B收到后,自动向A返回消息(EPKA(m),B),以使A知道B确实收到报文m,(1)问用户C怎样通过攻击手段获取报文m?答:当A发给B消息(EPKB(m),A)时,A的身份......
  • 《计算机科学导论》课后习题 第1章 绪论
    一、复习题Q1-1定义一个基于图灵模型的计算机A:输入数据-可编程的数据处理器-输出数据。Q1-2定义一个基于冯诺依曼模型的计算机A:由存储器、算数逻辑单元、控制单元、输入/输出设备四大部分组成。数据与程序以位模式存储于存储器。串行计算。Q1-3在基于图灵模型的计算机中,程......