Как да подобрите изживяването на своя Linux терминал.

В следващия блог ще изложа няколко съвета, които ще ви помогнат да подобрите изживяването на вашия Linux терминал. Сигурен съм, че много от читателите предпочитат GUI, но има известно забавление в използването на терминала за всички задачи, след като имате известно майсторство. Въпреки общите съвети, аз определям инструменти, които рядко се използват, или инструменти, които могат да подобрят вашия опит в разработката, като намалят времето и увеличат вашата производителност. Така че нека започнем.

Shellcheck

За някой, който пише много Bash скриптове, стартирането и отстраняването на грешки в Bash скриптове може да бъде проблем, въпреки наличието на грешка. Един от начините е да използвате

bash -n file.sh

Въпреки това, -n се проваля, когато кодът може да е синтактично правилен, но логически погрешен, което води до логически, стилистични грешки и т.н. Следователно можем да използваме линтер като Shellcheck.

За да го инсталирате просто използвайте:

sudo apt install shellcheck #Debian based
sudo pacman -S shellcheck # Arch based
sudo dnf install ShellCheck  # Fedora based

използването му е просто, просто стартирайте:

shellcheck file.sh
OR
shellcheck -s sh file.sh #shellcheck -s your_shell_name file.sh

В дадения пример можете да видите, че пропуснах затварящ цитат:

Той предоставя страхотни стилистични съвети, които човек трябва да използва, като например,

и препраща към него с Shellcheck ID, към който можем да се обърнем за повече информация. Ето уики страницата за SC2034

Той също така поддържа „Галерия с лош код“

Exa

Exa е модерен заместител на популярната команда ls. Това е освежаващ поглед върху ls. Той е лесен за използване, тъй като опциите му са като оригиналната команда, но въпреки това има различни опции, които позволяват по-добро изживяване при гледане, като премахване и преглед на часове, дати в определени формати, преглед на икони, файлове в git-ignore и много други функции . За да инсталирате просто:

apt install exa  # Debian based
sudo apt install exa  # Ubuntu
sudo dnf install exa  # Fedora based
brew install exa      # Mac
sudo pacman -S exa    # Arch based

Синтаксисът е същият като ls, просто използвайте командата exa вместо това. Няколко примера са показани по-долу:

Вижте списъка с всички файлове и директории в текущата папка и една дестинация по-горе и групирайте всички директории заедно.

exa -l --all -l --all --group-directories-first

Рекурсивно разглеждане на всички файлове в папка tmp само до една дълбочина (ниво).

exa --tree --level=1 tmp

дуф

Duf е друг прекрасен инструмент, който можете да използвате, за да видите обобщението на използването на диска, в цветен и табличен формат, той също може да се коригира според ширината и височината на вашия терминал и позволява групиране на изходи, изходи в JSON и други функции. Да инсталираш:

sudo apt install duf  #Ubuntu
brew install duf   # Mac
sudo pacman install duf # Arch based
choco instlal duf # Windows 

Няколко примера са показани по-долу:

Скрийте директориите на дадена файлова система и покажете изходната таблица с максимална ширина от 70 пиксела.

duf --hide-fs tmpfs --width 70

Сега скриването на директории на дадена файлова система показва изходната таблица с максимална ширина от 70 пиксела, НО във формат JSON.

duf --hide-fs tmpfs --width 60 --json

Сега скрийте директориите на дадена файлова система, покажете изходната таблица с максимална ширина от 70 пиксела, НО във формат JSON и конвертирайте във формат CSV

duf --json | jq '.[] | join(",")'

прилеп

Bat може да се счита за котешка команда, но на стероиди. Bat може да се използва в комбинация с много други инструменти като man, grep и др. За да инсталирате, стартирайте:

sudo apt install bat

Bat има някои допълнителни помощни програми, които можете да инсталирате, като следвате инструкциите в GitHub repo, като например:

батман

