BASH и неговите специални символи
В тази статийка ще разгледам, кои са специалните символи и за какво се ползват когато пишем команди/скриптове под BASH. За ваше и мое улеснение ще ги представя в табличен вид.
Символ | Обяснение/разяснение |
\ |
Escape character. Използва се, когато искаме да използваме друг специален символ в командният ред. Пример за такъв специален символ е интервалът. Ето пример: touch /tmp/file\ name.txt |
/ | Сепаратор/разделител на директориите Пример: /home/vasil |
. | Използва се за "текуща директория". Също така ако определен файл започва с този символ то той е "скрит" |
.. | Предишна (дорна директория) Пример: cd.. |
~ | Домашната директория на текущият потребител. Пример: cd ~ |
? | Представлява единичен символ в име на файл, което не знаем. Пример: hello?.txt може да значи hello1.txt, helloz.txt, но не и hello33.txt |
* |
Представлява 0 или повече от един символ в име на файл или всички файлове в дадена директория. Пример: pic*2002 може да представлява файловете pic2002, picJanuary2002, и т.н. |
[ ] |
Използва се за указване на диапазон от стойности. Моце да са цифри и/или букви . Пример: hello[0-2].txt представлява hello0.txt, hello1.txt, и hello2.txt |
| |
"Тръба" Изполава се за прехвърлянето на изхода от една команда към друга. Пример: ls -l | more |
> |
Прехвърля резултатът от команда към нов файл. Ако файлът вече съшествува се презаписва целият Пример: ls > myfile.txt |
>> |
Прехвърля резултатът от команда към нов файл. Ако файлът вече съшествува то към неговият край се добавя резултатът Пример: echo 'test 1234' >> myfile.txt |
< |
Прехвърля съдържанието на файл към команда. Пример: more < phonenumbers.txt |
; |
Разделител на команди. Позволявани ни да изпълняваме няколко команди на 1 ред Пример: cd /var/log ; ls -l |
&& | Като горната е разделител на команди, но с разликата, че втората команда се изпълнява САМО ако първата е минала без грешки |
& | Като горната && е разделител на команди, но с разликата, че втората команда се изпълнява ВИНАГИ без збачение дали първата е минала без грешки |