Сообщество - GNU/Linux

GNU/Linux

1 172 поста 15 634 подписчика

Популярные теги в сообществе:

59

Не люблю я Microsoft. Или как поставить skype в debian stretch

Не так давно корпорация Microsoft раструбила на весь мир, что любит Linux (конечно любит... кждую неделю иски в суд таскает), даже баннер соответствующий на азуре повесили. Но сейчас не об этом.

Начитавшись комментариев на Пикабу и наслушавшись коллегу в курилке я решил обновить свой консервативный Debian со Stable до Testing. В общем не буду вдаваться в подробности, а просто скажу, что систему почти полностью пришлось переставлять (слишком сильно я её запустил и кастомизировал).

После установки основного софта я принялся ставить всё то, что мне нужно в повседневной жизни, и первое, за что я взялся, это был так сильно "обожаемый" скайп. Хочу немного пояснить своё пренебрежительное отношение к скайпу на линуксе. Во-первых скайп для линукса стар как говно мамонта имеет довольно старую и не актуальную версию. Во-вторых - нет реализации 64-битной архитектуры, из-за чего приходится тянуть целую кучу библиотек для i386. Всё это не сильно то и радует, но как то я уже смирился. Но тут, при установке, я получаю сообщение о том, что скайп не может быть установлен, т.к. не разрешены некоторые зависимости. Начинаю гуглить и узнаю, что разработчики Debian выкинули из системы (и из репозитроиев) устаревшую библиотеку libssl_1.0.0. И я их полностью в этом поддерживаю. Но оказалось, что горячо любимые индусы/китайцы/арабы/или хер пойми кто там в этом майкрсофте работает прописали жёсткую зависимость скайпа от устаревшей библиотеки, а обновлять версию - не хотят. Продолжив поиск я нашёл решение проблемы, и представляю его вам.

Для начала нам понадобится скачать тот самый злополучный скайп и небольшой скрипт.

Вот скрипт изнутри:

#!/bin/bash

if [[ -z "$1" ]]; then

echo "Syntax: $0 debfile"

exit 1

fi

DEBFILE="$1"

TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1

OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb

if [[ -e "$OUTPUT" ]]; then

echo "$OUTPUT exists."

rm -r "$TMPDIR"

exit 1

fi

dpkg-deb -x "$DEBFILE" "$TMPDIR"

dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN

if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then

echo DEBIAN/control not found.

rm -r "$TMPDIR"

exit 1

fi

CONTROL="$TMPDIR"/DEBIAN/control

MOD=`stat -c "%y" "$CONTROL"`

vi "$CONTROL"

if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then

echo Not modfied.

else

echo Building new deb...

dpkg -b "$TMPDIR" "$OUTPUT"

fi

rm -r "$TMPDIR"

Кладём всё это в одну папку, открываем терминал и приступаем к подготовке пакета.

Распакуем архив и выставим права.

gzip -d videbcontrol.gz

chmod 755

Теперь можно запускать скрипт

./videbcontrol skype-debian_4.3.0.37-1_i386.deb

После этого перед нами появится редактор vj, в котором нам нужно поправить версию библиотеки libssl на 1.0.2.

Не люблю я Microsoft. Или как поставить skype в debian stretch

И тут нас ждёт сюрприз! Оказывается, что vi - это не просто редактор, как блокнот, и просто так вы не сможете отредактировать тут текст. Поэтому нам нужно выбрать нашу библиотеку, а точнее установить курсор на последний ноль в версии, нажать Del (это удалит символ), нажать i (это переведёт нас в режим редактирования), ввести 2, нажать Esc (для возврата в командный режим), и просто ввести на клавиатуре :wq (это запишет в файл наши изменения и выйдет из vi). после закрытия редактора скрипт продолжит работу. Дождёмся конца работы скрипта и получим в папке с исходный пакетоп скайпа модифицированный skype-debian_4.3.0.37-1_i386.modfied.deb. Теперь можно устанавливать:

dpkg -i skype-debian_4.3.0.37-1_i386.modfied.deb

Если будет ругаться на недостаток зависимостей - запускаем

apt-get install -f

Пользуемся на здоровье ;)

Показать полностью 1
162

Запускаем сервер Half-Life на Linux c хедкрабами и ботами!

Привет вам, красноглазые братья и сестры! 

