Кладезь полезной информации

    «Чем больше я знаю, тем больше понимаю, что ничего не знаю».

    Даже если вы уже давно не чайник и не боитесь увеличить относительный уровень своего незнания — попробуйте проделать на своей машине:
    sudo apt-get install fortunes-ubuntu-server
    а потом просто вызывайте
    /usr/bin/ubuntu-server-tip

    Многократный мысленный оргазм гарантирован.
    Вот просто некоторые примеры:
    • Для создания копии файла без дублирования пути файла используйте команду '$
      cp /long/path/to/file/name{,.orig}', которая создаст копию файла с суффиксом ".orig".
    • Если вы выполнили команду и забыли про 'sudo', вы можете набрать 'sudo !!'
      для вторичного запуска предыдущей команды с использованием 'sudo'.
    • Последующие команды обычно принимают аналогичный аргумент. 'Alt-.' вставляет
      последний аргумент предыдущей команды. Чтение документации рулит!

    Приятного чтения!
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 111
    • +6
      Даже за эти три спасибо, не то что пакет.
      • +3
        Было бы интересно в комментах почитать от установивших, какой из tip'ов показался кому полезным. При рандомной выдаче легко пропустить что-то классное :)
        • +2
          To find in which file an event has been logged in use 'ls -ltr /var/log |
          tail' which will display the last modified logs.
      • +1
        Чтение документации у большинства начинается именно после таких постов. Спасибо за пинок, есть теперь что почитать :)
        • 0
          Воистину — век живи, век учись! Спасибо!
          • 0
            Теперь начну повышать свою продуктивность!
            • +5
              я знаю что я ничего не знаю, но другие не знают и этого

              sudo !! узнал эту команду буквально две минуты назад и этого поста и уже не могу понять как я раньше без неё жил
              • 0
                А чем стрелка вверх не устраивала?
                • +1
                  наверное тем, что приходилось долго жать курсор «влево», чтобы вернуться к началу строки
                  • +5
                    *home* sudo :)
                    А вообще!!! удобней
                    • –1
                      «sudo !!» удобней
                      • –1
                        Требую холивора!
                        • 0
                          «стрелка вверх — home — sudo» требует меньше нажатий клавиш ;)
                          • +8
                            Просто выглядит прикольнее =)

                            # make me a sandwich
                            Permission denied

                            # sudo!!!
                            Okay…
                            • +8
                              И никого не смущает решётка в качестве приглашения?
                              • –3
                                нет, а что не так?
                                • 0
                                  Палево, команды от рута и так выполняются )
                                  По умолчанию решетка в приглашении означает именно это.
                                  • –1
                                    формат приглашения можно любое установить, разве не так?
                                    • 0
                                      Ну, я написал что это по умолчанию )
                          • +1
                            А еше есть варианты Alt+A и Alt+E. Соответственно Home и End. Работают на всех терминалах.
                            • +3
                              Прошу прощения. Ctrl конечно, а не Alt. Лол, пользовался миллион лет на уровне условного рефлекса и уже забыл, какие именно кнопки тыкаю =)
                              • 0
                                наверное эти провалы в памяти после праздников появляются. сам много раз использовал «home», но почему-то вспомнил именно про курсор.
                                • 0
                                  Ладно если Ctrl с Alt, я вот после праздников пароль от рабочего компа вспомнить до обеда вспомнить не мог…
                            • 0
                              точно. туплю :)
                              • 0
                                У меня на маковском терминале Home не работает :(
                              • +1
                                Ctrl+A — Home
                                Ctrl+E — End
                                • 0
                                  по ctrl-a у меня screen вылезает :)
                                  • –1
                                    Стандарты древних терминалов давлеют на unix.
                                    • 0
                                      Для этого нужно нажать Ctrl+a a
                                  • +5
                                    CTRL-R вообще рулит ;)
                                • 0
                                  Вообще-то!!! просто повторяет предыдущую команду. И можно этим пользоваться как душе угодно. sudo самый нужный вариант.
                                • +1
                                  Еще бы адрес репозитария для дебина? :)
                                  • +1
                                    а в стандартном не поискать?
                                    fortunes-debian-hints же есть.
                                    • 0
                                      таки это разные пакеты, должно-быть пакет fortunes-ubuntu-server специфичен для Ubuntu.
                                      но раз интерес висит, то можно просто скачать и посмотреть внутренности пакета для Ubuntu и вытянуть оттуда нужную информацию.
                                  • 0
                                    ммм, а как вот с помощью конструкции cp /long/path/to/file/name{,.orig} изменить часть пути? т.е. сложить файлик (можно с тем же именем) на 2 директории выше?
                                    • +1
                                      cp /long/path/{to/file/name,}
                                      • –1
                                        Думаю, что никак, всё-таки у любой фишки есть предел…
                                        Я думал над вариантом:
                                        cp /long/path/{to/file/,}name{,.orig}
                                        но он развернётся в
                                        cp /long/path/to/file/name /long/path/to/file/name.orig /long/path/name /long/path/name.orig
                                        • +1
                                          cp /long/path/to/file/{with/unnecessary/directories/name,name.orig}
                                          • –1
                                            Пришлось дублировать имя…
                                        • +3
                                          cp long/path/{file.name,..}

                                          file.name скопируется в папку long
                                        • +1
                                          watch -n 5 /usr/bin/ubuntu-server-tip

                                          • +3
                                            Сделал показ подсказки во всплывающем окне, каждые 5 минут.
                                            Не очень в этом секу, но попробовал так:

                                            tip.sh
                                            #!/bin/bash
                                            tip=`/usr/bin/ubuntu-server-tip`
                                            zenity --info --text="$tip"
                                            


                                            Потом в консоли запустил:
                                            watch -n 600 sh tip.sh

                                            Кто улучшит?
                                            • +1
                                              Решение для KDE:
                                              kdialog --title «Fortune» --passivepopup "`ubuntu-server-tip`" 60
                                              • +1
                                                О, вот доперло как сделать (gnome):

                                                watch -n 600 'zenity --info --text="`/usr/bin/ubuntu-server-tip`"'
                                                
                                                • +3
                                                  А теперь и со вкусом родных всплывашек Убунты!
                                                  while [ 1 ];
                                                  do
                                                  notify-send "Ubuntu server tip" "`ubuntu-server-tip`";
                                                  sleep 600;
                                                  done
                                                  • 0
                                                    Я потому и сделал на zenity, чтобы неспеша прочитал и закрыл. А в notifiere не увпеваешь прочитать, а большой таймаут выставлять для висения оного — тоже не комильфо.
                                                    • 0
                                                      Да я не против, но вопрос возник — пусть кому-то сэкономит 5 секунд поиска в гугле :)
                                                      • 0
                                                        Тут другая проблема.
                                                        Прочитать — успеется, а вот то, что не полностью совет влезает — обидно :(
                                                        У меня обрезает длинные советы.

                                                        И к тому, что ниже: да, можно было цикл не использовать, но тут я и сам затупил :)
                                                        • 0
                                                          Да кстати, обрезается, тоже заметил. Надо подумать, как это забороть.
                                                        • 0
                                                          Можно навести курсор и они исчезнут, пока не уберёшь.
                                                        • +3
                                                          зачем цикл??? есть крон
                                                          • +7
                                                            Помилуй, барин! Не со зла, а от глупости природной! Каюся!
                                                          • –1
                                                            А вот вам advanced метод :)

                                                            #!/bin/bash
                                                            home='/home/roboslone/ubuntu-tip'
                                                            COUNT=10
                                                            sleepin=70
                                                            cd $home
                                                            while [ $COUNT -gt 0 ]; do
                                                            echo Value of count is: $COUNT
                                                            cd ~/ubuntu-tip
                                                            mkdir .ubuntutip
                                                            echo «1»
                                                            cd .ubuntutip
                                                            echo «Полезный совет!» > current_tip
                                                            /usr/games/fortune > current_tip
                                                            echo «2»
                                                            cat current_tip | xargs -0 notify-send
                                                            echo «3»
                                                            rm -rf current_tip
                                                            cd… && rm -rf .ubuntutip
                                                            echo «4»
                                                            sleep $sleepin
                                                            let COUNT=COUNT-1
                                                            done

                                                            COUNT — количество повторений (вдруг надоест?)
                                                            home — директория со скриптиком
                                                            sleepin — перерыв в секундах (-10 секунд на показ notify-osd)

                                                            Таким образом всплывает родное окошко убунты 10 раз с перерывом в минуту.
                                                            • +1
                                                              Мрак :) Ну в файл-то зачем писать?
                                                              Достаточно этого-ж:
                                                              fortune | xargs -0 notify-send 'Полезный совет!'
                                                              • +1
                                                                В файл — это на будущее. Если его каждый раз не удалять, можно потом всю базу советов насобирать :)
                                                                • +4
                                                                  МОКУС: Позвольте…
                                                                  ГОСПОЖА БЕЛЛАДОННА: Не позволю!
                                                                  МОКУС: Простите…
                                                                  ГОСПОЖА БЕЛЛАДОННА: Не прощу!
                                                                • 0
                                                                  notify-send 'Полезный совет!' `fortune`
                                                              • 0
                                                                а я недавно да базе fortune делал напоминалку всяких суомских слов:
                                                                #!/bin/sh

                                                                export DISPLAY=:0

                                                                test -r ~/fi/running || exit

                                                                /usr/games/fortune ~/fi | ~/bin/osd-cat 2>&1 > /dev/null

                                                                в ~/fi, соответственно, лежат fi.dat, исходный файл, и Makefile с командами регенерации
                                                                • 0
                                                                  Ой, забыл,

                                                                  ~/bin/osd-cat:

                                                                  #!/bin/sh
                                                                  aosd_cat -n 'LMSans14 20' -B white -b 255 -R black -s 0 -d 10 -u 7000 $@

                                                                  aosd_cat — замечательная вещь из комплекта libaosd
                                                                  • –1
                                                                    Можно ещё на панель GNOME добавить апплет «Рыбка».
                                                              • 0
                                                                А можно и на крон повесить:
                                                                */5 9-21 * * 1-5 zenity --info --text="`/usr/bin/ubuntu-server-tip`"

                                                                Каждые 5 минут (я бы себе на раз в час повесил, но возьмем ваш вариант) с 9 до 21 в будние.
                                                                • +2
                                                                  Не хочу жать кнопки.
                                                                  Пусть cron выдает оповещение в углу каждые 15 минут в любое время суток!
                                                                  */15 * * * * DISPLAY=:0.0 notify-send "Ubuntu server tip" "`ubuntu-server-tip`"
                                                                  • 0
                                                                    У меня почему-то через крон работать не хочет — не показывает само сообщение.
                                                                    Из консоли — ок, всё как надо, а через крон — всплывает уведомление с заголовком, но без текста. Причём никакие команды не работают — заменял на ls, date. Хотя, опять же, из консоли всё ок.
                                                                    С чем может быть связано, не в курсе?
                                                                    • +1
                                                                      Что-то подсказывает, что путь к ubuntu-server-tip надо указать как выше — полный… =\
                                                                      */15 * * * * DISPLAY=:0.0 notify-send "Ubuntu server tip" "`/usr/bin/ubuntu-server-tip`"

                                                                      Кстати, по-хорошему надо использовать не DISPLAY=:0.0, а DBUS_SESSION_BUS_ADDRESS как здесь: Ubuntu Forums — Problem using notify-send as root.
                                                                      • 0
                                                                        Да, проблема была в пути. Спасибо!
                                                            • 0
                                                              Спасибо большое )
                                                              • +5
                                                                два восклицательных знака работают не только для sudo, но и для любой другой команды.

                                                                root@srv:~# ls
                                                                123  456
                                                                root@srv:~# echo !!
                                                                echo ls
                                                                ls
                                                                
                                                                • +2
                                                                  Часто использую вот такую конструкцию:
                                                                  cd /long/path/
                                                                  mount --bind {/,}dev
                                                                  mount --bind {/,}proc
                                                                  chroot .
                                                                  


                                                                  PS про `sudo !!` знал, но никогда не мог понять, что мешает нажать просто кнопку вверх и дописать sudo?
                                                                  • 0
                                                                    всегда когда попадал в такие ситуации делал вверх, Cntrl + a потом писал sudo) уже на автоматизме.
                                                                  • +6
                                                                    Возможно бОян, но кладезь решений тут:
                                                                    www.commandlinefu.com/
                                                                    • 0
                                                                      Отлично! Добавил в закладки.
                                                                    • +7
                                                                      Чем больше мы учим, тем больше мы знаем.
                                                                      Чем больше мы знаем, тем больше забываем.
                                                                      Чем больше забываем, тем меньше мы знаем.
                                                                      Чем меньше мы учим, тем меньше знаем.
                                                                      Чем меньше знаем, тем меньше забываем.
                                                                      Чем меньше забываем, тем больше мы знаем.
                                                                      Чем меньше мы знаем, тем больше мы знаем.
                                                                      • –3
                                                                        Филфак на хабре?
                                                                        • +6
                                                                          Что, уже шутить нельзя?
                                                                          • 0
                                                                            просто философская шутка.
                                                                            но все равно шутка, ибо кругозор основывается на знаниях.
                                                                            а если их мало — вы ограничены.
                                                                            • +3
                                                                              Еще и на опыте. А то, что содержится в моей шутке, лишь подтверждение эпиграфа темы — чем больше знаешь, тем больше понимаешь, что ничего не знаешь. Используя нехитрые «философские» сентенции, я сформулировал обратное утверждение, что не идет ни с чем в разрез. Плюс, в этом есть некоторая парадигма простоты, чем меньше знаем, тем больше знаем. Вопрос метафорический, и ессно не должен буквально восприниматься. В любом случае, никого не хотел обидеть. Спс за минусы.

                                                                              п.с. филфак, юриспруденция, программирование, архитектура — все работает по одним и тем же моделям.
                                                                              • 0
                                                                                последние 2 слова в пред. комментарии к вам не относятся (это в общем случае).
                                                                                Да расслабьтесь, никто просто не читал и не вдумывался в ваши строки.
                                                                                все Ok.
                                                                                ps я позитивно только мыслю ;)
                                                                          • 0
                                                                            «Не время сейчас, Родина в опасности!»
                                                                            Тут не забалуешь, товарищ!
                                                                        • +9
                                                                          • +2
                                                                            Великолепно!
                                                                            • 0
                                                                              Есть еще подобные задачки?
                                                                              • 0
                                                                                Не могу припомнить, разве что один мой знакомый, однажды собирая кубик Рубика умудрился из задачки про сыр, как-то подвести все к тому, что дырок в сыре больше чем сыра. К сожалению, логики не помню. Но было смешно. Если найду или вспомню — напишу.
                                                                                • 0
                                                                                  >… дырок в сыре больше чем сыра…
                                                                                  Это как раз вытекает из второго логического посыла «Больше дырок меньше сыра». Именно он нарушает логику, точнее ее закон (закон тождества?) и сбивает с толку человека не изучавшего логику как науку.
                                                                                  • 0
                                                                                    Это обычно принято делать через фейковый силлогизм. Например, докажем, что крокодил более широкий, чем длинный:
                                                                                    1. Крокодил более широкий, чем зеленый, поскольку широкий он и по спине и по животу, а зеленый — только по спине.
                                                                                    2. Крокодил более зеленый, чем длинный, поскольку зеленый он и вдоль и поперек, а длинный — только вдоль.
                                                                                    ⇒ QED
                                                                            • +5
                                                                              Ну и наверное, как минимум, нужно прописать команду вывода подсказки при открытии терминала

                                                                              echo "ubuntu-server-tip" >> ~/.bashrc
                                                                              • 0
                                                                                А попробуй
                                                                                echo «fortune» >> ~/.bashrc

                                                                                Вроде как тоже самое на русском
                                                                                • +4
                                                                                  Малобюджетный фильм «Парсер — лох, или как оборачивать код в тег» на экранах интернетов.

                                                                                  echo 'fortune' >> ~/.bashrc
                                                                                  • +1
                                                                                    Не забудьте передать 1% показов Михалкову.
                                                                                • +1
                                                                                  или же почитать мануал по ubuntu-server-tip и узнать об опции MOTD в настройках.
                                                                                • +4
                                                                                  cheat: vim /usr/share/games/fortunes/ru/ubuntu-server-tips
                                                                                  • +2
                                                                                    Мне понравилась команда column
                                                                                    Вообще я давно уже понял что все полезные утилиты уже написаны, вопрос как их найти :)

                                                                                    Было бы интересно в комментах почитать от установивших, какой из tip'ов показался кому полезным. При рандомной выдаче легко пропустить что-то классное :)

                                                                                    Чтобы не пропустить вкусное, делаем:

                                                                                    less /usr/share/games/fortunes/en_GB/ubuntu-server-tips-en_GB

                                                                                    Префикс локали меняем по-вкусу.
                                                                                    • +1
                                                                                      Какая чУдная плюшечка
                                                                                      • +1
                                                                                        Случайно попробовал!!! на сервере FreeBSD вместо локальной машины. Тоже работает. Ну а sudo!!! просто частный случай.
                                                                                        • +3
                                                                                          Можно получить на русском:

                                                                                          fortune ubuntu-server-tips-ru
                                                                                          • +2
                                                                                            Есть лучшее, сайт www.commandlinefu.com/ там у каждой команды рейтинг и комментарии. Листал страницы в диком восторге.
                                                                                            • +1
                                                                                              $ echo 'cmdfu(){ curl «www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext»; }' >> ~/.bashrc
                                                                                              $ bash
                                                                                              $ cmdfu mplayer

                                                                                              Не могу отбиться от парсера, нормальный текст — pastebin.com/raw.php?i=jxENHerJ
                                                                                              • 0
                                                                                                echo 'cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; }' >> ~/.bashrc
                                                                                                bash
                                                                                                cmdfu mplayer
                                                                                                • 0
                                                                                                  А зачем команда bash? Возможно, вы имели в виду оператор «точка»:

                                                                                                  . ~/.bashrc
                                                                                                  • 0
                                                                                                    Вы чертовски правы. Я просто не знал о такой возможности, потому что у меня никак не хватает духу сесть и вызубрить man bash.

                                                                                                    Впрочем, мой вариант нагляднее (:
                                                                                            • 0
                                                                                              тю, у меня их в debian всего-то 43 штуки в разделе debian-hints.
                                                                                              В Ubuntu также?
                                                                                              • 0
                                                                                                Узнал про etckeeper. Очень полезная и удобная штука.
                                                                                                • 0
                                                                                                  Настроил чтобы в коньках каждые 5 минут показывало новый типс, хоть какая-то от них польза )
                                                                                                  • 0
                                                                                                    echo h{i\,,ello\,,ow_are_you?}

                                                                                                    !cmd — выполнить последнюю команду, начинающуюся с cmd. Что-то типа Ctrl-R
                                                                                                    ifconfig eth0
                                                                                                    ping google.com
                                                                                                    ifconfig eth0 down
                                                                                                    !pi
                                                                                                    • +1
                                                                                                      cd -

                                                                                                      go to previous directory
                                                                                                      • 0
                                                                                                        cd… тоже самое)
                                                                                                        • 0
                                                                                                          упс, парсер лох
                                                                                                          cd ..
                                                                                                          • +1
                                                                                                            Нет, не то же самое.
                                                                                                            cd… → уровень выше в файловой системе
                                                                                                            cd — → назад по истории

                                                                                                            То есть:
                                                                                                            cd /etc → переходим в /etc
                                                                                                            cd /home → переходим в /home
                                                                                                            cd — → переходим в /etc, а в /
                                                                                                          • 0
                                                                                                            (Из /etc/bash.bashrc:)

                                                                                                            alias ..='cd ..'
                                                                                                            alias ...='cd ../..'

                                                                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.