如果您使用终端机,这将是非常有用的提示(带有LS的Unite命令CD ...等等)

我是经常使用的人之一 终端 (控制台,bash,shell,任何您想称呼它的地方),出于X或Y的原因,我必须不断更改目录,对其进行处理🙂

在大多数情况下,目录会更改(例如: cd / opt /),我也想知道该目录中的内容 ls.

也就是这样:

kzkggaara @ geass:〜$ cd / opt /
kzkggaara @ geass:/ opt / $
kzkggaara @ geass:/ opt / $ ls
内纳斯

我已经说过很多次了……我很懒,我喜欢在终端上执行最少的步骤,这就是为什么经过大量的实验,我已经达到了我想要的。

请参阅以下内容,仅是我输入 /选择/ 用简单的命令 cd / opt /:

如您所见,第一步cd / opt /)我进入目录并且还列出了该目录的内容,...好像还不够,它用颜色显示给我

这是我访问的示例 /等等/cd /等/:


颜色很容易理解:

没有颜色 =文件
颜色蓝色 =资料夹
绿颜色 =具有执行权限的文件

但是,让我们继续讨论主要内容... 我如何仅使用cd就能自动列出我访问的目录?

我们的档案 的.bashrc (位于我们的家庭或个人文件夹中)将帮助我们做到这一点,我们必须首先声明一个函数,我们将其称为 光盘:

函数cdls {cd“ $ 1”; ls –color;}

我们把这条线放在我们的两边 的.bashrc ...这是执行此命令的命令:

echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc

您不必一定要使用此命令,它的目标是 的.bashrc 包含此行,因此只需使用您喜欢的文本编辑器编辑此文件(鼠标垫,kate,gedit,nano,vi等)并添加它。
他们保存更改,关闭已打开的终端,然后打开一个新终端。

在其中,我们将编写以下内容,然后按 [输入]:

cdls $HOME

这足以访问该终端中的我们的个人文件夹,并且还将列出其内容(包括颜色和所有内容)。

我的意思是 光盘 它已经完成了我们想要的...现在我们只能实现相同的目标,但是 cd

为此,我们添加文件 的.bashrc 下一行:

alias cd='cdls'

当我们写的时候 cd …我们定义的动作实际上将针对 光盘

我留下了将自动放置上一行的命令:

echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc

但是就像我之前说过的那样,目标是将另一行添加到同一文件中,您可以使用自己选择的文本编辑器。

完成此操作后,关闭终端并打开一个新终端...在其中编写以下内容,然后按 [输入]:

cd /etc/

宾果游戏,他们将进入 /等/,还会列出此文件夹的内容,并带有颜色😉(就像上一张照片一样)

有什么用? 😀

对于好奇的人,谁想知道此功能是什么意思? ……我给你简单的解释:

功能cdls =在这里,我们定义我们正在创建一个新函数,它将被称为cdls
cd“ $ 1” =此函数将执行的操作(它将在每次调用,使用或执行时执行)是对第一个参数进行cd(输入),即...-»«cd / home /»,the« $ 1»意味着«我们在cd之后写的内容,在本例中,第一个参数是“ / home /”。
; =这意味着该命令到此结束,或者要执行的动作...但是一个函数可以执行更多的动作,我们现在将定义第二个。
ls——颜色; =这意味着,除了之前声明的所有操作之外,它还将在我们所处的位置生成一个“ ls”,并且“ ls”将使用颜色(-color)进行处理。

最后一件事……最聪明的人,他们将意识到这种逻辑(执行一个功能并将其配置为执行多个动作)具有很多潜力,例如……如果我想输入文件夹,以及还要删除另一个,即我要输入 / home / 并删除 / opt / temp / 其功能为:

function asdasd { cd "$1"; rm -Rv "$2"; }

并输入终端 asdasd /主页/ /选择/测试/ 因为它将输入第一个参数(/ home /)并删除第二个(/ opt / temp /).

无论如何,这确实有很多潜力,取决于您如何充分利用它。

如果您有任何疑问或疑问,投诉或建议,我将很乐意为您提供帮助,我目前还不是专家,但至少我想帮助您😀

问候


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

