分类 技术 下的文章

通过这个 Linux 教程学习如何使用 ls 命令在终端中列出文件。

 title=

要在有图形界面的计算机上列出文件,你通常可以打开一个文件管理器(Linux 上的 “文件”,MacOS 上的 “访达”,Windows 上的 “文件资源管理器”)来查看文件。

要在终端中列出文件,你可以使用 ls 命令来列出当前目录中的所有文件。而 pwd 命令可以告诉你当前所在的目录:

$ pwd
/home/tux
$ ls
example.txt
Documents
Downloads
Music
Pictures
Templates
Videos

你可以通过 --all(简写为 -a) 选项看到隐藏文件:

$ pwd
/home/tux
$ ls --all
.               Downloads
..              .local
.bashrc         Music
.config         Pictures
example.txt     Templates
Documents       Videos

如你所见,列出的前两项是点。单个点(.)实际上是一个元位置,代表 你当前所在的文件夹 。两个点(..)表示你可以从当前位置返回的上级目录。也就是说,当前目录在另一个文件夹中。当你在计算机目录间移动时,你就可以利用这些元位置为自己创建快捷方式,或者增加你的路径的独特性。

文件和文件夹以及如何区分它们

你可能会注意到,文件和文件夹是很难区分的。一些 Linux 发行版有一些漂亮的颜色设置,比如所有的文件夹都是蓝色的,文件是白色的,二进制文件是粉色或绿色的,等等。如果你没有看到这些颜色,你可以试试 ls --color。如果你有色盲症或者使用的不是彩色显示器,你可以使用 --classify 选项替代:

$ pwd
/home/tux/Downloads
$ ls --classify
android-info.txt
cheat/
test-script.sh*

你会发现,文件夹末尾加了一个斜杠(/),以表示它们是文件系统中的某一级目录。而二进制文件,如压缩文件和可执行程序,用星号(*)标记。


via: https://opensource.com/article/21/8/linux-list-files

作者:Seth Kenlon 选题:lujun9972 译者:piaoshi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇快速教程演示了如何安装 elementary / Pantheon 优化工具。

elementary 优化工具 elementary Tweaks Tool 是专为 elementary OS 设计的实用工具。它提供了一些用于修改 elementary 设置的选项。虽然 elementary 已经提供了绝大多数选项,但还有一小部分的 Pantheon 桌面优化是不能直接通过普通设置修改的,因此这个工具才得以诞生。这个工具与 GNOME 中的 GNOME Tweaks 有些相似。

也就是说,安装这个工具其实十分简单,只是 elementary OS 6 Odin 与早期版本(例如 elementary OS 5 Juno)存在一些区别。从 elementary OS 6 Odin 开始,这个工具已经重命名为 Pantheon 优化工具 Pantheon Tweaks Tool 。下面是安装步骤。

安装 elementary 优化工具

elementary OS 并没有内置用于添加 PPA 的 software-properties-common 软件包。如果你还没有安装此软件包,请使用如下命令安装:

sudo apt install software-properties-common

elementary OS 6 Odin

该版本的优化工具已经改名,并且独立于原版开发。它的名称是 Pantheon Tweaks。你可以使用如下命令安装它。

sudo add-apt-repository -y ppa:philip.scott/pantheon-tweaks
sudo apt install -y pantheon-tweaks

elementary OS 5 Juno 及更旧版本

如果你正在使用 elementary OS 5 Juno 或者更旧的版本,你可以使用同一 PPA 安装早期版本的 elementary-tweaks。在终端输入以下命令即可安装。

sudo add-apt-repository -y ppa:philip.scott/elementary-tweaks
sudo apt install -y elementary-tweaks

使用方法

安装完成后,你可以在 “应用程序菜单 > 系统设置 > 优化” 中使用此工具。

设置中的 Tweaks(优化)选项

在“优化”窗口,你可以修改一些选项,配置你的 elementary 桌面。

安装完成后的 elementary 优化工具 —— 选项

