がこれらの問題を避けるために、CDとls。メソッド2:タイムアウトでカスタムフィッシュ機能を作成します
タイムアウトコマンドを使用すると、制限時間でコマンドを実行できます。指定された時間内にコマンドが完了しない場合、終了します。これは、LSがファイルが多すぎるディレクトリにぶら下がっているのを防ぐのに最適です。
タイムアウトを使用してCDとLSを安全に組み合わせた魚のシェル機能を作成する方法は次のとおりです。関数:
上記の関数の内訳は次のとおりです。 -l:1秒のタイムアウトでLS -Lを実行します。 LSが1秒以上かかる場合、終了します。どちらも同じタスクを実行します。両方の関数を使用する場合は、それぞれに一意の名前を付けるだけです。
cd /path/to/directory; and ls
ステップ2:構成を保存してリロードしますフィッシュシェル構成を保存して変更を適用します:nano ~/.config/fish/config.fish
- ステップ3:CDLSコマンドを使用します
-
例
:-
ディレクトリに管理可能な数のファイルが含まれている場合、LS -Lは1秒以内に完了し、リストが表示されます。ディレクトリが大きすぎる場合、タイムアウトは1秒後にLSコマンドを殺し、シェルがぶら下がっていません。たとえば:
- 短いタイムアウトに0.5sを使用:タイムアウト0.5S LS -L
2Sを使用して2Sを使用します。デフォルトのCDコマンド、フィッシュシェルの構成でCDを再定義するデフォルトのCDコマンド:
ここで、CDを使用するたびに、1秒のタイムアウトでディレクトリコンテンツを自動的にリストします。 lsを含むCDの略語を作成するには、実行します。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
この方法は、ハングを防ぐためのタイムアウトでLSを自動的に実行しながら元のCDコマンドを保持するため有用です。ボーナス:EXAを使用して、より高速なリストに
大規模なディレクトリを頻繁に操作する場合は、LSの最新の代替品であるEXAの使用を検討してください。 EXAはより高速で機能が豊富で、多くのファイルを使用してディレクトリを処理するのに適しています。
EXAを使用する機能を変更する方法は次のとおりです。このリストは、古いクラシックLinuxコマンドの最良の代替品を提供します。詳細については、次のリンクにアクセスしてください。
cd /path/to/directory; and ls
魚機能を削除します魚機能を使用したくない場合は、魚の構成ファイルに追加したラインを削除するだけです。これらの行を削除した後、コマンドを使用して魚の構成をリロードした後:nano ~/.config/fish/config.fish
メソッド3に示すように魚のシェルのCDの略語を追加した場合、TOUはコマンドを使用して削除できます。略語が永続的に削除されていることを確認する場合は、〜/.config/fish/config.fishファイルを確認し、abbr -add cdを定義するラインを削除します。これは機能しますが、最良のアプローチではありません。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
関数を追加すると、構成ファイルが乱雑になり、管理が難しくなります。きれいに保つには、各魚機能を別のディレクトリ内に独自のファイルに保存します。詳細については、次のガイドをお読みください。
Linuxで魚のシェルの機能を管理する方法
魚シェルのCDとLSを組み合わせることは、Linuxのコマンドラインナビゲーションを簡素化する素晴らしい方法です。タイムアウトコマンドを使用することにより、パフォーマンスの問題や反応しないシェルをリスクせずに自動ディレクトリリストを実行できます。
1回限りのコマンド、カスタム関数、または略語を使用して、タイムアウトを追加すると、大規模なディレクトリを扱うときにパフォーマンスの問題を回避できます。これらの方法を使用して、フィッシュシェルのディレクトリをより速く、より効率的にすることができます。