답변1
기본적으로 파일 타임스탬프는 최근 타임스탬프가 아닌 경우 "2002년 3월 30일"과 같은 날짜를 사용하고 최근 타임스탬프의 경우 연도 및 시간이 없는 날짜(예: "3월 30일 23:45")를 사용하여 축약된 형식으로 나열됩니다. 이 형식은 아래 설명과 같이 현재 로케일에 따라 달라질 수 있습니다.
타임스탬프가 6개월 미만인 경우 최근 날짜로 간주되며 미래 날짜가 아닙니다. 오늘의 타임스탬프가 가장 최근 형식으로 나열되지 않은 경우 타임스탬프는 미래에 있는 것입니다. 이는 파일 타임스탬프에 의존하는 프로그램(예: make)을 중단시킬 수 있는 시계 왜곡 문제가 있을 수 있음을 의미합니다.
원천: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
답변2
표시된 시간은 수정 시간입니다. 와 은 ls -all
같은 것이며 ls -l -a
다른 것이므로 주의하시기 바랍니다 ls --all
. l
귀하의 예에서 double을 사용할 이유가 없습니다 . 각 파일의 수정 시간을 보려면 를 사용하면 됩니다 ls -al --full-time
.
답변3
표시하려는 날짜/시간이 지난 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)더 많은 정보를 알고 싶습니다.
답변4
오래된 파일에 대한 풀타임을 얻으려면 개인적으로 다음을 사용합니다.
alias ls='ls --time-style=long-iso -Altr'
그래서 로컬에서는 그런 문제가 없습니다. 그러나 FTP를 사용하는 데에는 여전히 문제가 있습니다. 나는 lftp의 미러 옵션을 사용하여 오래된 사진을 내 웹사이트에 업로드하고 있습니다. 일부 사진은 업로드되었지만 변경되지 않았으며 타임스탬프도 없습니다. 이것이 시간대 충돌인지 알아내려고 노력 중이지만 파일 시간이 기본적으로 표시되지 않고 FTP 서버가 ls 옵션 "--time-style=long-iso"를 허용하지 않기 때문에 그럴 수 없습니다.