Я пытаюсь стать довольным терминалом при помощи его так, как я могу. Аспект моего использования компьютера, где я теряю большую часть времени с помощью командной строки вместо gui, - когда я пытаюсь найти песню, я интересуюсь.
Моя музыкальная папка структурирована как так Музыка-> Полосы-> Альбомы-> Песни
Я часто забываю, в каком Альбоме Песня находится, но я всегда помню то, что Band играл ту песню.
Я не ищу песню из каталога Music, потому что занимает слишком много времени находить песню (у меня есть большая музыка), таким образом, я ищу песню после того, как я добираюсь до каталога Band. Прямо сейчас в командной строке я имею
# totem /home/user/Music/Red\ Hot\ Chili\ Peppers/
но я забыл, какой Альбом Песня "Dani Калифорния" находится в (тотем является аудиоплеером в гноме.) Самый быстрый путь ко мне для обхождения этого состоит в том, чтобы проникнуть внутрь папки Red Hot Chili Peppers в файловом менеджере gui и поразить ctrl+f и тип "Dani Калифорния".
Существует ли способ, которым я могу искать содержание в каталоге от терминала, в то время как я посреди записи команды? Или у Вас есть какие-либо рекомендации о том, как я могу наиболее быстро достигнуть той же цели, которую я делаю в gui из командной строки?
Это не особенно интуитивно, поскольку автозавершение не работает, но Вы могли достигнуть того, что Вы хотите использовать маски файла:
totem /home/user/Music/Red\ Hot\ Chili\ Peppers/*/Dani\ Ca*
Другая опция является использованием, находят и затем заставляют его передать имена файлов, которые это нашло к тотему:
find . -name "Dani Calif*" -exec totem '{}' +
Хотя это не точно "поиск, в то время как Вы пишете команду"
Удар "вкладки" дважды должен дать Вам список файлов или каталогов. Затем просто введите часть той, которая Вы хотите и поражаете "вкладку" для завершения ее.
Действительно интересный вопрос. Это - крутой способ вынудить себя использовать CLI. Но человек, который звучит слишком болезненным для музыки. Я не вижу, как я мог жить с пределами Тотема (по сравнению с Banshee или Rhythmbox). Я думал бы, запрещая себе использовать Наутилус, и gedit зайдет достаточно далеко, чтобы вынудить Вас использовать терминал чаще.
Но я восхищаюсь Вашим терпением и дисциплиной. Возможно, Вы могли бы хотеть изучить ориентированный аудиоплеер CLI/терминала. Вот хороший обзор некоторых: http://www.linux.com/archive/feature/124907
Извинения заранее, если ни один из них не решает конкретную проблему, которую Вы спрашиваете о, но, учитывая фон Вашего вопроса, я думаю, что Вы могли бы найти эти опции интересными, тем не менее. Всего наилучшего.
Уже предложенное решение метасимвола является большим, но иногда это не могло быть достаточно.
Я часто использую больше, чем терминал за один раз, мультиплексируя единственное использование окна screen
, но вкладки терминала гнома могли сделать задание также (я должен указать что screen
решение будет работать также в a ssh
сессия или в виртуальном терминале, таким образом, это является более общим).
Так, переключаясь на другой терминал, можно использовать locate
управляйте, чьи результаты получены намного более быстро, чем из find
.
Это может также быть сделано через Bash программируемое завершение. Я соединил сценарий небольшой выборки.
Сценарий ниже завершает a fap
(найдите и играйте), команда, которую необходимо определить отдельно, например
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