8 програми за командния ред на Линукс

1. Uniutils
Uniutils предоставя полезни команди за работа със знаци от Unicode. С този инструмент може да се провери числовата стойност на всеки знак, както е в Unicode таблицата, заедно с неговото име и кодировка или пък да проверим за честотата на знаците в даден текст. Пакетът може да се инсталира със следната команда на Ubuntu базирани дистрибуции:
apt install uniutils
Една от командите, които Uniutils предоставя е uniname. Ето как може да я използваме, за да проверим информацията за следния текст:
echo "Текст." | uniname
:'
Резултат:
No LINES variable in environment so unable to determine lines per page.
Using default of 24.
character byte UTF-32 encoded as glyph name
0 0 000422 D0 A2 Т CYRILLIC CAPITAL LETTER TE
1 2 000435 D0 B5 е CYRILLIC SMALL LETTER IE
2 4 00043A D0 BA к CYRILLIC SMALL LETTER KA
3 6 000441 D1 81 с CYRILLIC SMALL LETTER ES
4 8 000442 D1 82 т CYRILLIC SMALL LETTER TE
5 10 00002E 2E . FULL STOP
6 11 00000A 0A LINE FEED (LF)
'
С друга команда, unihist, може да видим хистограма (честотата) на въведените символи във втората колона:
echo 'Това изречение съдържа буквата "а" 7 пъти и буквата "и" 6 пъти' | unihist
:'
Резултат:
1,587 1 0x00000A
17,460 11 0x000020
6,349 4 0x000027 "
1,587 1 0x000036 6
1,587 1 0x000037 7
1,587 1 0x000422 Т
11,111 7 0x000430 а
3,175 2 0x000431 б
4,762 3 0x000432 в
1,587 1 0x000434 д
4,762 3 0x000435 е
1,587 1 0x000436 ж
1,587 1 0x000437 з
9,524 6 0x000438 и
3,175 2 0x00043A к
1,587 1 0x00043D н
1,587 1 0x00043E о
3,175 2 0x00043F п
3,175 2 0x000440 р
1,587 1 0x000441 с
6,349 4 0x000442 т
3,175 2 0x000443 у
1,587 1 0x000447 ч
6,349 4 0x00044A ъ
'
2. Аsciinema
Asciinema позволява да се записват и възпроизвеждат терминалните сесии. Но не по традиционния начин за записване екрана – записите се запазват като cast файл, който съдържа информация за въведените команди, за да може да се възпроизведат по-късно. Това прави файловете много по-малки от обикновено видео. На дистрибуции на Ubuntu може да се инсталира с:
apt install asciinema
Записи може да са направят с командата:
asciinema rec filename.cast
И после да се възпроизвеждат така:
asciinema play path/to/recording.cast
3. Cava
Cava е по-графична от другите инструменти споменати тук, защото се използва за визуализиране на звук. Инсталира се с:
sudo apt install cava
И е лесна за използване – стартира се с:
cava
След изпълнение би трябвало да виждате бели стълбчета, отговарящи на силата на звука. Отворете аудио запис за да пробвате. Може да персонализирате цвета, броя и ширината на стълбчетата в config файла на cava, който обикновено се намира в ~/.config/cava/config
4. img2wav
Със img2wav може изображение да се превърне в звук – това става като се възпроизвеждат определени честоти, така че спектрограмата на аудиото да заприлича на изображението. Ефектът може да се види в Audacity, като се избере изглед на спектрограма. За инсталиране:
apt install img2wav
После, за да генерирате wav файл:
img2wav your-image.png
По този начин могат да се скриват съобщения в спектрограмата на аудио файлове.

