четверг, 31 декабря 2015 г.

Как удалить файл через терминал Linux

Эта небольшая заметка ориентированна на совсем начинающих. Сегодня мы рассмотрим как удалить файл в терминале Linux. Для более опытных пользователей это элементарная задача, но новичкам надо с чего-то начинать. И знать как работать с файлами в консоли очень важно. К тому же удаление из консоли дает много преимуществ и большую гибкость. Например с помощью специальной команды вы можете полностью стереть файл с жесткого диска, так что его уже ни за что невозможно будет восстановить или одной командой с помощью спец символов, условий или регулярных выражений удалить сотни ненужных файлов в одном каталоге или подкаталогох соответствующих определенному критерию.
В Linux для удаления файлов предусмотрена стандартная утилита rm. Как и все остальные стандартные утилиты в имени rm тоже заложена определенная идея. Это сокращение от английского слова Remove.
Чтобы удалить файл достаточно передать в параметрах команде адрес файла в файловой системе:
$ rm /home/user/file
Чтобы удалить все файлы начинающиеся на слово file можно использовать спец символ *, означает любой символ в любом количестве:
$ rm /home/user/file*
С такими командами нужно быть особенно осторожным, чтобы не удалить ничего лишнего. В утилиты есть опция -i, которая заставляет программу спрашивать пользователя перед тем как удалить каждый файл:
$ rm /home/user/file*
rm: удалить пустой обычный файл «/home/user/file»?
Если файлов очень много, вы уверены в правильности команды и отвечать каждый раз y неудобно, есть противоположная опция — f. Будут удалены все файлы без вопросов:
$ rm -f /home/user/file*
Для удаления директорий, в месте с файлами и поддиректориями используется опция -R, например:
$ rm -Rf /home/user/dir
Будет удалено все что находиться в папке dir, и эта папка. Только будьте бдительны, чтобы не получился знаменитый патч Брамина:
$ rm -Rf /*
Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.
Удалять файлы также можно с помощью утилиты find. Общий синтаксис find:
$ find папка критерий действие
Например мы хотим удалить файл по имени:
find . -type f -name «file» -exec rm -f {} \;
Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:
find . -type f -name «file» -delete
Удалить все файлы в текущей директории соответствующие определенному регулярному выражению:
find . -regex ‘\./[a-f0-9\-]\.bak’ — delete
Или удалить файлы старше определенного строка, может быть полезно для удаления старых логов:
$ find /path/to/files* -mtime +5 -exec rm {} \;
Будут удалены все файлы в папке старше 5-ти дней.
Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой — после удаления файла, его место на диске несколько раз перезаписывается.
$ shred /home/user/file
Опцией -n — можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.

Взял здесь

пятница, 25 декабря 2015 г.

Deepin Terminal Emulator в Ubuntu 15.10/15.04/14.04/12.04 и производных

Deepin Terminal Emulator разработан командой создателей Linux Deepin OS и по умолчанию он установлен в дистрибутиве Linux Deepin, основанного на пакетной базе Ubuntu. А также известен, как эмулятор терминала нового поколения и направлен ​​на повышение качества обслуживания пользователей командной строкой. Продвинутым пользователям Deepin Terminal может быть очень удобным, т.к. имеет большое количество функций, такие как вертикальное и горизонтальное размещение дополнительных окон в основном окне терминала, переключение рабочих пространств, прозрачный фон с регулировкой или фоновым изображением, возможность выбора шрифта и изменения размера, использование горячих клавиш (с возможной сменой), быстрый доступ к  меню правой кнопкой мыши, полноэкранный режим, поиск.



Правый клик на любом месте терминала открывает контекстное меню:


Горячие клавиши:


Параметры Терминала Deepin:


Деление окна терминала на несколько дополнительных окон по вертикали и горизонтали:


Установка Deepin Terminal в Ubuntu 15.10/15.04/14.04/12.04 и производные

Откройте основной терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:

sudo add-apt-repository -y ppa:noobslab/deepin-sc
sudo apt-get update
sudo apt-get install -y deepin-terminal


По окончании установки вы найдете Deepin Terminal в программах Системные утилиты или поиском в системном меню:



Источник:  http://www.noobslab.com

среда, 16 декабря 2015 г.

Need for Speed в Linux

Лично я не большой фанат игр, но всё же иногда могу и поиграть. И из всех игр я предпочитаю гонки. Не знаю, может от того, что у меня нет водительских прав, или от того, что такие игры меньше затягивают, но именно им я отдаю предпочтение. Но в Linux хороших игр гонок практически нет, и это печально.
И в в тоже время в Windows есть масса таких игрушек, например, Need for Speed. Если вы ВДРУГ не знаете, что такое Need for Speed, то почитайте о ней тут www.gameray.ru/need-for-speed-rivals/ Многие любят эту игру и не напрасно. Как установить Need for Speed в Linux и возможно ли это? Возможно. И вот для начала видео, где это демонстрируется.

Как видите, всё работает прекрасно, хоть и запускается через Wine. Но как вы заметили из видео, чтобы игра в Wine запустилась, нужно установить дополнительные пакеты. И это не проблема, знать бы точно, какие именно ставить и как это сделать, так как на видео показано всё очень быстро. Специально для вас решил разложить всё по полочкам.

Как установить Need for Speed в Ubuntu через WINE?

Первым делом нам нужен самый последний релиз Wine. Для этого устанавливаем репозиторий и устанавливаем программу.
sudo add-apt-repository ppa:ubuntu-wine/ppa & sudo apt-get update & sudo apt-get install wine
Всё, Wine самой последней версии установлен. Теперь вам нужно установить дополнительные Windows программы и компоненты.
Идём в Приложения - Wine - Winetricks и запускаем это приложение. Сначала переходим в программу на этот пункт и нажимаем далее.
Как установить Need for Speed в Linux
После этого выбираем установку новых шрифтов:
Как установить Need for Speed
После этого устанавливаем шрифты - это самые распространённые шрифты Microsoft:
Need for Speed в Linux
После этого возвращаемся назад и выбираем пункт установки дополнительных компонентов Windows:
Need for Speed
И затем устанавливаем нужные компоненты:
Как установить NFS в Linux
И тут наверное самое сложное. Нет, не сложно всё это установить, сложно выбрать то, что нужно. На видео выбираются такие компоненты:
dotnet20, ie7, glsl-enable, d3dx9_*, vcrun2008, mono26
Но учтите, видео немного устарело, и Need for Speed там возможно более старой версии. Поэтому нужно поставить тоже самое, но более свежего разлива. И тут тоже нет гарантии, что всё стразу получится, возможно придётся по-экспериментировать.
Если возникнут проблемы, то можно запустить всё через терминал и глянуть, что там не так и чего не хватает.
Так же нужно иметь в виду, что эти игры требуют хорошей видеокарты и правильных драйверов. А тут всё индивидуально, и подсказать можно только в каждом конкретном случае.
Need for Speed в Linux
В общем. Могу пожелать только в этом благородном деле! Если что, пишите в комментариях :)

Makulu Linux в стиле Windows 7

Уже не раз я писал о дистрибутивах Linux, которые пытались закосить под другие операционные системы, например, под Windows XP. Линия партии тут ясна: люди, которые сидят на Windows увидят, что этот линукс мало чем отличается ВНЕШНЕ от их любимой OS и с радостью покинут уже надоевшую им виндовс. Расчет с первого взгляда верный, но только с первого. Как только доходит дело до: - а как тут need for speed установить? пользователь крайне разочарован - зачем ему внешнее сходство, если я не могу поставить любимую игрушку?

Очень порадовало, что создатель Makulu Linux это кажется понял, и поэтому постарался свой Linux сделать похожим не только внешне (им ему это неплохо удалось), но и внутренне.
Makulu Linux обзор
Рабочий стол тут XFCE, легкий и очень удобный в плане юзабилити, намного удобнее, чем в Windows 7, так как все программы разложены по категориям и ОЧЕНЬ легко найти нужную. Как видите, в Makulu (так и не понял, что это слово означает) все сделано максимально похожим на меню Windows. Хотя, можно было бы и побольше сходства.
Makulu Linux папки
Папочки, как видите, тоже замаскированы под семерку, хотя они и другого цвета. Но не все это меня поразило больше всего, а вот это:
Makulu Linux antivirus
Да, в этом линуксе по умолчанию установлен антивирус ClamAV, в меню даже на видном месте сделан ярлык - ОБНОВИТЬ АНТИВИРУС! Хотя автор этого дистрибутива прекрасно знает, что в линукс антивирус СТО лет не нужен, но он так же и понимает, что пришедший с windows пользователь ЭТОГО НЕ ПОНИМАЕТ. Он так привык, так спокойнее, так на, получи, чувствуй себя безопасно 😉
Но это еще не все, оказалось, что Jacque Montague Raymer (это автор Makulu Linux) сразу установил на свое детище Steam, чтобы окошечники сразу бросились качать игры, так как для многих это САМЫЙ ВАЖНЫЙ критерий оценки операционной системы.
Makulu Linux stream
Я запустил Steam и он сразу стал качать 300 метров чего-то. Нет, спасибо, я не трачу времени на игры, его мне и так не хватает. Но в разрезе специфики этой сборки этот шаг очень удачный, так как Steam OS меня не очень впечатлила, все же Debian - это не то, что нужно новичкам, а вот Linux Mint (на нем основан Makulu) самое то.
Еще меня очень удивил какой-то диковинный онлайн плеер, в котором есть даже приложение Яндекс Музыка. Кроме этого еще куча всего, чем я пока не пользовался.
Makulu Linux musik
Нужно будет найти репозиторий этого приложения, хоть оно и beta, но все же очень интересное. Яндекс музыка запустилась и я успешно прослушал несколько композиций.
Еще, что меня очень удивило, так это отсутствие обычного для линукс дистрибутивовLibre Office. Вместо него установлен какой-то онлайн офис:
Makulu Linux office
Даже не знаю, хорошо это или плохо, я привык пользоваться Libre Office, но для любителей Microsoft Office скорее всего эта программа будет намного привычнее.
Я лишь немного погонял этот ДЕЙСТВИТЕЛЬНО интересный дистрибутив, больше вам может рассказать о нем видео, которое снял сам создатель:

В целом очень интересная задумка, хочу пожелать автору успехов в его начинаниях, они очень благородные, но все же кажется немного утопичные, мой опыт показывает: если человек захотел освоить линукс, он ищет в нем не знакомые виндовс иконки, а чего-то другого. Чего, пока не знает сам....

Полезные команды Linux

Терминал Linux очень гибкий и полезный инструмент. С помощью него можно сделать, что угодно, и во многих случаях даже намного эффективнее чем в графическом интерфейсе. Многие команды можно объединять между собой, перенаправлять вывод одной команды, на вход другой, что делает их применение еще более эффективным. В этой статье я хочу поделиться несколькими полезными командами, которые я открыл для себя на во время использования Linux и которыми до сих пор пользуюсь для автоматизации рутинных действий.
В качестве командной оболочки используется самая популярная — bash. Также для некоторых задач нам понадобиться демон планирования выполнения задач cron.
Некоторые из этих команд упрощают выполнение той или иной задачи, некоторые полностью выполняют нужные действия за пользователя. Возможно не все они будут вам полезны, так как, некоторые команды нужны только веб мастерам, другие системным администраторам, а еще одни обычным домашним пользователям. Но давайте перейдем к списку.

Создание папок в терминале

Для создания папки в терминале используется команда mkdir. Вот так она выглядит:
$ mkdir имя_папки
Но не все знают о ее дополнительных возможностях. Чтобы создать несколько вложенных папок используйте команду p:
$ mkdir -p /mnt/foo/bar/
Создать несколько папок за один раз:
$ mkdir /mnt/{foo,bar,doc,man}
Создать папку и перейти в нее:
$ mkdir /home/foo/doc/bar && cd $_
Кстати, синтаксис фигурных скобок поддерживается и другими стандартными командами Linux.

Ожидать завершения команды и выключить компьютер

Это скорее не команда, а небольшая стандартная функция оболочки Bash, о которой не все знают. Иногда нам нужно оставить на выполнение какую нибудь долго работающую утилиту, например обновление системы, а самим куда то отойти. И при этом мы хотим чтобы после завершения работы утилиты компьютер автоматически выключился. Можно просто объединить команды с помощью стандартного синтаксиса Bash. Для объединения используются символы && и ||. Первый — выполнить другую команду если первая завершилась успешно, второй если первая завершилась ошибкой.
Например обновить систему и если все хорошо выключить PC:
$ su —
$ apt-get update && apt-get upgrade && shutdown -h now
Или выключить компьютер если обновление не удалось:
$ apt-get update && apt-get upgrade || shutdown -h now
Или выключить не зависимо от того произошла ошибка или нет:
$ apt-get update && apt-get upgrade ; shutdown -h now
Здесь приведена команда обновления Ubuntu, но в других дистрибутивах достаточно заменить эту команду на свою, чтобы все заработало.

Повторить последнюю команду

Если мы уже начали говорить  о возможностях Bash пойдем дальше. Символ !! означает выполнить последнюю команду. Часто ли у вас случалось такое, что вы набираете команду нажимаете Enter и понимаете, что для ее работы нужно было использовать sudo? Тогда приходиться набирать ту же команду только уже правильно. Но можно пойти другим путем, просто выполнить:
$ sudo !!
Кроме символа !! В Bash есть еще несколько указателей на команды:
!^ — первый аргумент предыдущей команды;
!$ — последний аргумент предыдущей команды;
!* — все аргументы предыдущей команды;
!-2 — вторая с конца команда.
А вот так можно сохранить последнюю выполненную команду в скрипт:
$ echo «!!» > foo.sh

Вызвать последнюю команду которая начиналась с символов

И еще о возможностях Bash. Например вы помните что подключались в последний раз к определенному узлу по ssh, и теперь вам нужно подключится к нему снова. Чтобы не вводить полностью команду можно набрать знак «!» и символы с которых начиналась команда:
$ !ssh 
Будет выполнена последняя команда которая начиналась на ssh.

Посмотреть ip адрес

Часто возникает необходимость быстро узнать ip адрес своей машины. Для этого есть легко запоминающаяся команда, использующая curl и сайт ifconfig.me:
$ curl ifconfig.me

Форматирование вывода

Многие команды Linux выводят данные разделяя столбцы пробелами. Одна из них mount. И естественно в этом выводе трудно что либо разобрать. Для разделения столбцов табуляциями используйте утилиту column:
$ mount | column -t

Динамический просмотр лога

Допустим есть у нас лог файл в который пишется определенная информация и мы хотим видеть все изменения сразу, на лету. Тогда используйте команду tail с опцией -f:

$ tail -f /адрес/лог/файла
Будет выведено 8 последних строк из лога файла, а затем они будут постоянно обновляться.

Очистить терминал

Вывод команд, если во время их разработки были допущены некоторые ошибки может сломать форматирование строк терминала. Или просто может понадобится стереть всю лишнюю информацию. Для этого есть команда:
$ reset

Подключение RAM диска

Если вам нужно немного дискового пространства с высокой скоростью работы, в Linux можно легко подключить немного оперативной памяти в корневую файловую систему:
$ mount -t tmpfs tmpfs /mnt -o size=1024m
В папку /mnt будет подключен RAM диск размером 1024 мегабайт.

Узнать архитектуру системы

Этой простой командой можно быстро узнать разрядность системы:
$ getconf LONG_BIT

Открыть файл на определенной строке

Это не команда, а просто малоизвестная функция консольных редакторов. Очень полезная для программистов. Вот например сообщает программа, что у вас ошибка в 55 строке, вы вместо того чтобы самому искать ту сроку просто набираете:
$ nano +55 /sourcefile
или
$ vim +55 /sourcefile
И оказываетесь сразу на нужной строке

Время выполнения команды

Хотите узнать сколько времени выполняется та или иная команда? Просто добавьте перед ней вызов утилиты time. Например:
time ls ~/
drwxr-xr-x 8 user user 4096 дек 6 14:13 Фильмы
drwxr-xr-x 13 user user 4096 июл 20 2014 Фото
real 0m0.059s
user 0m0.003s
sys 0m0.003s
Эту команду также можно использовать в качестве секундомера. Просто выполните:
$ time read
А затем нажмите Ctrl+D когда нужно будет узнать сколько времени прошло.

Автоматическое удаление старых файлов

Все мы часто качаем файлы из интернета, это торренты, фильмы, музыка и т д. И все это со временем накапливается в папке загрузки если ненужное вовремя не удалять, а нужное не перемещать в другие папки. Тогда папка загрузок начинает напоминать огромную свалку где вообще нереально что-то найти. У себя я всегда время от времени сортировал  и удалял файлы, но когда видел такое у знакомых брался за голову. Есть способ упростить очистку папки загрузок.
Утилита find позволяет находить все файлы созданные позже определенной даты и выполнять с ними нужное действие. Все нужные файлы будем вовремя рассортировывать и перемещать по папкам назначения, а все что останутся в загрузках будут через два дня автоматически удаляться. Знание что файлы будут удалены заставит их вовремя переместить куда нужно.
Вот так выглядит сама команда:
$ find /home/user/Downloads/ -type f -mtime +180 -exec ‘rm -f {}’
Если не хотите полностью удалять файлы можно перемещать их в корзину:
$ find /home/user/Downloads/ -type f -mtime +180 -exec ‘mv {} ~/.Trash’
Подробнее о работе find можно почитать тут. Для полной автоматизации добавим выполнение этой команды каждый день в расписание cron:
$ crontab -e
0 0 * * * find /home/user/Downloads/ -type f -mtime +180 -exec ‘rm -f {}’
Теперь давние файлы будут автоматически удаляться каждый день.

Убить все процессы из консоли

Если у вас небольшое количество оперативной памяти на компьютере и вы любите открывать очень много вкладок в Chromium, то программа а вместе с ней и окружение рабочего стола могут прочно зависать. Браузер создает для каждой вкладки отдельный процесс, поэтому пока планировщик памяти ядра поймет кто виноват в сбое и что нужно делать уйдет много времени, а пытаться убить каждую вкладку по отдельности очень долгое занятие. Есть команда с помощью которой можно из терминала одним махом закрыть все вкладки:
$ ps aux | grep chromium | awk ‘{print $2}’ | xargs kill -TERM
Здесь мы получаем список всех процессов в ps, выбираем из них chromium, потом отбираем второй столбец, то есть PID, и с помощью xargs вызываем kill для каждой вкладки. Точно таким же способом можно уничтожить любое приложение создающее много процессов.

Изменить размер картинки

Иногда возникает необходимость изменить размер нескольких картинок. Например вам нужно залить изображения на фалйобменник или сделать превью к постам в социальных сетях. Конечно если картинка одна то можно просто все сделать в графическом редакторе, но если их много намного эффективнее будет использовать терминал. Этой командой мы найдем все файлы jpg и изменим их расширение на 700х500 с помощью утилиты mogrify:
$ mogrify -resize 700х500 *.jpg

Завершение

Вот и подошел к концу наш список. Если вы знаете другие полезные команды, поделитесь ими в комментариях!