Linux скопировать путь до файла

k1r8r0wn / linux_tips.md

Прогр1 | Прогр2 | . | ПрогрN — передать stdout Прогр1 в качестве stdin для Прогр2, далее stdout Прогр2 в качестве stdin для Прогр3 и т.д.

5. Скачивание файлов из интернета

wget ссылка — скачать файл по ссылке и сохранить в текущей директории

wget -P путь_до_директории ссылка — скачать файл по ссылке и сохранить в директории заданной путем

wget -O путь_до_файла ссылка — скачать файл по ссылке и сохранить под указанным именем

wget -c ссылка — докачать файл по ссылке в случае обрыва связи

wget —spider ссылка — проверить доступность файла по ссылке

wget -i текстовый_файл — скачать несколько файлов по ссылкам из текстового файла

wget -r -l глубина ссылка — рекурсивное скачивание файлов по ссылке на указанную глубину (по умолчанию глубина 5)

wget -r -A тип,тип. тип ссылка — рекурсивное скачивание файлов только определенного типа (типов)

unzip архив.zip — распаковать содержимое архива.zip

gunzip архив.gz — распаковать содержимое архива.gz, файл архив.gz удалить

tar -xvf архив.tar — распаковать архив.tar

tar -xzvf архив.tar.gz — распаковать архив.tar.gz (с использованием gunzip)

zip архив.zip файл1 файл2 . — запаковать перечисленные файлы и/или папки в архив.zip

gzip файл — запаковать файл в файл.gz, исходный файл удалить

tar -cvf архив.tar файл1 файл2 . — запаковать перечисленные файлы и/или папки в архив.tar (без сжатия)

gzip архив.tar — запаковать архив.tar в архив.tar.gz, исходный архив.tar удалить

tar -zcvf архив.tar.gz файл1 файл2 . — запаковать перечисленные файлы и/или папки в архив.tar.gz (c сжатием при помощи gzip)

tar -cjvf архив.tar.bz2 файл1 файл2 .

Сжатие/распаковка без удаления:

7. Поиск файлов и слов в файлах

find -name “” — найти указанный файл в папке

find ~/ -name “file.txt” — найти file.txt в домашней директории

find ~/ -name “*.txt” — найти все текстовые файлы в домашней директории

grep “” — найти строку в файле

grep -с “” — посчитать количество вхождений строки

grep -r “” — найти строку во всех файлах в папке

grep “hello” file.txt — найти “hello” в файле file.txt

grep -с “123” file.txt — вывести количество раз, которое “123” встречается в file.txt

grep -r “world” ~/ — найти “world” во всех файлах в домашней директории

7*. Продвинутый поиск и редактирование

find -iname “” — не учитывать регистр

find -path “” — найти указанный путь

find -size — выводить файлы указанного размера

find -maxdepth — искать не больше чем на заданное число уровней вниз

find -mindepth — искать начиная с заданного числа уровней вниз

grep -l “” — список файлов с этой строкой

grep -L “” — список файлов, где этой строки нет

grep -n “” — выводить номер строки в файле

grep -m “” — не искать дальше после заданного числа вхождений

Читайте также:  Сервер времени настройка линукс

grep -A “” — выводить это число строк после вхождения

grep -B “” — выводить это число строк до вхождения

grep -C “” — выводить это число строк вокруг вхождения

grep -E “” — найти указанный шаблон в файле

grep -E “^go” — найти строки, начинающиеся с “go”

grep -E “go$” — найти строки, оканчивающиеся на “go”

grep -E “c[au]t” — найти все слова, содержащие cut и cat

grep -E “ [a-z]ight ” — слова из 5 букв, кончающиеся на “ight”

grep -E “ [a-z]*ight ” — слова из 4 и более букв, кончающиеся на “ight”

grep -E “ [a-z]+ight ” — слова из 5 и более букв, заканчивающиеся на “ight”

grep -E “ [a-z]?ight ” — слова из 4-5 букв, заканчивающиеся на “ight”

grep -E “ [a-zA-Z]*ight ” — слова, заканчивающиеся на “ight” (разрешены большие буквы)

cat | sed ‘инструкция’ sed ‘инструкция’ — потоковый редактор: читает строчки из stdin (или из файла), обрабатывает их по инструкции и пишет в stdout

Если хотим писать в файл:

-i, —in-place — перезаписать входной файл

sed ‘s/John/Nick/g’ old.txt > new.txt — заменить все John на Nick

