Linux tools and utilities

Консольные утилиты Linux, которые смогут облегчить вам жизнь

Немного о утилитах на консоли, которые знают немногие, однако они могут быть полезны как для начинающего джуна, так и для крепкого сеньора.

Почему стоит написать об этом

Написать о утилитах (прежде всего консольных) стоит из-за того, что я вижу, как многие люди не используют мощность консоли на все 100%. Многие ограничиваются простым созданием файлов, а также переходом между директориями, работая в консоли. Я считаю что это следствие того, что в рунете мало источников, где бы могли нормально рассказать о утилитах, как на них работать, и что они делают.
Оценивать утилиты мы будем по 5-бальной шкале. Сделано это для того, чтобы вы сразу могли понять, где на мой субъективный взгляд, одна утилита на голову выше другой. Я не призываю использовать что-то определенное, или использовать только командные утилиты. Нет, наоборот, я просто даю вам выбор. Пользоваться или нет полученными знаниями, на которые я потратил кучу времени — дело ваше.

Я сразу хочу сказать, что в этом посте присутствуют утилиты, которые понадобились непосредственно мне при разработке. Если у вас есть свои предложения как дополнить этот список, милости прошу в комментарии.

Перейдем к списку

Передвижение по директориям

ViFM — vim-подобный файловый менеджер, который способен быстро переходить между директориями и выполнять какие-либо операции с файлами и директориями посредством ввода команд или хоткеев. По умолчанию представляет из себя две панели (чёрную и белую) между которыми вы можете переключаться.

Оценка: 3, ибо для того чтобы пользоваться этим ФМ, вам нужно будет выучить кучу vim-подобных команд, а также знать хоткеи vim’а

mc (Midnight Commander) — классика в Linux’e. С помощью него вы сможете также быстро перемещаться между директориями, менять права доступа, открывать файлы с помощью встроенного редактора, а также многое другое. В программу встроен довольно понятный интерфейс, где внизу находятся хоткеи, а вверху две панели (между которыми вы переключаетесь с помощью клавиши Tab).

Оценка: 5. Это то, что нужно новичку, и подходит продвинутому пользователю. Вам не нужны никакие предварительные знания, чтобы полноценно использовать этот ФМ.

Ranger

Ranger — ещё один ФМ с вим-подобной раскладкой. Однако, на этот раз утилита написана на Python, что делает её медленнее, но в то же время чертовски гибкой и удобной. Вы можете открывать файлы сразу из менеджера с помощью rifle (сценарий, который ищет какая программа подойдет для открытия данного файла на вашем ПК). Также доступно редактирование, просмотр быстрых клавиш (отдельно от мануала, который вызывается командой :help), и много других плюшек.

Оценка: 4. Было бы 5, если бы не скорость работы

Быстрый поиск

Быстрый поиск не доступен на оболочке Gnome, например. (Здесь говорится о быстром поиске включая содержимое файлов. Gnome же обладает просто поиском, причем ещё и очень медленным)

fzf (FuzzyFinder) — утилита для быстрого поиска среди директорий, а также текста в определенном массиве файлов. Она может быть легко заменена на find, однако является его более быстрым и удобным аналогом.

Оценка: 5. Утилита отлично выполняет свою работу.

hf (happyfinder) — ещё одна утилита для быстрого поиска в директориях и файлах. Отличается тем, что доступны также некоторые хоткеи и использование команд в самой утилите реализовано чуточку удобнее, чем у конкурента

autojump

autojump — утилита для быстрого перепрыгивания через папки к определенному файлу.

Редактирование

Тут я ограничюсь только списком утилит. Ибо редактор — то, чем вы пользуетесь постоянно (а если не пользуетесь, то тем более вам не нужны лишние объяснения), поэтому тут на вкус и цвет

  • Vim
  • NeoVim
  • Nano (стандартный редактор Linux)
  • Vi (ещё один стандартный редактор Linux)
  • Emacs
  • Micro
  • Kakoune
  • Doom Emacs (просто конфигурация Emacs, однако изменяет его так, что это уже совсем не похоже на ванильный Emacs)

Сами терминалы

Alacritty (самый быстрый)


Alacritty — эмулятор терминала на Linux/Windows/MacOS, который считается самым быстрым (так пишет сам автор этого терминала)

Оценка: 4. На мой субъективный взгляд — не самый удобный и комфортный терминал.

Hyper (самый красивый)

Hyper — терминал, который заслуживает того, чтобы вы попробовали использовать его на своей системе. Его интерфейс сделан с помощью CSS/HTML, а базируется он на фреймворке Electron (что конечно же будет делать его немножко прожорливее)

Оценка: 5. Терминал удобный и красивый. Он расширяемый и в нём есть куча фич.

Быстрая справка (или поиск чего-либо)

ddgr — командная утилита, которая позволяет пользоваться DuckDuckGo прямо из консоли.

Оценка: 5. Программа быстро выполняет запрос и отдаёт результаты (естественно, ибо не нужно прогружать HTML/CSS. Всё быстренько парсится)

tldr — замена стандартного man, который умеет всё тоже самое, однако вместо того, чтобы давать полный мануал к программе, она даёт краткие вырезки для быстрого использования

Оценка: 4. Иногда tldr выдаёт уж слишком короткую справку, а также на многие программы просто нет документации в tldr

howdoi

howdoi — парсит ответы с разных сайтов на вопросы о программировании.

Оценка: 3. Часто находит ответы на совсем не те вопросы. Также крайне неудобно, что ответ выводится только один

navi — консольная утилита, подобная howdoi, однако отвечающая сугубо на вопросы о командах консоли

how2 — утилита подобная howdoi, однако дающая выбор на какой вопрос посмотреть ответ. (Парсит всё с StackOverflow)

Оценка: 5. Лучшая утилита для быстрого поиска решений

Веб-разработка

Surge — утилита для быстрого пуша сайтов на бесплатный (или платный, в зависимости от ваших требований) сервер

Caniuse — консольная утилита, которая говорит какие теги поддерживаются в браузерах

Дополнительные утилиты

trash-cli