54条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   bla bla bla

    而所有这些都不使用Zsh。

    1.    KZKG ^ Gaara

      我真的不认识他😉
      感谢您的提示,我会继续关注。

      但是,知识不会发生……人们设法获取的技巧和知识越多,您就觉得更好吗? 🙂

      1.    MSX

        Zsh是同志,男人用sh !!! >:D

        在Realida

        1.    KZKG ^ Gaara

          哈哈哈,不,不,不。。。我也不这么认为,也不要这样说,因为有些人可能会被冒犯。
          每个人都使用最适合自己,最喜欢的东西😀

          1.    MSX

            😉

            我经常在系统中浏览的应用是自动跳转:
            https://github.com/joelthelion/autojump/blob/master/README.md

        2.    bla bla bla

          男人很务实,女人和酷儿是那些喜欢使自己的生活复杂化的人。 无需进一步说明。

          1.    KZKG ^ Gaara

            请尽量不要对性取向发表评论,是吗? ……这种事情有令人不舒服的情况。

            希望这是可以理解的。

          2.    bla bla bla

            该澄清应针对@msx。 思想是建立在真实,客观和理性的表述之上,而不是侮辱或粗鲁。

            1.    KZKG ^ Gaara

              在上面的评论中,我告诉他不要说那些话(请原谅冗余)。
              现在我再说一遍,但不是专门针对您,它对每个人都有效。

              不要以错误的方式对待它,目的不是要让任何人感到不舒服或不舒服,我只是想避免误会🙂


          3.    马丁

            哈哈哈,我刚刚看到此评论!

            «该澄清应针对@msx。 思想是用真实,客观和理性的陈述构成的,而不是侮辱或无礼。
            停止和柠檬男人一起吃早餐,您看上去已经像100美元钞票上的富兰克林: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml

            ????

        3.    阿贝尔

          好吧,我想我喜欢成为一名酷儿,因为自从我学会使用它以来,我还没有停止过,也没有打算这样做。 o_____o

          男人会用sh吗?,这个说法很奇怪,来自一个有很多东西的人,所以我假设你是女人。 P

          1.    KZKG ^ Gaara

            这就是我不想达到的目标。 拜托,让我们离开战斗吧,是吗? 🙂
            每个人都使用他们想要的... sh,zsh或他们想要的任何东西,而且...每个人都有他们想要的性取向,这里已经为此类事情而战

          2.    MSX

            哈哈哈xD

            最近,zsh有了很大的发展,只要我有时间-哈,多么的妄想!-我将尽可能多地阅读其文档以利用它并进行更改

            现在认真地讲:困扰我的唯一一点是zsh与Bash并非100%兼容,因此如果我们在脚本中使用zsh来发挥其全部潜能,则很有可能该脚本失败另一方面,即使在bash中,即使我们使用zsh,我们也在bash中编写shell脚本,使用zsh ... o_O也是一种浪费。

            即使这样,我认为zsh还是值得的。 说到贝壳,你知道鱼吗? 该项目是从灰烬中兴起的,现在被称为鱼鱼,并且他们正在快速发展它。

    2.    hackloper775

      我认为应该将zsh编写为终端非常区分大小写

      尽管cd && ls / route也有效

      虽然写的时间更长

      问候😀

      1.    hackloper775

        我错了,我的手指掉了

        我把它列出来并访问目录

        cd && ls /路径

        但准备好

        虽然只列出它

        ls /路径

        等效的命令是

        cd /路径&& ls

        问候

        1.    KZKG ^ Gaara

          确实,使用&&可以达到相同的效果😀
          唯一的区别是,“ cd / opt / && ls”比“ cd / opt /”具有更多的6个字符,也就是说,我将不得不再按6个键^-^ U ...我有点懒对于这样的事情

          这就是为什么我加入cd + ls…大声笑的原因!

          1.    hackloper775

            我还使用的是按扩展名过滤结果。

            例子

            我的〜/中有许多文件,下载数量超过100,而我只想查看.png文件即可。

            cd下载&& ls * png

            我需要添加或执行哪些操作来以更简单的代码过滤结果?

            问候

            1.    KZKG ^ Gaara

              简单😉
              您创建一个函数,例如 cdlsf:
              function cdlsf { cd "$1"; ls *.$2; }

              要使用它,将是:
              cdlsf / opt / png

              这将只列出您的文件 。PNG en /选择/
              也就是说,第一个参数(在这个例子中 /选择/)将是您要访问的目录,第二个参数(在这个例子中 PNG)将是您在列出目录时要过滤的扩展名。

              另一个示例,如果您想转到/ home / user / Pictures并仅查看.JPG文件,它将是:
              cdlsf /主页/用户/图片jpg

              ????

              这就是您想要的,对吗?

              PS:我把cdlsf放在cd(输入)ls(列表)f(过滤器)的位置上……但是显然,您可以随意调用该函数。


    3.    评估

      zsh不是POSIX,并且最重要的是,它需要更长的时间才能启动,因此我更愿意成为fag,但效率更高

      1.    bla bla bla

        首先,在zsh中可以启用POSIX支持。 其次,根据开始时加载的功能数量,启动需要花费时间,因此它可以随心所欲。 第三,与zsh相比,使用zsh更为​​实用和高效。 第四,在批评之前使用它。

        1.    MSX

          5号。 启用POSIX支持时,使用ZSH没有任何意义。

          我使用它已经有一段时间了,这是不值得的,sh短而Bash完美,使用适当的别名和功能,您无法在Bash中做任何事情。

  2.   马尔科

    我真的很喜欢这个主题。 实际上,他们应该就可以在终端以及特定发行版(例如Chakra)中普遍使用的命令创建一些更广泛的文章。

  3.   潮汐

    我发现它非常有趣,因为除了教授此技巧外,您还解释了每个命令的工作方式。

    自从我进入Linux世界以来(一直不久...),我一直在关注您,鼓励我发表评论只是为了祝贺您发表这篇文章😉

    1.    KZKG ^ Gaara

      感谢您的光临,并给我们留下评论😀
      每当我尝试解释某些事情时,我都希望尽可能地使事情变得清晰……好吧,我很清楚在互联网上阅读教程是什么,根本不了解任何东西。

      两次欢迎...欢迎来到Tux哈哈世界,也欢迎来到博客🙂
      如果您有任何疑问,请告诉我们。

      问候和感谢您的评论 ^ ⁻ ^

  4.   伊万

    我只是从另一个网站上阅读了您的帖子,但我无法抗拒:

    只是在.bashrc内创建一个别名会更容易吗?

    别名cd ='ls'

    1.    KZKG ^ Gaara

      实际上,我试图实现的是输入目录X(/ opt /…/ home / user /…等等),当我输入它时,它会自动列出该目录的内容。

      一个步骤或一个命令即可完成所有操作。

      按照您的指示进行别名,然后我将目录列出为是,但不会输入该目录。

      1.    伊万

        据我了解,这样做的目的是,例如,如果您想通过“ cd”命令输入“ / etc”,则在输入时它将自动向您显示该目录的内容,对吗?

        如果是这样,您可以将函数简化为“别名”,在.bashrc中放置:

        别名cd =»ls»

        这样,在终端中使用时:

        cd /等

        您将输入目录«/ etc»,还将自动列出其中的所有文件和目录。

        如果我误解了目标,道歉😛

        1.    KZKG ^ Gaara

          实际上,我想输入一个目录,然后进入其中以列出其中包含的内容。
          我尝试了您说的内容,并通过别名来声明cd = ls,但这对我不起作用。
          我自己配置​​它,然后执行以下操作:
          cd /等/

          但是它列出了/ etc /…,但是没有进入该目录。
          我留下了屏幕截图,所以您可以看到: http://img204.imageshack.us/img204/5272/cdlserror.png

          1.    伊万

            我的错😀

            很显然,这种方式是行不通的,即使我尝试了:

            别名cdls ='cd $ 1; ls'

            由于某些奇怪的原因,它不起作用,它只列出目录但不进入D:

            重击错误? xD

            对于毫无意义的评论表示歉意! 😀我为我的bashrc使用了功能😛

            1.    KZKG ^ Gaara

              别名与函数不相同,如果您希望别名与多个命令相同,则必须使用&&…,它与函数中的用法不同,即使用; 并且编写更多说明将对您有用。

              哈哈,没什么好朋友,没什么可歉的😀
              问候

              PS:…该死的……当我看到Arch徽标时,我有多怀旧。 T_T ...


          2.    伊万

            我知道不一样,但是我认为它可以工作(错误:P)

            只有使用«;»的代码才对我有用。 而不是别名D中的“ &&” :(我有两个这样的别名,我不明白的是为什么它不能与我要为这种情况创建的别名一起使用)

            谢谢,顺便说一句,我想我会以“常识读者”的名义留在博客上😀我真的很喜欢博客的内容😛

            噢,是的,我知道,有时候我会把自己与亲爱的拱门分开,但是,我不知道为什么,我总是不可能不回去给他xD

            的问候!

            1.    KZKG ^ Gaara

              好吧... Tux很神秘,他做事,很多时候我们都不了解他,但是他对每个人都有计划或目的...哈哈HA

              很高兴阅读您的发言,另一个加入博客的Arch用户hahahaha ...很高兴😀

              由于内核给我带来的奇怪问题,我不得不停止使用它了……但是它仍然占据着我的心🙁


          3.    伊万

            JAJAJAJA

            我还没有遇到Arch用户,该用户对发行过程不太感兴趣,他有一个“我不知道什么,我知道什么”的信息:P,也许,如果我给您的问题是很久以前的,您可以考虑回到Arch😀

            顺便说一句,我知道我已经读过其他地方的名字(嗯,昵称,化名,昵称,等等),您是桌面作家的一部分,对吗? 🙂
            我曾经给他们读过书🙂

  5.   雨果

    实际上列出目录的内容并不需要输入它,因此我认为您选择的示例不是最幸福的,呵呵。 话虽如此,函数可以用于许多有用的事情。

    例如,我使用此函数创建目录并立即输入目录(验证仅使用了一个参数):

    function mkcd () {
    FNERR="Parametros incorrectos.\nUso: mkcd "
    if [ $# -eq 1 ] ; then
    mkdir -p "$1" && cd "$1"
    else
    echo -e $FNERR
    fi
    }

    1.    雨果

      嗯...博客吃了命令的一部分,我会尝试在HTML标签中插入不完整的行:

      FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"

    2.    KZKG ^ Gaara

      我想要实现的目标是节省一个步骤。
      换句话说,假设我想进入目录(/ etc / squid /),然后在该目录中编辑文件,而我不记得文件名了。

      这些步骤通常是:
      cd / etc /乌贼/
      ls
      nano.conf文件

      但是,根据我提出的提示,我仅将前2步转换为1步,因此只需执行以下操作:
      cd / etc /乌贼/

      它也会自动为我列出目录的内容。
      只是节省了一步😀

      你懂我的?

      ...我很难解释哈哈。

      1.    雨果

        不,解释没有问题,我的意思是也许您选择用来说明技巧的示例并不理想,因为可以创建一个简单的“ ls目录”。

        实际上,我一看功能就知道目的。 我也使用各种功能 .bash_别名例如,这是我经常使用的历史记录管理器:

        h () {
        if [ $# -eq 0 ] ; then
        history | tail -n 25 | less
        elif [ $# -eq 1 ] ; then
        history | egrep -i "$1" | less
        else
        echo -e "Parametros incorrectos."
        fi
        }

        (有了这个功能,如果我只是把 h 我得到了最后25条命令,但是如果例如 挂载 我得到了与程序集相关的最后命令)。

        1.    KZKG ^ Gaara

          我正在扮演你的角色,呵呵...值得研究

        2.    阿尼巴尔

          很好的功能! 谢谢

        3.    MSX

          +1

  6.   hackloper775

    KZKG ^ Gaara

    很好的回答,对我很有帮助,上面我已经无法回答

    现在,我将使用cdlsf来提高效率,这是一个很好的命令名称😀

    问候

  7.   克里斯托弗·卡斯特罗

    在设置时间到终端时,我之前已经做过,下载的是bashrc,但我不记得它叫什么了。

  8.   阿贝尔

    入门不错,我不知道这个窍门,我将它付诸实践,看看它是如何工作的。 P

    问候。

    1.    阿贝尔

      如果添加我的浏览器,那就太好了。 xD

      再次问候。 xD

      1.    KZKG ^ Gaara

        您使用什么浏览器?
        好吧,在另一条评论中,我看到您使用了Firefox🙂

        1.    阿贝尔

          是的,我使用Firefox,但是它越来越少,不再是我的主浏览器,我使用的是dwb,如果可以添加它将很好。 P

          问候。

  9.   吉列尔莫

    并且尝试使用cd并同时输出ls时,使用此别名不会在脚本中引起问题吗? 我特别喜欢使用其他可执行文件不使用的名称进行别名,因为这不是第一次给我带来麻烦...

  10.   伊里格尔

    如何获得每个命令后的虚线和时间?

  11.   MSX

    我的贡献:
    别名ldir ='ls | grep -v \\。 ##仅列出目录(请注意,不要将其重命名为ld,因为存在具有该名称的GNU / Linux命令)

    别名ll ='ls -lah –color | awk'\»{k = 0; for(i = 0; i <= 8; i ++)k + =((substr($ 1,i + 2,1)〜/ [rwx] /)* 2 ^ (8-i));如果(k)printf(“%0o”,k);打印}'\'''

    关于此别名的有趣之处在于解析ls输出的awk,结果? 它在rwx旁边以八进制格式显示文件许可权,对我而言,它比字母更实用,更快。


    别名lg ='ls -lah –color | awk'\''{k = 0; for(i = 0; i <= 8; i ++)k + =((substr($ 1,i + 2,1)〜/ [rwx] /)* 2 ^(8- i));如果(k)printf(“%0o”,k);打印}'\''| grep -i'

    上面别名的变体。 我在末尾添加了一个grep,以便当我这样做时以这种方式:
    $ lg拉链
    仅显示包含八进制权限等形式的zip格式的文件(请注意末尾的-i)。

    别名grep ='grep –color = auto'##为匹配的grep颜色

    我还有很多可以分享的东西,但是这个小地方让我很紧张xD

    @KZKG,工作人员:您是否认为您在博客或论坛上打开了一条帖子(每次与控制台相关的技巧发布,我们都会链接到该帖子)来收集所有这些小珍珠?

    的问候!

    1.    KZKG ^ Gaara

      通过链接,您是什么意思? -» https://blog.desdelinux.net/tag/bash

  12.   MSX

    我什么也没说,什么都不需要,所有的东西都贴上完美的标签!

  13.   富兰克林·罗德里格斯

    多么智利人,这是一个很好的功能!