В этой "маленькой" статье я расскажу как поднять свой сервер легендарной игры Half-Life на Linux. Для тех, кто в танке:

Если верить Steam :

Боевик, приключения и удостоенная наград технология создания потрясающе реалистичного мира, в котором игрок должен думать, чтобы выживать — всё это обладатель звания «Игра года» от более чем 50 изданий, дебютная игра от Valve — Half-Life.

Ладно, закончим с прелюдией, приступим к делу.


-----------------------------------------------

Глава 0. Подготовительная.

-----------------------------------------------

По умолчанию предполагается, что:

- каталог с играми - /mnt/video/games

- компьюер соответ. минимальным требованиям игры. Для клиента это (согласно Steam):

> OS: Linux

> Процессор: Dual-core from Intel or AMD at 2.8 GHz

> Память: 1GB

> Видеокарта: nVidia GeForce 8600/9600GT, ATI/AMD Radeaon HD2600/3600

> Граф. драйвер: nVidia 310, AMD 12.11, OpenGL 2.1

> Место на ЖД: 4GB Hard Drive Space

> Звуковая карта: OpenAL Compatible Sound Card

Имхо, требования завышены.

- широкополосный доступ в интернет


Тестовая система выглядит так:

OS: ArchLinux x86_64 c ядром 4.5.4-1-ARCH

Процессор: Intel Pentium 4 3.00GHz

Память: 3.2 Gb

Видеокарта: Ati Radeon HD 4670 c откраытым драйвером версии 1.7.7.0

Место на ЖД: подсчитаем в конце статьи.


--------------------------------------------------------------

Глава 1. Прибытие в Чёрную Консоль.

--------------------------------------------------------------

Для начала создадим папку, в которую будем устанавливать сервер. Напоминаю, у меня папка с играми /mnt/video/games/, у вас своя.

mkdir /mnt/video/games/hlds && cd /mnt/video/games/hlds

Теперь обновим пакеты и установим необходимые библиотеки для 64-битных ОС.

Для debian-производных систем (танкистам - Ubuntu и Mint относятся к ним): 

sudo apt-get update

sudo apt-get install lib32gcc1

Для ArchLinux (предварительно раскомментируйте multilib репозиторий. Подробнее читайте в wiki ArchLinux)

pacman -Syy lib32-gcc-libs


-------------------------------------------------------------------------------------------

Глава 2. Аномальные материалы или косяки SteamCMD

--------------------------------------------------------------------------------------------

Установим SteamCMD. Чтобы подчистить потом мусор, давайте создадим отдельную папку.

mkdir steamcmd && cd steamcmd

Начнем магию. Качаем, распаковываем. Внимание! Ссылку пикабу выводит в сокращенном виде, поэтому копируйте внимательно (правой кнопкой мыши -> Копировать ссылку)

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_li...

tar -xf steamcmd_linux.tar.gz

Запускаем и ждем приглашения Steam:

./steamcmd.sh

Теперь надо ввести логин. Можно ввести свой steam-аккаунт, но оно нам надо? Анонимно!

login anonymous

Укажем каталог для установки сервера. В данном случае выбран родительский каталог

force_install_dir ../

И самое интересное. Непосредственно, скачавание и установка сервера. Интересно тут то, что закачка постоянно обрывается, независисо от вашего интернет-подключения. Выводится ошибка:

Error! App '90' state is 0x402 after update job.

В этом случае повторяйте команду заново, пока она не докачает до конца и не скажет, что все OK. Например, когда я писал эту статью, команду пришлось запустить 50 раз. 50 РАЗ, КАРЛ!!!

app_update 90 -beta beta validate

Все ОК будет, когда появится надпись:

Success! App '90' fully installed.

Сервер установлен. Выходим из SteamCMD

quit

----------------------------------------------------------------

Глава 3. Непредвиденные последствия

----------------------------------------------------------------

Уже сейчас вы можете запустить сервер и, если у вас есть Steam-версия Half-life, подключиться и играть. Но мы ведь старые пираты. Йо-хо-хо, и бутылка рома! Просто так мы подключится не сможем, получим ошибку.

Нам нужен dproto.

Double Protocol (dproto) - плагин для Metamod'а, решающий проблему мультипротокола и эмулирующий SteamID для NoSteam-клиентов.

Читаем внимательно.

плагин для Metamod'а,

Ага, значит нам еще нужен Metamod. Это некая прослойка между плагинами и игрой.