trash-cli — утилита для просмотра того, что содержится в корзине

buku — утилита для быстрой сортировки и хранения закладок сайтов со всех браузеров.

tmux — терминальный мультиплексор. Делит окно вашего терминала на панели. Очень удобно, когда в вашем распоряжении нет GUI вообще.

text-meme-cli

text-meme-cli — утилита для создания анимации текста на каком-либо фоне.

asciinema

asciinema — утилита для записи хронологии команд терминала в гиф-файл.

Youtube-dl

youtube-dl — утилита для скачивания видео/аудио с видеохостинга Youtube.

picofeed

picofeed — легкий RSS клиент для консолей

terminalnews

terminalnews — ещё один удобный RSS-клиент для консоли.

А что за список?

Это список утилит, которые я использую сам лично. Дополнительный список вы можете найти здесь ссылка на репозиторий GitHub
Я настоятельно попрошу вас дополнить список своими утилитами в комментариях. Если этот пост принёс в ваш терминал хоть чуточку чего-нибудь нового — был рад посодействовать.

Источник

List of applications/Utilities

Contents

Utilities

Terminal

Command shells

Terminal emulators

Terminal emulators show a GUI Window that contains a terminal. Most emulate Xterm, which in turn emulates VT102, which emulates typewriter. For further background information, see Wikipedia:Terminal emulator.

sgtatham/putty/ || putty

  • QTerminal — Lightweight Qt-based terminal emulator.

https://github.com/qterminal/qterminal || qterminal

  • rxvt — Popular replacement for xterm.

http://rxvt.sourceforge.net/ || rxvtAUR

  • shellinabox — A web-based SSH Terminal

https://github.com/shellinabox/shellinabox || shellinabox-gitAUR

  • st — Simple terminal implementation for X.

https://st.suckless.org || stAUR

  • Station — Terminal emulation features different view modes such as split vertically and horizontally, a tabbed interface, and copy and paste commands.

https://mauikit.org/ || maui-station

  • Terminology — Terminal emulator by the Enlightenment project team with innovative features: file thumbnails and media play like a media player.

https://www.enlightenment.org/about-terminology || terminology

  • urxvt — Highly extendable (with Perl) unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, a Quake style drop-down mode and pseudo-transparency.

http://software.schmorp.de/pkg/rxvt-unicode.html || rxvt-unicode

  • wayst — Simple terminal emulator for Wayland and X11 with OpenGL rendering and minimal dependencies.

https://github.com/91861/wayst || wayst-gitAUR

  • xterm — Simple terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that cannot use the window system directly.

https://invisible-island.net/xterm/ || xterm

  • Yakuake — Drop-down terminal (Quake style) emulator based on Konsole.

https://apps.kde.org/yakuake/ || yakuake

  • zutty — A high-end terminal for low-end systems.

https://tomscii.sig7.se/zutty/ || zutty

VTE-based

VTE (Virtual Terminal Emulator) is a widget developed during early GNOME days for use in the GNOME Terminal. It has since given birth to many terminals with similar capabilities.

  • Deepin Terminal (GTK version) — Old terminal emulation application for Deepin desktop.

https://github.com/linuxdeepin/deepin-terminal-gtk || deepin-terminal-gtk

  • EasySSH — SSH Connection Manager.

https://github.com/muriloventuroso/easyssh || easysshAUR

  • Germinal — Minimalist terminal emulator which provides a borderless maximized terminal, attached to a tmux session by default, hence providing tabs and panels.

https://www.imagination-land.org/tags/germinal.html || germinalAUR

  • GNOME Terminal — A terminal emulator included in the GNOME desktop with support for Unicode.

https://wiki.gnome.org/Apps/Terminal || gnome-terminal

  • Guake — Drop-down terminal for the GNOME desktop.

http://guake-project.org/ || guake

  • kermit — A VTE-based terminal emulator that aims to be simple, fast and effective.

https://github.com/orhun/kermit || kermitAUR

  • King’s Cross — Simple user-friendly terminal emulator for the GNOME desktop.

https://gitlab.gnome.org/ZanderBrown/kgx || kgxAUR

  • LXTerminal — Desktop independent terminal emulator for LXDE.

https://wiki.lxde.org/en/LXTerminal || lxterminal

  • MATE terminal — A fork of Wikipedia:GNOME terminal for the MATE desktop.

https://www.mate-desktop.org/ || mate-terminal

  • Pantheon Terminal — A super lightweight, beautiful, and simple terminal emulator. It’s designed to be setup with sane defaults and little to no configuration.

https://github.com/elementary/terminal || pantheon-terminal

  • ROXTerm — Tabbed terminal emulator with a small footprint.

http://roxterm.sourceforge.net/ || roxtermAUR

  • sakura — Terminal emulator based on GTK and VTE.

https://www.pleyades.net/david/projects/sakura || sakura

  • Terminator — Terminal emulator supporting multiple resizable terminal panels.

https://gnome-terminator.org/ || terminator

  • Termite — Keyboard-centric VTE-based terminal, aimed at use within a window manager with tiling and/or tabbing support. Unmaintained — the developers recommend switching to Alacritty.

https://github.com/thestinger/termite || termiteAUR

  • Tilda — Configurable drop down terminal emulator.
Читайте также:  Строка состояния windows это

https://github.com/lanoxx/tilda/ || tilda

  • Tilix — Tiling terminal emulator for GNOME.

https://gnunn1.github.io/tilix-web/ || tilix

  • Xfce Terminal — Terminal emulator included in the Xfce desktop with support for a colorized prompt and a tabbed interface.

https://docs.xfce.org/apps/terminal/start || xfce4-terminal

KMS-based

The following terminal emulators are based on the kernel mode setting that could be invoked without X.

  • KMSCON — A KMS/DRM-based system console(getty) with an integrated terminal emulator for Linux operating systems.

https://github.com/dvdhrm/kmscon || kmscon

framebuffer-based

