Симлинк на каталог для быстрого доступа: .bashrc, usr/local/bin, что-то еще?

В Linux в качестве root вы можете использовать либо

ss -ptan 

или

netstat -ntulp

чтобы получить список всех запущенных процессов, которые «слушают» (в данном случае tcp, замените «t» на «u» для udp ).

Таким образом, один лайнер для уничтожения процесса, прослушивающего порт 80, будет выглядеть примерно так:

ss -tanp | grep 80 | head -1 | sed 's_.*pid=\(.*\),.*_\1_' | xargs kill
3
19.08.2019, 05:18
3 ответа

Псевдонимы предназначены для команд -вам нужна простая переменная, которая ссылается на ваше длинное имя каталога. Добавьте что-то подобное в ваш ~/.bashrc:

shortdir="/super/long/directory/name"

Теперь такие команды, как ls "$shortdir"или du "$shortdir", дадут вам то, что вы хотите.

8
27.01.2020, 21:09

Когда вы создаете символическую ссылку, она позволяет вам получить доступ к каталогу из того места, где вы его создали. Например, в вашем случае это позволит вам сделать cd /usr/local/bin/projectsвместо cd /projectdir, что, в зависимости от длины пути к вашему проекту, может сэкономить несколько нажатий клавиш.

Сравните, например, cd /my/super/very/long/path/to/projectdirс cd ~/projectdir, если вы ранее создали символическую ссылку на свой домашний каталог с помощью ln -s /my/super/very/long/path/to/projectdir ~/projects.

Помимо этого, решение ajgringo619 — единственное, что приходит на ум.

2
27.01.2020, 21:09

В bash у вас есть переменная CDPATH. Об этом говорится следующее:

CDPATH The search path for the cd command. This is a colon-separated list of directories in which the shell looks for destination directories specified by the cd command. A sample value is ".:~:/usr".

Если у вас есть /my/super/very/long/path/to/projectdir, то если вы поместите /my/super/very/long/path/to/в CDPATH, cd projectdirиз любой точки иерархии заставит вас перейти к конкретному /my/super/very/long/path/to/projectdir.

У него есть недостатки (возможные коллизии ), но я использую его, например, для указания на вершину всех моих рабочих деревьев git, чтобы я мог переключаться на них, просто зная (или фактически выполняя автозаполнение )их имя, независимо от того, где они действительно хранятся.

Это, конечно, решает только часть проблемы, связанную с "простым способом cd", а не глобальную проблему, связанную со ссылкой на какое-либо имя каким-то произвольным символическим способом для всех команд, с которыми нужно работать.

Вы также можете взглянуть на pushd/ popd, они могут помочь в некоторых сценариях.

3
27.01.2020, 21:09

Теги

Похожие вопросы