Я решил собрать metamod, dproto и ботов в один архив и залить его на облако, чтобы не мучались со скачиванием и с версиями. Мы в папке /mnt/video/games/hlds/steamcmd/, если вы помните. Перейдем на папку выше.

cd ..

И удалим папку steamcmd. Она нам больше не нужна.

rm -r steamcmd

Качаем архив и распаковываем. Сокращенные ссылки пикабу не пропускает, а длинную обрезает, поэтому скачайте папку с мыльного облака и положите в папку с сервером. У меня это /mnt/video/games/hlds/. Распакуем

tar -xf valve.tar.xz

Теперь у нас есть папка addons и конфиг для dproto. Переместим её в нужное место. А ненужный уже архив удалим.

mv addons valve/

mv dproto.cfg valve/

rm valve.tar.xz

Отредактируем файл liblist.gam в папке valve.

nano valve/liblist.gam

Заменяем строку

gamedll_linux "dlls/hl.so"

на эту

для 64-битных:

gamedll_linux "addons/metamod/dlls/metamod_amd64.so"

для 32-битных:

gamedll_linux "addons/metamod/dlls/metamod_i386.so"

Как это сделать, думаю, пояснять не надо.

-------------------------------------------------

Глава 4. Серверный комплект

-------------------------------------------------


Теперь у нас есть сервер и мы даже можем его запустить.

./hlds_run -game valve +maxplayers 8 +map crossfire +exec server.cfg

здесь:

-game valve - запустить халфу;

+maxplayers 8 - количество игроков';

+map crossfire - карта;

+exec server.cfg - выполнить команды, прописанные в server.cfg. Это файл находится в каталоге valve и туда можно, например, прописать разделение на две команды "mp_teamplay 1" (без кавычек).

Ботов мало? Боты тупые? Нет проблем! Редактируем файл valve/addons/jk_botti/jk_botti.cfg

min_bots 4

max_bots 4

botskill 2

Тут все просто и понятно.

Казалось бы, можно уже закончить статью, но как же клиент?


---------------------------------------------------------------------------------

Глава 5. Мы встретили пиратскую версию Халфы.

---------------------------------------------------------------------------------

... и прошли мимо. Мы ведь не качаем пиратские игры, правда? Для интересующихся, первая ссылка по запросу "half-life linux" в гугле. Скачиваем, распаковываем, запускаем, играем. (Скачивание не показано)

mkdir /mnt/video/games/half-life && cd /mnt/video/games/half-life

В эту же папку кидаем архив с игрой.

tar -xf Half-Life.tar.gz

./hl.sh

Порубиться с ботами или с другими игроками? Не вопрос. Запусти в одной консоли сервер. В другой клиент. В клиенте нажми тильду "~" и введи команду на соединение:

connect 127.0.0.1

Вместо 127.0.0.1 можно набрать адрес какого-нибудь другоего сервера.

Ну теперь уж точно все? Ан нет.


------------------------------------------------------

Глава 6. Отводные псевдонимы.

------------------------------------------------------

Набирать такие команды долго, я считаю. Если вы согласны со мной, то предлагаю добавить в ~/.bashrc пару псевдонимов. Папки, разумеется, ставьте свои!

echo "alias starthlds='cd /mnt/video/games/hlds; ./hlds_run -game valve +maxplayers 4 +map crossfire +exec server.cfg'" >>~/.bashrc


echo "alias starthlclient='cd /mnt/video/games/half-life; ./hl.sh'" >>~/.bashrc

И перечитаем файл.

source ~/.bashrc

Что это дало? А то, что теперь для запуска сервера достаточно набрать starthlds, а для запуска клиента starthlclient.

Ну вот теперь все?! Достал уже!

Нет, еще штрих. Необязательный.


--------------------------------------------------------------------

Глава 7. Подача разделенных терминалов

--------------------------------------------------------------------

Мой основной эмулятор терминала terminator. Мне нравится, что можно вертикально разбить окно: слева запустить сервер, справа запустить клиент. Удобно? Удобно. Быстро? Нет. Надо исправлять. Для начала создадим отдельный шаблон для запуска игр. Не буду утомлять, просто приведу ссылку на свой файл ~/.config/terminator/config - тык.

