Не создавайте «LS- на основе» псевдоним. ls
просто не делать то , что вы просите. Это работа stat
.
Если вам не нравится команда stat
, вы можете напрямую вызвать функцию stat()
:
#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]
}