Модерни Linux команди за всеки разработчик
Table of Contents Introduction 🦀 Starship 🦀 ripgrep 🦀 bat 🦀 tokei 🦀 exa 🦀 fd 🦀 procs 🦀 How I found them Conclusion
Въведение
„Програмният език Rust“ е „най-обичаният език на Stack Overflow четири поредни години.“
Rust до голяма степен се разглежда като алтернатива на други езици за системно програмиране, като C или C++.
Ето защо много талантливи разработчици, включително Benjamin Sago и Andrew Gallant, създадоха отлични помощни програми за команден ред, задвижвани от Rust.
В тази статия ще намерите седемте най-добри помощни програми за команден ред, които можете да започнете да използвате днес.
звезден кораб
Starship е минималната, светкавично бърза и безкрайно персонализирана подкана за всяка черупка.
За да инсталирате с homebrew run:
brew install starship
За повече подробности как да инсталирате Starship, моля, прочетете за Starship в тази статия.
И добавете началния скрипт към конфигурационния файл на вашата обвивка:
# ~/.zshrc
eval "$(starship init zsh)"
Можете да намерите други инсталации от тук.
ripgrep
„Супер бърз“ инструмент за търсене, който рекурсивно търси директории за модел на регулярен израз. ripgrep
поддържа Windows, macOS и Linux и е модерен заместител на grep
.
Можете да инсталирате ripgrep
:
# macOS Homebrew/Linuxbrew
$ brew install ripgrep
# MacPorts
$ sudo port install ripgrep
# Windows Chocolatey
$ choco install ripgrep
# Windows Scoop
$ scoop install ripgrep
Можете да намерите други инсталации тук.
VS кодът на MS използва „търсене, задвижвано от ripgre“. Той също така игнорира скритите и двоичните файлове по подразбиране.
прилеп
bat
е cat
клонинг с подчертаване на синтаксиса и интеграция на Git. bat
е написан на Rust и работи на Windows/macOS/Linux.
# for macOS
brew install bat
bat
поддържа подчертаване на синтаксиса за голям брой езици за програмиране и маркиране:
bat
има git
интеграция и показва модификации по отношение на индекса (вижте лявата странична лента в горното изображение).
токей
tokei
е програма, която показва статистика за вашия код. Това е супер бърз заместител на cloc
.
tokei
показва броя на файловете, общия брой редове в тези файлове и кода, коментарите и празните места, групирани по език.
tokei
се предлага на Mac, Linux и Windows. Вижте инструкциите за инсталация.
exa
exa
е модерен заместител на програмата за команден ред ls
, която се доставя с операционни системи Unix и Linux.
За да инсталирате с homebrew run:
brew install exa
Можете да намерите други инсталации в тази връзка.
fd
fd
е проста, бърза и удобна алтернатива на find
. fd
работи на Windows/macOS/Linux.
За да инсталирате с homebrew run:
brew install fd
За други инсталации, моля, вижте тази връзка.
процеси
procs
е заместител на ps
, написан на Rust. Той създава дървовидния изглед и изходът му е четим от хора формат.
Можете да търсите по ключови думи в няколко колони. procs
работи на Windows (експериментално)/macOS/Linux.
Моля, намерете други инсталации за вашата система тук.
Можете да преминете през заглавията, като натиснете n
и да подредите във възходящ ред, като натиснете a
и да подредите в низходящ ред, като натиснете d
.
# for macOS
brew install procs
Как да поддържате актуални най-горещите помощни програми за командния ред на rust
„Уебсайтът“ не ви позволява да поръчате по # изтегляния, така че можете да стартирате този код, за да сте актуални.
Използвах BeautifulSoup, за да изтрия website и използвах Pandas, за да създам dataframe на Jupyter Notebook.
Въпреки че lib.rs има свой собствен алгоритъм за класиране, аз ги подредих по номера за изтегляне.
import requests
from bs4 import BeautifulSoup
import pandas as pd
URL = 'https://lib.rs/command-line-utilities'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
# find all package names
divs = soup.select('.h > h4')
names=[]
for div in divs:
names.append(div.text.strip())
# find all package downloads
metas = soup.select('.meta')
downloads=[]
for meta in metas:
if(mytitle:=meta.find(class_='downloads')):
parts = str(mytitle).split()[2].split('="')[1]
downloads.append(int(parts))
else:
# some libraries do not have downloads class
downloads.append(0)
# create a dataframe using pandas
data_tuples = list(zip(names,downloads))
df=pd.DataFrame(data_tuples, columns=['Name','Downloads'])
# sort by number of downloads
df = df.sort_values(by='Downloads', ascending=False)
df.head(20)
Резултат (към 5 май 2020 г.)
Някои пакети са за средата Rust, така че избрах пакети, които всеки може да използва за терминал.
Заключение
Има още помощни програми от командния ред, захранвани от Rust, които не са в този списък. Надявам се, че намирате тези помощни програми за полезни.
Кои са вашите любими? Или сте толкова вдъхновени, че искате да започнете да създавате свое собствено приложение за команден ред в Rust.
Бюлетин
Получете пълен достъп до всяка история в Medium, като станете член.