Если копируете, заменяйте папки на свои! В файле записан layout с названием hlds. Запустив терминал с этим layout-ом, мы получим вертикальное разбиение окна c одновременным запуском сервера/клиента.

terminator -l hlds --new-tab

Опять много писать ... Лига лени негодует. А давайте прописшем псевдоним, как в шестой главе.

echo "alias hl='terminator -l ramahg --new-tab'" >>~/.bashrc

Снова перечитает файл.

source ~/.bashrc

И все, теперь для запуска игры (сервера и клиента) нужно набрать всего лишь:

hl

Команда запустит отдельный экземляр эмулятора терминала, разделит окно вертикально, слева запустит сервер, справа клиент... Правда вы этого уже не увидите. Почему? Красная монтировка не может ждать!


Спасибо за внимание.

ps. ах да, чуть не забыл! В начале же я обещал привести объем занимаемое места на жд. Исправляемся.

сервер = 776,6 МиБ

клиент = 906,8 МиБ

Можно их, конечно соединить (мне так кажется), но пока

и так сойдет(с).

Показать полностью 4
644

Завершилось закрытое бета-тестирование Maru OS

Завершилось закрытое бета-тестирование операционной системы Maru OS и теперь желающие смогут опробовать предлагаемую ею возможность — превратить смартфон в системный блок настольного компьютера.

Завершилось закрытое бета-тестирование Maru OS

Целью проекта является создание удобного для использования конечными пользователями рабочего окружения, которое могло бы использоваться для комфортной работы как на смартфоне, так и при подключении стационарного монитора или телевизора, клавиатуры и мыши. В отличие от уже существующих Linux-окружений для Android в Maru OS обеспечена более тесная интеграция Linux-контейнера с Android и автоматизирован выбор режима работы - при подключении монитора по HDMI предоставляется доступ к рабочему столу Xfce в окружении Debian, а при работе с экрана смартфона предлагается интерфейс Android.

Эта платформа, работающая с Android и Debian Linux, была впервые представлена в феврале этого года и на данный момент поддерживает только один смартфон: Nexus 5. Разработчики уверяют, что подключив его к внешнему дисплею пользователь получит полноценную настольную среду Linux.

Maru развивается как самостоятельная прошивка на базе Android, включающая помимо компонентов платформы Android контейнер с полноценным Debian GNU/Linux, в котором можно устанавливать deb-пакеты, запускать офисные приложения и браузер Chromium, получить доступ к SD-карте, которая также используется приложениями в Android. Напомним, что большинство существующих Linux-окружений для Android (например, Debian noroot, GNURoot Debian, Complete Linux Installer и Linux Deploy) не требуют замены прошивки и поставляются в форме образа для запуска в изолированном окружении под управлением штатной Android-прошивки смартфона.

http://www.opennet.ru/opennews/art.shtml?num=44571

http://maruos.com/

Показать полностью 1

Вопросы к пользователям Fedora

Прошу инфы по некоторым аспектам использования этого дистрибутива.


1) Насколько беспроблемно в нём с блобом Nvidia? Много ли действий нужно выполнить для установки?


2) Насколько мощные репозитории? Можно ли в них найти такие программы, как Skype, Crossover, FocusWriter, CherryTree, Opera?


3) Пробовали Russian Fedora Remix? Как ощущения?

86

Консоль Linux [Часть 4]

13. rm (Remove / удалить)

Думаю, что сейчас у нас появилось множество файлов, давайте удалим несколько. Для того, чтобы удалить файлы вы можете использовать команду rm. Команда rm (remove / удалить) используется для удаления файлов и директорий.

$ rm file1

Будьте осторожны при использовании rm, т.к. не существует волшебной корзины, из которой вы сможете достать удаленные файлы. Однажды исчезнув, они исчезнут навсегда, так что будьте осторожны.

К счастью, существуют меры безопасности, так что очередной Вася не сможет удалить кучу важных файлов. Защищенные от записи файлы спросят ваше подтверждение перед тем, как удалить их. Если директория также защищена от записи, то ее тоже будет не легко удалить.

Но если вам все равно, вы все таки можете удалить множество важных файлов.

$ rm -f file1

Флаг -f или force (насильно) прикажет rm удалить все файлы не зависимо от того, защищены они от записи или нет, без уведомления пользователя (до тех пор, пока у вас есть соответствующие права).

$ rm -i file

Добавление флага -i, также как и к другим командам, будет выдавать запросы на удаление файлов или директорий.

