できるだけ端末を使って、快適に過ごせるように心がけています。 GUIの代わりにコマンドラインを使用してほとんどの時間を失う私のコンピューター使用の側面は、私が興味のある曲を見つけようとするときです。
私の音楽フォルダは次のように構成されています音楽->バンド->アルバム->曲
AlbumaSongが入っているものを忘れがちですが、いつも覚えていますバンドがその曲を再生しました。
Musicディレクトリから曲を検索しません。曲を見つけるのに時間がかかりすぎるため(音楽がたくさんあります)、検索します。 Bandディレクトリに到達した後の曲の場合。今コマンドラインで私は持っています
# totem /home/user/Music/Red\ Hot\ Chili\ Peppers/
でもアルバムSong「DaniCalifornia」が( totemはgnomeの音楽プレーヤーです。)これを回避する最も簡単な方法は、ファイルマネージャーGUIのRed Hot Chili Peppersフォルダー内に移動し、ctrl + fを押して「DaniCalifornia」と入力することです。
コマンドを書いている最中に、ターミナルからディレクトリの内容を検索する方法はありますか?または、コマンドラインからGUIで行うのと同じ目標を最も迅速に達成する方法についての推奨事項はありますか?
オートコンプリートが機能しないため、これは特に直感的ではありませんが、ファイルマスクを使用して目的を達成することができます。
totem /home/user/Music/Red\ Hot\ Chili\ Peppers/*/Dani\ Ca*
もう1つのオプションは、findを使用して、検出したファイル名をトーテムに渡すようにすることです。
find . -name "Dani Calif*" -exec totem '{}' +
これは正確には「コマンドを書いている間に検索する」というわけではありませんが
「タブ」を2回押すと、ファイルまたはディレクトリのリストが表示されます。次に、必要な部分を入力し、「タブ」を押して完了します。
本当に面白い質問です。これは、CLIを使用するように強制するための非常に優れた方法です。しかし、男、それは音楽にはあまりにも苦痛に聞こえます。トーテムの限界(バンシーやリズムボックスとの比較)でどうやって生きていけるのかわかりません。 Nautilusとgeditの使用を禁止することで、ターミナルをより頻繁に使用するように強制できると思います。
しかし、私はあなたの忍耐と規律に感心します。おそらく、CLI /ターミナル指向の音楽プレーヤーを調べたいと思うかもしれません。ここにいくつかの良いレビューがあります: http://www.linux.com/archive/feature/124907
あなたが質問している特定の問題を解決できない場合は事前にお詫びしますが、質問の背景を考えると、それでもこれらのオプションは興味深いと思うかもしれません。幸運を祈ります。
すでに提案されているmetacharの解決策は素晴らしいですが、それだけでは不十分な場合もあります。
一度に複数のターミナルを頻繁に使用し、screen
を使用して単一のウィンドウを多重化しますが、gnome-terminalのタブでも同じように機能します(screen
ソリューションが機能することを指摘しておく必要がありますssh
セッションまたは仮想端末でもあるため、より一般的です)。
したがって、別の端末に切り替えると、locate
コマンドを使用できます。このコマンドの結果はfind
よりもはるかに高速に取得されます。
Bashでプログラム可能な完了を介して実行することもできます。小さなサンプルスクリプトをまとめました。
以下のスクリプトは、fap
(find and play)コマンドを完了します。これは、たとえば、個別に定義する必要があります。
fap
#! /bin/sh
file="$2"
totem "$file" > /dev/null &
exit 0
次に、次のスクリプトを/etc/bash_completion.d
ディレクトリに配置します
/etc/bash_completion.d/fap
_fap()
{
local cur prev dir i saveIFS
COMPREPLY=()
_get_comp_words_by_ref cur prev
saveIFS=$IFS
IFS=$'\n'
dir="$cur"
if [ -z "$cur" ]; then
dir="/home/user/music"
Elif ! [ -d "$cur" ]; then
dir="`dirname "$cur"`"
fi
local files=$(find `dequote "$dir"` -type f -iname "*${prev}*" -printf "%p\n")
COMPREPLY=( $( compgen -W "${files}" -- $cur ) )
for ((i=0; i < ${#COMPREPLY[@]}; i++)); do
_quote_readline_by_ref ${COMPREPLY[i]} COMPREPLY[i]
done
IFS=$saveIFS
return 0
} &&
complete -F _fap -o nospace fap
それに応じてdir="/home/user/music"
行を変更します(音楽コレクションの開始フォルダー)。次のソーススクリプト
. /etc/bash_completion.d/fap
これで、次のようにTAB補完を使用できます
fap frozen [TAB]
fap frozen /home/user/music/MADONNA\ -\ RAY\ OF\ LIGHT/TRACKS/09\ -\ Madonna\ -\ Frozen.mp3
または、より多くのオプションがある場合
$ fap girl [TAB]
$ fap girl /home/user/music/MADONNA\ -\ RAY\ OF\ LIGHT/TRACKS/[TAB][TAB]
/home/user/music/MADONNA\ -\ RAY\ OF\ LIGHT/TRACKS/04\ -\ Madonna\ -\ Candy\ Perfume\ Girl.mp3
/home/user/music/MADONNA\ -\ RAY\ OF\ LIGHT/TRACKS/13\ -\ Madonna\ -\ Mer\ Girl.mp3
$ fap girl /home/user/music/MADONNA\ -\ RAY\ OF\ LIGHT/TRACKS/0[TAB]
$ fap girl /home/user/music/MADONNA\ -\ RAY\ OF\ LIGHT/TRACKS/04\ -\ Madonna\ -\ Candy\ Perfume\ Girl.mp3