顺便提示一下,这款工具仅仅是 elementary 桌面设置的前端。如果你知道准确的名称或属性,你可以直接在终端中修改配置。你在这款优化工具中获得的选项也可以在 dconf 编辑器中查找 io.elementary 路径以修改。

如果你在安装或使用优化工具时遇到了一些问题,你可以在评论区留言。


via: https://www.debugpoint.com/2021/07/elementary-tweaks-install/

作者:Arindam 选题:lujun9972 译者:imgradeone 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linux 发行版十分好用,而且它们有一些用户可能不知道的技巧。让我们来看看一些命令行实用工具,当你热衷于终端而不是 GUI 时,它们可能更顺手。

我们都知道在一个系统上使用终端会更高效。当你编辑和排版一个文本文件时,终端会让你确切的感受到,生活如此简单。

本文将向你介绍 wcsorttrsed 命令。

wc

wc 是一个实用工具,全称是 “word count”。顾名思义,它可以用来统计任何文件的行数、单词数和字节数。

让我们来看看它是如何工作的:

$ wc filename
lines words characters filename

输出的是文件的行数、单词数、字符数和文件名。

想获得特定的输出,我们必须使用选项:

  • -c 打印字节总数
  • -l 打印行数
  • -w 打印单词总数
  • -m 打印字符总数

wc 示例

让我们来看看它的运行结果。

让我们从一个文本文件 lormipsm.txt 开始。首先,我们通过 cat 查看文件内容,然后使用 wc

$ cat loremipsm.txt
Linux is the best-known and most-used open source operating system.
As an operating system, Linux is software that sits underneath all of the other software on a computer,
receiving requests from those programs and replaying these requests to the computer's hardware.

$ wc loremipsm.txt
3 41 268 loremipsm.txt

假设我只想查看文件的字节数:

$ wc -c loremipsm.txt
268 loremipsm.txt

查看文件的行数:

$ wc -l loremipsm.txt
3 loremipsm.txt

查看文件的单词数:

$ wc -w loremipsm.txt
41 loremipsm.txt

现在只查看文件的字符数:

$ wc -m loremipsm.txt
268 loremipsm.txt

sort

sort 命令是最有用的工具之一。它会对文件的数据进行排序。可以根据字符或数字进行升序或降序排列。它也可以用来对文件中的行进行排序和随机化。

使用 sort 非常简单。我们需要做的仅仅是提供一个文件名:

$ sort filename

默认的是按照字母顺序对数据进行排序。需要注意的是 sort 命令仅仅是对数据进行排序展示。它并不会改写文件。

使用 sort 命令的一些有用的选项:

  • -r 将文件中的行按倒序进行排序
  • -R 将文件中的行打乱为随机顺序
  • -o 将输出保存到另一个文件中
  • -k 按照特定列进行排序
  • -t 使用指定的分隔符,而不使用空格
  • -n 根据数值对数据进行排序

sort 示例

让我们看看 sort 的几个简单示例。

我们有一个 list.txt 的文件,包含逗号分隔的名称和数值。

首先让我们打印出文件内容并简单排序:

$ cat list.txt
Cieran Wilks, 9
Adelina Rowland, 4
Hayden Mcfarlnd, 1
Ananya Lamb, 5
Shyam Head, 2
Lauryn Fuents, 8
Kristian Felix, 10
Ruden Dyer, 3
Greyson Meyers, 6
Luther Cooke, 7

$ sort list.txt
Adelina Rowland, 4
Ananya Lamb, 5
Cieran Wilks, 9
Greyson Meyers, 6
Hayden Mcfarlnd, 1
Kristian Felix, 10
Lauryn Fuents, 8
Luther Cooke, 7
Ruden Dyer, 3
Shyam Head, 2

现在对数据进行倒序排序:

$ sort -r list.txt
Shyam Head, 2
Ruden Dyer, 3
Luther Cooke, 7
Lauryn Fuents, 8
Kristian Felix, 10
Hayden Mcfarlnd, 1
Greyson Meyers, 6
Cieran Wilks, 9
Ananya Lamb, 5
Adelina Rowland, 4

让我们打乱数据:

$ sort -R list.txt
Cieran Wilks, 9
Greyson Meyers, 6
Adelina Rowland, 4
Kristian Felix, 10
Luther Cooke, 7
Ruden Dyer, 3
Lauryn Fuents, 8
Hayden Mcfarlnd, 1
Ananya Lamb, 5
Shyam Head, 2

来看一点更复杂的。这次我们根据第二个字段,也就是数值对数据进行排序,并使用 -o 选项将输出保存到另一个文件中:

$ sort -n -k2 -t ',' -o sorted_list.txt list.txt
$ ls
   sorted_list.txt    list.txt
$ cat sorted_list.txt
Hayden Mcfarlnd, 1
Shyam Head, 2
Ruden Dyer, 3
Adelina Rowland, 4
Ananya Lamb, 5
Greyson Meyers, 6
Luther Cooke, 7
Lauryn Fuents, 8
Cieran Wilks, 9
Kristian Felix, 10

这里我们使用 -n 选项按数字顺序进行排序,-k 选项用来指定要排序的字段(在本例中为第 2 个字段),-t 选项指定分隔符或字段分隔符(逗号),-o 选项将输出保存到 sorted_list.txt 文件中。

sed

sed 是一个流编辑器,用于过滤和转换输出中的文本。这意味着我们不需要对原文件进行修改,只需要对输出进行修改。如果需要,我们可以将更改保存到一个新的文件中。sed 提供了很多有用的选项用于过滤和编辑数据。

sed 的语法格式如下:

$ sed [OPTION] ‘PATTERN’ filename

sed 常用的一些选项:

  • -n 取消默认输出
  • p 打印指定的数据
  • d 删除指定行
  • q 退出 sed 脚本

sed 示例

我们来看看 sed 是如何运作的。我们从 data 文件开始,其中的字段表示编号、名称、年龄和操作系统。

如果行出现在特定的行范围内,该行将打印 2 次:

$ cat data
1    Vicky Grant      20   linux
2    Nora Burton    19   Mac
3    Willis Castillo   21  Windows
4    Gilberto Mack 30   Windows
5    Aubrey Hayes  17   windows
6    Allan Snyder    21   mac
7    Freddie Dean   25   linux
8    Ralph Martin    19   linux
9    Mindy Howard  20   Mac

$ sed '3,7 p' data
1    Vicky Grant      20   linux
2    Nora Burton    19   Mac
3    Willis Castillo   21  Windows
3    Willis Castillo   21  Windows
4    Gilberto Mack 30   Windows
4    Gilberto Mack 30   Windows
5    Aubrey Hayes  17   windows
5    Aubrey Hayes  17   windows
6    Allan Snyder    21   mac
6    Allan Snyder    21   mac
7    Freddie Dean   25   linux
7    Freddie Dean   25   linux
8    Ralph Martin    19   linux
9    Mindy Howard 20   Mac

这里的操作用单引号括起来,表示第 3 行和第 7 行,并且使用了 p 打印出符合匹配规则的数据。sed 的默认行为是在解析后打印每一行。这意味着由于使用了 p ,第 3 行到第 7 行打印了两次。

如何打印文件中特定的行?使用 -n 选项来消除在输出中不匹配的行:

$ sed -n '3,7 p' data
3    Willis Castillo     21    Windows
4    Gilberto Mack    30   Windows
5    Aubrey Hayes     17   windows
6    Allan Snyder       21   mac
7    Freddie Dean      25  linux

使用 ‘-n’ 仅仅只有第 3 行到第 7 行会被打印。

省略文件中的特定行。使用 d 从输出中删除行:

$ sed '3 d' data
1    Vicky Grant      20    linux
2   Nora Burton     19    Mac
4   Gilberto Mack  30    Windows
5   Aubrey Hayes   17    windows
6   Allan Snyder     21    mac
7   Freddie Dean    25   linux
8   Ralph Martin    19    linux
9   Mindy Howard  20   Mac

$ sed '5,9 d' data
1    Vicky Grant     20   linux
2   Nora Burton    19   Mac
3   Willis Castillo   21   Windows
4   Gilberto Mack 30   Windows

从文件中搜索特定的关键字:

$ sed -n '/linux/ p' data
7    Freddie Dean   25  linux
8    Ralph Martin   19   linux

$ sed -n '/linux/I p' data
1     Vicky Grant      20  Linux
7     Freddie Dean  25  linux
8     Ralph Martin   19  linux

在这些例子中,我们在 / / 中使用了一个正则表达式。如果文件中有类似的单词,但大小写不一致,可以使用 I 使得搜索不区分大小写。回想一下,-n 删除了输出中不匹配的行。

替换文件中的单词:

$ sed 's/linux/linus/' data
1   Vicky Grant      20   Linux
2   Nora Burton    19   Mac
3   Willis Castillo   21   Windows
4   Gilberto Mack  30  Windows
5   Aubrey Hayes   17  windows
6   Allan Snyder     21  mac
7   Freddie Dean    25 linus
8   Ralph Martin    19  linus
9   Mindy Howard 20  Mac

这里 s/ / / 表示它是一个正则表达式。在两个 / 之间的就是定位的单词和需要替换的新单词。

tr

tr 命令可以用来转换或删除字符。它可以将小写字母转换为大写字母,也可以将大写字母转换为小写字母,可以消除重复字符,也可以删除特定字符。

tr 的奇怪之处在于,它不同于 wcsortsed 那样接受文件作为输入。我们使用 | (管道符)为 tr 命令提供输入。

$ cat filename | tr [OPTION]

tr 命令使用的一些选项:

  • -d 删除给定输入第一个集合中的指定字符,不做转换
  • -s 将重复出现的字符替换为单个

tr 示例

现在让我们使用 tr 命令将 letter 文件中的所有小写字符转换为大写字符:

$ cat letter
Linux is too easy to learn,
And you should try it too.

$ cat letter | tr 'a-z' 'A-Z'
LINUX IS TOO EASY TO LEARN,
AND YOU SHOULD TRY IT TOO.

这里的 a-zA-Z 表示我们想要将 az 范围内的小写字符转换为大写字符。

删除文件中的 o 字符:

$ cat letter | tr -d 'o'
Linux is t easy t learn,
And yu shuld try it t.

从文件中压缩字符 o 意味着如果 o 在文件中重复出现,那么它将会被删除并且只打印一次:

$ cat letter | tr -s 'o'
Linux is to easy to learn,
And you should try it to.

总结

这是使用 wcsortsedtr 命令的快速演示。这些命令可以方便快捷的操作终端上的文本文件。你可以使用 man 命令来了解这些命令的更多信息。


via: https://fedoramagazine.org/command-line-quick-tips-wc-sort-sed-and-tr/

作者:mahesh1b 选题:lujun9972 译者:perfiffer 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

点击打开了很多相似的相片?同样的相片保存在不同文件夹里?我理解这种感受。

在相机里点击相片,通过 WhatsApp 发送。然后又备份相片,于是在 WhatsApp 和系统相册里就会存下同样的拷贝。这个很烦人,很乱而且额外占用不必要的存储空间。

我是在翻看我岳父的相片收藏时遇到这个问题的。下面是我如何找出重复相片并删除的做法。

使用 digiKam 来找出和删除重复相片

digiKam 是一个 用来管理和收集相片的自由开源应用。它主要是方便摄影师,但并不是说一定要专业玩相机的人才能用。

我可以演示如何使用这个工具来查找重复相片,然后根据需要删除重复内容。

第一步

首先是安装 digiKam。它是一个很流行的应用程序,应该可以在软件中心里直接安装,或者通过你的发行版的包管理器安装。

通过软件中心安装 digikam

第二步

在第一次运行 digiKam 时,它会要求你选择相片保存的位置。然后会创建一个 SQLite 数据库并开始导入图片。

第三步

在相片导入完成以后,在文件菜单里选择工具->查找重复图片

在文件菜单里,选择工具->查找重复图片

第四步

根据你所收集的图片数量,会需要一些时间。之后,你应该可以在左侧边栏里看到有重复的所有相片。在选中图片后,重复的相片会在右侧边栏里显示出来。