Преглед на страниците на ръководството със стил на прилеп.

красива баба

Красиво отпечатване на изходния код и подчертаване с bat.

fzf

Ако сте човек, който обикновено предпочита графичната файлова система за намиране на файлове, но ви е трудно да намирате файлове с помощта на find или работите много на сървъри и се вълнувате да обхождате абсолютни пътища на файлове, тогава fzf е твой приятел. Fzf е размита програма за намиране на файлове. Да инсталираш

sudo apt-get install fzf 
sudo pacman -S fzf
sudo zypper install fzf

Fzf е страхотен инструмент, когато имате голямо хранилище и сте блокирани да обхождате многократно, за да получите правилния път на файла или просто да намерите файл въз основа на неговото име или регулярен израз. Няколко примера са показани по-долу:

Намиране на Makefile в хранилище

В този пример търся файл без разширение .o или .cc в папката, съдържаща двоични файлове src/bin и започва с префикса fst.

Едно чудесно нещо за fzf е способността му да се използва като Vim Plugin. Допълнителни подробности за настройка като плъгин на Vim са споменати тук.

неофетч

Преди дори да го кажете, ще задействам вашето вътрешно дистрибуторско дете, като ви покажа този изход от neofetch. Neofetch е прост инструмент за команден ред, който показва ASCII логото на вашата дистрибуция заедно със системна информация. Забавно е да се използва, така че няма причина да не го включите. За да инсталирате просто neofetch, някои примери за това как да използвате neofetch са показани по-долу:

sudo apt install neofetch OR
sudo pacman -S neofetch

Взаимодействайте с neofetch, за да не показвате логото или просто да показвате логото.

Следните команди ви помагат да постигнете същото.

neofetch --off 

neofetch -L

Не забравяйте обаче да настроите опциите на neofetch, тъй като може да показва потенциално чувствителна информация, като IP или време на работа.

mktemp

Когато се занимавате със създаване на тръбопровод и извършване на всякакви видове обработка на файлове, тогава може във вашата логика да имате стъпки, които включват създаване на временни файлове. mktemp е една от онези помощни програми, които ви помагат да създавате временни файлове и директории. Подобен е на tempfile, който е отхвърлен. Обикновено е предварително инсталиран, но може да се инсталира с помощта на:

sudo apt-get update -y
sudo apt-get -y install mktemp

Създаване на временен файл на определено място със специфичен суфикс:

mktemp — tmpdir=./Docs -t transscript_XXX — suffix=.txt

Създаване на временна директория на конкретно място със суфикс:

Важно е да се отбележи, че временната директория по подразбиране е /tmp/, освен ако не е указано друго. Трябва да се отбележи, че имената на директорията и файловете mktemp използват концепцията за „шаблон“, т.е. XXX, посочено в края на даденото от нас име на файл, служи като буквено-цифров рандомизатор за разграничаване на файловете. В друг пример ще покажа прост файл, създаден без зададени от потребителя опции.

В горния резултат можем да видим концепцията на шаблона, който е tmp.XXXXXXXXXX и по подразбиране $TMPDIR.

Чувствайте се свободни да продължите с идеята си в Twitter @agrover112, за да поема херкулесовата задача да променя мнението си.

Присъединете се към моя списък с имейли за повече полезни прозрения относно технологиите и нетехнологиите!

Допълнителна литература и препратки

[1] koalaman/shellcheck: ShellCheck, инструмент за статичен анализ на шел скриптове (github.com)

[2] ogham/exa: модерен заместител на „ls“. (github.com)

[3] muesli/duf: Използване на диска/Безплатна помощна програма — по-добра алтернатива на df (github.com)

[4] junegunn/fzf: Размит търсач на командния ред (github.com)

[5] Как да инсталирате mktemp ubuntu пакет на Ubuntu 20.04/Ubuntu 18.04/Ubuntu 19.04/Ubuntu 16.04 (zoomadmin.com)