$ rm -r directory

Вы не можете удалить каталог по-умолчанию, поэтому вам нужно добавить флаг -r для удаления всех файлов и подкаталогов, которые у вас есть.

Вы также можете удалить каталог с командой rmdir.

$ rmdir directory

Упражнения:

1. Создайте файл -file (не забудьте тире!).

2. Удалите этот файл.

14. find (найти)

Со всеми теми файлами, которые есть у вас в системе, вам нужно подсуетиться, чтобы найти какой-то один. Для этого мы можем использовать команду find (найти)!

$ find /home -name puppies.jpg

Для find вам нужно задать директорию, в которой вы будете искать, и что вы хотите найти, в этом случае мы пытались найти файл по имени puppies.jpg.

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

$ find /home -type d -name MyFolder

Как видите, я указал тип файла, который я ищу как директорию (d) и имя MyFolder.

Есть одна крутая вещь, find не останавливается на поиске только внутри данной директории, а продолжает искать то, что вы ищете внутри подкаталогов, которые могут быть в директории.

Задания:

Найдите файл из корневой директории, у которого в названии есть слово net.

15. help (помощь)

Linux имеет несколько встроенных иструментов, которые помогут вам узнать для чего используется та или иная команда, и какие флаги доступны для команды. Первый инструмент, help, встроенная в bash команда, которая предоставит вам помощь для других команд bash (echo, logout, pwd и т.д.)

$ help echo

Эта команда даст вам описание и опции, которые вы можете использовать для запуска echo. Для других исполняемых программ существует традиция иметь функцию --help или что-то вроде того.

$ echo --help

Не все разработчики, которые выпускают программы, следуют этой традиции, поэтому, возможно, вам стоит постараться самим, чтобы найти помощь к программе.

Упражнения:

Выполните команду help на командах echo, logout и pwd.

16. man (manual / руководство)

Надеюсь, что у этих программ есть руководство, чтобы мы могли узнать больше информации о них. К счастью оно есть и носит название справочных страниц (man pages)! Вы можете просмотреть руководство для команд с помощью man.

$ man ls

Справочные страницы (man pages) - справочники, которые встроены в большинство операционных систем Linux. Они предоставляют документацию о командах и других аспектах системы.

Упражнения:

Попробуйте выполнить man на нескольких командах, чтобы получить больше информации о них.

17. whatis (что такое)

Уфф, пока мы узнали совсем немного команд, если вы сомневаетесь о том, что делает команда, то вы можете использовать команду whatis. Эта команда предоставит краткое описание консольных программ.

$ whatis cat

Описание исходит со справочных страниц каждой команды. Если вы запустите whatis cat, то вы увидите небольшую заметку с кратким описанием.

Упражнения:

Запустите комнду whatis на команде less.

18. alias (Алиас, псевдоним)

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

$ alias foobar='ls -la'

Теперь вместо набор ls -ls, вы можете напечатать foobar и команда исполнится, довольно интересно. Помните, что эта команда не сохраняет ваши алиасы после перезагрузки, так что если вам понадобится постоянный алиас, поместите его в:

~/.bashrc

или в похожие файлы, если они сохраняются после перезагрузки.

Вы можете удалить алиасы с командой unalias:

$ unalias foobar

Упражнения:

Создайте несколько алиасов, затем удалите их.

19. exit (выход)

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


Сейчас вы можете похлопать себя по спине и отдохнуть. Для выхода из консоли вы можете использовать команду exit (выход):

$ exit

Или команду logout (выход из системы):

$ logout

Или, если вы работали с терминалом с GUI, вы можете просто закрыть консоль.

Вместе с консолью закрывается и наш курс. Спасибо за внимание.

0124

Показать полностью
167

Базовая инфа (команды) по свитчам DLINK

Буду краток, сходу к делу.

Минимальный список необходимых команд для работы с длинками.

В [квадратных скобках] - опциональные параметры


cable_diag ports номер_порта - проверка кабеля указанного порта. Работает (логично) только для езернета. Показывает значение близкое к правде только при вытащенном кабеле. Состояние open свидетельствует об обрыве (ну или это конец кабеля), short - короткое на паре. Также есть 2 длины, указывающие на проблемы с соединением - 92 и 120 метров. Обычно на таких длинах порт "залипает".

