Não crie um alias "ls-based". ls
apenas não faz o que você está pedindo. Este é o trabalho de stat
.
Se você não gostar do comando stat
, poderá chamar a função stat()
diretamente:
#include <stdio.h> #include <sys/stat.h> int main(int argc, char *argv[]) { int i; struct stat st; for (i = 1; i < argc; i++) { if (stat(argv[i], &st) < 0) perror("stat"); else printf("%06o %s\n", st.st_mode, argv[i]); } return 0; }
#!/usr/bin/env perl printf("%06o %s\n", (stat($_))[2], $_) for @ARGV
#!/usr/bin/env ruby ARGV.each do |f| printf "%06o %s\n", File::stat(f).mode, f end
#!/usr/bin/env python import os, sys for f in sys.argv[1:]: sys.stdout.write("%06o %s\n" % (os.stat(f).st_mode, f))
#!/usr/bin/env php <?php for ($i = 1; $i < $argc; $i++) printf("%06o %s\n", fileperms($argv[$i]), $argv[$i]);
#!/usr/bin/env tclsh foreach file $argv { file stat $file st puts [format "%06o %s" $st(mode) $file] }