首页 > 系统教程 > 操作系统 > 如何更改目录并在鱼壳中的一个命令中列出文件

如何更改目录并在鱼壳中的一个命令中列出文件

William Shakespeare
发布: 2025-03-05 10:25:10
原创
308 人浏览过

>如果您经常在Linux上使用命令行,则可能希望采用更快的方法来导航目录和查看其内容。

通常,这涉及运行CD以更改目录,然后ls ls列出文件。在将这些命令组合到一个命令中似乎是一个整洁的想法,但在处理包含许多文件的目录时可能会引起问题。

>

在本指南中,我们将向您展示如何使用使用>> timeout timeout 命令。这使您可以快速更改目录并在一个命令中列出文件,同时确保您的外壳保持响应能力,即使在具有大量文件的目录中。 为什么组合CD和LS?>方法1:一次使用命令>

>自动列出目录目录

>

>为什么默认情况下,当您使用CD更改目录,FISH(或任何其他外壳)时,为什么将CD和LS?

组合在一起。每次分别运行LS都可以是>重复

。结合这些命令使您更容易看到目录的内容,而无需额外的步骤。但是,有一个问题:列出具有数百万个文件的目录的内容可以使您的外壳变成

hanghang,消耗过多的资源,并使您的终端不响应。在以下步骤中,我们将提供所有可能的方法来组合CD和LS命令。

>方法1:一次使用命令

如果您只需要一次执行此操作,则可以使用以下命令:

cd /path/to/directory; and ls
登录后复制
登录后复制
登录后复制

  1. repent/path/to/to/to/to/to/directory with flost in t fill th fiold to nop oper wip to nop。并确保LS仅在CD成功的情况下运行。>自动列出目录内容
  2. >
  3. >在每个CD之后自动运行LS,在每个CD都可以导致:>

绩效问题:列出数百万个文件可能会花费很长时间,并使用CPU和存储器 :您的终端可能在尝试列出文件时可能会冻结。>不必要的输出:有时,您无需在导航后立即看到目录的内容。,我们需要避免这些问题来避免使用这些问题,我们需要组合CD和LS ls。

方法2:使用超时

创建自定义鱼类功能,超时命令允许您运行具有时间限制的命令。如果命令在指定的时间内未完成,则将终止。这是防止LS悬挂在具有太多文件的目录中的完美。

>

以下是如何创建使用超时的CD和LS的鱼壳函数。

cd /path/to/directory; and ls
登录后复制
登录后复制
登录后复制
函数:

