Linux系统中使用脚本指自定义文件夹图标(gio命令)

如图所示,更改了一个文件夹的默认图标,一直没搞明白,这个设置是保存在哪个文件里面,想通过脚本控制变更图标,一直没有实现,经多方搜索资料,发现可以使用gio命令解决。

一、gio 命令

gio COMMAND [ARGS…]

  • 参数:
  • help 打印帮助
  • version 打印版本
  • cat 串接文件,写到标准输出
  • copy 复制文件
  • info 显示关于位置的信息
  • list 列出某位置的内容
  • mime 获取或设置某种 MIME 类型的处理程序
  • mkdir 创建目录
  • monitor 监视文件和目录更改
  • mount 挂载或卸载位置
  • move 移动文件
  • open 用默认应用打开文件
  • rename 重命名文件
  • remove 删除文件
  • save 从标准输入读取并保存
  • set 设置文件属性
  • trash 移动文件或目录到回收站
  • tree 在树中列出某位置的内容

二、使用info参数查看文件夹详细信息

robin@robin-Lenovo-XiaoXin-I2000:~/下载$ gio info ./测试
显示名称:测试
编辑名称:测试
名称:\xe6\xb5\x8b\xe8\xaf\x95
类型:directory
大小: 4096
uri:file:///home/robin/%E4%B8%8B%E8%BD%BD/%E6%B5%8B%E8%AF%95
local path: /home/robin/下载/测试
unix mount: /dev/sda8 /home ext4 rw,relatime
属性:
standard::type: 2
standard::name: \xe6\xb5\x8b\xe8\xaf\x95
standard::display-name: 测试
standard::edit-name: 测试
standard::copy-name: 测试
standard::icon: inode-directory, folder, inode-directory-symbolic, folder-symbolic
standard::content-type: inode/directory
standard::fast-content-type: inode/directory
standard::size: 4096
standard::allocated-size: 4096
standard::symbolic-icon: inode-directory-symbolic, folder-symbolic, inode-directory, folder
etag::value: 1607505674:835780
id::file: l2056:3277433
id::filesystem: l2056
access::can-read: TRUE
access::can-write: TRUE
access::can-execute: TRUE
access::can-delete: TRUE
access::can-trash: TRUE
access::can-rename: TRUE
time::modified: 1607505674
time::modified-usec: 835780
time::access: 1607505674
time::access-usec: 839780
time::changed: 1607505674
time::changed-usec: 835780
unix::device: 2056
unix::inode: 3277433
unix::mode: 16893
unix::nlink: 2
unix::uid: 1000
unix::gid: 1000
unix::rdev: 0
unix::block-size: 4096
unix::blocks: 8
owner::user: robin
owner::user-real: robin
owner::group: robin
metadata::custom-icon: file:///home/robin/Nextcloud/Photos/ICO/保密.png
metadata::gedit-position: 0

注意:倒数第二行,显示有文件夹所使用的图标文件,及metdata::custom-icon属性

三、使用set参数为文件夹设置新的图标

robin@robin-Lenovo-XiaoXin-I2000:~/下载$ gio set ./测试 metadata::custom-icon file:///home/robin/Nextcloud/Photos/ICO/保密.png

通过该操作即可以脚本形式变更文件夹图标,注意图标文件路径。

四、利用sh脚本批量变更文件夹图标

五、取消设置

robin@robin-Lenovo-XiaoXin-I2000:~/Nextcloud$ gio set -t unset ./工具备份 metadata::custom-icon