iT邦幫忙

2022 iThome 鐵人賽

DAY 15
1

在昨天的文章,我們知道了檔案的移動、複製、以及刪除的方式。

不過一個一個檔案進行調整,實在太麻煩了,有沒有更簡單的方法可以處理這些動作呢?

有的!這邊就要提到在指令中很常見的各種擴展指令了!

要學擴展指令之前,我們要先學會一個看穿各種指令的神秘指令:echo

NAME
       echo - display a line of text

咦?印出一段文字並不稀奇呀,為什麼這邊會說這是看穿指令的神秘指令呢?

我們先來試看看 echo 一段文字

echo hello world!
hello world!

並沒有什麼秘密,那我們再試看看

echo ~
/home/ec2-user

咦?怎麼回事?竟然把 ~ 自動轉換成了 /home/ec2-user

這是因為,echo 所有出的「文字」,其實是指令所看到的內容!

我們試著印出其他的內容看看:

echo ~/test
/home/ec2-user/test

我們可以看到,原來要指定對 /home/ec2-user/test的操作,也可用 ~/test 這樣的方式來指定!

所以

ls -al ~/test

就可以列出 /home/ec2-user/test 底下的所有資料了!

我們再嘗試其他幾個指令,echo * 列出了所有非隱藏的內容

echo *
aaa1.txt test test1

echo .* 則「幾乎」可以列出所有的隱藏檔,不過包含了 ...

echo .*
. .. .bash_history .bash_logout .bash_profile .bashrc .config .ssh .vim .viminfo

要不包含 ... 要用 echo .[!.]*

echo .[!.]*
.bash_history .bash_logout .bash_profile .bashrc .config .ssh .vim .viminfo

如果希望可以加上算數,可以用 $(())

echo $((3+3))
6
echo $((3**3))
27

如果希望一次列出某個範圍內的所有值,可以用 {}

echo {001..15}
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

知道這些指令之後,我們該怎麼使用呢?

比方說,如果我們想要一次建立 2022-012022-02⋯⋯2022-12等資料夾,來儲存我們每個月的資料的話

我們可以直接寫

mkdir 2022-{01..12}

是不是比起用視窗界面要快得多?

今天有關指令的部分,我們就分享到這邊,各位明天見!


上一篇
Day 14:對檔案的進一步操作:cp、mkdir、mv、rm
下一篇
Day 16:塑造我們自己的魔法捷徑:type、alias、unalias
系列文
林姓商人與指令操作的秘密—談 Linux command line interface30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言