![파일 시스템을 효율적으로 탐색하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/79852/%ED%8C%8C%EC%9D%BC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%84%20%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9C%BC%EB%A1%9C%20%ED%83%90%EC%83%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
이 질문은 "모든 것을 터미널을 통해 수행"하는 사고방식에 관한 것입니다. 나는 파일 시스템을 탐색하는 것이 매우 비효율적이라고 생각합니다. 내 일반적인 작업 흐름은 다음과 같습니다.
나는 가고 싶다 ~/foo/bar/boo/far/my/project/file.txt
…
cd ~
cd foo/b...???
# okay, I won't quite remember what bar was called
# let me just go to "foo" and view it
cd foo
ls
# Oh, it was bar
cd bar
# Now, what was after bar again?
ls
# boo, that is it.
cd boo
pwd
ls
cd for
cd my
# ERROR: my not found
ls
# at this point I'm kinda lost where I am
pwd
cd ..
cd far
cd my
cd pro<tab>
cd proj<tab>
cd proje<tab>
# wtf am I in the wrong directory again?
ls
# notice there is a directory called projectiles, that's why it doesn't work
cd project
vim fi<tab>
이제 ~/foo/bar/boo/settings.txt로 이동하고 싶습니다.
cd ../../..
vim set<tab>
# notice I'm editing a completely different file
# wtf
# :q
ls
# oh I'm in the wrong place
pwd
cd ..
vim set<tab>
# :q
# Done!
완벽한 세계에서는 그냥 입력할 수도 있지만 vim ~/foo/bar/boo/far/my/project/file.txt
실제 작업 흐름에서는 문자 손실 없이 프로그램의 소스 코드를 0행부터 마지막 행까지 입력하는 것과 동일합니다. 이것이 지금 작동하는 방식입니다. 일종의 상호 작용이 필요하며 이는 점진적이고 지저분한 프로세스입니다. 를 사용하고 cd
있는데 ls
이는 pwd
나에게 매우 비효율적입니다.
더 좋은 방법이 있나요? 내가 뭐 놓친 거 없니?
답변1
이러한 문제를 해결하는 데 도움이 되는 다양한 옵션이 있습니다.
별칭 사용
- 예를 들어 일반적으로 사용되는 디렉터리
alias q='cd /home/durrantm/Dropbox/94_2015/work/code/ruby__rails/ruby/ruby_quiz'
와 일반적으로 사용되는 명령 모두에 대해 작동합니다. 하루에 100번씩 타이핑을 하면alias p=pwd
삶이 더 편해질 수도 있습니다 .pwd
단일 문자 별칭은 제가 가장 좋아하는 트릭 중 하나입니다.
- 예를 들어 일반적으로 사용되는 디렉터리
현재 위치를 표시하는 데 도움이 되도록 PS1 팁을 맞춤 설정하세요(PS1 팁 검색). 이 내 꺼야:
특징:
- 처음 3개와 마지막 2개 디렉터리 표시(레벨이 5개 이상인 경우 가운데에 밑줄이 그어짐)
- 실제 프롬프트가 새 줄에 있도록 캐리지 리턴이 있습니까?
- 색상을 사용하여 다양한 정보 표현
- Git 프로젝트에 있을 때 내 Git 분기를 표시합니다.
- Ubuntu 및 OSX에서 작동합니다(매일 사용합니다).
- 날짜, 사용자 및 컴퓨터 표시
자세한 내용은 다음을 참조하세요.https://unix.stackexchange.com/a/127800/10043
muru에 표시된 것처럼 vim에서 ctrl-p를 사용하십시오.
자동 점프 설치 및 사용(https://github.com/wting/autojump) 방문한 명령줄 디렉터리를 기억합니다. 이것이 당신에게 잘 맞을 수도 있습니다.
명령줄 퍼지 파인더도 귀하의 스타일에 적합할 수 있습니다. 자세한 내용은 을 참조하세요.https://github.com/junegunn/fzf
cdpath(Z Shell의 메뉴 형식 디렉터리 완성) 및 Z Shell의 autocd 옵션과 같이 더 많은 내장 지원과 더 나은 옵션을 제공하는 경향이 있는 z-shell을 사용하세요.
답변2
을 사용하는 경우 vim
사용을 고려하세요.CtrlP 플러그인. 디렉터리에서 파일을 처음 실행할 때 파일을 색인화하는 데 시간이 걸릴 수 있지만 그 이후에는 매우 빠릅니다. 전체 경로와 일치하므로 경로의 특정 부분을 정확하게 기억하는 한 유용합니다. 여기에서 파일을 찾습니다 /usr/share
.
/usr/share
150000개 이상의 파일(178038개 일반 파일 기준 find
)이 있으므로 처음 실행할 때 몇 초가 걸리는 .indexing 에 let g:ctrlp_max_depth = 10
및를 추가 했습니다.let g:ctrlp_max_files = 0
.vimrc