Abhishek Prakash 发布的文章

如何比较两个相似的文件来检查差异?答案显而易见,就是使用 Linux 中的 diff 命令

问题是,并不是每个人都能自如地在 Linux 终端中比较文件,而且 diff 命令的输出可能会让一些人感到困惑。

以这个 diff 命令的输出为例:

这里肯定涉及到一个学习曲线。然而,如果你使用的是桌面 Linux,你可以使用 GUI 应用来轻松比较两个文件是否有任何差异。

有几个 Linux 中的 GUI 差异比较工具。我将在本周的 Linux 应用亮点中重点介绍我最喜欢的工具 Meld。

Meld:Linux(及 Windows)下的可视化比较和合并工具

通过 Meld,你可以将两个文件并排比较。不仅如此,你还可以对文件进行相应的修改。这是你在大多数情况下想做的事情,对吗?

File Comparison

Meld 还能够比较目录,并显示哪些文件是不同的。它还会显示而文件是新的或是缺失的。

Directory Comparison

你也可以使用 Meld 进行三向比较。

Three Way File Comparison

图形化的并排比较在很多情况下都有帮助。如果你是开发人员,你可以用它来了解代码补丁。Meld 还支持版本控制系统,如 Git、MercurialSubversion 等。

Meld 的功能

开源的 Meld 工具具有以下主要功能:

  • 进行双向和三向差异比较
  • 就地编辑文件,差异比较立即更新
  • 在差异和冲突之间进行导航
  • 通过插入、更改和冲突相应地标示出全局和局部差异,使其可视化
  • 使用正则文本过滤来忽略某些差异
  • 语法高亮显示
  • 比较两个或三个目录,看是否有新增加、缺失和更改的文件
  • 将一些文件排除在比较之外
  • 支持流行的版本控制系统,如 Git、Mercurial、Bazaar 和 SVN
  • 支持多种国际语言
  • 开源 GPL v2 许可证
  • 既可用于 Linux,也可用于 Windows

在 Linux 上安装 Meld

Meld 是一个流行的应用程序,它在大多数 Linux 发行版的官方仓库中都有。

检查你的发行版的软件中心,看看 Meld 是否可用。

Meld In Ubuntu Software Center

另外,你也可以使用你的发行版的命令行包管理器来安装 Meld。在 Ubuntu 上,它可以在 Universe 仓库中找到,并且可以使用 apt 命令安装

sudo apt install meld

你可以在 GNOME 的 GitLab 仓库中找到 Meld 的源码:

Meld Source Code

它值得使用吗?

我知道大多数现代开源编辑器都有这个功能,但有时你只是想要一个简单的界面,而不需要安装额外的附加软件来比较文件。Meld 就为你提供了这样的功能。

你是否使用一些其他工具来检查文件之间的差异?是哪种工具呢?如果你用过 Meld,你有什么经验?请在评论区分享你的意见。


via: https://itsfoss.com/meld-gui-diff/

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

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

本周的开源软件亮点是 Timekpr-nExt。它是一个 GUI 应用,用于限制 Linux 系统中某些账户的电脑使用。对于不想让孩子花太多时间在电脑上的父母来说,这是一个方便的工具。

使用 Timekpr-nExt 在 Linux 上限制电脑使用

如果你家里有小孩,他们花太多时间在电脑上,你可能想对他们的使用进行一些限制。

可以让你根据一天的时间、一天、一周或者一月的小时数来限制某些账户的电脑使用。你也可以设置时间间隔来强制账户用户休息。

给定的时间超过后,用户会自动登出,直到满足限制条件才可以重新登录。

当然,这意味着你需要为孩子们单独设置非管理员(无 sudo 权限)账户。如果孩子们的账户也有管理员权限,他们可以很容易地改变设置。孩子们很聪明,你知道的。

Timekpr-nExt 的功能

除了一个令人讨厌的风格化的名字,Timekpr-nExt 有以下功能:

  • 将系统使用限制设置为按日智能限制、每日、每周或每月限制
  • 你还可以根据时间和小时设置访问限制
  • 用户可以看到关于他们还剩多少时间的通知
  • 设置锁定动作(终止会话、关闭、暂停或锁定屏幕)
  • 追踪账户的时间使用情况

请注意以下事项:

  • 仔细检查你正在配置的账户。不要把自己锁定
  • 每次更改配置时,请点击应用或设置按钮,否则更改将不会被设置
  • 儿童帐户不应该有管理员操作,否则他们会覆盖设置

