2013. 2. 26. 14:11

ls 정렬이 잘 안되는 경우

콘솔로 접속했을때 utf-8 환경일 경우 ls 목록 정렬이 이상하게 되는 경우가 있다.


_bdiretory

adirecotry


이렇게 특수문자 순위가 먼저 나와야 되는데


adirectory

_bdirectory


위와 같이 특수문자를 무시하고 문자만으로 정렬되는 경우가 있는데


이 경우 아래와 같은 방법으로 해결 가능하다.


1. 아래 내용을 /etc/sysconfig/i18n 나 .bashrc 등에 추가해줌

LC_COLLATE="C" 


또는


export LC_COLLATE="C" (접속할때 마다 해줘야함)


2. LC_COLLATE="C" 로 할 경우 이름순으로 나와 디렉토리와 파일이 뒤섞이므로 ls 에 디렉토리 우선출력으로 alias 해줌

/etc/profile.d/colorls.sh 에 ls alias 부분에 -X 옵션을 추가함

다만 -X 옵션이 확장자순 정렬이라 완벽하지는 않음


다른 방법을 찾아보고 있지만 gnu ls 에는 directory first 옵션이 없어 현재로서는 없는 것 같음