디렉토리에서 파일을 선택하시겠습니까? [폐쇄]

디렉토리에서 파일을 선택하시겠습니까? [폐쇄]

Bash에서 디렉터리 내부에 있을 때 실제로 이름이나 이름의 일부를 입력하지 않고 파일이나 하위 디렉터리를 어떻게 선택할 수 있습니까?

TAB을 사용하여 웹 페이지의 여러 콘텐츠 간에 전환하는 방법과 같이 파일이나 하위 디렉터리를 열거하거나 대체하는 방법이 있습니까?

파일이나 하위 디렉터리를 여는 방법은 응용 프로그램에 따라 달라 집니까?

의 경우,

  • 여러 하위 디렉터리 중에서 하위 디렉터리를 어떻게 선택할 수 있나요 cd?

  • 여러 PDF 파일 중에서 하나의 PDF 파일을 어떻게 선택할 수 있습니까 evince?

예를 들어

$ ls .
  subdir1 subdir2
$ cd 

아무것도 입력하지 않고 선택할 수 subdir2있나요 ? 이상적으로는 키를 사용하여 선택하고 전환하는 것이 더 나을 것입니다. 그러면 중지하고 클릭할 수 있습니다.cdsubdir2Tabsubdir1subdir2subdir2Return

답변1

놓다

bind TAB:menu-complete

그런 다음 evinceTAB. 여러 번 클릭하여 TAB다른 파일을 찾아보세요.

답변2

파일은 다음을 통해 열거될 수 있습니다.

for file in .* * do;
  # if targeted at files:
  test -f "$file" || continue
  # if targeted at directories:
  test -d "$file" || continue
  # in both cases arises the question: What about symlinks?
done

또는 (정렬 시간을 절약하기 위해)

ls --quoting-style=escape | while IFS= read file; do...
  : check type like above
done

find . -type f -maxdepth 1 -printf %f\\n | while IFS= read -r file; do...

find . -type d -maxdepth 1 -printf %f\\n | while IFS= read -r file; do...

(이 find변종은 이상한 파일 이름을 처리하지 않습니다.)

관련 정보