我想构建一个Linux命令,列出按访问时间排序的特定目录(和子目录)中的所有文件(及其完整路径).
ls可以按访问时间排序,但不提供完整路径.find给出了完整的路径,但是你在访问时间内唯一的控制就是用-atime N(至少24*N小时前访问)指定一个范围,这不是我想要的.
有没有办法按访问时间排序并立即获得完整路径?我可以写一个脚本,但似乎应该有一种方法来使用标准的Linux程序.
我需要找到.psd我的Linux系统上的所有文件(专用的虚拟主机).我试过这样的事情:ls -R *.psd但是那不起作用.建议?
每当我想列出目录中的内容时,我就会不断地做"ls -ahl".我有没有办法让-ahl在我执行"ls"时传递默认args,或者我应该在bash_profile中创建一个像"alias lsa = ls -ahl"这样的别名?
我正在监视在linux中的文件夹中创建的新文件.我时不时地发出一个"ls -ltr".但我希望有一个程序/脚本可以自动打印它,只有最新的条目.我做了一个短暂的循环来列出它,但它会重复那些不是新的条目,并且当没有新文件时它会让我的屏幕滚动.我已经了解了"watch",它确实展示了我想要的东西并且每隔N秒刷新一次,但是我不想要一个ncurses接口,我正在寻找像tail这样的东西:
总结:获取输入,与之前的输入进行比较,仅输出新的输入.这样做的东西听起来不像是一个奇怪的工具,我可以看到它也用于其他情况,所以我希望它已经存在,但我找不到任何东西.建议?
我正在使用msysgit(1.7.9),我正在寻找正确的git ls-files命令调用,以显示当前级别的(跟踪的)文件和目录,无论是从索引还是当前工作目录,如果这是更轻松.
基本上它会给出一个类似于你在Github上看到的目录列表.来自Windows,我不太熟悉正确的方法(?).
对于Linux操作系统,如何过滤终端中ls命令的输出,只显示二月份创建的文件?
我想通过ls命令知道linux中使用哪个系统调用来显示文件夹(或文件的名称)?特别是以"."开头的文件/文件夹.(点)
我执行了strace ls -a命令来查看系统fstat调用.对于所有其他属性(inode到permisisons),会发生很多调用.哪一个实际上给它的名字?
execve("/bin/ls", ["ls", "-a"], [/* 37 vars */]) = 0
brk(0) = 0x1762000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c14025000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=109464, ...}) = 0
mmap(NULL, 109464, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1c1400a000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libselinux.so.1", …Run Code Online (Sandbox Code Playgroud) 我想ls -l在unix/linux中的bash shell中输入命令时显示所有列标题
当我们ls -ltr在命令提示符下键入时,我们得到类似下面的内容.
-r--r--r-- 2 makerpm root 1898 Jan 28 14:52 sample3
-r--r--r-- 2 makerpm root 1898 Jan 28 14:52 sample1
Run Code Online (Sandbox Code Playgroud)
我想要知道ls' 是否有任何选项显示列标题:
File_Permissions Owner Group Size Modified_Time Name
-r--r--r-- 2 makerpm root 1898 Jan 28 14:52 sample3
-r--r--r-- 2 makerpm root 1898 Jan 28 14:52 sample1
Run Code Online (Sandbox Code Playgroud) 作为我的一个类的赋值的一部分,我必须在C中编写一个程序来复制ls -al命令的结果.我已经阅读了必要的材料,但我仍然没有得到正确的输出.这是我的代码到目前为止,它只应打印出文件大小和文件名,但其打印的文件大小不正确.
码:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main(int argc, char* argv[])
{
DIR *mydir;
struct dirent *myfile;
struct stat mystat;
mydir = opendir(argv[1]);
while((myfile = readdir(mydir)) != NULL)
{
stat(myfile->d_name, &mystat);
printf("%d",mystat.st_size);
printf(" %s\n", myfile->d_name);
}
closedir(mydir);
}
Run Code Online (Sandbox Code Playgroud)
这些是执行代码后的结果:
[root@localhost ~]# ./a.out Downloads
4096 ..
4096 hw22.c
4096 ankur.txt
4096 .
4096 destination.txt
Run Code Online (Sandbox Code Playgroud)
这是正确的尺寸:
[root@localhost ~]# ls -al Downloads
total 20
drwxr-xr-x. 2 root root 4096 Nov 26 01:35 .
dr-xr-x---. …Run Code Online (Sandbox Code Playgroud) --full-time是ls的一个方便的小选项,但在批处理文件中使用时它不起作用.
ls -al -full-time在命令提示符下使用时产生一个扩展的日期和时间:
2012-01-16 18:56:00.000000000
在bash脚本中使用我得到了这个:
ls:非法选项 - - 用法:ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
有没有办法解决.