digiKam 找到的重复图片

在上面的截图里,我在左侧选中的图片有四张一样的。其中有一张图片标记了“ 参考图片 Reference image ”,不过还是由你来确定哪张是原始的,哪张是复制的。

重复的相片默认会按保存位置(比如文件夹)来分组。可以在文件菜单里选择视图->分类显示选择其他方式。

要删除重复相片的话,选中有侧边栏里的相片并按下删除键。

可以重复这个操作,选择左侧边栏里的图片,一个个删除重复图片。会花太长时间?有个方法可以一次删除多个重复内容。

在 digiKam 里删除多个重复图片

如果想一次把所有重复相片全删掉的话,可以在左侧边栏里选中所有相片。

然后,打开文件菜单->视图->排序,然后选择按相似程度。

删除多个重复相片

之后会在底部显示所有参考图片。然后可以在右侧边栏里选中所有没有标记重复的相片,并按下删除按钮。

额外提示:可以在垃圾桶里恢复已删除的相片

意外总是有的。人们经常会不小心误删了相片。这也是为什么 digiKam 不会立刻彻底删除图片。而是选择在保存相片的文件夹下创建隐藏的 .dtrash 文件夹,然后将“已删除”的相片移动到里面。

在应用程序界面上,你也可以看到这个垃圾桶文件夹。在里面可以找到你“删除”的相片,然后根据需要可以选择恢复。

digiKam 的垃圾桶文件夹

希望你能喜欢这个关于在 Linux 上查找和删除重复图片的简短教程。类似的,你可能会想了解 使用 GUI 工具在 Linux 系统里搜索重复文件

有任何问题和建议,请在下方留评。


via: https://itsfoss.com/find-remove-duplicate-photos-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:zpl1025 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这应该是一个非常简单的话题,但我写这个是因为我看到很多网站推荐在 Linux Mint 上安装 Google Chrome 的奇怪命令行步骤。那是可行的,但那是不必要的复杂,特别是对于不熟悉命令行的初学者。

实际上,你根本不需要走终端方式。你所要做的就是去谷歌浏览器的网站,下载 Ubuntu 的安装文件并安装。

让我详细介绍一下步骤,供你了解。

在 Linux Mint 上安装 Google Chrome

进入 Google Chrome 的网站。

Google Chrome Website

你会看到一个 “Download Chrome” 的按钮。点击它。

Download Chrome for Linux

它将向你显示在 Linux 上下载 Chrome 的两个选项。选择 Debian/Ubuntu 选项并点击 “Accept and Install” 按钮。

Select Debian/Ubuntu option for Chrome package on Mint

在开始下载之前,Firefox 会询问你是否要用 Gdebi 打开下载的文件或保存它。你可以选择任何一个选项,因为最终你会 使用 Gdebi 来安装 deb 文件。然而,我更喜欢先保存文件。

Save the deb file

等待下载完成。

Wait for Google Chrome download to finish

下载完成后,在文件管理器中进入下载文件夹。要 安装 deb 文件,可以双击它或者右击它并选择 “Open With GDebi Package Installer”。

Double click on the downloaded deb file to install it

等待几秒钟,它应该给你一个安装的选项。

Hit the Install Package option in Gdebi

它将要求你提供 Linux Mint 的账户密码。在 Linux 中,你需要提供你的密码来安装任何应用。

Enter your password for installing an application

你就要完成了。它将显示哪些额外的软件包将与之一起安装(如果有的话)。点击继续按钮即可。

Details on the packages to be installed

安装完成应该只需要几秒钟或最多一分钟。

Installing Chrome in progress

安装完成后,你应该看到这样的屏幕。

Chrome successfully installed on Linux Mint

安装完成后,你可以在应用菜单中寻找 Google Chrome 来运行它。

Run Google Chrome in Linux Mint

然后在 Linux Mint 上享受 Google Chrome。

Google Chrome running in Linux Mint

如何在 Linux Mint 上更新 Google Chrome

这个方法的好处是,谷歌浏览器会随着系统的更新而更新。当你安装 deb 文件的时候,它也会在你的系统中添加一个来自谷歌的仓库。