In the GNU/Linux world, the framebuffer can refer to a virtual device in the Linux kernel (fbdev) or the virtual framebuffer system for X (xvfb). This section mainly lists the terminal emulators based on the in-kernel virtual device, i.e. fbdev.

  • yaft — A simple terminal emulator for living without X, with UCS2 glyphs, wallpaper and 256color support.

https://github.com/uobikiemukot/yaft || yaftAUR

Terminal pagers

  • more — A simple and feature-light pager. It is a part of util-linux.

https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/about/ || util-linux

  • less — A program similar to more, but with support for both forward and backward scrolling, as well as partial loading of files.

https://www.gnu.org/software/less/ || less

  • most — A pager with support for multiple windows, left and right scrolling, and built-in colour support

http://www.jedsoft.org/most/ || most

  • mcview — A pager with mouse and colour support. It is bundled with midnight commander.

https://midnight-commander.org/ || mc

  • Vim can also be used as a pager.

Terminal multiplexers

  • abduco — Tool for session attach and detach support which allows a process to run independently from its controlling terminal.

https://www.brain-dump.org/projects/abduco/ || abduco

  • byobu — An GPLv3 licensed addon for tmux or screen. It requires a terminal multiplexer installed.

https://byobu.org/ || byobu

  • dtach — Program that emulates the detach feature of GNU Screen.

http://dtach.sourceforge.net/ || dtachAUR

  • dvtm — dwm-style window manager in the console.

https://www.brain-dump.org/projects/dvtm/ || dvtm

  • GNU Screen — Full-screen window manager that multiplexes a physical terminal.

https://www.gnu.org/software/screen/ || screen

  • mtm — Simple terminal multiplexer with just four commands: change focus, split, close, and screen redraw.

https://github.com/deadpixi/mtm || mtm-gitAUR

  • tmux — BSD licensed terminal multiplexer.

https://tmux.github.io/ || tmux

  • wezterm — GPU-accelerated cross-platform terminal emulator and multiplexer implemented in Rust.

https://wezfurlong.org/wezterm/ || wezterm

Files

File managers

Console
  • Clex — File manager with full-screen user interface

http://www.clex.sk/ || clexAUR

  • ded — directory editor, file manager similar to Emacs dired

https://invisible-island.net/ded/ded.html || dedAUR

  • Dired — Directory editor integrated with Emacs.

https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html || emacs

  • joshuto — ranger-like terminal file manager written in Rust.

https://github.com/kamiyaa/joshuto || joshuto-gitAUR

  • Last File Manager — Powerful file manager written in Python 3 with a curses interface.

https://inigo.katxi.org/devel/lfm/ || lfmAUR

  • lf — Terminal file manager written in Go using server/client architecture.

https://github.com/gokcehan/lf || lfAUR

  • Midnight Commander — Console-based, dual-paneled file manager.

https://midnight-commander.org || mc

  • nffm — «Nothing Fancy File Manager», a mouseless ncurses file manager written in C.

https://github.com/mariostg/nffm || nffm-gitAUR

  • nnn — Tiny, lightning fast, feature-packed file manager.

https://github.com/jarun/nnn || nnn

  • fff — A simple file manager written in Bash.

https://github.com/dylanaraps/fff || fff

  • Pilot — File manager that comes with the Alpine email client.

https://alpine.x10host.com/ || alpine-gitAUR

  • Ranger — Console-based file manager with vi bindings, customizability, and lots of features.

https://ranger.github.io/ || ranger

  • Vifm — Ncurses-based two-panel file manager with vi-like keybindings.

https://vifm.info || vifm

  • CliFM — The KISS file manager: non-curses, fast, extensible, and lightweight as hell.

https://github.com/leo-arch/clifm || clifmAUR

Graphical
  • Caja — The file manager for the MATE desktop.

https://github.com/mate-desktop/caja || caja

  • CoreFM — Simple lightweight easy to use file manager with many features like image previews, mime-icon support, split view, auto-mounting of removalbe media, drag-n-drop support etc. Part of C-Suite.

https://cubocore.org/ || corefmAUR

  • Deepin File Manager — File manager developed for Deepin.

https://www.deepin.org/en/original/dde-file-manager/ || deepin-file-manager

  • Dolphin — File manager included in the KDE desktop.

https://apps.kde.org/dolphin/ || dolphin

  • Gentoo — A lightweight file manager for GTK.

https://sourceforge.net/projects/gentoo/ || gentooAUR

  • GNOME Files — Extensible, heavyweight file manager used by default in GNOME with support for custom scripts.

https://wiki.gnome.org/Apps/Files || nautilus

  • Index — File manager that lets you browse your system files and applications and preview your music, text, image and video files and share them with external applications.

https://apps.kde.org/index-fm/ || index-fm

  • Konqueror — File manager and web browser for the KDE desktop.

https://apps.kde.org/konqueror/ || konqueror

  • Liri Files — The file manager for Liri.

https://github.com/lirios/files || liri-files

  • Nemo — Nemo is the file manager of the Cinnamon desktop. A fork of Nautilus.

https://cinnamon.linuxmint.com/ [dead link 2021-05-17 ⓘ] || nemo

  • Pantheon Files — File browser designed for elementary OS.

https://github.com/elementary/files || pantheon-files

  • PathFinder — File browser that comes with the FOX toolkit.

http://fox-toolkit.org/ || fox

  • PCManFM — Very fast and lightweight file manager which can also optionally manage the desktop icons and background.

https://wiki.lxde.org/en/PCManFM || pcmanfm

  • PCManFM-Qt — Qt port of PCManFM file manager.

https://github.com/lxqt/pcmanfm-qt || pcmanfm-qt

  • Peony — File manager for the UKUI desktop.

https://github.com/ukui/peony || peony

  • qtFM — Small, lightweight filemanager for Linux desktops based on pure Qt.

https://qtfm.eu/ || qtfmAUR

  • ROX Filer — Small and fast file manager which can optionally manage the desktop background and panels.

http://rox.sourceforge.net/ || rox

  • Thunar — File manager that can be run as a daemon with excellent start up and directory load times.

https://docs.xfce.org/xfce/thunar/start || thunar

Twin-panel

