以下是我正在运行的脚本
#$1 - Argument
declare IPATH="sample/"
declare F=$IPATH$1
echo $F
ls $F
Run Code Online (Sandbox Code Playgroud)
输入是 ./script.sh "Fil*"
回声输出是 -
sample/Fil*
Run Code Online (Sandbox Code Playgroud)
当我运行命令时,ls sample/Fil*我得到了所需的输出 - 名称以 FIL 开头且位于示例文件夹中的文件列表,如下所示 -
sample/File sample/File1 sample/File2
Run Code Online (Sandbox Code Playgroud)
但是脚本会引发以下异常。我究竟做错了什么?
ls: sample/Fil*: No such file or directory ls: $IPATH: No such file or directory
Run Code Online (Sandbox Code Playgroud) 我想使用 bash 命令从目录中移动最后 3 个修改过的文件。但是,我注意到我可以通过find以下方式使用:
find . -type f -mtime -0.5 -print -exec mv {} /home/user/Desktop \;
Run Code Online (Sandbox Code Playgroud)
但我还没有想出如何对ls -tr | tail -n 3. 例如,这不起作用:
ls -tr | tail -n 3 -exec mv {} /home/user/Desktop
tail: invalid option -- 'e'
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用第二个选项的唯一原因是为了指定多个文件而不是大概时间。是否有可能使它ls与tail
谢谢!
当我使用 时ls -l,它不会在列表中显示组名称。只有用户名。
aj@host:/media/storage$ ll
total 724
drwxrwxrwx 10 root 4096 Sep 17 18:23 .
drwxr-xr-x 3 root 4096 Jun 16 14:18 ..
drwxrwxr-x 5 aj 4096 Aug 8 01:22 blessed-data
drwxrwxr-x 4 git 4096 Jul 21 15:27 git-repos
drwx------ 2 root 16384 Jun 16 14:33 lost+found
drwxrwsr-x 2 analyst 4096 Sep 17 18:23 projects
Run Code Online (Sandbox Code Playgroud)
为什么不ls -l显示组名,而只显示用户名?
我正在运行 Ubuntu 14.04 LTS(可信赖)。
我是 Ubuntu 的新手,我正在努力理解命令行。
当我想查看 tar 文件的内容时,我使用:
tar tf tarfile.tar
但是当我想查看所有文件的列表时,如果我使用:
ls 一个文件名
它说:
ls: 无法访问 a: 没有那个文件或目录
这是为什么?
为什么一个命令需要减号“-”,而另一个命令不需要?
我正在尝试使用以下命令查找特定文件类型的所有项目文件:
ls -ltR *.mb
Run Code Online (Sandbox Code Playgroud)
我知道在几个文件夹中有我想要的文件,但我没有得到任何结果。我做错了什么?
我想知道是否有一个工具可以列出文件/目录(即对文件夹和文件结构进行快照),如下所示:
audio
mp3
song1.mp3
some other song.mp3
audio books
7 habits.mp3
video
samples
up.mov
cars.mov
Run Code Online (Sandbox Code Playgroud)
换句话说,在树结构中。
Unix 命令ls -R或ls -lR可以做类似的事情,除了它不会以树结构缩进列出
我想递归地列出给定目录中的所有文件,及其完整路径和时间戳。像这样的东西:
10:30 Dec 10 2010 /tmp/mydir/myfile
Run Code Online (Sandbox Code Playgroud)
我试过:
find . -type f -exec ls -la {} \;
Run Code Online (Sandbox Code Playgroud)
但这并没有给我完整的路径。
我知道@中的
-rwxrwxrwx@ 1 me staff 0 16 Mai 10:55 myLog.txt
Run Code Online (Sandbox Code Playgroud)
意味着附加了一些扩展的元数据。
美好的。我不感兴趣。
我需要知道如何删除它?
我在一些 php 脚本的开发阶段一次又一次地得到这个。我的日志文件一次又一次被 @ 阻塞,我的脚本无法再写入日志文件。到目前为止我唯一的解决方案:删除文件并重新创建它并重新修改文件的权限,这当然很糟糕。
也许你能告诉我是什么原因造成的?这似乎完全是随机的。我可以停用此阻止@
感谢评论,我现在发现以下命令删除了“@”
xattr -d com.macromates.caret filename
Run Code Online (Sandbox Code Playgroud)
下一个命令阻止 Textmate 再次添加它(在运行命令之前关闭 Textmate)。
defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
Run Code Online (Sandbox Code Playgroud)
来源和更多信息在这里
我已经包含了来自 OSX 10.6.7 的 ls -lasF 输出的缩略样本 - ls 的手册页没有讨论此输出中显示的每行的第一个数字 (0,8,16,32,48,80,376) . (/etc 链接到 OSX 上的这个目录)
mimac:~ frank$ ls -lasF /private/etc
total 1000
0 drwxr-xr-x 22 root wheel 4216 May 20 13:41 ./
0 drwxr-xr-x@ 6 root wheel 204 Dec 15 2009 ../
8 -rw-r--r-- 1 root wheel 85 Apr 11 23:59 .BroadbandTuner-saved-settings
0 -rw-r--r-- 1 root wheel 753 Jul 16 2009 6to4.conf
8 -rw------- 1 root wheel 24 Apr 14 04:08 AFP.conf
0 -rw-r--r-- 1 root wheel 0 Dec …Run Code Online (Sandbox Code Playgroud)