nano ~/.config/fish/config.fish
登录后复制
登录后复制
>这是上述函数的分解。

  1. >
  2. 构建cd $ argv [1] :更改指定目录的更改。
  3. 和开始... end ... end ... end
  4. :确保以下命令仅由以下命令:以1秒的超时运行LS -L。如果LS花费超过1秒钟,则将其终止。

    function cdls
        # Change to the specified directory
        builtin cd $argv[1]
        and begin
            # List directory contents with a timeout of 1 second
            echo "Changed to directory: $PWD"
            timeout 1s ls -l
        end
    end
    登录后复制
    登录后复制

    echo“更改为目录:$ pwd”

    :打印当前目录的清晰目录路径。

    function cdls
        cd $argv; and timeout 1s ls -l
    end
    登录后复制
    您也可以使用此紧凑型功能:

    source ~/.config/fish/config.fish
    登录后复制

    cdls /path/to/directory
    登录后复制

    步骤2:保存并重新加载配置 >保存文件,然后重新加载鱼壳配置以应用更改:

    cdls enlightenment/sources/e26/
    登录后复制

    如何更改目录并在鱼壳中的一个命令中列出文件

    安全:

      >示例
    • 如果该目录包含可管理数量的文件,则LS -L将在1秒内完成,并且您会看到列表。如果该目录太大,则超时会在1秒钟后杀死LS命令,从而阻止您的外壳悬挂。

    示例输出

    Changed to directory: /home/ostechnix/enlightenment/sources/e26
    total 56
    drwxrwxr-x  7 ostechnix ostechnix 4096 Jan 17 19:13 ecrire
    drwxrwxr-x 11 ostechnix ostechnix 4096 Jan 17 19:13 edi
    drwxrwxr-x 18 ostechnix ostechnix 4096 Jan 17 19:02 efl
    drwxrwxr-x 12 ostechnix ostechnix 4096 Jan 17 19:14 eflete
    drwxrwxr-x 11 ostechnix ostechnix 4096 Jan 17 19:10 enlightenment
    drwxrwxr-x  8 ostechnix ostechnix 4096 Jan 17 19:14 enlightenment-module-forecasts
    drwxrwxr-x  8 ostechnix ostechnix 4096 Jan 17 19:14 enlightenment-module-penguins
    drwxrwxr-x  7 ostechnix ostechnix 4096 Jan 17 19:14 enlightenment-module-places
    drwxrwxr-x  7 ostechnix ostechnix 4096 Jan 17 19:14 entice
    drwxrwxr-x  9 ostechnix ostechnix 4096 Jan 17 19:13 enventor
    drwxrwxr-x  7 ostechnix ostechnix 4096 Jan 17 19:12 ephoto
    drwxrwxr-x  7 ostechnix ostechnix 4096 Jan 17 19:13 evisum
    drwxrwxr-x  7 ostechnix ostechnix 4096 Jan 17 19:13 express
    drwxrwxr-x  6 ostechnix ostechnix 4096 Jan 17 19:13 rage
    登录后复制

    >

    >
    function cd
        builtin cd $argv[1]
        and begin
            echo "Changed to directory: $PWD"
            timeout 1s ls -l
        end
    end
    登录后复制
    >

    >

    自定义超时>您可以调整超时时间以适合您的需求以适合您的需求。例如:>使用0.5s进行较短的超时:0.5S ls -l >使用2S用于更长的超时时间:超时2S ls -ls -l只需在函数中修改函数中的超时值。 to the default cd command, redefine cd in your Fish shell configuration:Now, every time you use cd, it will automatically list the directory contents with a 1-second timeout.Method 3: Use an AbbreviationFish shell supports abbreviations, which expand into full commands when you type them.要为CD创建一个包含LS的缩写,请运行:>此方法很有用,因为它可以保持原始CD命令,同时自动运行ls,以防止挂起。

    奖励:使用EXA进行更快的清单

    如果您经常与大型目录一起使用,请考虑使用EXA,这是LS的现代替代方案。 EXA更快且功能更丰富,使其更适合使用许多文件来处理目录。

    这是修改函数以使用EXA的方法:

    cd /path/to/directory; and ls
    登录后复制
    登录后复制
    登录后复制
    我们已经编制了流行Linux命令的现代替代方案列表。此列表为旧的经典Linux命令提供了最佳替代品。请访问以下链接以获取更多详细信息:

    • >最佳的现代Linux命令适用于初学者和专家
    >

    >删除FISH FISTION

    如果您不想再使用FISH功能CDL,请简单地删除在鱼类配置文件中添加的线条。删除这些行后,使用命令重新加载鱼类构型:

    nano ~/.config/fish/config.fish
    登录后复制
    登录后复制

    如果您添加了鱼壳中CD的缩写,如方法3所示,则可以使用命令使用命令:

    function cdls
        # Change to the specified directory
        builtin cd $argv[1]
        and begin
            # List directory contents with a timeout of 1 second
            echo "Changed to directory: $PWD"
            timeout 1s ls -l
        end
    end
    登录后复制
    登录后复制

    将其删除,这将删除AbbReviation和Restore CD以删除其默认的CD。如果要确保缩写被永久删除,请检查您的〜/.config/fish/config.fish文件,然后删除任何定义ABBR -ADD CD的行,请在单独的目录中保留功能,以便于易于管理

    >,您可能没有遇到过,我将其保存在此fillioragration File中,以保存在此图表中。尽管这起作用,但这并不是最好的方法。

    添加更多功能会使配置文件混乱,从而使其更难管理。要保持清洁,请将每个鱼功能存储在其自己的文件中,以在单独的目录中。有关更多详细信息,请阅读以下指南:

    • >如何在linux

    上管理鱼壳中的功能

    > >>

    在鱼壳中组合CD和LS是简化Linux中命令线导航的绝佳方法。通过使用超时命令,您可以执行自动目录列表,而无需危险性能问题或无反应性的外壳。
      >
    • 是否使用一次性命令,自定义功能或缩写,添加超时可确保您在处理大型目录时避免性能问题。使用这些方法,您可以使鱼壳中的导航目录更快,更高效。
    • >相关的读取
    [bash tips]

以上是如何更改目录并在鱼壳中的一个命令中列出文件的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板