5. ExifTool
ExifTool е апликация за редактиране на метаданни на различни типове файлове. Може да се инсталира с:
apt install libimage-exiftool-perl
Ето примери как може да се ползва ExifTool:
# Добавяне на съобщение "Здравей!" в метаданните на PDF документ
exiftool -Greeting="Здравей!" document.pdf
# Изписване на метаданните на mp3 файл
exiftool --list audio.mp3
# Примерен изход за изображение, редактирано с GIMP:
:'
ExifTool Version Number : 12.40
File Name : .face
Directory : .
File Size : 20 KiB
File Modification Date/Time : 2023:05:14 10:06:35+03:00
File Access Date/Time : 2024:09:29 19:52:35+03:00
File Inode Change Date/Time : 2023:05:14 10:06:35+03:00
File Permissions : -rw-r--r--
File Type : PNG
File Type Extension : png
MIME Type : image/png
Image Width : 96
Image Height : 96
Bit Depth : 8
Color Type : RGB
Compression : Deflate/Inflate
Filter : Adaptive
Interlace : Noninterlaced
Profile Name : ICC Profile
Profile CMM Type : Little CMS
Profile Version : 4.3.0
Profile Class : Display Device Profile
Color Space Data : RGB
Profile Connection Space : XYZ
Profile Date Time : 2023:05:14 07:05:56
Profile File Signature : acsp
Primary Platform : Apple Computer Inc.
CMM Flags : Not Embedded, Independent
Device Manufacturer :
Device Model :
Device Attributes : Reflective, Glossy, Positive, Color
Rendering Intent : Perceptual
Connection Space Illuminant : 0.9642 1 0.82491
Profile Creator : Little CMS
Profile ID : 0
Profile Description : GIMP built-in sRGB
Profile Copyright : Public Domain
Media White Point : 0.9642 1 0.82491
Chromatic Adaptation : 1.04788 0.02292 -0.05022 0.02959 0.99048 -0.01707 -0.00925 0.01508 0.75168
Red Matrix Column : 0.43604 0.22249 0.01392
Blue Matrix Column : 0.14305 0.06061 0.71393
Green Matrix Column : 0.38512 0.7169 0.09706
Red Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Green Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Blue Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Chromaticity Channels : 3
Chromaticity Colorant : Unknown (0)
Chromaticity Channel 1 : 0.64 0.33002
Chromaticity Channel 2 : 0.3 0.60001
Chromaticity Channel 3 : 0.15001 0.06
Device Mfg Desc : GIMP
Device Model Desc : sRGB
Exif Byte Order : Little-endian (Intel, II)
Image Description : Created with GIMP
Orientation : Horizontal (normal)
X Resolution : 300
Y Resolution : 300
Resolution Unit : inches
Software : GIMP 2.10.30
Modify Date : 2023:05:14 10:06:19
User Comment : Created with GIMP
Color Space : sRGB
Subfile Type : Reduced-resolution image
Bits Per Sample : 8 8 8
Photometric Interpretation : YCbCr
Samples Per Pixel : 3
Thumbnail Offset : 354
Thumbnail Length : 7019
Image Size : 96x96
Megapixels : 0.009
Thumbnail Image : (Binary data 7019 bytes, use -b option to extract)
'
6. Tmux
Tmux позволява да разделим терминалния прозорец и да работим на няколко сесии едновременно. За инсталация на пакета:
apt install tmux
После, за стартиране на tmux:
tmux
Всички клавишни комбинации за tmux започват с Ctrl+B, за да се избегне припокриване с други комбинации. За да разделите прозореца хоризонтално, използвайте " (Shift+'), и вертикално със % (Shift+5). За да навигирате между прозорците, използвайте стрелките (не забравяйте Ctrl+B преди това).
7. qrencode
С qrencode може да генерираме QR кодове от терминала. Може да се инсталира така:
apt install qrencode
И е много лесен е за употреба:
# Генериране на QR код "пробен текст"
qrencode "пробен текст" -o qr_code.svg

8. fzf
fzf (fuzzy finder) е много полезен при търсене на файлове. Бръз е, и работи дори да пропуснете някой знак при търсене.
apt install fzf
Стартиране:
fzf
Бонус програми
Не всички програми трябва да са полезни. Понякога просто искаме да се забавляваме. Има и команди, предназначени точно за това. Ето някои от тях:
9. cowsay
cowsay изобразява говореща крава. Може да напишете какво да казва.
# Инсталация
apt install cowsay
# Употреба
cowsay "Здравей!"
:'
Резултат:
__________
< Здравей! >
----------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
'
Но не е задължително да е крава – може да изберете измежду наличните модели, за да видите кои са те използвайте:
cowsay -l
Ето един от тях:
cowsay -f fox "Лисица!"
:'
_________
< Лисица! >
---------
\ ,-. .-,
\ |-.\ __ /.-|
\ \ ` ` /
/_ _ \
< _`q p _ >
<.._=/ \=_. >
{`\()/`}`\
{ } \
|{ } \
\ -- .- \
|- / \
| | | | | ;
| | |.;.,..__ |
.- ;` `|
/ | /
`-../____,..--- `
'
10. oneko
Командата oneko призовава коте, което гони мишката (курсора). За да прекратите програмата, натиснете Ctrl+C
# Инсталация
apt install oneko
oneko
# Показва куче вместо коте
oneko -dog
11. lolcat
lolcat оцветява текста в цветовете на дъгата.
# Инсталация
apt install lolcat
# Употреба
echo "Цветен текст" | lolcat
12. cmatrix
cmatrix създава известния ефект от Матрицата, с текст, падащ надолу.
# Инсталация
apt install cmatrix
# Употреба
cmatrix
13. cbonsai
cbonsai е генератор на бонсай дръвчета. Позволява да се виждат отделните етапи на растеж.
# Инсталация
apt install cbonsai
# Употреба
cbonsai
# Покажи растеж (0,002 секунди между всяка стъпка)
cbonsai -lt 0,002
# Продължавай да генерираш дървета на всеки 2 секунди
cbonsai -iw 2
:'
Резултат
&
&& &
&&&&&&&
& &&|&&&&
&&&&&\&&&&&&
&&&&&~\\&&&\
& &&& &/& /|\ &
&&&&&&|\&&|&&&
&&\&/|&&\&/~\_
&&&&|/|/|&/|\
&&&||/ \|\|
& /~& /|\|\&&
\| |//&\ /
/~/_&/&&_&&_/&&&
/|\//&&/ &&&&&&&&
/|\|//& && &&&
/~|~/_/ & && && &&
\/~/ / &/&&&_&&&
\/~| // &_&&&
/~| _/
/~|
/~~
:___________./~~~\.___________:
\ /
\_________________________/
(_) (_)
'