18.04로 업그레이드 한 후 공간이 ‘파일 이름’으로 표시되는 파일 이름 간단했습니다 file name. 공백이없는 파일 이름은 정상적으로

16.04에서 18.04로 업그레이드 한 후 공백이있는 모든 파일 이름은로 표시됩니다 'file name'. 이전에는 간단했습니다 file name. 공백이없는 파일 이름은 정상적으로 나타납니다.

$ ls
 bar  'foo bar'

기능에 영향을 미치지 않지만 시각적으로 혼란 스럽습니다.

나는 bash껍질로 사용 합니다.

''공백이있는 파일 이름 주위에 표시를 제거하려면 어떻게 해야합니까?



답변

ls행동 변화는 2016 년부터 되었지만 마침내 우분투로 향하고 있습니다.

이전 동작을 다시 사용하려면을 사용하십시오 ls -N.

선택적으로 환경 변수를 사용할 수 있습니다.

QUOTING_STYLE=literal ls

별명으로 만들거나 이전 동작을 수행하도록 설정 export QUOTING_STYLE=literal하십시오 ~/.bashrc.

언제, 어디서, 왜, 어떻게 이력이 있었는지에 대한 자세한 내용은 위의 링크를 읽으십시오. ls changes저자가 새로운 행동을 정당화 할 수 있는 몇 가지 의견이 있습니다.

변경에 대한 몇 가지 사항.

  • coreutils v8.25에서 도입되었으며 v8.26에서 정렬이 향상되었습니다.
  • 터미널로 출력 할 때만 발생하므로 스크립트를 중단하지 않습니다.
  • 공백이 포함 된 파일의 사용자 출력을 명확하게합니다.
  • 출력을 소독하여 복사하여 붙여 넣기가 안전합니다.
  • 출력은 항상 셸에 복사하여 다시 붙여 넣을 때 항상 유효 합니다.
  • 사용자는 -N자신의 ls별칭 에 추가하여 이전 형식으로 돌아갈 수 있습니다

답변

그건 ls그 출력, 실행을 인용한다 :

ls -N

따옴표없이 출력을 얻으려면.

man ls

-N,-리터럴

따옴표없이 항목 이름 인쇄


원하는 경우 별명을 지정하십시오.

echo "alias ls='ls -N'" >> .bashrc