Note that some of these twin-panel file managers can also be set to have only one pane.

  • Double Commander — File manager with two panels side by side. It is inspired by Total Commander and features some new ideas.

https://doublecmd.sourceforge.io/ || GTK: doublecmd-gtk2 , Qt5: doublecmd-qt5

  • emelFM2 — File manager that implements the popular two-panel design.

https://emelfm2.net/ || emelfm2

  • GNOME Commander — A dual-paned file manager for the GNOME Desktop.

https://gcmd.github.io/ || gnome-commanderAUR

  • Krusader — Advanced twin panel (Midnight Commander style) file manager for the KDE desktop.

https://krusader.org/ || krusader

  • muCommander — A lightweight, cross-platform file manager with a dual-pane interface written in Java.

https://www.mucommander.com/ || mucommanderAUR

  • SpaceFM — GTK multi-panel tabbed file manager.

https://ignorantguru.github.io/spacefm/ || spacefmAUR

  • Sunflower — Small and highly customizable twin-panel file manager for Linux with support for plugins.

https://sunflower-fm.org/ || sunflowerAUR

  • trolCommander — Lightweight, dual-pane file manager written in Java. Fork of muCommander.

https://github.com/trol73/mucommander || trolcommanderAUR

  • Tux Commander — Windowed file manager with two panels side by side similar to popular Total Commander or Midnight Commander file managers.

http://tuxcmd.sourceforge.net/description.php || tuxcmd

  • Worker — Fast, lightweight and feature-rich file manager for the X Window System.

http://www.boomerangsworld.de/cms/worker/ || workerAUR

  • Xfe — Microsoft Explorer-like file manager for X (X File Explorer).

http://roland65.free.fr/xfe/ || xfeAUR

Trash management

  • trash-cli — A command-line interface implementing FreeDesktop.org’s Trash specification.

https://github.com/andreafrancia/trash-cli || trash-cli

File synchronization and backup

This article or section is a candidate for merging with Synchronization and backup programs#Data synchronization.

  • borg — Deduplicating backup program with compression and authenticated encryption that supports backing up over ssh

https://www.borgbackup.org || borg

  • Déjà Dup — Simple GTK backup program. It hides the complexity of doing backups the ‘right way’ (encrypted, off-site, and regular) and uses duplicity as the backend.

https://launchpad.net/deja-dup || deja-dup

  • DirSync Pro — Small, but powerful utility for file and folder synchronization.

https://dirsyncpro.org/ || dirsyncproAUR

  • Duplicati — Backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers.

https://www.duplicati.com/ || duplicati-latestAUR

  • duplicity — Simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.

https://www.nongnu.org/duplicity/ || duplicity

  • Duply — Command-line front-end for duplicity which simplifies running it. It manages backup job settings in profiles and allows to batch execute commands.

https://www.duply.net/ || duplyAUR

  • FreeFileSync — Folder comparison and synchronization software that creates and manages backup copies of all your important files.

https://www.freefilesync.org/ || freefilesyncAUR

  • git-annex — Manage files with git, without checking the file contents into git.

https://git-annex.branchable.com/ || git-annex

  • hsync — Command line program to sync only those files that have been renamed/moved but otherwise unchanged. It works by issuing simple move operations at the destination without actually transferring the files, and is meant to be used in conjunction with other synchronization programs that lack this capability.

https://ambrevar.bitbucket.io/hsync/ || hsyncAUR

  • rclone — Command line program to sync files and directories to and from Amazon S3, Dropbox, Google Drive, Microsoft OneDrive, Yandex Disk and many other cloud storage services as well as between local paths.

https://rclone.org/ || rclone

  • restic — Fast, secure, efficient backup program that supports backing up to many cloud services.

https://restic.net/ || restic

  • rsync — File transfer program that uses the «rsync algorithm» which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. Has multiple frontends available.

https://rsync.samba.org/ || rsync

  • SparkleShare — File sharing and collaboration application written in C#. It can sync with any Git server over SSH.

https://www.sparkleshare.org/ || sparkleshare

  • Syncthing — Continuous file synchronization program. It synchronizes files between two or more computers in a simple way without advanced configuration.

https://syncthing.net/ || syncthing

  • Syncany — Cloud storage and filesharing application with a focus on security and abstraction of storage.

https://www.syncany.org/ || syncanyAUR

  • Synkron — Application that helps you keep your files and folders always updated. You can easily sync your documents, music or pictures to have their latest versions everywhere.

http://synkron.sourceforge.net/ || synkronAUR

  • Tarsnap — Secure, efficient proprietary online backup service.

https://www.tarsnap.com/ || tarsnap

  • Timeshift — A system restore tool for Linux.

https://github.com/teejee2008/timeshift || timeshiftAUR

  • Unison — File synchronization tool that allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

https://www.cis.upenn.edu/

Archiving and compression tools

For archiving and compression command-line tools, see Archiving and compression.

Читайте также:  Линукс минт или росинка
Archive managers
  • 360zip — A proprietary archiving tool.

https://yasuo.360.cn/ || 360zipAUR

  • Ark — Archiving tool included in the KDE desktop.

https://apps.kde.org/ark/ || ark

  • Arqiver — Simple Qt archive manager based on libarchive.

https://github.com/tsujan/Arqiver || arqiver-gitAUR

  • CoreArchiver — Simple file compressing/extracting utility based on Qt and libarchive-qt. Part of C-Suite.

https://cubocore.org/ || corearchiverAUR

  • Deepin Archive Manager — Fast and lightweight application for creating and extracting archives.

https://github.com/linuxdeepin/deepin-compressor || deepin-compressor

  • Engrampa — Archive manager for MATE

https://github.com/mate-desktop/engrampa || engrampa

  • GNOME Archive Manager — Archive manager included in the GNOME desktop (previously File Roller).

https://wiki.gnome.org/Apps/FileRoller || file-roller

  • LXQt File Archiver — Simple and lightweight desktop-agnostic Qt file archiver.

https://github.com/lxqt/lxqt-archiver || lxqt-archiver

  • p7zip-gui — The GUI belonging to the p7zip software.