sed -r ‘s/J[a-z]*n/Nick/g’ old.txt > new.txt — заменить все слова, которые начинаются на J и заканчиваются на n на Nick

sed -n ‘2,4p’ file.txt — вывести строки с 2 по 4

sed ‘2,4d’ file.txt — вывести все строки кроме 2-4

sed -n ‘/2\/p’ file.txt — вывести строки с 2 цифрами подряд

sed ‘2,/[Rr]ight/d’ file.txt — вывести все строки кроме со 2 до строки содержащей “right” (с большой или маленькой буквы)

Посчитать что-то в файле:

wc [что-считаем] wc -l file.txt

Сравнить файлы/директории:

diff [-q -r] diff file1.txt file2.txt | less diff -qr dir1/ dir2/

Узнать сколько места занимаем на диске:

df [-h] — узнать сколько места занято/свободно во всей системе

Вывести часть файла:

Работа с файлами/директориями:

Вывод с сортировкой:

ls —sort=[вид сортировки] -l ls –-sort=size -l ~/

Перенаправление в один файл:

Перенаправление одного потока в другой:

2>&1 — stderr в stdout

1>&2 — stdout в stderr

Перенаправление в никуда и из ниоткуда:

Команда входа: ssh логин@адрес_сервера -p порт

Сообщить системе о ключе: ssh-add

Просмотр публичного ключа: cat ~/.ssh/id_rsa.pub

Редактирование авторизованных ключей (на сервере): nano ~/.ssh/authorised_keys

Копирование файлов:

scp -P порт логин@адрес_сервера:путь1 путь2 — с сервера (путь1) на клиента (путь2)

scp -P порт путь1 логин@адрес_сервера:путь2 — с клиента (путь1) на сервер (путь2)

11. Установка и обновление программ

Установка программ через терминал: sudo apt-get install программа

Удаление программ через терминал: sudo apt-get remove программа

Обновление ссылок на пакеты: sudo apt-get update

Обновление установленных пакетов: sudo apt-get upgrade

Обновление отдельной программы: sudo apt-get install —only-upgrade программа

12. Запус приложений, контроль запускаемых программ

Ctrl + C — прервать выполнение

fg — продолжить (foreground)

bg — продолжить в фоновом режиме (background)

jobs — посмотреть запущенные программы

fg % — продолжить программу с этим номером

Читайте также:  Hcxpcaptool kali linux установка

bg % — продолжить программу с этим номером в фоновом режиме

ps — посмотреть ваши процессы

top — отслеживать процессы в реальном времени

top -u — отслеживать процессы этого пользователя

kill — завершить процесс с этим номером

kill -9 — “убить” процесс с этим номером

13. Многопоточные приложения

free -g — информация об оперативной памяти

nproc — количество ядер процессора

lscpu — детальная информация о процессоре

14. Менеджер терминалов tmux

— открыть новую вкладку в терминале

Alt + — перейти в указанную вкладку

tmux — запустить tmux

и C (зажать , отпустить, затем нажать С) — создать новую вкладку

и — перейти в указанную вкладку

и N / и P — перейти в следующую / предыдущую вкладку

и X (или exit) — закрыть вкладку

и D — временно выйти из tmux

tmux attach / tmux a — вернуться в tmux

tmux list-sessions — посмотреть список запущенных tmux’ов

Ctrl + B и PgUp (<[>на Mac) — перейти в режим просмотра истории

PgUp, PgDown, стрелки — перемещать курсор по истории

Esc, — выйти из режима просмотра истории

Источник

Скопировать полный путь к файлу в буфер обмена

Как скопировать полный путь к файлу в буфер в mc, когда на него установлен курсор? Типа как pwd + имя файла.

Можно сделать с помощью xclip и пользовательского меню.

Решение не найдено? Мне для MacOS нужно, следовательно xclip и xsel не работают (работают только для x11, которого в MacOS нет теперь, устанавливать не хочу).

А есть ли хоткеи для шелла, позволяющие выделить строку (путь) и скопировать её в clipboard (без мыши чтобы)?

Можно воспользоваться tmux:

Эппл обновили эмулятор терминала, теперь он позволяет копировать тексты из mc только по кнопке Fn + выделение мышью. На pc клавах такой кнопки нет. Видимо, нужно возвращаться к старому эмулятору, либо забиндить эту кнопку Fn каким-то макаром в новый эмулятор.

menangen ★★★★★ ( 03.02.17 08:37:09 MSK )
Последнее исправление: menangen 03.02.17 08:37:48 MSK (всего исправлений: 1)

Что-то с tmux больно сложное решение кажется, не?

Получается, без мышки никак? 🙁 А с тачпадом такой номер проходит? А если текст на экране не помещается?

Может, если MC запускать в iterm2, а не в стандартном эмуляторе, это как-то поможет? (или в другом эмуляторе)

Поможет. С тачпадом всё также, как и с мышкой — нужно жать Fn. Я думаю из маверика выдернуть стандартный эмулятор и использовать его. Либо прикрутить Fn каким-нить боком.

Ясно, спасибо.. С Fn’ом Вы меня спасли, я бы никогда не догадался)) хотя инет весь перерыл вдоль и поперек, нигде такой инфо не было

