я хочу перейти к определенному файлу без его поиска, зайдя во все каталоги и введя ls, и все, что я знаю, это имя файла, и я хочу, чтобы его путь был только с именем файла.Пожалуйста, помогите мне новичку в программировании на Unix, и я заинтересован в его тщательном изучении.И у меня есть homebrew и iTerm (zsh).Спасибо.
3 ответа
Существует приложение под названием Go2Shell. Это приложение помещает значок в окне поиска, которое при нажатии приведет вас в тот же каталог в терминале или в окне iTerm. Таким образом, если вы отобразите каталог с вашим файлом в окне поиска, щелкните значок Go2Shell, чтобы открыть окно терминала для этого каталога.
Если вы просто хотите указать путь к файлу, вы можете щелкнуть правой кнопкой мыши по файлу и удерживать нажатой клавишу выбора. Один из вариантов - скопировать путь к выбранному файлу.
Другой вариант - ввести «locate filename» в терминале. В нем будет указан полный путь к файлу, если он его найдет.
Если вы хотите найти исполняемый файл в вашей переменной PATH, вы можете использовать команду which
:
$ which ls
/bin/ls
Если вы хотите найти файл по имени, вы можете использовать команду find
. Например, чтобы найти файл с именем sample.txt
где-нибудь в вашем текущем каталоге или любых его подкаталогах:
$ find . -name sample.txt
./sample.txt
./temp/sample.txt
В приведенном выше примере find
два файла с именем sample.txt
Вы можете использовать подстановочные знаки в имени (не забудьте поставить имя в кавычках, например. '*.txt'
) и есть много других вариантов, чтобы сузить ваш поиск. Для получения дополнительной информации в команде find
:
$ man find
Я предполагаю, что вы видите файл в окне Finder
и хотите попасть в этот каталог без необходимости вводить длинную команду cd
.
Вы можете перетащить файл или папку из окна Finder
окно Terminal.app
: это приведет к тому, что /path/to/file.name
будет напечатано в позиции курсора.
Поэтому, если бы я хотел перечислить файлы папки на моем рабочем столе в окне терминала, я сначала набрал в терминале ls -l
, а затем перетащил папку в окно Terminal.app
.
[nevin-mac-mini:~/Desktop] nevin% ls -l /Users/nevin/Desktop/Eclipse total 584 -rw-r--r--@ 1 nevin staff 126127 21 Aug 15:32 DSC_7956 (1).jpg -rw-r--r--@ 1 nevin staff 95940 21 Aug 15:50 DSC_7960.jpg -rw-r--r--@ 1 nevin staff 71307 24 Aug 08:42 DSC_8025.jpg drwxr-xr-x 5 nevin staff 170 23 Aug 18:19 publish [nevin-mac-mini:~/Desktop] nevin%
Имя папки /Users/nevin/Desktop/Eclipse
автоматически вводилось, когда я перетаскивал значок папки со своего рабочего стола в окно Terminal.app
.