http://p7zip.sourceforge.net/ || p7zip-guiAUR

  • PeaZip — Open source file and archive manager.

https://www.peazip.org/peazip-linux.html || GTK: peazip-gtk2-binAUR , Qt: peazip-qt-binAUR

  • Xarchiver — Lightweight desktop independent archive manager built with GTK.

https://github.com/ib/xarchiver || GTK 3: xarchiver , GTK 2: xarchiver-gtk2

Comparison, diff, merge

For managing pacnew/pacsave files, specialised tools exist. See Pacnew and Pacsave files#Managing .pac* files.

Console
  • colordiff — A Perl script wrapper for ‘diff’ that produces the same output but with pretty ‘syntax’ highlighting.

https://www.colordiff.org/ || colordiff

  • diffr — A Rust utility to pretty-print diff with highlighting at word-level for ease of review.

https://github.com/mookid/diffr || diffrAUR

  • ydiff — A Python wrapper to get highlighted diff output from stdin or VCS-tracked file/dirs, in either unfied or side-by-side view.

https://github.com/ymattw/ydiff || ydiffAUR

  • delta — A diff viewer written in Rust with syntax highlighting.

https://github.com/dandavison/delta || git-delta

  • diff-so-fancy — A diff output decorator. It does not calculate the diff, it only decorates it.

https://github.com/so-fancy/diff-so-fancy || diff-so-fancy

Graphical
  • DiffPDF — Compare the text or the visual appearance of each page in two PDF files.

https://gitlab.com/eang/diffpdf || diffpdf

  • Diffuse — Small and simple text merge tool written in Python.

http://diffuse.sourceforge.net/ || diffuse

  • KDiff3 — File and directory diff and merge tool for the KDE desktop.

https://apps.kde.org/kdiff3/ || kdiff3

  • Kompare — GUI front-end program for viewing and merging differences between source files. It supports a variety of diff formats and provides many options to customize the information level displayed.

https://apps.kde.org/kompare/ || kompare

  • Meld — Visual diff and merge tool that can compare files, directories, and version controlled projects.

https://meldmerge.org/ || meld

  • xxdiff — A graphical browser for file and directory differences.

http://furius.ca/xxdiff/ || xxdiffAUR

Vim and Emacs provide merge functionality with vimdiff and ediff .

Batch renamers

Console
  • edir — Rename, delete, and copy files and directories using your editor (enhanced vidir).

https://github.com/bulletmark/edir || edirAUR

  • f2 — Cross-platform command-line tool for batch renaming files and directories quickly and safely, can also rename files based on audio tags.

https://github.com/ayoisaiah/f2 || f2AUR

  • rename.pl — Batch renamer based on perl regex.

https://search.cpan.org/

Graphical
  • Caja-Rename — Batch renaming extension for Caja.

https://tari.in/www/software/caja-rename || caja-renameAUR

  • CoreRenamer — Simple lightweight batch file renamer application. Part of C-Suite.

https://cubocore.org/ || corerenamerAUR

  • GPRename — GTK batch renamer for files and directories.

http://gprename.sourceforge.net || gprename

  • KRename — Very powerful batch file renamer for the KDE desktop.

https://apps.kde.org/krename/ || krename

  • metamorphose2 — wxPython based batch renamer with support for regular expressions, renaming multimedia files according to their metadata, etc.

http://file-folder-ren.sourceforge.net || metamorphose2AUR

  • Thunar Bulk Rename — Change the name of multiple files at once using some criterion that applies to at least one of the files. Run with thunar -B .

https://docs.xfce.org/xfce/thunar/bulk-renamer/start || thunar

File searching

This section lists utilities for file searching based on filename, file path or metadata. For full-text searching, see the next section.

Console
Graphical
  • Catfish — Versatile file searching tool by Xfce, can be powered by find, locate and Zeitgeist.

https://launchpad.net/catfish-search || catfish

  • CoreHunt — Easy to use fast file searching tool with categorized search and search history. Part of C-Suite.

https://cubocore.org/ || corehuntAUR

  • GNOME Search Tool — GNOME utility to search for files, depends on GNOME/Files.

https://gitlab.gnome.org/GNOME/gnome-search-tool || gnome-search-tool

  • KFind — Search tool for KDE to find files by name, type or content. Has internal search and supports locate.

https://apps.kde.org/kfind/ || kfind

  • MATE Search Tool — MATE utility to search for files.

https://github.com/mate-desktop/mate-utils || mate-utils

  • regexxer — Interactive search and replace tool featuring Perl-style regular expressions.

http://regexxer.sourceforge.net/ || regexxer

  • Searchmonkey — Powerful GUI search utility for matching regex patterns.

https://sourceforge.net/projects/searchmonkey/ || searchmonkeyAUR

File indexers

These programs index your files to allow for quick searching.

  • Basenji — Volume indexing tool designed for easy and fast indexing of CD/DVD and other type of volume collections.

https://github.com/pulb/basenji || basenjiAUR

  • fsearch — A fast file search utility for Unix-like systems based on GTK 3.

https://github.com/cboxdoerfer/fsearch || fsearch-gitAUR

Full-text searching

Full-text indexers
  • Baloo — KDE’s file indexing and search solution, has a CLI and is used by KRunner.

https://community.kde.org/Baloo || baloo

  • DocFetcher — Graphical Java desktop search application.

http://docfetcher.sourceforge.net || docfetcherAUR

  • Recoll — Full text search tool based on Xapian, has CLI and GUI.

https://lesbonscomptes.com/recoll/ || recoll

  • Tracker — All-in-one indexer, search tool and metadata database, used by GNOME Documents, Music, Photos and Videos.

https://gnome.pages.gitlab.gnome.org/tracker/ || tracker , tracker3

  • Zeitgeist — Event aggregation framework for the user’s activities and notifications (files opened, websites visited, conversations had, etc.), has several third-party front-ends.

https://launchpad.net/zeitgeist-project || zeitgeist

Development

Code forges

  • GitLab — Project management and code hosting application.

https://gitlab.com/gitlab-org/gitlab-foss || gitlab

  • Gitea — Painless self-hosted Git service. Community managed fork of Gogs.

