自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五個(gè)有用的 Linux Shell 轉(zhuǎn)義序列

系統(tǒng) Linux
如何在你的 Bash 終端使用這些秘密代碼,請(qǐng)下載我們新的 Linux 元字符速查表。

我最近在讀一篇 Don watkins 關(guān)于 Shell 元字符的文章?。他的文章讓我想到了你可以用 shell 輸入做的所有的奇怪事情。雖然我可能還沒有發(fā)現(xiàn)極端的情況,但是我經(jīng)常發(fā)現(xiàn) shell 轉(zhuǎn)義序列,比如 ??\b???、??\t??? 和 ??\f?? 非常有用。

轉(zhuǎn)義序列是一種特殊類型的終端輸入。它們旨在讓你能夠輸入物理鍵盤上沒有的字符或觸發(fā)事件。下面是我最喜歡的 Bash shell 的轉(zhuǎn)義序列。

1、退格符

你可以在命令中輸入若干退格符,以便在命令執(zhí)行時(shí)觸發(fā)。例如這個(gè)命令,你可能會(huì)認(rèn)為它的輸出是??ab??,但是看一下真正的輸出:

$ echo a$'\b'b
b

從技術(shù)上來說,Shell 確實(shí)輸出了 ??ab??(你可以通過在命令后面附加 ??| wc -m?? 來確認(rèn)這一點(diǎn)),但是全部輸出的一部分是 ??\b?? 退格事件。退格鍵在輸出 ??b?? 字符之前刪除了 ??a?? 字符,因此輸出只有 ??b?? 字符。

2、換行符

換行符是一個(gè)讓你的 Shell 轉(zhuǎn)到下一行的第 0 列的信號(hào)。這一點(diǎn)很重要,當(dāng)使用像 ??printf?? 這樣的命令時(shí),它不會(huì)像 ??echo?? 那樣在輸出的末尾自動(dòng)添加換行符??纯床粠?nbsp;??\n?? 換行符的 ??printf?? 語(yǔ)句和帶換行符的 ??printf?? 語(yǔ)句之間的區(qū)別:

$ printf "%03d.txt" 1
001.txt$
$ printf "%03d.txt\n" 1
001.txt
$

3、換頁(yè)符

??\f?? 換頁(yè)信號(hào)就像換行符,但是卻并不是返回到第 0 列。下面是一個(gè)使用換頁(yè)符而不是換行符的 ??printf?? 命令:

$ printf "%s\f" hello
hello
$

你的 Shell 提示符出現(xiàn)在下一行,但不是在下一行的行首。

4、制表符

有兩種制表符轉(zhuǎn)義序列:水平制表符 ??\t?? 和垂直制表符 ??\v??。水平制表符如下所示:

$ echo a$'\t'b
a b

理論上,垂直制表符是相同的原理,但是在垂直空間中。然而,在大多數(shù)控制臺(tái)上,一行的垂直間距是不可變的,所以它通??雌饋砗芟褚粋€(gè)換頁(yè)符:

$ echo a$'\v'b
a
b

5、Unicode

Unicode 標(biāo)準(zhǔn)中有很多可用的字符,而你的鍵盤只有大約 100 個(gè)鍵。在 Linux 上有幾種方法可以輸入 ??特殊字符??,但是將它們輸入到終端的一種方法是使用 Unicode 轉(zhuǎn)義序列。這個(gè)轉(zhuǎn)義序列以 ??\u?? 開頭,后跟一個(gè)十六進(jìn)制值。你可以在文件 ??/usr/share/X11/locale/en_US.UTF-8/Compose?? 中找到許多 Unicode 值。你也可以在 ??https://www.Unicode.org/charts/?? 查看 Unicode 規(guī)范。

這對(duì)于輸入像圓周率 π(圓的周長(zhǎng)與直徑之比)等常見符號(hào)非常有用:

$ echo $'\u03C0'
π

還有許多其他的符號(hào)和字符:

$ echo $'\u270B'
?
$ echo $'\u2658'
?
$ echo $'\u2B67'
?

有盲文符號(hào)、音樂符號(hào)、字母、電氣符號(hào)、數(shù)學(xué)符號(hào)、表情符號(hào)、游戲符號(hào)等等。事實(shí)上,有如此多的可用符號(hào),有時(shí)你需要 ??\U??(注意大寫字母)Unicode 轉(zhuǎn)義序列來訪問高區(qū)的 Unicode。例如,這張紅心 5 的撲克牌只出現(xiàn)在 ??\U?? 轉(zhuǎn)義序列中:

$ echo $'\U1F0B5'
??

瀏覽一下 Unicode 規(guī)范,找到適合你的位置,并使用 ??\u?? 和 ??\U?? 來訪問你需要的所有特殊符號(hào)。

除此之外

Bash Shell 的手冊(cè)頁(yè)中列出了 18 個(gè)轉(zhuǎn)義序列,我發(fā)現(xiàn)其中一些更有用。我已經(jīng)在本文中介紹了我最愛的幾個(gè),Don Watkins 也談到了他在文章中最常用的元字符,但是還有更多待發(fā)現(xiàn)。有很多方法可以對(duì)字母和數(shù)字、子 Shell、數(shù)學(xué)方程等進(jìn)行編碼。為了更好地了解 Shell 可用的元字符,可以下載我們的 ??元字符速查表??,你可以在使用計(jì)算機(jī)上最強(qiáng)大的應(yīng)用程序 —— Linux 終端時(shí)將它放在手邊。

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

2014-07-25 17:21:43

Linux Shell面試

2020-06-16 09:02:36

Linux Shell腳本

2014-05-28 09:26:57

Linux Shellshell腳本

2023-06-06 19:01:38

縮寫ShellLinux

2022-05-09 07:08:14

LinuxBashShell

2023-03-01 15:18:01

JavaScripttypeof運(yùn)算符

2023-01-04 10:17:19

LinuxBashshell

2021-08-05 13:49:39

Python工具開發(fā)

2017-08-28 14:10:34

LinuxShell命令

2020-05-20 13:45:52

Linuxtouch命令

2012-08-02 13:03:24

Mac OS X操作系統(tǒng)

2012-03-28 09:42:33

LinuxWebmail

2023-06-22 19:49:23

2024-01-11 12:17:28

Linux系統(tǒng)命令

2010-03-05 12:50:38

Linux shell

2018-05-02 13:40:51

Linux命令touch

2018-08-03 10:02:05

Linux命令

2020-04-21 09:16:47

開源Linux Shell

2022-07-15 16:14:39

深度學(xué)習(xí)時(shí)間序列理論

2020-04-22 15:45:59

Linux shellLinux命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)