Estou trabalhando em um servidor Red Hat. Os comandos ls -l
ou ll
a data e a hora em formato +"%b %-d %H:%M"
.
Quero listar os arquivos de maneira que o ano em que cada arquivo foi criado apareça na data.
Como isso é possível?
linux
shell-script
date
WAEL
fonte
fonte
ls -lT
é para Mac OSXls
geralmente não tem como exibi-lo. Então, em geral, isso é impossível.Respostas:
Você pode usar
man ls
e aqui você pode encontrar o--time-style
parâmetro. Ou você pode usar:ls --full-time
.fonte
ls -l --time-style=+%F
ll
definiu comols -la
ou algo mais,ll --full-time
também trabalhe.ls -l
exibirá mês dia e ano - uma vez que , de acordo com a página de manual do BSD: Se o tempo de modificação do arquivo for superior a 6 meses no passado ou no futuro, o ano da última modificação será exibido no lugar dos campos de hora e minuto .Portanto, para garantir que o ano seja sempre exibido, use:
ls --time-style=long-iso
(GNU / Linux)ls -lT
exibirá informações completas sobre o horário em BSD (MacOS)fonte
Como você pediu o ano,
ls -lac
é fácil lembrar se, como eu, você usals -la
o tempo todo. Ac
dá-lhe CTime que exibirá um ano, se não é o ano em curso ou a hora eo minuto que seja.fonte
ls
até a data alterada, em vez da data padrão modificada .ls -l
exibe data e hora para datas que estão nos últimos seis meses e data e ano para outras datas. O ctime pode ser nos últimos seis meses, tanto quanto mtime (data de modificação), assim comols -lac
exibir os horários (em vez de anos), tanto quantols -la
possível. Além disso, como Mateen Ulhaq ressalta,ls -lac
não exibe as mesmas datas que exibels -la
. Esta resposta está errada.Além da resposta de Jan Marek ... Notei que você pode se safar com apenas:
o que fará o mesmo que
ls --full-time
ele descreveu. Obrigado Stéphane Chazelas. Agora eu digito emls --fu
todos os lugares. :)fonte
ls --fu
. As opções longas no estilo GNU podem ser abreviadas desde que não haja ambiguidade (--f
não funcionaria, pois há também um --file-type e --format). Observe que uma versão futura pode introduzir um,--full-perms
por isso é perigoso confiar nisso.Se você estiver usando
busybox
(distribuições incorporadas, por exemplo, OpenWRT, LEDE), o switch que você procura é-e
para versões até 1.26.2 e--full-time
para 1.27.0 e acima (veja o commit que a mudou ).fonte
-e
também funciona com Solarisls
e ast-open's, por isso é realmente mais próximo de um padrão do que o GNU--full-time
. Uma pena que o busybox o tenha removido nas versões mais recentes.pode favorito:
fonte
-T
opção não funcionará com o GNUls
(também não especificado no POSIX). Além disso, ao fornecer código como resposta, é melhor explicar o que cada parte faz.