#linux #ubuntu #command-line #ubuntu-10.04
#linux #ubuntu #командная строка #ubuntu-10.04
Вопрос:
Два вопроса, которые нужно задать:
1. Я использую команду scp для копирования файла с удаленного сервера, мне интересно, как я могу указать место, куда вставить скопированный файл на моем локальном компьютере?
например, если я хочу скопировать test.txt файл с удаленного сервера и вставьте его на мой локальный компьютер в /home/myname/tmp/ какая правильная команда? это
scp SERVER_ADDRESS /home/myname/tmp/
2. Если я хочу выполнить поиск в файле, имя которого содержит текст «test», какую команду я должен использовать? Я имею в виду поиск любого файла с именем test , (‘_’ — это подстановочный знак)
————————— обновить ————————
в чем разница между «find» и «grep»?
Комментарии:
1. Здесь не место — superuser.com , unix.stackexchange.com или, может быть, askubuntu.
Ответ №1:
1:
scp SERVER_ADDRESS:/path/to/remote/file.txt /path/to/local/file.txt
2:
find . -name "*test*"
Это приведет к поиску файлов / каталогов, содержащих «test» в любом месте имени файла. Поиск начнется из текущего каталога .
, чтобы выполнить поиск по другому пути, используйте find /path/ -name "*test*"
. Если вы хотите выполнять поиск только в файлах, то есть исключать каталоги, затем добавьте -type f
перед -name
опцией.
Комментарии:
1. В чем разница между find и grep?
2.
grep
выполняет поиск содержимого файлов, а не их имен.3. grep находит текст ВНУТРИ файлов, а find находит имена файлов.
4. Обратите внимание, что
-name
это чувствительно к регистру, используйте-iname '*test*'
, если вы хотите соответствовать независимо от регистра.
Ответ №2:
Первый man scp
— ваш друг (как и все справочные страницы в целом).
-
Да: в полном объеме это было бы похоже
scp server:/path/to/file.txt /local/path/
. -
Ваши основные параметры здесь:
locate test
(если выlocate
установили и его база данных обновлена)-или-
find /path/name -name '*test*'
чтобы найти любые именованные файлы внутри каталога /path/name и всех его дочерних элементов.