Работа в командной строке Linux или не так страшна консоль как ее малюют

leksey, 07 ноября 2005 ( редакция: 29 октября 2018 )
Речь пойдет о простейших действиях в Линукс-системах. Изначально писалось мной для господина dimarik , чтобы он мог управлять нашей кофемолкой под названием MIL.
Возможно, кому-то еще поможет сделать первые шаги при работе в Linux.



/archive/file/linux/SSH-connected-PuTTy-screenshot.gif


Совсем не страшная консоль. Почти как командная строка в Вындовс.






Чтобы не заходить за рута (либо другого юзера), но выполнить от его имени любую команду пишем так:
su root -c "passwd mishanya"


или можно просто написать (рут в таком случае подразумевается):
su -c "passwd mishanya"


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

Чтобы ввести длинное имя файла или папки можно набрать первые несколько символов из ее имени и нажать TAB. Если введено количество символов, которое позволяет определить, что именно подразумевает пользователь, имя будет введено автоматически. Эта функция очень упрощает и ускоряет работу в консоли. Кстати, эту приятную фичу можно активировать и для консоли MS Windows.

Аналог Task Manager

Чтобы просмотреть все процессы:
ps -aux


РАБОТА С ФАЙЛАМИ И ПАПКАМИ

Чтобы запустить файловый менеджер Midnight Commander (аналог FAR) введите:
mc


/archive/file/linux/MidnightCommanderScreenShot.gif


Файловый менеджер, который доступ в консоли



Работа в нем ничем не отличается от привычных FAR-а и TotalCMD. Если MC не установлен, то вам следует использовать команды, которые перечислены ниже:


Чтобы перейти в нужную папку говорим (не забывая о кнопке TAB, которая помогает нам вводить имена):
cd /var/ftp/pub/users-folders/leksey/


Посмотреть в какой папке находишься:
pwd


Чтобы найти файл - пишем:
find -name httpd.conf -print


Чтобы просмотреть содержимое папки:
ls -alh


Чтобы создать директорию:
mkdir chudak


Чтобы удалить файл
rm textfile


Чтобы переместить/переименовать файл
mv somefile /some/path


Чтобы скопировать файл:
cp somefile /some/path


Создание ссылки:
ln --symbolic КУДА НАЗВАНИЕ_ССЫЛКИ

Пример команды при создании ссылки в пределах ФТП - поэтому путь указан от "корня" FTP-сервера:
ln --symbolic /.fireball-16gb/USSR-movies/stroitelstvo_MGU stroitelstvo_MGU

Пример команды - создание ссылки на папку веб-сервера:
ln --symbolic /usr/local/apache/htdocs WWW1

Tar, Zip

Затарить папку:
tar -cvvf foo.tar foo/

Если вы не хотите, чтобы названия файлов выдавались на экран, то дополните строку конструкцией >> tar-log. Это укажет команде tar все сообщения помещать в файл с именем tar-log.

Чтобы удалить файлы (после выполнения команды tar):
tar -cvvf --remove-files foo.tar foo/


Затарить папку и пожать gzip-ом:
tar -czf foo.tar.gz foo/


Извлечь содержимое tar-файла:
tar -xvvf foo.tar


Разархивировать пожатый gzip-ом tar-файл:
tar -xvvzf foo.tar.gz


РАЗМЕРЫ ДИСКА И ФАЙЛОВ

Общий размер дисков и количество свободного местах на них:
df -h

В результате получится что-то вроде:
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 1.5G 1.1G 282M 80% /
/dev/hda2 17G 13G 2.7G 83% /var
/dev/hdc5 16G 13G 2.8G 82% /var/ftp/pub/.fireball-16gb


Размер папок и файлов (аналог любимого CTRL+Q):
du --max-depth=1 -hc

Результат выполнения команды в корне директории /var
du --max-depth=1 -hc
986M ./log
52K ./spool
724K ./tmp
22G ./ftp
253M ./www
2.4G ./cod
26G .
26G total


РАБОТА С ПОЛЬЗОВАТЕЛЯМИ И ПРАВАМИ

Чтобы создать нового пользователя говорим:
adduser


Чтобы сменить группу, которая владеет файлом/папкой:
chgrp ftpadmins /var/ftp/pub/users-folders/4ygak/


Чтобы сменить права у файла/папки:
Это мы разрешаем запись группе
chmod g+w /var/ftp/pub/users-folders/4ygak/


Это мы разрешаем просмотр содержимого папки для группы
chmod g+r /var/ftp/pub/users-folders/4ygak/


Меняем владельца у файла/папки:
chown chudak somefile


Чтобы сразу сменить и владельца и группу пишем:
chown ""dimarik:root"" rv.mp3


Меняем пароль у пользователя:
passwd chudak


РАБОТА С СЕТЬЮ

Состояние сети
netstat -rn


Состояние интерфейсов
ifconfig


Apache (апач)

Перезапуск дЭмона (например, чтобы перечитать конфигурационный файл):
apachectl graceful

либо
apachectl restart

или
kill -HUP 'cat /usr/local/apache/logs/httpd.pid'


СПРАВКА

Вызов справки:
  • man имя_команды (man ps)
  • Ключ --help после имени команды (httpd --help)

ПРОЧЕЕ

Установка времени (форма зависит от системы)
Чтобы установить 5 октября 2005 19-46 используем следующую команду:
date -u 1005194605