Если вместо номер_порта написать all - делает проверку по всем портам


Command: cable_diag ports 12

Perform Cable Diagnostics ...

Port Type Link Status Test Result Cable Length (M)

---- ------- -------------- ------------------------- -----------------

12 FE Link Up OK 15


show ports [номер_порта] [description] - выводит информацию о порте/тах:

Думаю переводить не надо.


show error ports номер_порта - выводит счетчики ошибок нужного порта:

Хорошо когда их нет. Если порт работает на халфе, то по ТХ будут резво набегать ошибки.

CRC и Fragments - плохо кабелю. Дропы - порту (свитча или клиентского устройства).


show packet ports номер_порта - показывает траффик в пакетах по порту.

show vlan - выводит список вланов на свитче

возможные параметры:

имя_влана - вывод информации по имени (кэп)

vlanid - вывод информации по id влана

ports - вывод списка вланов по порту

show switch - вывод инфомации о свитче

show log - лог

show arpentry - вывод арп таблицы свитча

show fdb mac - поиск мака на свитче

show fdb ports номер_порта - выводит маки с порта

show fdb vlan имя_влана - выводит маки в влане

show address_binding dhcp_snoop max_entry - выводит максимальное количество связок на портах

show address_binding dhcp_snoop binding_entry ports номер_порта - выводит связки (ип-мак) по порту


clear counters ports номер_порта - чистит счетчики на порту

clear address_binding dhcp_snoop binding_entry ports номер_порта - удаляет связки ип-мак с указанного порта


configure ports номер_порта state enable/disable - включить/выключить порт

configure ports номер_порта description текст - добавляет примечание к порту

configure ports номер_порта speed 10_half/10_full/100_half/100_full/auto - задаем скоростной режим работы порта


configure vlan vlanid %id add tagged/untagged ports номер_порта - добавить влан тагом/антагом на порт

configure vlan vlanid %id delete ports - удалить влан с порта

configure vlan vlanid name имя - задать имя влану


create vlan vlanid %id - создать влан с указанным ид


P.S. Вроде-бы основные написал.

P.S.S. Как будет не лень - напишу по цискам/эджкорам

Показать полностью 6
45

Консоль Linux [Часть 3]

Содержание:

Часть 1

Часть 2

9. history (история)

В оболочке присуствует история команд, которые вы вводили ранее, вы можете их просмотреть. Довольно полезно бывает найти и выполнить команду, которую вы вводили ранее, не печатая ее снова.

$ history

Хотите запусть команду, которую запускали до этого момент, просто нажмите стрелку вверх.

Хотите запустить команду, введенную ранее, без ее набора? Используйте !!. Если вы ввели cat file1 и хотите запустить ее еще раз, вы можете просто набрать !!, это выполнит последнюю команду, которую вы запускали.

Другой способ пробежаться по истории - ctrl + R, это команда обратного (Reverse) поиска, если вы нажмете ctrl + R и начнете печатать часть команды, которую вы хотите, команда покажет вам совпадения, по которым вы можете перемещаться нажав ctrl + R снова. Найдя нужную команду, нажмите Enter.

В нашем терминале образовался беспорядок, не так ли? Давайте его немного почистим, используйте команду clear (очистить) для очистки экрана.

$ clear

Так лучше, не правда ли?

Пока мы говорим об этих полезных вещах, одна из наиболее полезных функций в любой командной среде - автозавершение по tab. Если вы начнете печатать начало команды, файла, директории и т.д. и нажмете клавишу Tab, она автоматически завершит ввод, основываясь на том, что было найдено в директории, если не найдено других названий, начинающихся на те же буквы. Например, если вы хотите ввести команду chrome, вы можете ввести chr и нажать Tab, которая дополнит слово до chrome.

Упражнения:

Поперемещайтесь по истории ваших команд используя клавиши Вверх и Вних. Поиграйтесь с обратным поиском на ctrl + R.

10. cp (Copy / копировать)

Давайте начнем создавать копии файлов. Во многом похоже на копирование и вставку файлов в других операционных системах, оболчка дает нам более простой способ сделать это.

$ cp mycoolfile /home/pete/Documents/cooldocs

mycoolfile - это файл, который вы хотите скопирова и /home/pete/Documents/cooldocs - это то, куда вы хотите скопировать файл.

