[2021铁人赛 Day06] General Skills 03

  • 引言
    昨天学到的:

    命令 简介
    命令 --help 查看命令使用说明

    今天的题目正好与 --help 有关~

  • General Skills / Wave a flag
    https://ithelp.ithome.com.tw/upload/images/20210919/20111429OFrhVeEh4w.png
    题目给了一个档案,而且一开始就提示你:「会不会调用执行档或工具的 help 标志」,
    其实就是我昨天提到的 --help 或是 -h ,总之我们先用 wget 下载下来看看:

    连结名 下载的档案
    This program warm

    执行看看:

    $ ./warm
    bash: ./warm: Permission denied
    

    咦?不能执行,它说权限不足?

    原来网路上载下来的执行档是不能直接执行的,必须手动替它加上执行权限才行:

    $ chmod +x ./warm
    

    这样会帮你把 warm 加上执行权限,你可以执行它了。
    这是一种保护机制,避免来路不明的执行档胡乱肆虐。

    chmod 是用来改变使用者对档案存取权限的命令,即 change mode 之意,可以藉由 +- 增或减对档案的权限,如这题的 +x 代表增加执行权限 (+ execute) ,这边只介绍它的一小部份功能, chmod 还有其他更多模式的切换功能,往後遇到再慢慢介绍,或是你可以看看维基百科的介绍:chmod

    这边顺便补充一下,在打命令时,档案前面加上 ./ 是什麽意思?
    其实应该分开来看, / 是用来切分目录的,
    aaa/bcd.txt 代表 aaa 目录下的 bcd.txt 档案,
    . 代表「目前目录」,所以 ./ 代表「目前目录下的...」,
    ./warm 代表「目前目录下的 warm 档案」。
    值得注意的是,若你想要执行目前目录的某执行档,必须写 ./warm
    不能只写 warm ,这样会被 shell 误会 warm 是一个命令。

    再补充一个, .. 代表前一个目录, ../ 代表「前一个目录下的...」。

    再...再补充一个,最後一个了 (真的) , cd - 代表「进入历史纪录的上个目录」,
    例如你前一次进入 /apple/pie/ 目录,现在在 banana/juice/ 目录,
    cd - 会进入 /apple/pie/ 目录里面,
    如果再 cd - 一次则还是回到 /banana/juice/ 中 (总之就是「上一页」功能)。

    OK, 我们直接执行 warm

    $ ./warm
    Hello user! Pass me a -h to learn what I can do!
    

    很明显必须用 -h 查询 warm 的说明:

    $ ./warm -h
    Oh, help? I actually don't do much, but I do have this flag here: picoCTF{b1scu1ts_4nd_gr4vy_616f7182}
    

    成功取得 flag 。


<<:  入门魔法 - 流程判断 if else if

>>:  Day 7 有关排程器的感叹

上场,就是要放手一博 - 认清自己的特质与优势

我们先看看以下这些知名的团队运动的状况: 在棒球的规则中,各国一军日常可以登录25-29名球员,约在...

Day 1:Native vs. Not-so-native

接下来的文章,我把范围限缩在「桌上型作业系统」,目前主流的作业系统有 Windows, macOS,...

免费小学堂 | 每日1小时 UiPath 大中华区线上讲堂

RPA人机合作|企业营运未来式|案例分享 日子过得飞快!2022 第一季即将告一段落 若你对於 RP...

【C++】Bubble Sort

气泡排序是一种简单的排序演算法,它有两个回圈走访,一个在前(i),一个在後(i+1)。 如果前後的顺...

[Day01] 前言

身为一个商业设计的转职者,从懵懂到认识 HTML 与 CSS 之後,接着来到进入 JavaScrip...