这里阅读关于使用 Timekpr-nExt 的更多信息的文档

在 Linux 中安装 Timekpr-nExt

对于基于 Ubuntu 的 Linux 发行版(如 Mint、Linux Lite 等),有一个官方 PPA 可用。你可以通过以下命令逐步安装它:

sudo add-apt-repository ppa:mjasnik/ppa
sudo apt update
sudo apt install timekpr-next

Arch Linux 用户可以在 AUR 中找到它。对于其他用户,请检查你的发行版仓库。如果没有这样的包,你可以尝试使用源码。

再说一次,不要在主账户中使用 Timekpr-nExt。你可能会把自己锁在外面。

你会看到两个应用的实例。使用开头有 (SU) 的那个。

删除 Timekpr-nExt

我不能确定删除 Timekpr-nExt 是否也会删除你为用户设置的限制。手动恢复他们(间隔一天 24 小时)会是一个好主意。这里没有重置按钮。

要删除这个应用(如果你使用 PPA 安装它),使用以下命令:

sudo apt-get remove --purge timekpr-next

同时删除 PPA 仓库:

sudo add-apt-repository -r ppa:mjasnik/ppa

在 Linux 上屏蔽成人内容一样,这个应用也是专门针对儿童的。并不是每个人都会觉得它有用,但家里有小孩的人如果觉得有必要的话,可以使用它。

你是否使用其他应用来监控/限制儿童访问计算机?


via: https://itsfoss.com/timekpr-next/

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

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

我已经使用了多少磁盘空间?

在 Linux 上查找可用磁盘空间的最简单的方法是使用 df 命令df 命令从字面意思上代表着 磁盘可用空间 disk free ,很明显,它将向你显示在 Linux 系统上的可用磁盘空间。

df -h

使用 -h 选项,它将以人类可读的格式(MB 和 GB)来显示磁盘空间。

这里是针对我 Dell XPS 系统的 df 命令的输出,它使用了加密磁盘并且只安装了 Linux:

在 Linux 中使用 df 命令检查可用磁盘空间

如果上面的输出使你感到困惑,不用担心。我将介绍一些关于在 Linux 中检查可用磁盘空间的东西。我也将为桌面 Linux 用户展示 GUI 方法。

方法 1: 使用 df 命令来检查在 Linux 中的可用磁盘空间(并理解它的输出)

当你使用 df 命令来检查磁盘空间时,它将显示一组“文件系统”,包括它们的大小、使用的空间和可用的空间。你实际的磁盘通常应该下面列表中的一个:

  • /dev/sda
  • /dev/sdb
  • /dev/nvme0n1p

这不是硬性的标准,但是它可以给予你一个指示,它可以让你能够很容易地从一堆文字中辨别出真正的磁盘。

你的 Linux 系统在你的磁盘上可能有一些用于引导 分区、EFI 分区、根分区、交换分区、家目录等的分区。在这种情况下,这些分区在“磁盘名称”的结尾处使用一个数字来标示,像 /dev/sda1/dev/nvme0n1p2 等等。

你可以从它们的挂载点来辨认出哪个分区是用于做什么的。根分区挂载在 /、EFI 分区在 /boot/EFI 等等。

就我的情况来说,我已经使用了根分区下磁盘空间(232 GB)的 41% 。如果你有 2 到 3 个大分区(像根分区、家目录分区等等),你将不得不在这里计算一下已使用的磁盘空间。

理解 df 命令输出

  • tmpfstmpfs(临时文件系统)用于在虚拟存储器中保持文件。你可以随意地忽略这个虚拟文件系统。
  • udevudev 文件系统 用于存储插入到你系统的设备(像 USB、网卡、CD ROM 等等)的相关信息。你也可以忽略它。
  • /dev/loop: 它们是环回设备。由于 snap 应用程序,在 Ubuntu 中查看磁盘时,你将看到很多的这样的设备。环回设备是虚拟设备,它们允许普通文件作为块设备文件来访问。使用环回设备,snap 应用程序在它们自己的虚拟磁盘中进行沙盒处理。尽管它们是在根分区下,但是你不需要单独计算它们使用的磁盘空间。

丢失了磁盘空间?检查你是否挂载了所有是磁盘和分区

