Jak mohu použít ls
v Linuxu, abych získal pouze seznam názvů dat a velikostí souborů. Nemusím vidět další informace, jako je vlastník nebo povolení. Je to možné?
Proč nepoužít stat
místo ls
?
stat -c "%y %s %n" *
S nástrojem find
můžete získat spoustu kontroly nad tím, jak seznam souborů zobrazujete. ls
ve skutečnosti neumožňuje určit požadované sloupce.
Například:
$ find . -maxdepth 1 -printf '%CY%Cm%Cd.%CH%CM\t%s\t%f\n'
20111007.0601 4096 .
20111007.0601 2 b
20111001.1322 4096 a
Argument akce printf
je podrobně popsán v manuálové stránce. Můžete si vybrat různé časové informace, jakou velikost chcete (velikost souboru nebo použité bloky disků) atd. Tuto ochranu můžete také zajistit pro neobvyklé názvy souborů, pokud je třeba další zpracování.
K formátování výstupu awk
můžete vždy použít jiný nástroj jako ls
1:
/bin/ls -ls | awk '{print $7,$8,$9}'
1.Ano, obecně, neměli byste analyzovat výstup ls , ale v tomto případě to otázka konkrétně vyžaduje ...
Můžete také použít příkaz 'date'. Použití je velmi snadné:
date -r [název souboru]
Pokud chcete použít ls, ale zachovat správnou velikost, můžete použít:
ls -Ss1pq --block-size=1
kde prostor je definován jako oddělovač a f6 znamená pole 6
ls -lt | cut -d" " -f6-
Můžete zpracovat dva příkazy
ls -l|cut -d" " -f5