jde*_*ney 3 linux properties ubuntu
在 Windows 中,可以打开资源管理器并添加列以查看有关文件的其他信息。例如,在下图中,我添加了公司、版权和描述列:

我需要知道是否有办法在运行 linux (Ubuntu 12.04 LTS) 的系统上通过命令行获取此信息。我可以使用字符串和 grep 作为公司名称并查看它,但是,它假设我已经知道公司名称。我不能只对“公司”进行 grep 并让它在同一行或下一行返回公司名称。
您无法使用 获取所有信息ls。
您需要几个命令:
姓名:ls
业主:ls -ld <filename> | cut -f3 -d' '
例如: root
修改日期:ls -ld <filename> | awk '{print $6" "$7}'
例如: 2012-03-02 06:56
(stat <filename>用于访问和更改的日期。)
类型:file <filename>
例如: /lib/libiw.so.30: ELF 32-bit LSB shared object, Intel 80386 (...)
尺寸:ls -hld <filename> | cut -f5 -d' '
例如: 34K
标签: 不适用
公司:apt-cache show $(dpkg -S <filename> | cut -f1 -d:) | grep Origin
例如: Origin: Ubuntu
(在基于 .rpm 的系统上,可以在 中找到此信息rpm -q -i -f <filename>)
版权:cat /usr/share/doc/$(dpkg -S <filename> | cut -f1 -d:)/copyright 2>/dev/null || echo 'No copyright information'
例如: (...) Copyright: Commercial (...)
(在基于 .rpm 的系统上,可以在 中找到此信息rpm -q -i -f <filename>)
说明:apt-cache show $(dpkg -S <filename> | cut -f1 -d:) | fgrep 'Description' | fgrep -v Description-md5
例如: Description-en: Filesystem in Userspace (library)
(在基于 .rpm 的系统上,可以在 中找到此信息rpm -q -i -f <filename>)
详细说明:apt-cache show $(dpkg -S <filename> | cut -f1 -d:) | egrep -v '^[^ ]'
例如: GNU findutils provides utilities to find files meeting specified
criteria and perform various actions on the files which are found.
This package contains 'find' and 'xargs'; however, 'locate' has
been split off into a separate package.
(在基于 .rpm 的系统上,可以在 中找到此信息rpm -q -i -f <filename>)
这是 Ubuntu 的一个非常快速和肮脏的 shell 函数,它提供了上面的大部分信息:
function lsw { filename=$1; ( echo "XXNameXXOwnerXXDate ModifiedXXTypeXXSizeXXCompanyXXDescription"; ( echo XX$filename; echo -n XX; ls -dl $filename | cut -f3 -d' '; echo -n XX; ls -dl $filename | awk '{print $6" "$7}'; echo -n XX; file $filename | cut -f2 -d: | cut -f1 -d,; echo -n XX; ls -hld $filename| cut -f5 -d' '; echo -n XX; apt-cache show $(dpkg -S $filename 2>/dev/null| cut -f1 -d:) 2>/dev/null| egrep 'Origin:|Section:' | tail -n 1 | cut -f2 -d:; echo -n XX; apt-cache show $(dpkg -S $filename 2>/dev/null| cut -f1 -d:) 2>/dev/null| fgrep 'Description' | fgrep -v Description-md5 | cut -f2 -d:) | tr '\n' ' '; echo ) | column -t -s XX; }
Run Code Online (Sandbox Code Playgroud)
一些例子:
$ lsw /home/jaume
Name Owner Date Modified Type Size Company Description
/home/jaume jaume 2013-02-19 22:01 directory 4.0K
$ lsw /opt/ibm/notes/notes
Name Owner Date Modified Type Size Company Description
/opt/ibm/notes/notes root 2012-12-08 08:47 ELF 32-bit LSB executable 47K IBM IBM Notes
$ lsw /lib/libfuse.so.2
Name Owner Date Modified Type Size Company Description
/lib/libfuse.so.2 root 2012-03-02 16:33 symbolic link to `libfuse.so.2.8.6' 16 Ubuntu Filesystem in Userspace (library)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26300 次 |
| 最近记录: |