Вы можете копировать несколько файлов и директорий используя wildcard (подстановочный знак). Wildcard - символ, который может быть заменен на выбранный шаблон, давая большую гибкость при поиске. Вы можете использовать подстановочные знаки в любой команде для большей гибкости.

* wildcard всех wildcard'ов, используется для обозначения любых символов или строк

? используется для обозначения одного символа

[] используется для обозначения любого символа в скобках

$ cp *.jpg /home/pete/Pictures

Это скопирует все файлы с расширением .jpg в текущей директории в каталог Pictures.

Полезно дополнить команду флагом -r (recursively/рекурсивно), которая рекурсиво скопирует файлы и директории внутри каталога.

Попробуйте выполнить cp на директории, которая содержит несколько файлов в вашу директорию Documents. Не сработало? Это потому что необходимо также скопировать файлы и каталоги с флагом -r

$ cp -r Pumpkin/ /home/pete/Documents

Заметьте одну вещь, если вы копируете файл в директорию, которая содержит файл с таким же именем, то этот файл будет перезаписан на то, что вы копируете. Это плохо, если у вас есть файл, который вы не хотите случайно перезаписать. Вы можете использовать флаг -i (interactive/интерактивно), чтобы получить запрос на перезапись файла.

$ cp -i mycoolfile /home/pete/Pictures

Упражнения:

Скопируйте несколько файлов, будьте осторожны, не перезапишите что-нибудь важное.

11. mv (Move / переместить)

Используется, чтобы перемещать файлы и переименовывать их. Довольно похоже на команду cp, касательно флагов и функциональности.

Вы можете переименовать файлы вот так:

$ mv oldfile newfile

Или вы можете переместить файл в другую директорию:

$ mv file2 /home/pete/Documents

А также перемещать больше, чем один файл:

$ mv file_1 file_2 /somedirectory

Директории тоже можно переименовывать:

$ mv directory1 directory2

Также как и cp, если вы перемещаете файл или директорию, mv может что-либо перезаписать. Так что вы можете использовать флаг -i для получения запроса на перезапись.

mv -i directory1 directory2

Давайте скажем, что вы хотели переместить файл с перезаписью первого. Вы можете сделать резервную копию (backup) этого файла и переименовать его старую версию с помощю -b.

$ mv -b directory1 directory2

Упражнения:

Переименуйте файл, затем переместите его в другой каталог.

12. mkdir (Make Directory / создать каталог)

Нам потребуются несколько каталогов для того, чтобы хранить те файлы, над которыми мы работем. Для этого нам пригодится команда mkdir (make directory / создать каталог), которая создаст новую директорию, если она еще не существует. Вы можете создавать несколько директорий в одно и то же время.

$ mkdir books paintings

Вы также можете создавать подкаталоги с флагом -p (parent / родитель).

$ mkdir -p books/hemmingway/favorites

Упражнения:

Создайте несколько директорий и переместите туда несколько файлов.

Показать полностью
333

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

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

Решил написать список команд, которые часто использую, и, которые могут не знать новички в Linux:


CTRL-d  - отключение от SSH консоли сервера или закрытие текущего окна терминала


sudo !!  - запуск предыдущей команды от root


CTRL-r  - поиск по истории введенных команд


tail -f  - просмотр записи в файл в реальном времени


cat /etc/issue  - просмотр установленного дистрибутива


uname -a  - информация об установленной системе


strace  - просмотр системных вызовов, использую для поиска любых проблем в работе скриптов и программ, можно отлаживать уже запущенные процессы


cp file.txt{,.bak}  - быстро создать резервную копию файла


ssh-copy-id remote-machine  - копируем ваш открытый ключ на удаленную машину для идентификации по открытому ключу


> file.txt  - очистка файла


netstat -tulpn  - просмотр запущенных сетевых программ с указанием IP-адреса и порта


df -h  - просмотр свободного пространства на разделах диска


cal  - календарь


time ls ~/  - время выполнения команды


find /home/user -type f -exec chmod 600 {} \;

find /home/user -type d -exec chmod 700 {} \;  - рекурсивно изменить права только на файлы или только на директории


wget  - скачать файл по ссылке


Также можно упомянуть sed, grep, awk, xargs, но это все тянет на отдельный пост.


P.S. если нужно что-то подсчитать и лень открывать калькулятор


~ $ python

>>> 234+542

776

>>> 

Показать полностью
Отличная работа, все прочитано!