https://gitea.io || gitea

Code forge clients
  • git-open — Open a repo website (GitHub, GitLab, Bitbucket) in your browser

https://github.com/paulirish/git-open || git-openAUR

  • github-cli — GitHub’s official command line tool

https://github.com/cli/cli || github-cli

  • hub — Command line interface for GitHub

https://hub.github.com || hub

  • lab — A hub-like tool for GitLab

https://zaquestion.github.io/lab/ || lab-binAUR

  • snippet — A terminal based interface to create a new GitLab snippet

https://gitlab.com/zj/snippet || snippetAUR

Version control systems

  • Bazaar — Distributed version control system that helps you track project history over time and to collaborate easily with others.

https://bazaar.canonical.com/ || bzrAUR

  • CVS — Concurrent Versions System, a client-server revision control system.

http://cvs.nongnu.org/ || cvs

  • Darcs — Distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.

http://darcs.net/ || darcs

  • Fossil — Distributed VCS with bug tracking, wiki, forum, and technotes.

https://www.fossil-scm.org/ || fossil

  • Git — Distributed revision control and source code management system with an emphasis on speed.

https://git-scm.com/ || git

  • Mercurial — Distributed version control system written in Python and similar in many ways to Git.

https://www.mercurial-scm.org/ || mercurial

  • Subversion — Full-featured centralized version control system originally designed to be a better CVS.

https://subversion.apache.org/ || subversion

Build automation

  • Apache Ant — Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other.

https://ant.apache.org/ || ant

  • Apache Maven — Build automation tool used primarily for Java.

https://maven.apache.org/ || maven

  • CMake — Family of tools designed to build, test and package software.

https://cmake.org/ || cmake

  • GNU make — GNU make utility to maintain groups of programs.

https://www.gnu.org/software/make/ || make (part of base-devel )

  • Meson — Extremely fast and user friendly build system.

https://mesonbuild.com/ || meson

  • Gradle — Powerful build system for the JVM.

https://gradle.org/ || gradle

  • Phing — PHP program designed to automate tasks of all kinds.

https://www.phing.info/ || phingAUR

Integrated development environments

For PHP specific list, see PHP#Development tools.

  • Android Studio — The official Android development environment based on IntelliJ IDEA.

https://developer.android.com/studio/index.html || android-studioAUR

  • Anjuta — Versatile IDE with project management, an application wizard, an interactive debugger, a source editor, version control support and many more tools.

http://anjuta.org/ || anjuta

  • Aptana Studio — IDE based on Eclipse, but geared towards web development, with support for HTML, CSS, Javascript, Ruby on Rails, PHP, Adobe AIR and others.

http://www.aptana.com/ || aptana-studioAUR

  • Bluefish — Powerful editor targeted towards programmers and webdevelopers, with many options to write websites, scripts and programming code. It supports many programming and markup languages.

http://bluefish.openoffice.nl/ || bluefish

  • Code::Blocks — C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.

https://codeblocks.org/ || codeblocks

  • CLion — A cross-platform IDE for C and C++.

https://www.jetbrains.com/clion/ || clionAUR

  • CodeLite — Open source and cross-platform C/C++/PHP and Node.js IDE written in C++ .

https://codelite.org/ || codeliteAUR

  • Cloud9 — State-of-the-art IDE that runs in your browser and lives in the cloud, allowing you to run, debug and deploy applications from anywhere, anytime.

https://c9.io/ || c9.coreAUR [broken link: package not found]

  • Eclipse — IDE for Java, C/C++, PHP, Perl and Python with subversion support and task management.

https://www.eclipse.org/ || Java EE: eclipse-jeeAUR , Java: eclipse-javaAUR , C/C++: eclipse-cppAUR , PHP: eclipse-phpAUR , JavaScript and Web: eclipse-javascriptAUR [broken link: package not found] , Rust: eclipse-rustAUR [broken link: package not found]

  • Eric — Full-featured Python and Ruby IDE written in PyQt5.

https://eric-ide.python-projects.org/ || ericAUR

  • Gambas — IDE based on a Basic interpreter with object extensions.

http://gambas.sourceforge.net/en/main.html || gambas3-ide

  • Geany — Small and lightweight IDE with many supported many programming and markup languages including C, Java, PHP, HTML, Python, Perl, Pascal.

https://geany.org/ || geany

  • GNOME Builder — Tool to write and contribute to great GNOME-based applications.

https://wiki.gnome.org/Apps/Builder || gnome-builder

  • KDevelop — Feature-full, plugin extensible IDE for C/C++ and other programming languages.

https://www.kdevelop.org/ || kdevelop

  • Komodo Edit — A free, multi-language editor.

https://www.activestate.com/products/komodo-edit/ || komodo-editAUR

  • Lazarus — Delphi (Object Pascal) compatible IDE for Rapid Application Development. It has variety of components ready for use and a graphical form designer to easily create complex graphical user interfaces.

https://www.lazarus-ide.org/ || lazarus

  • LiteIDE — Simple Go IDE.

https://github.com/visualfc/liteide || liteide

  • MonoDevelop — Cross-platform IDE targeted for the Mono and .NET frameworks.

https://www.monodevelop.com/ || monodevelop-gitAUR

  • MPLAB — IDE for Microchip PIC and dsPIC development.
Читайте также:  Windows без пакета обновлений

https://www.microchip.com/mplabx || microchip-mplabx-binAUR

  • Netbeans — IDE for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, and other languages.

https://netbeans.org/ || netbeans

  • PhpStorm — JetBrains PhpStorm is a commercial, cross-platform IDE for PHP built on JetBrains’ IntelliJ IDEA platform, providing an editor for PHP, HTML and JavaScript with on-the-fly code analysis, error prevention and automated refactorings for PHP and JavaScript code.

https://www.jetbrains.com/phpstorm/ || phpstormAURphpstorm-eapAUR

  • Qt Creator — Lightweight, cross-platform C++ integrated development environment with a focus on Qt.

