답변:
기본적으로 파일 타임 스탬프는 최근 타임 스탬프가 아닌 경우 'Mar 30 2002'와 같은 날짜와 최근 타임 스탬프의 경우 'Mar 30 23:45'와 같은 연도 및 시간이없는 날짜를 사용하여 약식 형식으로 나열됩니다. 이 형식은 아래에 설명 된대로 현재 로캘에 따라 변경 될 수 있습니다.
타임 스탬프는 6 개월 미만이고 최근 날짜가없는 경우 최근으로 간주됩니다. 오늘 날짜가 표시된 타임 스탬프가 최근 형식으로 표시되지 않으면 타임 스탬프가 미래에 있으므로 파일 시간 소인에 의존하는 프로그램을 중단시킬 수있는 클럭 스큐 문제가있을 수 있습니다.
출처 : http://www.gnu.org/software/coreutils/manual/coreutils.html#Formatting-file-timestamps
설명하기 위해 :
$ for i in {1..7}; do touch -d "$i months ago" file$i; done
$ ls -l
total 0
-rw-r--r-- 1 terdon terdon 0 Sep 21 02:38 file1
-rw-r--r-- 1 terdon terdon 0 Aug 21 02:38 file2
-rw-r--r-- 1 terdon terdon 0 Jul 21 02:38 file3
-rw-r--r-- 1 terdon terdon 0 Jun 21 02:38 file4
-rw-r--r-- 1 terdon terdon 0 May 21 02:38 file5
-rw-r--r-- 1 terdon terdon 0 Apr 21 2015 file6
-rw-r--r-- 1 terdon terdon 0 Mar 21 2015 file7
표현 된 시간은 수정 시간입니다. ls -all
와 ls -l -a
(과) 다른 점에 유의하십시오 ls --all
. l
예제에서 double을 사용할 이유가 없습니다 . 각 파일의 수정 시간을 보려면을 사용할 수 있습니다 ls -al --full-time
.
ls
에서 정상적으로 사용하는 --time-style=long-iso
것이 더 유용 할 수 있습니다. --full-time
일반적으로 필요하지 않은 소수점 뒤에 9 개의 암호 (!)를 포함하여 초를 표시합니다.
--full-time
암시 -l
, 당신은 그냥 사용할 수 있습니다 ls -a --full-time
.
표시하려는 날짜 / 시간이 지난 6 개월 인
ls
경우 날짜 및 시간을 표시합니다. 6 개월보다 길거나 미래에있을 경우 ls
날짜와 연도를 표시합니다.
다른 답변에서 언급했듯이
ls -ll
에 해당 ls -l
하며ls -all
동등 ls -al
등가 인 ls -a -l
, ls -l -a
, 및 ls -la
.으로 -l
옵션 ls
( "모든 것이 파일이다"때문에, 디렉토리 포함), 파일의 수정 날짜 / 시간을 표시 하지 않는 한
-c
이 경우에도 변경 시간이 표시되거나-u
또한 지정된 경우 액세스 시간을 표시합니다.자세한 내용은 ls (1) 를 참조하십시오.
뭔가 깨달았 니? 10 월 20 일의 시간으로 표시됩니다. 즉, 파일을 마지막으로 수정 한 시간을 표시하지만 오늘이 아닌 다른 날에는 시간이없는 날짜 만 표시됩니다.
Thomas의 답변에 따르면 이것이 아닙니다. 방금 추론 방법을 사용하려고했지만 결국 올바른 결론을 얻지 못했습니다.
Aug 6 19:50 .config
, Aug 6 19:48 VNCHOWTO
.
-all
있습니다. 마지막 L은 불필요한all
단어입니다. 단어 "all"이 아니라-a
(모든 파일 표시) 및-l
(긴리스트 형식)을 나타냅니다. 모두 함께 사용ls -al
하는 것과 동일합니다.