
유닉스에서는 ls -l
파일과 디렉터리의 긴 목록이 제공됩니다.
ls -lt
또한종류시간별로 정렬된 파일, 즉 마지막으로 변경되거나 수정된 파일입니다. 이는 ls -lu
긴 목록과 액세스 시간을 제공하고 마지막 액세스 기준이 아닌 az에서 파일을 정렬하는 것과 다릅니다. 액세스 시간을 기준으로 파일을 정렬 하고 싶지만 ls -lu
이를 위해서는
ls -lut
목록을 긴 형식으로 제공하고 액세스 시간을 인쇄하고 액세스 시간을 기준으로 정렬해야 합니다.
ERGO는
-t
시간, 수정 시간 또는 액세스 시간을 기준으로 정렬하는 것을 의미해야 하며, ERGO -u
는목록인터뷰 시간. 액세스 시간별로 나열 및 정렬되는 것은 아닙니다. 그러면 더 이상 논쟁이 없으면 -t
수정 시간별로 나열하는 것을 의미하는 것 같습니다.그리고 정렬수정 시간을 누르세요. 위 내용이 맞나요? 그렇지 않다면 내가 어디서 잘못됐나요?
답변1
이것ls
매뉴얼 페이지이러한 옵션을 명확히 하는 데 도움이 될 수 있습니다.
이 -l
옵션은 출력 형식을 제어하여 "긴" 목록을 생성합니다.
이 -t
옵션은 수정 시간을 기준으로 정렬됩니다. 값이 이미 긴 형식으로 존재합니다.
-u
이 옵션은 사용되는 옵션에 따라 다르게 작동합니다.
- 자체적으로는
ls -u
액세스 시간을 기준으로 정렬됩니다. - 이
-l
옵션을 사용하면 액세스 시간이 표시되지만 이름별로 정렬됩니다. 이 경우 정렬 옵션이 아닌 출력 수정자 역할을 합니다. -l
및 을 사용-t
하면 접속 시간을 표시하고 이를 기준으로 정렬합니다.
이 -c
옵션은 ctime 속성과 동일하게 작동합니다.
복잡성은 긴 목록 형식을 수정해야 하기 때문에 발생합니다. -lo
그룹 정보 억제, -lG
소유자 정보 억제, -lh
사람이 읽을 수 있는 형식으로 크기 표시 등 여러 다른 옵션이 이 방식으로 작동합니다.
GNU 스타일 옵션ls
수동이것을 이해하기 쉽게 만드십시오.
-l
예 --format=long
.
-t
예 --sort=time
.
-u
예 --time=atime
.
마찬가지다. -lu
즉--format=long --time=atime
, 긴 목록을 표시하되 기본 mtime 대신 atime을 사용합니다.
그리고 -ltu
그렇습니다 --format=long --sort=time --time=atime
. 이 예에서는 atime이 표시되고 정렬됩니다.
답변2
기본적으로 맞습니다. -t
"시간별 정렬"은 -u
"atime 타임스탬프 사용"( sort -t
또는 display timestamp 사용 시 -l
)을 의미합니다. POSIX 옵션은 타임스탬프별 정렬을 명시적으로 요청하는 데 사용 -u
되지 않는 한 기본 정렬 순서를 변경하지 않습니다 .-t
POSIX 사양ls
여기에는 다음 텍스트가 포함되어 있습니다.
-u
-t
정렬( ) 또는 쓰기( ) 에는 마지막으로 수정된 파일 대신 마지막 액세스 시간(XBD <sys/stat.h> 참조)을 사용합니다-l
.
ls -u
그러나 GNU 사람들은 다음과 같이 하는 것이 편리하다고 생각합니다.유형그렇지 않으면 ls -u
와 출력 사이에 차이가 없습니다 ls
(둘 다 이름별로 정렬되며 타임스탬프는 표시되지 않습니다). 이것이 GNU가 ls
다른 시스템과 다르게 작동하는 이유입니다 ls
.
ls
GNU 시스템 문서에는 다음과 같이 요약되어 있습니다.
-u
with
-lt
: 접속 시간을 기준으로 정렬하고 표시합니다. with-l
: 접속 시간을 표시하고 이름을 기준으로 정렬합니다. 그렇지 않으면 접속 시간을 기준으로 정렬합니다.
이 간략한 텍스트에서 언급되지 않은 것은 다른 어떤 것에도 해당되지 않습니다.비슷한-l
예를 들어 와 같은 출력 형식은 -o
이와 -g
마찬가지로 옵션에서 -n
정렬 효과를 제거 합니다. 이러한 옵션에는 GNU 매뉴얼에 "like but, ..."이라는 텍스트가 있습니다.-u
-l
-l
ls
-c
ctime 타임스탬프를 정렬/표시하기 위한 GNU의 옵션은 ls
비슷한 방식으로 다른 옵션에 따라 달라집니다.
이것이 GNU가 ls
작동하는 방식입니다1999년부터그 쯤.
ls
어떤 구현을 사용하든 긴 형식 출력을 타임스탬프별로 정렬하려면 atime -t
, -l -ut
ctime -l -ct
또는 -l -t
mtime별로 정렬하는 데 .
답변3
-t
방법유형시간별 - 시간 필드입니다.
-u
수정 시간 대신 액세스 시간을 사용하는 것을 의미합니다(표시용).그리고/또는정렬(해당되는 경우)
따라서 귀하의 이해는 정확합니다. 귀하는 상황을 더욱 복잡하고 혼란스럽게 만들고 있습니다. 한발 물러서서 심호흡을 해보세요. 결국에는 그것이 그렇게 복잡하지 않다는 것을 깨닫게 될 것입니다.
PS 참고해주세요-t
아니요-l
-o
(또는 또는 와 같은 유사한 옵션 -g
)은 그렇지 않습니다.전시하다모든 시간 필드.