https://www.qt.io/ide/ || qtcreator

  • Theia — Eclipse Theia is a free and open-source IDE for desktop and web applications. It is implemented in TypeScript, is based on Visual Studio Code, and emphasizes extensibility. It can be run as a web or a desktop application.

https://theia-ide.org/ || theia-electronAUR

  • Visual Studio Code — Visual Studio Code is a cross-platform, free and open-source text editor developed by Microsoft, written in JavaScript and TypeScript. It supports a variety of languages thanks to its extensions.

https://code.visualstudio.com/ || codevisual-studio-code-binAUR

Java IDEs
  • BlueJ — Fully featured Java IDE used mainly for educational and beginner purposes.

https://bluej.org/ || bluejAUR

  • IntelliJ IDEA — IDE for Java, Groovy and other programming languages with advanced refactoring features.

https://www.jetbrains.com/idea/ || intellij-idea-community-edition

Python IDEs
  • Ninja-IDE — IDE for Python development.

http://ninja-ide.org/ || ninja-ideAUR

  • PyCharm — Python IDE with support for code analysis, debugging, unit testing, version control and web development with Django.

https://www.jetbrains.com/pycharm/ || community edition: pycharm-community-edition , professional edition: pycharm-professionalAUR , edu edition: pycharm-eduAUR

  • Spyder — Scientific Python Development Environment providing MATLAB-like features.

https://github.com/spyder-ide/spyder || spyder

  • Thonny — Python IDE for beginners.

https://thonny.org/ || thonnyAUR

  • WingIDE — Proprietary Python development environment. It is fully featured and meant for professional use.

https://wingware.com/ || wingideAUR

Rust IDEs
  • Visual Studio Code — Visual Studio Code is a cross-platform, free and open-source text editor developed by Microsoft, written in JavaScript and TypeScript. It supports a variety of languages thanks to its extensions.

https://code.visualstudio.com/ || codevisual-studio-code-binAUR Install the rust extension.

  • IntelliJ IDEA — IDE for Java, Groovy and other programming languages with advanced refactoring features.

https://www.jetbrains.com/idea/ || intellij-idea-community-edition Install the rust plugin.

Educational IDEs
  • Etoys — Educational tool and media-rich authoring environment for teaching children.

http://squeakland.org/ || etoysAUR [broken link: package not found]

  • KTurtle — Educational programming environment that aims to make learning how to program as easily as possible. Part of kde-education .

https://apps.kde.org/kturtle/ || kturtle

  • Processing — Playground for teaching non-programmers the fundamentals of computer programming in a visual context.

https://processing.org/ || processingAUR

  • Scratch — Programming system and content development tool for educational and entertainment purposes, such as creating interactive projects and simple sprite-based games. It is used primarly by unskilled users (such as children) as an entry to event-driven programming.

https://scratch.mit.edu/ || scratch

Debuggers

  • Accerciser — Interactive Python accessibility explorer. It uses the AT-SPI library to inspect, examine, and interact with widgets, allowing you to check if an application is providing correct information to assistive technologies and automated testing frameworks.

https://wiki.gnome.org/Apps/Accerciser || accerciser

  • Bustle — Draws sequence diagrams of D-Bus activity. It shows signal emissions, method calls and their corresponding returns, with time stamps for each individual event and the duration of each method call.

https://www.freedesktop.org/wiki/Software/Bustle/ || bustle-gitAUR

  • Data Display Debugger — Graphical front-end for command-line debuggers such as GDB.

https://www.gnu.org/software/ddd/ || dddAUR

  • Desed — TUI-based debugger for sed. Features variable and regex preview, setting breakpoints and stepping back and forth.

https://github.com/SoptikHa2/desed || desedAUR

  • D-Feet — Easy to use D-Bus debugger to inspect D-Bus interfaces of running programs and invoke methods on those interfaces.

https://wiki.gnome.org/Apps/DFeet || d-feet

  • GammaRay — Qt-application inspection and manipulation tool.

https://www.kdab.com/development-resources/qt-tools/gammaray/ || gammaray

  • KCachegrind — Profile data visualization tool, used to determine the most time consuming execution parts of program.

https://apps.kde.org/kcachegrind/ || KDE: kcachegrind , Qt: qcachegrind

  • KDbg — Graphical user interface to GDB, the GNU debugger. It provides an intuitive interface for setting breakpoints, inspecting variables, and stepping through code.

http://kdbg.org/ || kdbg

  • Massif-Visualizer — Visualizer for Valgrind Massif data files.

https://apps.kde.org/massif-visualizer/ || massif-visualizer

  • Nemiver — Easy to use standalone C/C++ debugger (GDB front-end) that integrates well in the GNOME environment.

https://wiki.gnome.org/Apps/Nemiver || nemiver

  • Qt QDbusViewer — Tool to introspect D-Bus objects and messages.

https://doc.qt.io/qt-5/qdbusviewer.html || qt5-tools

  • scanmem — Debugging utility designed to isolate the address of an arbitrary variable in an executing process.

https://github.com/scanmem/scanmem || CLI: scanmem , GUI: gameconqueror

  • Sysprof — Profiling tool that helps in finding the functions in which a program uses most of its time.

https://wiki.gnome.org/Apps/Sysprof || sysprof

Lexing and parsing

Lex and Yacc are part of POSIX.

And then there are also:

  • ANTLR — Parser generator, written in Java, for parsing structured text or binary files.

https://www.antlr.org/ || antlr4

  • LPeg — Pattern-matching library, based on PEGs, for Lua.

http://www.inf.puc-rio.br/

GUI builders

  • FLUID — FLTK GUI designer.

https://www.fltk.org/ || fltk

  • Glade — Create or open user interface designs for GTK applications.

https://glade.gnome.org/ || glade

  • KUIViewer — Quick viewer for Qt Designer UI File.

https://apps.kde.org/kuiviewer/ || kde-dev-utils

  • Qt Designer — Tool for designing and building graphical user interfaces (GUIs) with Qt Widgets.

https://doc.qt.io/qt-5/qtdesigner-manual.html || qt5-tools

Hex editors

  • Bless — High quality, full featured hex editor.