记住,df 命令仅显示已挂载文件系统的磁盘空间。如果你在同一块磁盘上使用多个 Linux 发行版(或者多个操作系统),或者在你的系统上有多个磁盘,你需要先挂载它们,以便查看在这些分区和磁盘上的可用磁盘空间。

例如,我的 Intel NUC 有两个 SSD 磁盘,并且在其上有 4 个或 5 个 Linux 分区。仅当我明确地挂载它们时,df 命令才会显示更多磁盘。

你可以使用 lsblk 命令来查看在你系统上的所有磁盘和分区。

在你有了磁盘分区名称后,你可以用这种方式来挂载它:

sudo mount /dev/sdb2 /mnt

我希望这种方法能够给你提供一个在 Linux 上检查硬盘驱动器空间的好主意。让我们看看如何在 GUI 下来完成。

方法 2: 在 GUI 下检查可用磁盘使用情况

在 Ubuntu 中使用 “Disk Usage Analyzer” 工具来在 GUI 的方式下检查可用磁盘空间是很容易的。

Disk Usage Analyzer 工具

在这里,你将看到所有实际的磁盘和分区。你可能需要单击一些分区来挂载它们。它显示所有已挂载分区的磁盘使用情况。

磁盘使用情况检查

使用 GNOME 的 Disks 实用程序来检查可用磁盘空间

除此之外,GNOME 的 Disks 实用程序也是非常容易使用的工具。

GNOME 的 Disks 工具

启动工具和选择磁盘。选择一个分区来查看可用磁盘空间。如果没有挂载分区,那么先通过单击 “▶” 图标来挂载它。

检查 Ubuntu 的桌面版本的可用磁盘空间

我认为在 Linux 上的所有主要桌面环境都有某种图形工具来检查磁盘使用情况。你可以在你是桌面 Linux 系统的菜单中搜索它。

结束语

当然,有很多方法和工具来检查磁盘空间。为此,我向你显示了最常用的命令行方法和 GUI 方法。

我也解释一些可能会让你很难理解磁盘使用情况的东西。希望你喜欢它。

如果你有问题或建议,请在评论区告诉我。


via: https://itsfoss.com/check-free-disk-space-linux/

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

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

当你开始使用 Linux 并关注关于 Linux 的网站和论坛时,你会经常遇到诸如 GUI、CLI 等术语,有时还会遇到 TUI。

这一章的 Linux 黑话解释简要解释了这些术语,以便你作为一个(新的)Linux 用户在使用这些缩写词时能够更好地理解上下文。

说实话,像 GUI、CLI 或 TUI 这样的术语并不是 Linux 的专属术语。这些都是通用的计算术语,你会发现在非 Linux 的讨论中也会用到它们。

GUI - 图形用户界面 Graphical User Interface

这可能是你在这里最常遇到的词汇。这是因为我们专注于桌面 Linux 用户,并试图涵盖易于使用的图形化方法和应用程序。

GUI 应用程序(或图形应用程序)基本上是指任何可以与你的鼠标、触摸板或触摸屏交互的东西。有了图标和其他视觉概念,你可以使用鼠标指针来访问功能。

GIMP:一个用于照片编辑的GUI应用程序

在 Linux 上,桌面环境为你提供了与系统交互的图形界面,然后,你可以使用 GUI 应用程序,如 GIMP,VLC、Firefox、LibreOffice、文件管理器等来完成各种任务。

GUI 使普通用户的计算机使用变得更加容易,否则它将仍然是一个极客专用区。

CLI - 命令行界面 Command Line Interface

CLI 基本上是一个接受输入来执行某种功能的命令行程序。基本上,任何可以在终端中通过命令使用的应用程序都属于这一类。

apt-cache 是一个 CLI 工具,用于在基于 Debian 的系统上与 APT 缓存交互

早期的电脑与操作系统交互没有鼠标,你必须使用命令与机器互动。

如果你认为这都算困难,那你应该知道,早期的计算机甚至没有一个屏幕可以看到正在输入的东西,他们用实体的纸质打印机看到他们的输入命令。我从来没有用过这样的电脑,也没有在现实生活中看到过。我用过的最接近的东西是学习期间的单片机套件。

现在的 CLI 还有用吗?当然有。命令总是有它的好处,特别是当你处理操作系统的核心功能和配置时,比如设置防火墙、管理网络甚至包管理

