首页 > 系统相关 >shell编程

shell编程

时间:2024-02-01 15:47:04浏览次数:43  
标签:文件 shell last missing 编程 modified semester touch

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

mkdir /tmp/missing

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

man touch

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

touch用于修改文件的时间属性,如果没有目标文件,则会新建一个目标文件

touch /tmp/missing/semester

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

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

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

cd /tmp/missing

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

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

./semester
ls -l

ls -l后会发现

r-read(读),w-write(写),x-execute(执行)
可以发现是semester少了执行权限

6. 使用 chmod 命令改变权限,使 ./semester 能够成功执行

chmod 777 semester

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

./semester | grep last-modified > ~/last-modified.txt

grep:正则表达式,会把匹配的行找出来。

这个命令的意思是,在semester的输出中找到匹配last-modified的行,将这些行写入~/last-modified.txt

8. 写一段命令来从 /sys 中获取笔记本的电量信息,或者台式机 CPU 的温度

cat /sys/class/power_supply/BAT1/capacity

标签:文件,shell,last,missing,编程,modified,semester,touch
From: https://www.cnblogs.com/algoshimo/p/18001396

相关文章

  • linux 之 shell脚本实现SFTP下载、上传文件、执行sftp命令
    需求需求方通过sftp不定时的上传一批用户(SBXDS_ACC_M_任务ID_yyyymmddHHMMSS.csv),需要我们从这些用户中找出满足条件的用户。然后把这些结果用户通过文件的形式上传到ftp。环境说明ip1能连接hive库环境,不能连接sftp。ip2不能连接hive库环境,能连接sftp。ip1和ip2是共享盘,能同时......
  • 普通人自学编程的五个步骤
    普通人自学编程的五个步骤———武佩奇​普通人自学编程,想学成找到一份工作,甚至进大厂,非常有效且必备的五个步骤,相信很多人在自学编程的时候就是上来直接在网上找一套视频或者买一本书直接开干,这种简单粗暴的方法其实是不对的1.定制学习路线第一步要定制自己的学习路线,因为即......
  • 韩顺平Java自学编程误区,评论区的总结
    韩顺平Java自学编程误区,评论区的总结———韩顺平听了两遍,觉得很有收获。总结韩老师的视频内容。总结了10条。需要的大家可以参考。总结(我只总结10个)韩老师自学编程的13个误区:1.不注重基础(例如:oop,网络、操作系统、基本数据结构、算法、常用的设计模式、多线程、高并发基础知识......
  • 自学编程的输入输出纠正法
    自学编程的输入输出纠正法———engo给大家分享一套学习方法,没有那么多花里胡哨的东西,简单来说就两个阶段输入和输出,输入阶段要做的就是拼命的吸收知识构建完整的知识体系怎么做呢?这里要分三步走输入利用免费视频快速入门:第一步就是先看视频B站之类的免费视频就完全够用了,至......
  • 自学编程大都以失败收场,该怎样做才对
    自学编程大都以失败收场,该怎样做才对———engo学习编程的核心就是把计算机当成一个人,我们要做的就是让这个人去帮我们做事情,具体怎么做呢,语言我们把做事的顺序给写下来,那这套做事的步骤就是程序,那用什么语言写呢,这得看这个人是那国人,中国人就用汉语写,日本人就用日语写,这......
  • linux中9个常用的shell脚本
    注意事项1)开头加解释器:#!/bin/bash2)语法缩进,使用四个空格;多加注释说明。3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。4)默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。5)有两个命令能帮助我调试脚本:set-e遇到执行非0时退出脚本,set......
  • jmeter 使用 BeanShell PostProcessor 过程中遇到的一些问题记录
    关于jmeter中使用BeanShellPostProcessor遇到的一些问题记录:1、BeanShellPostProcessor的位置BeanShellPostProcessor要放在获取内容对应的线程的同一个层级,如:2、内容:例如:FileWriterfstream=newFileWriter("E:\aaskNodeId.csv");//,如果要建立文件并追加写入数据,需......
  • tcp 远程服务器,C#编程学习之使用TcpClient / BeginConnect测试远程服务器tcp端口连接
    原文链接:hhttps://blog.csdn.net/weixin_36286567/article/details/119265325有时候经常需要对一些服务器的端口进行tcp连接测试,通常使用“telnetIP地址端口号”的方式即可,不能说这种方式不可取,只是使用起来比较麻烦,本着简单好用的目的,不如我们自己动手写一个测试tcp端口连接的......
  • WebAssembly核心编程[2]:类型系统
    对于绝大多数编程语言来说,类型都是编程的基础,WebAssembly自然也不例外。总的来说,WebAssembly涉及的类型不多,很好掌握,接下来我们就来介绍一下WebAssembly编程涉及到的几种类型。本篇内容参考WebAssemblySpec。一、ValueType二、Function三、Memory四、Table五、Global六、......
  • Flink之状态编程 值状态(ValueState)列表状态(ListState)映射状态(MapState)归约状态(Reducin
    Flink之状态编程值状态(ValueState)列表状态(ListState)映射状态(MapState)归约状态(ReducingState)聚合状态(AggregatingState)广播状态(BroadcastState)Flink之状态编程一、按键分区状态(KeyedState)1.1、值状态(ValueState)1.1.1、定义1.1.2、使用案例1.2、列表状态(ListState)1.2.1......