https://web.archive.org/web/20170503150524/http://home.gna.org/bless/ || bless

  • GHex — Hex editor for GNOME, which allows the user to load data from any file, view and edit it in either hex or ascii.

https://wiki.gnome.org/Apps/Ghex || ghex

  • hyx — Minimalistic but powerful console hex editor.

https://yx7.cc/code/ || hyxAUR

  • Reverse Engineer’s Hex Editor — Hex editor with features for analyzing and annotating binary file formats

https://github.com/solemnwarning/rehex || rehexAUR

  • Okteta — KDE hex editor for viewing and editing the raw data of files.

https://apps.kde.org/okteta/ || okteta

JSON tools

  • gron — gron transforms JSON into discrete assignments to make it easier to grep.

https://github.com/tomnomnom/gron || gron-binAUR

  • jid — JSON incremental digger

https://github.com/simeji/jid || jidAUR

  • jo — A command to create JSON.

https://github.com/jpmens/jo || jo-gitAUR

  • jq — Command-line JSON processor

https://stedolan.github.io/jq/ || jq

  • jsawk — Like awk, but for JSON.

https://github.com/micha/jsawk || jsawk-gitAUR

  • jshon — A JSON parser for the shell.

http://kmkeen.com/jshon/ || jshon

  • the Elvish shell has built-in support for JSON

Literate programming

  • Noweb — A Simple, Extensible Tool for Literate Programming build against ICON libs and texlive

https://www.cs.tufts.edu/

UML modelers

  • ArgoUML — UML modeling tool with support for all standard UML 1.4 diagrams.

http://argouml.tigris.org/ || argoumlAUR

  • Eclipse Modeling Tools — Tools and runtimes for building model-based applications.

https://www.eclipse.org/ || eclipse-modeling-toolsAUR

  • Gaphor — Simple modeling tool for UML.

https://github.com/gaphor/gaphor || python-gaphorAUR

  • Modelio — Modeling environment supporting the main standards: UML, BPMN, MDA, SysML.

https://www.modelio.org/ || modelio-binAUR

  • Papyrus — Model-based engineering tool based on Eclipse.

https://www.eclipse.org/papyrus/ || papyrusAUR

  • PlantUML — Tool to create UML diagrams from a plain text language.

https://plantuml.com || plantuml

  • PlantUML QEditor — PlantUML editor written in Qt.

https://github.com/borco/plantumlqeditor || plantumlqeditor-gitAUR

  • Umbrello — Unified Modelling Language (UML) diagram program based on KDE Technology.

https://umbrello.kde.org/ || umbrello

  • UML Designer — Graphical tool based on Eclipse to edit and visualize UML models.

https://www.umldesigner.org/ || umldesignerAUR

  • UMLet — UML tool with a simple user interface: draw UML diagrams fast, build sequence and activity diagrams from plain text, export diagrams to eps, pdf, jpg, svg, and clipboard, share diagrams using Eclipse, and create new, custom UML elements.

https://umlet.com/ || umletAUR

  • UML/INTERLIS-editor — Facilitate the application of the model driven approach to a greater number of users.

http://www.umleditor.org/ || umleditorAUR

  • Violet — Very easy to learn and use UML editor that draws nice-looking diagrams.

https://sourceforge.net/projects/violet/ || violetumleditorAUR

API documentation browsers

  • Devhelp — Developer tool for browsing and searching API documentation.

https://wiki.gnome.org/Apps/Devhelp || devhelp

  • Doc Browser — API documentation browser with support for DevDocs and Hoogle.

https://github.com/qwfy/doc-browser || doc-browser-gitAUR

  • Qt Assistant — Tool for viewing on-line documentation in Qt help file format.

https://doc.qt.io/qt-5/qtassistant-index.html || qt5-tools

  • quickDocs — Fast developer docs reader for reading Valadoc and DevDocs.

https://github.com/mdh34/quickDocs || quickdocsAUR

  • Zeal — Offline API documentation browser for software developers.

https://zealdocs.org/ || zealAUR

Issue tracking systems

  • Bugzilla — Bug tracker from Mozilla.

https://www.bugzilla.org || bugzilla

  • Flyspray — Lightweight, web-based bug tracking system written in PHP

https://www.flyspray.org/ || flyspray

  • MantisBT — Web-based issue tracking system

https://www.mantisbt.org/ || mantisbtAUR

  • Redmine — A flexible project management web application. Written using the Ruby on Rails, it is cross-platform and cross-database.

https://www.redmine.org || redmine

  • Request Tracker (RT) — The leading open-source issue tracking system.

https://bestpractical.com/rt/ || rtAUR

  • Trac — Trac Integrated SCM & Project Management using Apache & Subversion.

https://trac.edgewall.org/ || tracAUR

Code review

  • Gerrit — A web-based code review tool built on top of the Git version control system

https://www.gerritcodereview.com/ || gerritAUR

  • GitLab also supports code reviews.

Game development

  • GDevelop — Game creator designed to be used by everyone — no programming skills required.

https://gdevelop-app.com/ || gdevelopAUR

  • Godot — Advanced, feature-packed, multi-platform 2D and 3D game engine. Create games with ease, using Godot’s unique approach to game development.

https://godotengine.org/ || godot

  • LibreSprite — Animated sprite editor and pixel art tool lets you create 2D animations for videogames.

https://github.com/LibreSprite/LibreSprite || librespriteAUR

  • Pixelorama — 2D sprite editor with animation support, made by Orama Interactive in the Godot Engine using GDScript.

https://www.orama-interactive.com/pixelorama [dead link 2021-05-17 ⓘ] || pixelorama-binAUR

  • Tiled — General purpose 2D level editor with powerful tile map editing features. It’s built to be easy to use and is suitable for many type of games.

https://www.mapeditor.org/ || tiled

  • Unity — Unity is a flexible and powerful development platform for creating multi-platform 3D and 2D games. Proprietary, but a free version is available for certain use-cases (see here for more details).

https://unity3d.com/unity || unity-editorAUR

Repository managers

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Источник

Оцените статью