Модерни 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, като станете член.