你可能会有一个基于 GUI 的应用程序来完成同样的任务,但命令可以让你更精细地访问这些功能。在一些情况下,你会发现 GUI 应用程序也会用命令(在它们的代码中使用)与操作系统交互。

Handbrake GUI 应用程序在底层使用 FFMPEG CLI 工具

许多流行的 GUI 应用程序往往是基于 CLI 工具的。以Handbrake 为例。这是一个流行的开源媒体转换器,它底层使用的是 FFMPEG 命令行工具。

很明显,使用命令行工具没有图形工具那么简单。不要担心。除非你有特殊需要,否则你应该可以用图形化的方式使用 Linux 系统。然而,了解基本的 Linux 命令会有很大的帮助。

TUI - 终端用户界面 Terminal User Interface (也称为 基于文本的用户界面 Text-based User Interface

这是三者中最不常见的名词。TUI 基本上部分是 GUI,部分是 CLI。糊涂了吗?让我为你解释一下。

你已经知道,早期的计算机使用 CLI。在实际的 GUI 出现之前,基于文本的用户界面在终端中提供了一种非常基本的图形交互。你会有更多的视觉效果,也可以使用鼠标和键盘与应用程序进行交互。

终端中的 nnn 文件浏览器

TUI 是基于文本的用户界面或终端用户界面的缩写。“基于文本”这个说法主要是因为你在屏幕上有一堆文本,而“终端用户界面”的说法是因为它们只在终端中使用。

TUI 的应用虽然不是那么常见,但你还是有一些的。基于终端的 Web 浏览器是 TUI 程序的好例子。基于终端的游戏也属于这一类。

CMUS 是基于终端的音乐播放器

当你在 Ubuntu 中安装多媒体编解码器时,你可能会遇到 TUI,你必须接受 EULA 或做出选择。

TUI 应用程序不像 GUI 应用程序那样用户友好,它们经常会有学习曲线,但它们比命令行工具更容易使用一些。

最后……

TUI 应用程序通常也被认为是 CLI 应用程序,因为它们被限制在终端上。在我看来,你是否认为它们与 CLI 不同,这取决于你。

我希望你喜欢这篇 Linux 黑话解释。如果你对这个系列的主题有什么建议,请在评论中告诉我,我将在以后尽量涵盖它们。


via: https://itsfoss.com/gui-cli-tui/

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

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

在终端上工作时,通常会发现终端屏幕上显示了太多的命令及其输出。

你可能需要清除终端屏幕并专注于要执行的下一个任务。相信我,清除 Linux 终端屏幕会很有帮助。

使用 clear 命令清除 Linux 终端

那么,如何清除 Linux 中的终端?最简单,最常见的方法是使用 clear 命令:

clear

clear 命令无需选项。就是这么简单,但是你还需要了解其他一些内容。

clear 命令和其他清除屏幕的方法可能取决于你使用的终端模拟器。终端模拟器是用于访问 Linux Shell(命令行)的终端应用。

如果你在带有 GNOME 终端的 Ubuntu 上使用 clear 命令,它将清除屏幕,并且你将无法看到之前屏幕上的内容。

在许多其他终端模拟器或 Putty 中,它可能只清除一页屏幕。如果使用鼠标或 PageUpPageDown 键滚动,那么仍然可以看到以前的屏幕输出。

坦白说,这取决于你的需要。如果你突然意识到需要引用以前运行的命令的输出,那么也许可以使用该方式。

在 Linux 中清除终端屏幕的其他方法

clear 命令不是清除终端屏幕的唯一方法。

你可以在 Linux 中使用 Ctrl+L 键盘快捷键来清除屏幕。它适用于大多数终端模拟器。

Ctrl+L

如果你在 GNOME 终端(Ubuntu 中默认)中使用 Ctrl+Lclear 命令,那么你会注意到它们的影响有所不同。Ctrl+L 将屏幕向下移动一页,给人一种干净的错觉,但是你仍然可以通过向上滚动来访问命令输出历史。

某些其他终端模拟器将此键盘快捷键设置为 Ctrl+Shift+K

你也可以使用 reset 命令清除终端屏幕。实际上,此命令执行完整的终端重新初始化。但是,它可能比 clear 命令要花费更长的时间。

reset

当你想完全清除屏幕时,还有几种其他复杂的方法可以清除屏幕。但是由于命令有点复杂,所以最好将它作为 Linux 中的别名

alias cls='printf "\033c"'

你可以将此别名添加到你的 bash 配置文件中,以便作为命令使用。

我知道这是一个非常基本的主题,大多数 Linux 用户可能已经知道了,但这对于为新 Linux 用户介绍基本主题并没有什么坏处。是不是?

在清除终端屏幕上有些秘密提示​​吗?为什么不与我们分享呢?


via: https://itsfoss.com/clear-terminal-ubuntu/

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

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

如何清除 APT 缓存?你只需使用这个 apt-get 命令选项:

sudo apt-get clean

但是,清理 APT 缓存不仅仅是运行上面的命令。

在本教程中,我将解释什么是 APT 缓存、为什么会使用它、为什么你要清理它,以及关于清理 APT 缓存你应该知道的其他事情。

我将在这里使用 Ubuntu 作为参考,但由于这是关于 APT 的,因此它也适用于 Debian 和其他基于 Debian 和 Ubuntu 的发行版,比如 Linux Mint、Deepin 等等。

什么是 APT 缓存?为什么要使用它?

当你使用 apt-getapt 命令安装一个软件包时(或在软件中心安装 DEB 包),APT 包管理器会以 .deb 格式下载软件包及其依赖关系,并将其保存在 /var/cache/apt/archives 文件夹中。

下载时,apt 将 deb 包保存在 /var/cache/apt/archives/partial 目录下。当 deb 包完全下载完毕后,它会被移到 /var/cache/apt/archives 目录下。

下载完包的 deb 文件及其依赖关系后,你的系统就会从这些 deb 文件中安装包

现在你明白缓存的用途了吧?系统在安装软件包之前,需要一个地方把软件包文件存放在某个地方。如果你了解 Linux 目录结构,你就会明白,/var/cache 是合适的地方。

为什么安装包后要保留缓存?

下载的 deb 文件在安装完成后并不会立即从目录中删除。如果你删除了一个软件包,然后重新安装,你的系统会在缓存中查找这个软件包,并从这里获取它,而不是重新下载(只要缓存中的软件包版本与远程仓库中的版本相同)。

这样就快多了。你可以自己尝试一下,看看一个程序第一次安装,删除后再安装需要多长时间。你可以使用 time 命令来了解完成一个命令需要多长时间time sudo apt install package_name

我找不到任何关于缓存保留策略的内容,所以我无法说明 Ubuntu 会在缓存中保留下载的包多长时间。

你应该清理 APT 缓存吗?

这取决于你。如果你的根目录下的磁盘空间用完了,你可以清理 APT 缓存来回收磁盘空间。这是 Ubuntu 上释放磁盘空间的几种方法之一。

使用 du 命令检查缓存占用了多少空间:

有的时候,这可能会占用几百兆,如果你正在运行一个服务器,这些空间可能是至关重要的。

如何清理 APT 缓存?

如果你想清除 APT 缓存,有一个专门的命令来做。所以不要去手动删除缓存目录。只要使用这个命令就可以了:

sudo apt-get clean

这将删除 /var/cache/apt/archives 目录的内容(除了锁文件)。以下是 apt-get clean 命令模拟删除内容:

还有一个命令是关于清理 APT 缓存的:

sudo apt-get autoclean

clean 不同的是,autoclean 只删除那些无法从仓库中下载的包。

假设你安装了包 xyz。它的 deb 文件仍然保留在缓存中。如果现在仓库中有新的 xyz 包,那么缓存中现有的这个 xyz 包就已经过时了,没有用了。autoclean 选项会删除这种不能再下载的无用包。

删除 apt 缓存安全吗?

是的,清除 APT 创建的缓存是完全安全的。它不会对系统的性能产生负面影响。也许如果你重新安装软件包,下载时间会更长一些,但也仅此而已。

再说一次,使用 apt-get clean 命令。它比手动删除缓存目录更快、更简单。

你也可以使用像 StacerBleachbit 这样的图形工具来实现这个目的。

总结

在写这篇文章的时候,新的 apt 命令没有这样的内置选项。不过,为了保持向后的兼容性,仍然可以运行 apt clean (内部应该是运行了 apt-get clean)。请参考这篇文章来了解 apt 和 apt-get 的区别

我希望你觉得这个关于 APT 缓存的解释很有趣。虽然这不是什么必要的东西,但了解这些小东西会让你对你的 Linux 系统更加了解。

欢迎你在评论区提出反馈和建议。


via: https://itsfoss.com/clear-apt-cache/

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

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