Chrome adds a repository to the system for providing updates

由于这个添加的仓库,Chrome 浏览器上的更新将被添加到系统更新中。因此,当你更新 Linux Mint 时,它也会被更新(如果有可用的更新)。

如何从 Linux Mint 中删除 Google Chrome

不喜欢 Chrome?不用担心。你可以从 Linux Mint 中卸载谷歌浏览器。同样这次你也不需要使用终端。

点击菜单,搜索 Chrome。在 Chrome 图标上点击右键,你会看到一个 “Uninstall” 选项。选择它。

Removing Google Chrome from Linux Mint

当然,你必须输入你的密码。它将显示要删除的软件包。在这里点击 OK。

Uninstalling Google Chrome from Linux mint

你可以留下 Google Chrome 的仓库,也可以删除它。这是你的选择。

我希望你觉得这个教程对在 Linux Mint 上使用 Google Chrome 有帮助。


via: https://itsfoss.com/install-chrome-linux-mint/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

用 Linux 的 du 命令了解你正在使用多少磁盘空间。

 title=

无论你有多少存储空间,它总有可能被填满。在大多数个人设备上,磁盘被照片、视频和音乐填满,但在服务器上,由于用户账户和日志文件数据,空间减少是很正常的。无论你是负责管理一个多用户系统,还是只负责自己的笔记本电脑,你都可以用 du 命令检查磁盘的使用情况。

默认情况下,du 列出了当前目录中使用的磁盘空间,以及每个子目录的大小。

$ du
12 ./.backups
60 .

在这个例子中,当前目录总共占用了 60KB,其中 12KB 被子目录 .backups 占用。

如果你觉得这很混乱,并希望分别看到所有的大小,你可以使用 --separate-dirs(或简写 -S)选项:

$ du --separate-dirs
12 ./.backups
48 .

显示相同的信息(48KB 加 12KB 是 60KB),但每个目录被独立处理。

如需看到更多的细节,可以使用 --all(简写 -a)选项,它显示每个目录中以及每个文件:

$ du --separate-dirs --all        
4    ./example.adoc
28   ./graphic.png
4    ./.backups/example.adoc~
12   ./.backups
4    ./index.html
4    ./index.adoc
48   .

查看文件的修改时间

当查看文件以找出占用空间的内容时,查看文件最后一次被修改的时间是很有用的。一年内没有使用过的文件可以考虑归档,特别是当你的空间快用完时。

通过 du 查看文件的修改时间,使用 --time 选项:

$ du --separate-dirs --all --time
28   2021-07-21 11:12    ./graphic.png
4    2021-07-03 10:43    ./example.adoc
4    2021-07-13 13:03    ./index.html
4    2021-07-23 14:18    ./index.adoc
48   2021-07-23 14:19    .

为文件大小设置一个阈值

当为了磁盘空间而查看文件时,你可能只关心较大的文件。你可以通过 --threshold(简写 -t)选项为文件大小设置一个阈值。例如,只查看大于 1GB 的文件:

$ \du --separate-dirs --all --time --threshold=1G ~/Footage/
1839008 2021-07-14 13:55    /home/tux/Footage/snowfall.mp4
1577980 2020-04-11 13:10    /home/tux/Footage/waterfall.mp4
8588936 2021-07-14 13:55    /home/tux/Footage/

当文件较大时,它们可能难以阅读。使用 --human-readable(简写 -h)选项可以使文件大小更容易阅读:

$ du --separate-dirs --all --time --threshold=1G --human-readable ~/Footage/
1.8G 2021-07-14 13:55    /home/tux/Footage/snowfall.mp4
1.6G 2020-04-11 13:10    /home/tux/Footage/waterfall.mp4
8.5G 2021-07-14 13:55    /home/tux/Footage/

查看可用磁盘空间

如需获得一个驱动器上可用磁盘空间的摘要,请阅读我们关于 df 命令的文章。


via: https://opensource.com/article/21/7/check-disk-space-linux-du

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:turbokernel

本文由 LCTT 原创编译,Linux中国 荣誉推出