А Вы случайно не знаете как в макоси (стандартный терминал у меня) перемещаться в mcedit по тексту — c-p, c-n, c-v, a-v ни одна комбинация не работает у меня, и еще, не работают функциональные клавиши в комбинации с shift (shitf+f1 и т.д.), без шифта работают, Вы их как починили?

Читайте также:  Linux convert tiff to pdf

да, у меня сейчас так и работает это через дополнительный пункт в меню:

+ ! t t l Скопировать путь в буфер обмена echo %d/%f|pbcopy 

Не в курсе. Я работаю под мавериком, на sierra только xcode мучаю с swift проектами. Никак не могу допилить sierra до удобного состояния на домашнем компе. На втором (мак мини), у меня она, и там у меня эппловская клава с Fn. Насчёт mcedit — я им только простые конфиги правлю, даже не в курсе о проблемах с shift. Если конфиг очень большой — я открываю через nano для навигации, удалении строк, ну и т.п.

не работают функциональные клавиши в комбинации с shift (shitf+f1 и т.д.), без шифта работают, Вы их как починили?

в свойствах терминала зайти в Настройки -> Профили -> Клавиатура, там добавить (если их нет) или изменить интересующие Вас клавиатурные комбинации с такими escape sequences:
Shift + F1: \033[1;2S
Shift + F2: \033[1;2Q
Shift + F3: \033[1;2R
Shift + F4: \033[1;2S
и т.д.

спасибо вам большое, но был бы вам еще больше признателен если выложите все комбинации до f12

Shift + F1: \033[1;2P Shift + F2: \033[1;2Q Shift + F3: \033[1;2R Shift + F4: \033[1;2S Shift + F5: \033[15;2~ Shift + F6: \033[17;2~ Shift + F7: \033[18;2~ Shift + F8: \033[19;2~ Shift + F9: \033[20;2~ Shift + F10: \033[21;2~ Shift + F11: \033[23;2~ Shift + F12: \033[24;2~ 

Источник

Как скопировать имя файла в терминале линукс?

Хочу создать нечто-подобное для копирования имени файла или директории.
Тоже вводишь команду и имя файла, и оно автоматически копируется в буфер обмена.

Заранее благодарен за помощь.

Простой 2 комментария

я понимаю смысл pwd в буфер обмена быстро засовывать, немного.
Но зачем засовывать имя файла в буфер обмена, если вы все равно будете его печатать? Не проще сразу напечатать там где надо? Опишите кейс какой нибудь, пожалуйста

serii81

Евгений, мне нужно прописать имя файла в пути в коде, допустим наименование картинки.
Представьте что оно слишком длинное.

deepblack

alias pbcopy=’xclip -selection clipboard’

serii81

thiago_alvarez

Вы случайно не знаете как на линуксе скопировать всю папку целиком с ftp сервера?
ftp> mget копирует множество файлов не не директорию

как-то с wget можно было. не помню(

serii81

Thiago Alvarez, нет, я еще до этого не дошел.
Я на сервере или на локалке архивирую папки, потом скачиваю

Gets selected files with expanded wildcards.

-c continue, reget.
-d create directories the same as file names and get the files into them instead of current directory.
-E delete source files after successful transfer
-e delete target file before the transfer
-a use ascii mode (binary is the default)
-P N download N files in parallel
-O specifies base directory or URL where files should be placed

Это из пакета lftp. Вроде как ftp уже устаревший давно считается. Но думаю, там аналогично будет.
Опция -d Вам нужна, вроде бы.

Войдите, чтобы написать ответ

Как настроить BIOS под Linux в Thinkpad?

Источник

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