ls 명령은 숨겨진 파일을 나열합니다

ls 명령은 숨겨진 파일을 나열합니다

ls명령을 실행하면 opencv.sh~출력과 유사한 파일이 표시됩니다. 홈 디렉터리를 확인하면 파일이 표시되지 않습니다.

기본적으로 다른 매개변수를 제공하지 않고 숨겨진 파일도 나열합니다. 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?

내 버전은 우분투 14.04입니다

답변1

opencv.sh~숨겨진 파일이 아닙니다. POSIX는 숨겨진 파일을 점으로 시작하지만 opencv.sh~점으로 시작하지 않는 파일로 정의합니다.

이러한 파일을 보고 싶지 않다면 해당 파일을 포함하지 않는 glob(예: shopt -s extglob뒤에 ls !(*\~))을 사용하여 명시적으로 해당 파일을 피할 수 있습니다. 또는 (이 파일이 vim에서 왔다고 가정하므로) 다음을 수행할 수 있습니다.백업 파일을 동일한 디렉터리에 저장하지 않도록 vim 구성.

답변2

파일에 숨겨져 있음을 나타내는 속성이 없습니다. 초기 버전의 Unix에는 ls명령이 있었습니다.이름이 .("dotfile")로 시작하는 숨겨진 파일이 전통은 계속 이어졌습니다. ls기본적으로 이 명령은 이름이 다음으로 시작하는 파일을 숨기고 .다른 모든 파일을 표시합니다.

일부 그래픽 파일 관리자는 많은 사용자가 기대하는 것처럼 .이름 이 로 시작하는 파일을 숨깁니다.ls난쟁이디렉터리에 .hidden숨길 파일 목록이 포함된 파일 이름을 포함할 수 있는 새로운 규칙이 도입되었습니다(한 줄에 하나의 파일 이름, 패턴은 허용되지 않음).

어떤 파일 관리자를 사용하는지 언급하지 않았으며 숨겨진 파일에 대해 다른 규칙이 있을 수 있습니다. 숨겨져 있으면 opencv.sh~비표준 규칙을 따르는 것이 분명하므로 ls비표준 규칙을 따르지 않는다고 정당하게 불평할 수 없습니다.

~백업 파일은 파일 이름 끝에 추가하는 것이 일반적입니다. 즉, 을(를 ) 저장할 때 편집자가 생성한 opencv.sh~이전 버전입니다 .opencv.shopencv.sh

GNU 버전은 추가 모드(도트 파일 제외)를 무시하는 옵션을 지원합니다 ls. -I백업 파일을 숨기려면 ls별칭을 만들어 옵션 -I "*~"에 추가할 수 있습니다.ls

alias ls='ls -I "*~"'

alias ls='ls -I "*~"' --color( 파일 유형을 나타내는 색상을 사용하는 등 원하는 다른 옵션도 가능합니다 ). 이 줄을 쉘이 사용하는 초기화 파일 .bashrc에 넣으십시오..zshrc

관련 정보