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