linux rm替代命令_5种基本Linux命令行工具的现代替代品

linux rm替代命令

在Linux / Unix系统的日常使用中,我们使用许多命令行工具来完成工作并理解和管理我们的系统,例如du用来监视磁盘利用率, top用来显示系统资源。 其中一些工具已经存在很长时间了。 例如, top于1984年首次发布,而du的第一次发布可追溯至1971年。

多年来,这些工具已经过现代化改造并移植到不同的系统中,但是,总的来说,它们仍然遵循其最初的想法,外观和感觉。

这些都是很棒的工具,对于许多系统管理员的工作流程来说都是必不可少的。 但是,近年来,开源社区开发了可带来更多好处的替代工具。 有些只是令人眼花candy乱的东西,而另一些则大大提高了可用性,使其成为在现代系统上使用的绝佳选择。 这些包括以下五个替代标准Linux命令行工具的方法。

1. ncdu代替du

NCurses磁盘使用情况( ncdu )工具提供了与du类似的结果,但是在基于curses的交互式界面中,该界面侧重于消耗大部分磁盘空间的目录。

ncdu花一些时间分析磁盘,然后显示按最常用的目录或文件排序的结果,如下所示:


   
     
     
     
     
ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
   96.7 GiB [##########] /libvirt
   33.9 GiB [###       ] /.crc
    7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local
    2.5 GiB [          ] /.minishift
    2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache
    1.7 GiB [          ] /Videos
    1.1 GiB [          ] /go
  692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp
  139.2 MiB [          ] /.var
  104.4 MiB [          ] /.oh-my-zsh
   82.0 MiB [          ] /scripts
   55.8 MiB [          ] /.mozilla
   54.6 MiB [          ] /.kube
   41.8 MiB [          ] /.vim
   31.5 MiB [          ] /.ansible
   31.3 MiB [          ] /.gem
   26.5 MiB [          ] /.VIM_UNDO_FILES
   15.3 MiB [          ] /Personal
    2.6 MiB [          ]  .ansible_module_generated
    1.4 MiB [          ] /backgrounds
  944.0 KiB [          ] /Pictures
  644.0 KiB [          ]  .zsh_history
  536.0 KiB [          ] /.ansible_async
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540

使用箭头键导航到每个条目。 如果在目录条目上按Enter键 ,则ncdu显示该目录的内容:


   
     
     
     
     
--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

您可以使用它来向下钻取目录,并查找哪些文件占用最多的磁盘空间。 使用箭头键返回到上一个目录。 默认情况下,您可以通过按d键使用ncdu删除文件,并在删除文件之前要求确认。 如果要禁用此行为以防止发生意外,请对只读访问使用-r选项: ncdu -r

ncdu可用于许多平台和Linux发行版。 例如,您可以使用dnf从官方存储库直接将其安装在Fedora上:

 $  sudo dnf install ncdu 

您可以在ncdu网页上找到有关此工具的更多信息。

2. htop替代top

htop是一个类似于top的交互式过程查看器,但是开箱即用地提供了更好的用户体验。 默认情况下, htop在令人愉悦的彩色显示中显示与top相同的度量。

默认情况下, htop如下所示:

linux rm替代命令_5种基本Linux命令行工具的现代替代品_第1张图片

(Ricardo Gerardi, CC BY-SA 4.0 )

与默认top

linux rm替代命令_5种基本Linux命令行工具的现代替代品_第2张图片

(Ricardo Gerardi, CC BY-SA 4.0 )

另外, htop在顶部提供系统概述信息,在底部提供命令栏以使用功能键触发命令,您可以通过按F2进入设置屏幕来对其进行自定义。 在设置中,您可以更改其颜色,添加或删除指标或更改概述栏的显示选项。

top达到同样的目的, htop提供更稳健的默认配置,这使得它一个很好的和易于使用过程中观众。

要了解有关此项目的更多信息,请查看htop主页 。

3. tldr替代人

tldr命令行工具显示简化的命令利用率信息,主要包括示例。 它充当社区tldr pages项目的客户端。

此工具不能替代man 。 手册页仍然是许多工具的规范且完整的信息源。 但是,在某些情况下, man太多了。 有时,您不需要有关命令的所有信息。 您只是想记住基本选项。 例如, curl命令的手册页几乎有3,000行。 相比之下, curltldr长40行,如下所示:


   
     
     
     
     
$ tldr curl

# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: < https: // curl.haxx.se > .

- Download the contents of an URL to a file:

  curl http: // example.com -o filename

- Download a file , saving the output under the filename indicated by the URL:

  curl -O http: // example.com / filename

- Download a file , following [ L ] ocation redirects, and automatically [ C ] ontinuing ( resuming ) a previous file transfer:

  curl -O -L -C - http: // example.com / filename

- Send form-encoded data ( POST request of type ` application / x-www-form-urlencoded ` ) :

  curl -d 'name=bob' http: // example.com / form                                                                                            
- Send a request with an extra header, using a custom HTTP method:

  curl -H 'X-My-Header: 123' -X PUT http: // example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http: // example.com / users / 1234

... TRUNCATED OUTPUT

TLDR表示“太长;未读”,这是Internet lang语,表示长文本摘要。 该名称适用于此工具,因为手册页虽然有用,但有时过长。

在Fedora中, tldr客户端是用Python编写的。 您可以使用dnf进行安装。 有关其他客户端选项,请查阅tldr pages项目 。

通常, tldr工具需要访问Internet才能查阅tldr页面。 Fedora中的Python客户端允许您下载和缓存这些页面以供离线访问。

有关tldr更多信息,可以使用tldr tldr

4. jq代替sed / grep JSON

jq是命令行JSON处理器。 就像sedgrep但专门用于处理JSON数据。 如果您是在日常任务中使用JSON的开发人员或系统管理员,那么这是您工具箱中必不可少的工具。

与通用文本处理工具(例如grepsed )相比, jq的主要优点在于它了解JSON数据结构,使您可以使用单个表达式创建复杂的查询。

为了说明这一点,假设您正在尝试在此JSON文件中查找容器的名称:


   
     
     
     
     
{
  "apiVersion" : "v1" ,
  "kind" : "Pod" ,
  "metadata" : {
    "labels" : {
      "app" : "myapp"
    } ,
    "name" : "myapp" ,
    "namespace" : "project1"
  } ,
  "spec" : {
    "containers" : [
      {
        "command" : [
          "sleep" ,
          "3000"
        ] ,
        "image" : "busybox" ,
        "imagePullPolicy" : "IfNotPresent" ,
        "name" : "busybox"
      } ,
      {
        "name" : "nginx" ,
        "image" : "nginx" ,
        "resources" : { } ,
        "imagePullPolicy" : "IfNotPresent"
      }
    ] ,
    "restartPolicy" : "Never"
  }
}

如果您尝试直接grep输入name ,则结果如下:


   
     
     
     
     
$ grep name k8s-pod.json
        "name" : "myapp" ,
        "namespace" : "project1"
                "name" : "busybox"
                "name" : "nginx" ,

grep返回所有包含单词name 。 您可以在grep添加一些其他选项来限制它,并且通过进行一些正则表达式操作,可以找到容器的名称。 要使用jq获得所需的结果,请使用一个模拟向下导航数据结构的表达式,如下所示:


   
     
     
     
     
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

此命令为您提供两个容器的名称。 如果只在寻找第二个容器的名称,则将数组元素索引添加到表达式中:


   
     
     
     
     
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

因为jq知道数据结构,所以即使文件格式稍有变化,它也可以提供相同的结果。 grepsed可能会在格式sed更改的情况下提供不同的结果。

jq具有许多功能,要覆盖所有这些功能,还需要另一篇文章。 有关更多信息,请查阅jq项目页面 ,手册页或tldr jq

5. fd代替find

fdfind命令的一种简单快速的替代方法。 它的目的不是要替换find功能。 相反,它提供了一些合理的默认值,在某些情况下有很大帮助。

例如,在包含Git存储库的目录中搜索源代码文件时, fd自动排除隐藏文件和目录(包括.git目录),并从.gitignore文件中忽略模式。 通常,它可以在第一次尝试时提供更快的搜索结果和更相关的结果。

默认情况下, fd在当前目录中以彩色输出运行不区分大小写的模式搜索。 使用find的相同搜索要求您提供其他命令行参数。 例如,要搜索当前目录中的所有markdown文件( .md.MD ), find命令是这样的:

 $  find . -iname "*.md" 

这是与fd相同的搜索:

 $  fd .md 

在某些情况下, fd需要其他选项。 例如,如果要包括隐藏的文件和目录,则必须使用-H选项,而find则不需要。

fd可用于许多Linux发行版。 使用标准存储库将其安装在Fedora中:

 $  sudo dnf install fd-find 

有关更多信息,请参阅fd GitHub存储库 。

出色的替代品以及久经考验的实用程序

虽然我仍然定期使用所有旧的基本工具,尤其是在远程连接到服务器时,但其他工具却提供了一些额外的好处,这些好处在许多情况下都是有价值的。 它们特别帮助我在Linux台式机和笔记本电脑上进行管理和工作。

您是否使用任何其他工具来帮助您的工作流程? 在下面的评论部分添加它们。

翻译自: https://opensource.com/article/20/6/modern-linux-command-line-tools

linux rm替代命令

你可能感兴趣的:(python,linux,java,git,数据库)