Разное

Команды linux все: Команды | Losst

Содержание

Основные linux-команды для новичка / Хабр

Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.

Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)

Содержание

Где я? Как понять, где находишься

Команда pwd:

pwd   --- мы ввели команду
/home/test   --- ответ системы, мы находимся в домашней директории пользователя test

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

P

rint

W

orking

D

irectory. Запомните ее, пригодится.

Как понять, что находится в папке

Команда ls позволяет просмотреть содержимое каталога:

Хотя лучше использовать команду сразу с флагом «l»:

ls -l

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

У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».

См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)

Как перейти в другую директорию

С помощью команды cd:

cd <путь к директории>

Путь может быть абсолютным или относительным.

По абсолютному пути

Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в

WinSCP

).

Вставляем путь в командную строку после «cd»

cd /home/student/log

Ну вот, мы переместились из домашней директории (обозначается как ~) в

/home/student/log

.

По относительному пути

Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в

/home/student

, а мне надо в

/home/student/log

, команда будут такой:

cd log  --- перейди в папку log из той директории, где ты сейчас находишься

Если мне из надо из

/home/student/photo

в

/home/student/photo/city/msk/2017/cat_1

, команда будет такой:

cd city/msk/2017/cat_1

Я не пишу

/home/student/photo

, так как я уже там.

В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается ~/. Заметьте, не ~, а именно ~/. Дальше вы уже можете указывать подпапки:

cd  ~/log

Эта команда будет работать отовсюду. И переместит нас в

/home/user/log

.

Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:

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

Если вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты:

(cd tab) Может, ты имел в виду папку 1?

(tab) Нет? Может, папку 2?

(tab) Снова нет? Может, папку 3?

(tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?

(tab) У меня кончились варианты, поехали сначала. Папка 1?

cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).

cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.

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

Подняться наверх

Подняться на уровень выше:

cd ..

Если нужно поднять на два уровня выше, то

cd ../..

И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.

Обратите внимание, что команда для линукса отличается от команды для винды — слеш другой. В винде это «cd ..\..», а в линуксе именно «cd ../..».

См также:
Путь к файлу в linux

Как создать директорию

Используйте команду

mkdir

:

mkdir test  --- создает папку с названием «test» там, где вы находитесь

Можно и в другом месте создать папку:

mkdir /home/test   --- создает папку «test» в директории /home, даже если вы 
сейчас не там

Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.

См также:
Как создать каталог в Linux с помощью команды mkdir

Как создать файл

Командой

touch

:

touch app.log

Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.

Как отредактировать файл

Вот честное слово, лучше делать это через графический интерфейс!

Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:

  1. nano — более простая программа, рассчитана на новичков
  2. vim — более сложная, но позволяет сделать кучу всего

Начнем с nano. Указываете имя команды и путь в файлу:

nano test_env.json

Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:

  • Ctrl+O — чтобы сохранить
  • Ctrl+X — для выхода

Самое приятное в nano — это подсказки внизу экрана, что нажать, чтобы выйти.

А вот с vim с этим сложнее. В него легко зайти:

vim test_env.json
vi test_env.json     (предшественник vim)

Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает:

Esc, ctrl + x, ctrl + q

… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?

Делюсь секретом, для выхода надо набрать:

  • :q — закрыть редактор
  • :q! — закрыть редактор без сохранения (если что-то меняли, то просто «:q» не проканает)

Двоеточие запускает командный режим, а там уже вводим команду

«q» (quit)

.

Исходно, когда мы открываем файл через vim, то видим его содежимое, а внизу информацию о файле:

Когда нажимаем двоеточие, оно печатается внизу:

Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда!!!

На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.

Если нужно выйти, сохранив изменения, используйте команду

:w — сохранить файл;
:q — закрыть редактор;

Ну а про возможности редактирования см статьи ниже =)

См также:
Как редактировать файлы в Ubuntu — подробнее о разных способах
Как пользоваться текстовым редактором vim — подробнее о vim и всех его опциях
Как выйти из редактора Vi или Vim? — зачем нажимать Esc

Как перенести / скопировать файл

Допустим, у нас в директории

/opt/app/log

находится

app. log

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

Скопировать файл

Команда:

cp что_копировать куда_копировать

Если мы находимся в директории

/opt/app/log

:

cp app.log /home/olga

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

/home/olga

.

Можно сразу переименовать файл:

cp app.log /home/olga/app_test_2020_03_08.log

В этом случае мы взяли

app.log

и поместили его в папку

/home/olga

, переименовав при этом в

app_test_2020_03_08.log

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

Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:

Никаких ошибок, система просто выполнила команду.

См также:
Копирование файлов в linux

Скопировать директорию

Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:

cp -r  путь_к_папке  путь_к_новому_месту

Например:

cp /opt/app/log /home/olga

Так в директории /home/olga появится папка

«log»

.

Переместить файл

Если надо переместить файл, а не скопировать его, то вместо

cp (copy)

используем

mv (move)

.

cp app.log /home/olga
↓
mv app.log /home/olga

Можно использовать относительные и абсолютные пути:

mv /opt/app/logs/app.log /home/olga — абсолютные пути указаны, команда сработает из любого места

Можно сразу переименовать файл:

mv app. log /home/olga/app_2020_03_08.log — перенесли лог в /home/olga и переименовали

Переместить директорию

Аналогично перемещению файла, команда mv

mv /opt/app/log/  /home/olga/bakup/

Как удалить файл

С помощью команды

rm (remove)

:

rm test.txt  — удалит файл test.txt

Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:

rm *  — удалит все файлы в текущей директории

Если нужно удалить папку, надо добавить флаг -r (recursive):

rm -r test_folder

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

А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да…» (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):

rm -rf test_folder    --- просто все удалит без разговоров

Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!

Опция -v показывает имена удаляемых файлов:

rm -rfv test_folder   --- удалит папку со всем содержимым, но выведет имена удаляемых файлов

Тут вы хотя бы можете осознать, что натворили )))

См также:
Как удалить каталог Linux

Как изменить владельца файла

Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.

Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.

Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:

chown testbase:testbase test. txt — сменить владельца файла
chown -R testbase:testbase user     — сменить владельца папки

В итоге был владелец

root

, а стал

testbase

. То, что надо!

См также:
Команда chown Linux

Как установить приложение

Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:

  • yum — red hat, centos
  • dpkg, apt — debian

См также:
5 Best Linux Package Managers for Linux Newbies

Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.

И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.

mc

Ничего страшного, установите это приложение через yum:

yum install mc

Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:

И система заканчивает установку.

Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:

См также:
Как устанавливать программы для Linux
Yum, шпаргалка — всякие опции и плагины

Как запустить приложение

Некоторые приложения запускаются через скрипты. Например, чтобы запустить сервер приложения WildFly, нужно перейти в папку bin и запустить там

standalone.sh

. Файл с расширением .sh — это скрипт.

Чтобы запустить скрипт, нужно указать полный путь к нему:

/opt/cdi/jboss/bin/standalone.sh — запустили скрипт standalone. sh

Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:

./standalone.sh — запустили скрипт, если мы в той же директории

Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:

standalone.sh --- запустили скрипт standalone.sh, путь к которому прописан в PATH

См также:
Запуск скрипта sh в Linux

— подробнее о скриптах

Если же приложение запускается как сервис, то все еще проще:

service test start — запустить сервис под названием «test»
service test stop — остановить сервис

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

chkconfig test on

Она добавит службу в автозапуск.

Как понять, где установлено приложение

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

Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):

whereis newman

Как создать архив

Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация

cvzf

:

tar -cvzf archive.tar.gz /home/test

В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.

Для распаковки меняем флаг «c» на «x» и убираем «z»:

tar -xvf archive.tar.gz

Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.

Давайте разберемся, что все эти флаги означают:

  • c — создать архив в linux
  • x — извлечь файлы из архива
  • v — показать подробную информацию о процессе работы (без него мы бы не увидели, какие файлики запаковались / распаковались)
  • f — файл для записи архива
  • z — сжатие

Для упаковки используется опция

c

C

reate, а для распаковки

x

— e

X

tract.

Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:

yum install rar
yum install unrar

Говорит, нет такого пакета:

No package rar available.
Error: Nothing to do

Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:

wget http://rarlabs.com/rar/rarlinux-x64-5.4.0.tar.gz
tar xzf rarlinux-x64-5.4.0.tar.gz
cd rar
make install

Устанавливаем:

mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib

И применяем:

unrar x test.rar

См также:
Установка RAR на Linux

Как посмотреть использованные ранее команды

Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!

Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:

↑  (стрелочка «наверх») — показать последнюю команду
history — показать последние 1000 команд

Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).

Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось.

Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.

См также:
История команд Linux — больше о возможностях history

Как посмотреть свободное место

Сколько места свободно на дисках

df -h

Сколько весит директория

du -sh
du -sh *  --- с разбиением

Как узнать IP компьютера

Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.

Чтобы узнать IP машины, используйте команду:

hostname -I

Также можно использовать

ifconfig

:

ifconfig — выведет кучу инфы, в том числе ваш внешний IP
ip a — аналог, просто иногда Ifconfig дает очень много результата, тут поменьше будет

См также:
Displaying private IP addresses

Как узнать версию OS

Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?

Используйте команду:

cat /etc/*-release

На этой виртуалке стоит CentOs 7.

Если нужна версия ядра:

uname -a

См также:
Как узнать версию Linux

Как узнать, как работает команда

Если вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man:

man ls

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

Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =))

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

Если man у программы нет, используйте флаг -h (—help):

ls -h

Как создать много тестовых папок и файлов

Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:

mkdir -p test/dir--{000..100}
touch test/dir--{000..100}/file-{A..Z}

Вот и все, дальше можно играться с ними!

Теперь пояснения:

  • mkdir — создать директорию
  • touch — создать файл (или изменить существующий, но если файла с таким именем нет, то команда создаст новый, пустой)

А выражения в скобках играют роль функции, которая выполняется в цикле и делает ручную работу за вас:

  • {000. .100} — пробежится по всем числам от 0 до 100
  • {A..Z} — пробежится по всем буквам английского алфавита от A до Z

Как я пробовала эту команду. Сначала посмотрела, где нахожусь:

$ pwd
/home/test

Символ $ при описании команд означает начало строки, куда мы пишем команду. Так мы отделяем то, что ввели сами (pwd) от ответа системы (/home/test).

Ага, в домашней директории. Создам себе песочницу:

mkdir olga

Вот в ней и буду творить!

mkdir -p olga/dir--{000..100}
touch olga/dir--{000..100}/file-{A..Z}

А потом можно проверить, что получилось:

cd olga
ls -l

Как-то так! Имхо, полезные команды.

Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!

И, главное, тестировщику полезно — может пригодиться для тестов.

Как протестировать IOPS на Linux

Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.

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

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

Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.

Используем утилиту fio — https://github.com/axboe/fio/releases.

1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка

cd /tmp
wget https://github. com/axboe/fio/archive/fio-3.19.tar.gz
tar xvzf fio-3.19.tar.gz
rm fio-3.19.tar.gz
cd fio-fio-3.19

2) Должны стоять пакеты для сборки

apt-get install -y gcc make libaio-dev | yum install -y make gcc libaio-devel

3) Собираем

make

4) Тестируем

./fio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 32 -filename /dev/sda -ioengine libaio -direct=1

Какие должны быть результаты:

  • Средний SSD, выпущенный 2-3 года назад — 50 тысяч IOPS.
  • Свежий Samsung 960 Pro, который стоит на одной из железок у нас в офисе — 350 тысяч IOPS.

Свежесть определяется на момент написания статьи в 2017 году.

Если должно быть 50 тысяч, а диск выдает сильно меньше, то:

— он не SSD;

— есть сетевые задержки;

— неправильно примонтирован;

— с ними что-то еще плохое случилось и стоит поднять алярм.

И это все?

Разумеется, нет =))

Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.

База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.

Вот вам еще пара ссылочек от меня:

Для понимания структуры папок рекомендую статью «

Структура папок ОС Linux. Какая папка для чего нужна. Что и где лежит в линуксе

»

Книги и видео по теме

Видео:

ПО GNU/Linux — видео лекции Георгия Курячего

— очень хорошие видео-лекции

Книги:
Командная строка Linux. Уильям Шоттс
Скотт Граннеман. Linux. карманный справочник

Где тренироваться

Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))

А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.

У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.

Чтобы подключиться к машине, используйте инструменты:

  • Putty — командная строка
  • WinSCP — графический интерфейс

См также:

WinSCP — что это и как использовать

Шпаргалка по Linux командам | UNLIX

Можете распечатать и держать эту шпаргалку команд Linux на своем столе. Уверены, что Вы быстро освоите эти команды, если только недавно начали их изучение и очень скоро станете экспертом по Linux. Команды разделяются на различные разделы в зависимости от их использования. Ссылки на PDF и PNG версии этой шпаргалки в конце записи. Мы сгруппировали команды Linux в следующих разделах для лучшего понимания.

Linux список самых необходимых команд (cheat sheet)

1) Система

unameИнформация о системе
uname -rИнформация о ядре Linux
uptimeКак долго система запущена и загрузка (load average)
hostnameИмя хоста
hostname -iIP адрес хоста
last rebootИстория перезагрузок
dateДата и время
timedatectlВывод и изменение даты и времени
calВывод календаря
wОтобразить пользователей работающих в системе
whoamiОтобразить свое имя пользователя
finger usernameИнформация о пользователе

2) Железо

dmesgВывод сообщений системы при загрузке
cat /proc/cpuinfoИнформация о CPU
cat /proc/meminfoИнформация об ОЗУ
lshwИнформация об аппаратной части (железе)
lsblkИнформация о блочных устройствах
free -mСвободная память: озу и swap (ключ -m вывод в MB)
lspci -tvИнформация о PCI устройствах в виде дерева
lsusb -tvИнформация о USB устройствах в виде дерева
dmidecodeИнформация об устройствах из BIOS
hdparm -i /dev/xdaИнформация о диске
hdparm -tT /dev/xda <:code>Скорость чтения-записи на устройство xda
badblocks -s /dev/xdaТест на нечитаемые блоки

3) Пользователи

idПодробности о пользователе (uid, gid, и группы)
lastПоследний вход в систему
whoПросмотр авторизованных пользователей
groupadd "admin"Добавить группу ‘admin’
adduser "Sam"Добавить пользователя Sam
userdel "Sam"Удалить пользователя Sam
usermodИзменение данных пользователя, состава групп

4) Работа с файлами

ls -alСписок файлов и директорий
pwdОтобразить текущую рабочую директорию
mkdir 'directory_name'Создать новую директорию
rm file_name Удалить файл
rm -f filenameПринудительно удалить файл
rm -r directory_nameУдалить директорию рекурсивно
rm -rf directory_nameУдалить принудительно и рекурсивно
cp file1 file2Копировать содержимое файла file1 в файл  file2
cp -r dir1 dir2Рекурсивное копирование директории dir1 в dir2. dir2 будет создана, если не существует.
mv file1 file2Переименовать file1 в file2
ln -s /path/to/file_name   link_nameСоздать символическую ссылку к файлу file_name
touch file_nameСоздать пустой файл file_name
cat > file_nameПоместить STDIN в файл
more file_nameВыводить содержимое файла частями
head file_nameВывод первых 10 строк файла
tail file_nameВывод последних 10 строк файла
gpg -c file_nameЗашифровать файл
gpg file_name. gpgРасшифровать файл
wcВывести число байт, слов и строк файла
xargsВыполнить команду с тем что пришло из STDOUT

5) Процессы

psВывести текущие запущенные процессы
ps aux | grep 'telnet'Поиск id процесса ‘telnet’
pmapКарта памяти процесса
top Все запущенные процессы
kill pidЗавершить процесс по pid
killall procЗавершить все процессы с именем proc
pkill process-nameОтправить сигнал процессу
bgОтправить приостановленный процесс в фоновое выполнение
fgВывести из фона выполняющийся процесс
fg nПроцесс n вывести из фонового выполнения
lsofСписок файлов, которые используют процессы
renice 19 PIDУстановить самый низкий приоритет процессу
pgrep firefoxfind Firefox process ID
pstreeДревовидное представление процессов

6) Права файлов или директорий

chmod octal filenameИзменить права файла или директории
Примеры
chmod 777 /data/test. cПрава rwx для всех, кто имеет доступ к серверу (владельца, группу, остальные)
chmod 755 /data/test.cПрава rwx на владельца и r_x на группу и остальных
chmod 766 /data/test.cПрава rwx для владельца, rw для групп и остальных
chown owner user-fileИзменить владельца для файла
chown owner-user:owner-group file_name Изменить владельца и группу-владельца для файла
chown owner-user:owner-group directoryИзменить владельца и группу-владельца для директории

7) Сеть

ip addr showПоказать IP адреса всех доступных сетевых интерфейсов
ip address add 192. 168.0.1/24 dev eth0Назначить адрес 192.168.0.1 на интерфейс eth0
ifconfig Показать IP адреса всех доступных сетевых интерфейсов
ping  hostКоманда отправляет ICMP echo запрос на соединение с хостом
whois domainИнформация о доменном имени
dig domainПолучить DNS информацию о домене
dig -x host Обратное разрешение имени
host google.com Разрешение адреса хоста
hostname -iЛокальные адреса
wget file_nameСкачать файл
netstat -pnltuПоказать все порты, которые слушаются на хосте

8) Архивация

tar -cf home. tar home<:code>Создать архив ‘home.tar’ из файла ‘home’
tar -xf files.tarРаспаковать файл ‘files.tar’
tar -zcvf home.tar.gz source-folderСоздать архив из директории
gzip fileСжать файл (будет с расширением .gz)

9) Установка из пакетов

rpm -i pkg_name.rpmУстановка из rpm пакета (CentOS, RHEL…)
rpm -e pkg_nameУдалить rpm пакет (CentOS, RHEL…)
dnf install pkg_nameУстановить пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM заменили на DNF. (CentOS, RHEL…)
apt updateОбновить репозитории (Debian, Ubuntu, Mint…)
dpkg -i pkg_nameУстановить из deb пакета (Debian, Ubuntu, Mint…)
dpkg -r pkg_nameУдалить пакет (Debian, Ubuntu, Mint…)
apt install pkg_nameУстановить пакет из репозитория (Debian, Ubuntu, Mint…)
apt remove pkg_nameУдалить пакет (Debian, Ubuntu, Mint…)
apt upgradeОбновить пакеты в системе (Debian, Ubuntu, Mint…)

10) Установка из исходников (компиляция)

. /configureПроверить наличие всех необходимых компонентов в системе для успешной компиляции
makeНачать процесс компиляции
make installУстановить скомпилированное ПО в систему

11) Поиск

grep 'pattern' filesПоиск по паттерну в файлах
grep -r pattern dirИскать рекурсивно во всех файлах, которые находятся в директории dir
locate fileПоказать все местонахождения файла
find /home/ -name "index" Найти файлы с именем, которое начинается с ‘index’ в директории /home folder
find /home -size +10000kНайти файлы больше 10000k в директории /home

12) Удаленное подключение

ssh user@hostПодключиться к удаленному хосту по ssh под пользователем user
ssh -p port_number user@host Подключиться к удаленному хосту, если используется иной (не 22) ssh порт
ssh hostПодключение с параметрами по-умолчанию под текущим пользователем
telnet hostПодключиться по telnet (порт 23)

13) Передача файлов

scp file1. txt server2/tmpSecurely copy file1.txt to server2 in /tmp directory
rsync -a /home/apps  /backup/Synchronize contents in /home/apps directory with /backup  directory

14) Использование диска

df  -hОтобразить свободное место на смонтированных разделах (в байтах)
df  -i Показать свободные inodes на файловой системе
fdisk  -lИнформация о дисках, разделах и файловых системах
du  -shОтобразить свободное место на смонтированных разделах с размерами переведенными в МБ, ГБ, ТБ
findmntОтобразить все точки монтирования
mount /dev/sdb1 /mntПримонтировать раздел 1 диска sdb к директории /mnt

15) Переход по директориям

cd . .Перейти на один уровень выше
cdПерейти в домашнюю директорию (переменная $HOME)
cd /testПерейти в директорию /test

Мы добавили все эти команды в формате pdf и в виде изображения png. Чтобы cheat sheet было удобно распечатать.

расширенный cправочник команд Unix [RTFM.WIKI]


В статье систематизирована информация об основных командах в Linux. Приведенные команды будут одинаково верно работать во многих дистрибутивах, таких как: ASPLinux, Debian, Gentoo, Ubuntu, ALTLinux и во многих других.Автором статьи преследовалась цель составления наиболее полного списка основных команд Linux, для более легкого и эффективного изучения этой операционной системы.

Все команды Linux разбиты на тематические разделы и подразделы, которые имеют краткие описания. Список команд Linux постоянно обновляется и дополняется.

Системная информация

<box 100% left round|>
rch или uname -m — отобразить архитектуру компьютера
uname -r — отобразить используемую версию ядра
dmidecode -q — показать аппаратные системные компоненты — (SMBIOS / DMI)
hdparm -i /dev/hda — вывести характеристики жесткого диска
hdparm -tT /dev/sda — протестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfo — отобразить информацию о процессоре
cat /proc/interrupts — показать прерывания
cat /proc/meminfo — проверить использование памяти
cat /proc/swaps — показать файл(ы) подкачки
cat /proc/version — вывести версию ядра
cat /proc/net/dev — показать сетевые интерфейсы и статистику по ним
cat /proc/mounts — отобразить смонтированные файловые системы
lspci -tv — показать в виде дерева PCI устройства
lsusb -tv — показать в виде дерева USB устройства
date — вывести системную дату
cal 2007 — вывести таблицу-календарь 2007-го года
date 041217002007. 00* — установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w — сохранить системное время в BIOS
</box>

Остановка системы

<box 100% round|>
shutdown -h now или init 0 или telinit 0 — остановить систему
shutdown -h hours:minutes & — запланировать остановку системы на указанное время
shutdown -c — отменить запланированную по расписанию остановку системы
shutdown -r now или reboot — перегрузить систему
logout — выйти из системы
</box>

Файлы и директории

<box 100% left round|>
cd /home — перейти в директорию ‘/home’
cd .. — перейти в директорию уровнем выше
cd ../.. — перейти в директорию двумя уровнями выше
cd — перейти в домашнюю директорию
~user — перейти в домашнюю директорию пользователя user
cd — — перейти в директорию, в которой находились до перехода в текущую директорию
pwd — показать текущюю директорию
ls — отобразить содержимое текущей директории
ls -F — отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l — показать детализированое представление файлов и директорий в текущей директории
ls -a — показать скрытые файлы и директории в текущей директории
ls *[0-9]* — показать файлы и директории содержащие в имени цифры
tree или lstree — показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 — создать директорию с именем ‘dir1’
mkdir dir1 dir2 — создать две директории одновременно
mkdir -p /tmp/dir1/dir2 — создать дерево директорий
rm -f file1 — удалить файл с именем ‘file1’
rmdir dir1 — удалить директорию с именем ‘dir1’
rm -rf dir1 — удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимое
mv dir1 new_dir — переименовать или переместить файл или директорию
cp file1 file2 — сопировать файл file1 в файл file2
cp dir/* . — копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
</box>

Поиск файлов

<box 100% left round|>
find / -name file1 — найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1 — найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name «*.bin» — найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’*
find /usr/bin -type f -atime +100 — найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10 — найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 ‘{}’ \; — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name «*.rpm» — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate «*.ps» — найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis halt — показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which halt — отображает полный путь к файлу ‘halt’
</box>

Монтирование файловых систем

<box 100% round left |>
mount /dev/hda2 /mnt/hda2 — монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
umount /dev/hda2 — размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
fuser -km /mnt/hda2 — принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2 — выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppy — монтировать флоппи-диск
mount /dev/cdrom /mnt/cdrom — монтировать CD или DVD
nt /dev/hdc /mnt/cdrecorder — монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdrom — смонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5 — монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass
//winclient/share /mnt/share
— монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/user/prg /var/ftp/user — «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user
</box>

Дисковое пространство

<box 100% round left |>
df -h — отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)
ls -lSr |more — выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
du -sh dir1 — подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим.переводчика. ключ -h работает не во всех *nix системах)
du -sk * | sort -rn — отображает размер и имена файлов и директорий, с соритровкой по размеру
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n — показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n — показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
</box>

Пользователи и группы

<box 100% round left |>
groupadd group_name — создать новую группу с именем group_name
groupdel group_name — удалить группу group_name
groupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_name
useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd user1 — создать пользователя user1
userdel -r user1 — удалить пользователя user1 и его домашний каталог
usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователя
passwd — сменить пароль
passwd user1 — сменить пароль пользователя user1 (только root)
chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1
pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
grpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
</box>

Выставление/изменение полномочий на файлы

<box 100% round left |>
ls -lh — просмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNS — вывести содержимое директории /tmp и разделить вывод на пять колонок
chmod ugo+rwx directory1 — добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
chmod go-rwx directory1 — отобрать у группы и всех остальных все полномочия на директорию directory1.
chown user1 file1 — назначить владельцем файла file1 пользователя user1
chown -R user1 directory1 — назначить рекурсивно владельцем директории directory1 пользователя user1
chgrp group1 file1 — сменить группу-владельца файла file1 на group1
chown user1:group1 file1 — сменить владельца и группу владельца файла file1
find / -perm -u+s — найти, начиная от корня, все файлы с выставленным SUID
chmod u+s /bin/binary_file — назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/binary_file — снять SUID-бит с файла /bin/binary_file.
chmod g+s /home/public — назначить SGID-бит директории /home/public.
chmod g-s /home/public — снять SGID-бит с директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/public — снять STIKY-бит с директории /home/public
</box>

Специальные атрибуты файлов

<box 100% round left |>
chattr +a file1 — позволить открывать файл на запись только в режиме добавления
chattr +c file1 — позволяет ядру автоматически сжимать/разжимать содержимое файла.
chattr +d file1 — указавет утилите dump игнорировать данный файл во время выполнения backup’а
chattr +i file1 — делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
chattr +s file1 — позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных.
chattr +S file1 — указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +u file1 — данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
lsattr — показать атрибуты файлов
</box>

Архивирование и сжатие файлов

<box 100% round left |>
bunzip2 file1.bz2 — разжимает файл ‘file1.gz’
gunzip file1.gz
zip file1 или bzip2 file1 — сжимает файл ‘file1’
gzip -9 file1 — сжать файл file1 с максимальным сжатием
rar a file1.rar test_file — создать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1 — создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
rar x file1.rar — распаковать rar-архив
unrar x file1.rar
tar -cvf archive.tar file1 — создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1 — создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tar — показать содержимое архива
tar -xvf archive.tar — распаковать архивtar -xvf archive.tar -C /tmp — распаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1 — создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2 — разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1 — создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gz — разжать архив и распаковать его
zip file1.zip file1 — создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1 — создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zip — разжать и распаковать zip-архив
</box>

RPM пакеты (Fedora, Red Hat и тому подобное)

<box 100% round left green|>
rpm -ivh package.rpm — установить пакет с выводом сообщений и прогресс-бара
rpm -ivh –nodeps package.rpm — установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U package.rpm — обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F package.rpm — обновить пакет только если он установлен
rpm -e package_name.rpm — удалить пакет
rpm -qa — отобразить список всех пакетов, установленных в системеrpm -qa | grep httpd — среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
rpm -qi package_name — вывести информацию о конкрентном пакете
rpm -qg «System Environment/Daemons» — отобразить пакеты входящие в группу пакетов
rpm -ql package_name — вывести список файлов, входящих в пакет
rpm -qc package_name — вывести список конфигурационных файлов, входящих в пакет
rpm -q package_name –whatrequires — вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name –whatprovides — show capability provided by a rpm package
rpm -q package_name –scripts — отобразит скрипты, запускаемые при установке/удалении пакета
rpm -q package_name –changelog — вывести историю ревизий пакета
rpm -qf /etc/httpd/conf/httpd.conf — проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
rpm -qp package.rpm -l — отображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm –import /media/cdrom/RPM-GPG-KEY — ипортировать публичный ключ цифровой подписи
rpm –checksig package.rpm — проверит подпись пакета
rpm -qa gpg-pubkey — проверить целостность установленного содержимого пакета
rpm -V package_name — проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Va — проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp package.rpm — проверить пакет, который ещё не установлен в систему
rpm2cpio package.rpm | cpio –extract –make-directories *bin* — извлечь из пакета файлы содержащие в своём имени bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm — установить пакет, собранный из исходных кодов
rpmbuild –rebuild package_name.src.rpm — собрать пакет из исходных кодов
</box>

YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)

<box 100% round left green|>
yum install package_name — закачать и установать пакет
yum update — обновить все пакеты, установленные в систему
yum update package_name — обновить пакет
yum remove package_name — удалить пакет
yum list — вывести список всех пакетов, установленных в систему
yum search package_name — найти пакет в репозитории
yum clean packages — очисть rpm-кэш, удалив закачанные пакеты
yum clean headers — удалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean all — очисть rpm-кэш, удалив закачанные пакеты и заголовки
</box>

DEB пакеты (Debian, Ubuntu и тому подобное)

<box 100% round left green|>
dpkg -i package.deb — установить / обновить пакет
dpkg -r package_name — удалить пакет из системы
dpkg -l — показать все пакеты, установленные в систему
dpkg -l | grep httpd — среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_name — отобразить инфрмацию о конкретном пакете
dpkg -L package_name — вывести список файлов, входящих в пакет, установленный в систему
dpkg –contents package.deb — отобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/ping — найти пакет, в который входит указанный файл.
</box>

APT — средство управление пакетами (Debian, Ubuntu и тому подобное)

<box 100% round left green|>
apt-get install package_name — установить / обновить пакет
apt-cdrom install package_name — установить / обновить пакет с cdrom’а
apt-get update — получить обновлённые списки пакетов
apt-get upgrade — обновить пакеты, установленные в систему
apt-get remove package_name — удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_name — удалить пакет, установленный в систему с удалением файлов конфигурации
apt-get check — проверить целостность зависимостей
apt-get clean — удалить загруженные архивные файлы пакетов
apt-get autoclean — удалить старые загруженные архивные файлы пакетов
</box>

Pacman — средство управление пакетами (Arch, Frugalware и alike)

<box 100% round left green|>
pacman -S name — install package «name» with dependencies
pacman -R name — delete package «name» and all files of it
</box>

Просмотр содержимого файлов:

<box 100% round left |>
cat file1 — вывести содержимое файла file1 на стандартное устройсво вывода
tac file1 — вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1 — вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1 — вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messages — выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
</box>

Манипуляции с текстом

<box 100% round left |>
cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt — общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grepи т.$/d’ example.txt — удалить пустые строки и комментарии из файла example.txt
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ — преобразовать символы из нижнего регистра в верхний
sed -e ‘1d’ result.txt — удалить первую строку из файла example.txt
sed -n ‘/string1/p’ — отобразить только строки содержашие «string1»
sed -e ‘s/ *$//’ example.txt — удалить пустые символы в в конце каждой строки
sed -e ‘s/string1//g’ example.txt — удалить строку «string1» из текста не изменяя всего остального
sed -n ‘1,8p;5q’ example.txt — взять из файла с первой по восьмую строки и из них вывести первые пять
s -n ‘5p;5q’ example.txt — вывести пятую строку
sed -e ‘s/0*/0/g’ example.txt — заменить последовательность из любого количества нулей одним нулём
cat -n file1 — пронумеровать строки при выводе содержимого файла
cat example.txt | awk ‘NR%2==1’ — при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk ‘{print $1}’ — вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk ‘{print $1,$3}’ — вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2 — объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2 — объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2 — отсортировать содержимое двух файлов
sort file1 file2 | uniq — отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u — отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d — отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2 — сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
</box>

Преобразование наборов символов и файловых форматов

dos2unix filedos.txt fileunix.txt — конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)
unix2dos fileunix.txt filedos.txt — конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > page.html — конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more — вывести список доступных форматов

Анализ файловых систем

badblocks -v /dev/hda1 — проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1 — проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1 или e2fsck /dev/hda1 — проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck -j /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1 или fsck.msdos /dev/hda1 или dosfsck /dev/hda1 — проверить/восстановить целостность файловой системы fat раздела hda11

Форматирование файловых систем

<box 100% round left |>
mkfs /dev/hda1 — создать linux-файловую систему на разделе hda1
mke2fs /dev/hda1 — создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1 — создать журналирующую файловую систему ext3 на разделе hda1
mkfs -t vfat 32 -F /dev/hda1 — создать файловую систему FAT32 на разделе hda1
fdformat -n /dev/fd0 — форматирование флоппи-диска без проверки
mkswap /dev/hda3 — создание swap-пространства на разделе hda3
</box>

swap-пространство

<box 100% round left |>
mkswap /dev/hda3 — создание swap-пространства на разделе hda3
swapon /dev/hda3 — активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3 — активировать swap-пространства, расположенные на разделах hda2 и hdb3
</box>

Создание резервных копий (backup)

<box 100% round left |>
dump -0aj -f /tmp/home0.bak /home — создать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /home — создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bak — восстановить из резервной копии /tmp/home0.bak
rsync -rogpav –delete /home /tmp — синхронизировать /tmp с /home
rsync -rogpav -e ssh –delete /home ip_address:/tmp — синхронизировать через SSH-туннель
rsync -az -e ssh –delete ip_addr:/home/public /home/local — синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
rsync -az -e ssh –delete /home/local ip_addr:/home/public — синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ — сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/user — создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ — копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ — копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf — . | (cd /tmp/backup ; tar xf — ) — копирование одной директории в другую с сохранением полномочий и линков
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents — поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 — поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 — создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 — восстановить MBR с флоппи-диска на /dev/hda
</box>

CDROM

<box 100% round left |>
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force — clean a rewritable cdrom
mkisofs /dev/cdrom > cd.iso — create an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gz — create a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd — create an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.iso — burn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom — burn a compressed ISO image
mount -o loop cd.iso /mnt/iso — mount an ISO image
cd-paranoia -B — rip audio tracks from a CD to wav files
cd-paranoia – «-3» — rip first three audio tracks from a CD to wav files
cdrecord –scanbus — scan bus to identify the channel scsi
</box>

Сеть (LAN и WiFi)

<box 100% round left |>
ifconfig eth0 — показать конфигурацию сетевого интерфейса eth0
ifup eth0 — активировать (поднять) интерфейс eth0
ifdown eth0 — деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 — выставить интерфейсу eth0 ip-адрес и маску подсети
ifconfig eth0 promisc — перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
ifconfig eth0 -promisc — отключить promiscuous-режим на интерфейсе eth0
dhclient eth0 — активировать интерфейс eth0 в dhcp-режиме.
route -n
netstat -rn — вывести локальную таблицу маршрутизации
route add -net 0/0 gw IP_Gateway — задать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 — добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gateway — удалить ip-адрес шлюза по умолчанию (default gateway)
echo «1» > /proc/sys/net/ipv4/ip_forward — разрешить пересылку пакетов (forwarding)
hostname — отобразить имя компьютера
host http://www.linuxguide.it или host 62.149.140.85 — разрешить имя http://www.linuxguide.it хоста в ip-адрес и наоборот
ip link show — отобразить состояние всех интерфейсов
mii-tool eth0 — отобразить статус и тип соединения для интерфейса eth0
ethtool eth0 — отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn — отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
netstat -tupln — отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты
tcpdump tcp port 80 — отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
iwlist scan — просканировать эфир на предмет, доступности беспроводных точек доступа
onfig eth2 — показать конфигурацию беспроводного сетевого интерфейса eth2
</box>

Microsoft Windows networks(SAMBA)

<box 100% round left|>
nbtscan ip_addr
nmblookup -A ip_addr — разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba.
smbclient -L ip_addr/hostname — отобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/share — подобно wget может получить файлы с windows-машин через smb-протокол
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему
</box>

IPTABLES (firewall)

<box 100% round left |>
iptables -t filter -nL
iptables -nL — отобразить все цепочки правил iptables -t nat -L — отобразить все цепочки правил в NAT-таблице
iptables -t filter -F или iptables -F — очистить все цепочки правил в filter-таблице
iptables -t nat -F — очистить все цепочки правил в NAT-таблице
iptables -t filter -X — удалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT — позволить входящее подключение telnet’ом
iptables -t filter -A OUTPUT -p tcp –dport http -j DROP — блокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG –log-prefix «DROP INPUT» — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост
</box>

Мониторинг и отладка

<box 100% round left |>
top — отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafw — отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args –forest — вывести PID’ы и процессы в виде дерева
pstree — отобразить дерево процессов
kill -9 98989 или kill -KILL 98989 — «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)
kill -TERM 98989 — корректно завершить процесс с PID 98989
kill -1 98989 или kill -HUP 98989 — заставить процесс с PID 98989 перепрочитать файл конфигурации
lsof -p 98989 — отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1 — отобразить список открытых файлов из директории /home/user1
strace -c ls >/dev/null — вывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls >/dev/null — вывести вызовы бибилотек
watch -n1 ‘cat /proc/interrupts’ — отображать прерывания в режиме реального времени
last reboot — отобразить историю перезагрузок системы
last user1 — отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmod — вывести загруженные модули ядра
free -m — показать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hda — контроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hda — проверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesg — вывести десять последних записей из журнала загрузки ядра
tail /var/log/messages — вывести десять последних записей из системного журнала
</box>

Другие полезные команды

<box 100% round left |>
apropos …keyword — выводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
man ping — вызов руководства по работе с программой, в данном случае, — ping
whatis …keyword — отображает описание действий указанной программы
mkbootdisk –device /dev/fd0 `uname -r` — создаёт загрузочный флоппи-диск
gpg -c file1 — шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpg — дешифрует файл file1 с помощью GNU Privacy Guard
wget -r http://www.example.com — загружает рекурсивно содержимое сайта http://www.example.com
wget -c http://www.example.com/file.iso — загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии
echo ‘wget -c http://www.example.com/files.iso’ | at 09:00 — начать закачку в указанное время
ldd /usr/bin/ssh — вывести список библиотек, необходимых для работы ssh
alias hh=’history’ — назначить алиас hh команде history
</box>

Ссылки по теме

Todo

<todo #>Добавить рамки ко всем разделам</todo>
<todo>Прикрепить справочник с командами</todo>

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies

linux/advanced_unix_commands_handbook.txt · Последнее изменение: 2013/08/16 19:14 (внешнее изменение)

Команды Linux. Шпаргалка | CoderNet

Команды Linux. Шпаргалка

Я часто забываю команды терминала и обычно сохраняю их себе на компьютер в качестве шпаргалки.

Но очень часто мне приходится переустанавливать систему, иногда просто хочется чего-то нового попробовать, а иногда по какой-нибудь необходимости, что приводит к потере файлов.

Так вот, решил запилить эту шпаргалку здесь. Чтобы больше не терять, да и может кому ещё пригодится.

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


Команды повышающие привилегии:



sudo
запустить команду с правами root




sudo su


открыть командную строку с правами root

 



sudo su user


открыть командную строку с правами user

 



sudo -k


забыть пароль sudo

 



gksudo


графический диалог sudo (GNOME)

 



kdesudo


графический диалог sudo (KDE)

 



sudo visudo


редактировать /etc/sudoers

 



gksudo nautilus


файловый менеджер с правами root (GNOME)

 



kdesudo konqueror


файловый менеджер с правами root (KDE)

 



passwd


сменить Ваш пароль

 


Команды для работы с файлами и директориями:



cd /home


— перейти в директорию ‘/home’

 



cd ..


— перейти в директорию уровнем выше

 



cd ../..


— перейти в директорию двумя уровнями выше

 



cd


— перейти в домашнюю директорию

 



cd ~user


— перейти в домашнюю директорию пользователя user

 



cd -


— перейти в директорию, в которой находились до перехода в текущую директорию

 



pwd


— показать текущую директорию

 



ls


— отобразить содержимое текущей директории

 



ls -F


— отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип

 



ls -l


— показать детализировано представление файлов и директорий в текущей директории

 



ls -a


— показать скрытые файлы и директории в текущей директории

 



ls *[0-9]*


— показать файлы и директории содержащие в имени цифры

 



tree


— показать дерево файлов и директорий, начиная от корня (/)

 



lstree


— показать дерево файлов и директорий, начиная от корня (/)

 



mkdir dir1


— создать директорию с именем ‘dir1’

 



mkdir dir1 dir2


— создать две директории одновременно

 



mkdir -p /tmp/dir1/dir2


— создать дерево директорий

 



rm -f file1


— удалить файл с именем ‘file1’

 



rmdir dir1


— удалить директорию с именем ‘dir1’

 



rm -rf dir1


— удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое

 



rm -rf dir1 dir2


— удалить две директории и рекурсивно их содержимое

 



mv dir1 new_dir


— переименовать или переместить файл или директорию

 



cp file1 file2


— скопировать файл file1 в файл file2

 



cp dir/* .


— копировать все файлы директории dir в текущую директорию

 



cp -a /tmp/dir1 .


— копировать директорию dir1 со всем содержимым в текущую директорию

 



cp -a dir1 dir2


— копировать директорию dir1 в директорию dir2

 



ln -s file1 lnk1


— создать символическую ссылку на файл или директорию

 



ln file1 lnk1


— создать «жёсткую» (физическую) ссылку на файл или директорию

 



touch -t 0712250000 fileditest


— модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)


Команды для поиска файлов:



find / -name file1


— найти файлы и директории с именем file1. Поиск начать с корня (/)

 



find / -user user1


— найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)

 



find /home/user1 -name "*.bin"


— Найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’

 



find /usr/bin -type f -atime +100


— найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней

 



find /usr/bin -type f -mtime -10


— найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней

 



find / -name *.rpm -exec chmod 755 '{}' ;


— найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним

 



find / -xdev -name "*.rpm"


— найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.

 



locate "*.ps"


— найти все файлы, содержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’

 



whereis halt


— показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’which halt — отображает полный путь к файлу ‘halt’


Команды для монтирования файловых систем:



mount /dev/hda2 /mnt/hda2


— монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’

 



umount /dev/hda2


— ремонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’

 



fuser -km /mnt/hda2


— принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем

 



umount -n /mnt/hda2


— выполнить размонтирование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске

 



mount /dev/fd0 /mnt/floppy


— монтировать флоппи-диск

 



mount /dev/cdrom /mnt/cdrom


— монтировать CD или DVD

 



mount /dev/hdc /mnt/cdrecorder


— монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)

 



mount -o loop file.iso /mnt/cdrom


— смонтировать ISO-образ

 



mount -t vfat /dev/hda5 /mnt/hda5


— монтировать файловую систему Windows FAT32

 



mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share


— монтировать сетевую файловую систему Windows (SMB/CIFS)

 



mount -o bind /home/user/prg /var/ftp/user


— «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user

 


Команды для работы с дисковым пространством:



df -h


— отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (ключ -h работает не во всех *nix системах)

 



ls -lSr |more


— выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр

 



du -sh dir1


— подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим.переводчика. ключ -h работает не во всех *nix системах)

 



du -sk * | sort -rn


— отображает размер и имена файлов и директорий, с сортировкой по размеру

 



rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n


— показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)

 



dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n


— показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)

 


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



groupadd group_name


— создать новую группу с именем group_name

 



groupdel group_name


— удалить группу group_name

 



groupmod -n new_group_name old_group_name


— переименовать группу old_group_name в new_group_name

 



useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1


— создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome

 



useradd user1


— создать пользователя user1

 



userdel -r user1


— удалить пользователя user1 и его домашний каталог

 



usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1


— изменить атрибуты пользователя

 



passwd


— сменить пароль

 



passwd user1


— сменить пароль пользователя user1 (только root)

 



chage -E 2005-12-31 user1


— установить дату окончания действия учётной записи пользователя user1

 



pwck


— проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow

 



grpck


— проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group

 



newgrp [-] group_name


— изменяет первичную группу текущего пользователя. Если указать «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd

 


Команды для изменения полномочий на файлы:



ls -lh


— просмотр полномочий на файлы и директории в текущей директории

 



ls /tmp | pr -T5 -W$COLUMNS


— вывести содержимое директории /tmp и разделить вывод на пять колонок

 



chmod ugo+rwx directory1


— добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права.

 



chmod 777 directory1


— другой способ.

 



chmod go-rwx directory1


— отобрать у группы и всех остальных все полномочия на директорию directory1.

 



chown user1 file1


— назначить владельцем файла file1 пользователя user1

 



chown -R user1 directory1


— назначить рекурсивно владельцем директории directory1 пользователя user1

 



chgrp group1 file1


— сменить группу-владельца файла file1 на group1

 



chown user1:group1 file1


— сменить владельца и группу владельца файла file1

 



find / -perm -u+s


— найти, начиная от корня, все файлы с выставленным SUID

 



chmod u+s /bin/binary_file


— назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.

 



chmod u-s /bin/binary_file


— снять SUID-бит с файла /bin/binary_file.

 



chmod g+s /home/public


— назначить SGID-бит директории /home/public.

 



chmod g-s /home/public


— снять SGID-бит с директории /home/public.

 



chmod o+t /home/public


— назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам

 



chmod o-t /home/public


— снять STIKY-бит с директории /home/public

 



chattr +a file1


— позволить открывать файл на запись только в режиме добавления

 



chattr +c file1


— позволяет ядру автоматически сжимать/разжимать содержимое файла.

 



chattr +d file1


— указывает утилите dump игнорировать данный файл во время выполнения backup’а

 



chattr +i file1


— делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.

 



chattr +s file1


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

 



chattr +S file1


— указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync

 



chattr +u file1


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

 



lsattr


— показать атрибуты файлов

 


Команды для архивирования файлов:



bunzip2 file1.bz2


— разжимает файл ‘file1.gz’

 



gunzip file1.gz


— другой вариант

 



gzip file1


— сжимает файл ‘file1’

 



bzip2 file1


— другой вариант

 



gzip -9 file1


— сжать файл file1 с максимальным сжатием

 



rar a file1.rar test_file


— создать rar-архив ‘file1.rar’ и включить в него файл test_file

 



rar a file1.rar file1 file2 dir1


— создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1

 



rar x file1.rar


— распаковать rar-архив

 



unrar x file1.rar


— другой вариант

 



tar -cvf archive.tar file1


— создать tar-архив archive.tar, содержащий файл file1

 



tar -cvf archive.tar file1 file2 dir1


— создать tar-архив archive.tar, содержащий файл file1, file2 и dir1

 



tar -tf archive.tar


— показать содержимое архива

 



tar -xvf archive.tar


— распаковать архив

 



tar -xvf archive.tar -C /tmp


— распаковать архив в /tmp

 



tar -cvfj archive.tar.bz2 dir1


— создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)

 



tar -xvfj archive.tar.bz2


— разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)

 



tar -cvfz archive.tar.gz dir1


— создать архив и сжать его с помощью gzip

 



tar -xvfz archive.tar.gz


— разжать архив и распаковать его

 



zip file1.zip file1


— создать сжатый zip-архив

 



zip -r file1.zip file1 file2 dir1


— создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий

 



unzip file1.zip


— разжать и распаковать zip-архив

 


Команды для проверки системной информации:



uname -r


— отобразить используемую версию ядра

 



dmidecode -q


— показать аппаратные системные компоненты — (SMBIOS / DMI)

 



hdparm -i /dev/hda


— вывести характеристики жесткого диска

 



hdparm -tT /dev/sda


— протестировать производительность чтения данных с жесткого диска

 



cat /proc/cpuinfo


— отобразить информацию о процессоре

 



cat /proc/interrupts


— показать прерывания

 



cat /proc/meminfo


— проверить использование памяти

 



cat /proc/swaps


— показать файл(ы) подкачки

 



cat /proc/version


— вывести версию ядра

 



cat /proc/net/dev


— показать сетевые интерфейсы и статистику по ним


 



cat /proc/mounts


— отобразить смонтированные файловые системы

 



lspci -tv


— показать в виде дерева PCI устройства

 



lsusb -tv


— показать в виде дерева USB устройства

 



date


— вывести системную дату

 



cal 2013


— вывести таблицу-календарь 2013-го года


 



date 041217002013.00


— установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)


 



clock -w


— сохранить системное время в BIOS

 


Команды для остановки системы:



shutdown -h now


— остановить систему

 



init 0


— остановить систему

 



telinit 0


— остановить систему

 



shutdown -h hours:minutes &


— запланировать остановку системы на указанное время

 



shutdown -c


— отменить запланированную по расписанию остановку системы

 



shutdown -r now


— перегрузить систему

 



reboot


— перегрузить систему

 



logout


— выйти из системы

 


Команды для работы X-сервером:



sudo /etc/init.d/gdm restart


– перезапустить X (GNOME)

 



sudo /etc/init.d/kdm restart


– перезапустить X (KDE)

 



(file) /etc/X11/xorg.conf


– конфигурация X

 



sudo dpkg-reconfigure -phigh xserver-xorg


– сбросить конфигурацию X

 



Ctrl+Alt+Bksp


– перезапустить X-сервер

 



Ctrl+Alt+FN


– переключиться на консоль №N

 



Ctrl+Alt+F7


– вернуться к X

 


Команды для работы с сервисами:



start service


– запустить service (Upstart)


 



stop service


– остановить service (Upstart)


 



status service


– проверить, запущен ли service (Upstart)


 



/etc/init.d/service start


– запустить service (SysV)


 



/etc/init.d/service stop


– остановить service (SysV)

 



/etc/init.d/service status


– проверить service (SysV)

 



/etc/init.d/service restart


– перезапустить service (SysV)

 



runlevel


– посмотреть текущий runlevel

 


Команды для управления пакетами:



apt-get update


– обновить базу пакетов

 



apt-get upgrade


– обновить все пакеты

 



apt-get dist-upgrade


– обновить версию Ubuntu

 



apt-get install pkg


– установить pkg

 



apt-get remove pkg


– удалить pkg

 



apt-get autoremove


– удалить устаревшие пакеты

 



apt-get -f install


– попытаться исправить сломанные пакеты(зависимости)

 



dpkg --configure -a


– попытаться исправить сломанные пакеты(зависимости)

 



dpkg -i pkg.deb


– установить пакет из файла pkg.deb

 



(file) /etc/apt/sources.list


RPM пакеты (Fedora, Red Hat и тому подобное)

 



rpm -ivh package.rpm


— установить пакет с выводом сообщений и прогресс-бара

 



rpm -ivh --nodeps package.rpm


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

 



rpm -U package.rpm


— обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен

 



rpm -F package.rpm


— обновить пакет только если он установлен

 



rpm -e package_name.rpm


— удалить пакет

 



rpm -qa


— отобразить список всех пакетов, установленных в системе

 



rpm -qa | grep httpd


— среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»

 



rpm -qi package_name


— вывести информацию о конкретном пакете

 



rpm -qg "System Environment/Daemons"


— отобразить пакеты входящие в группу пакетов

 



rpm -ql package_name


— вывести список файлов, входящих в пакет

 



rpm -qc package_name


— вывести список конфигурационных файлов, входящих в пакет

 



rpm -q package_name --whatrequires


— вывести список пакетов, необходимых для установки конкретного пакета по зависимостям

 



rpm -q package_name --scripts - отобразит скрипты, запускаемые при установке/удалении пакета



rpm -q package_name --changelog - вывести историю ревизий пакета



rpm -qf /etc/httpd/conf/httpd.conf - проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.



rpm -qp package.rpm -l - отображает список файлов, входящих в пакет, но ещё не установленных в систему



rpm --import /media/cdrom/RPM-GPG-KEY


— импортировать публичный ключ цифровой подписи



rpm --checksig package.rpm


— проверит подпись пакета



rpm -qa gpg-pubkey


— проверить целостность установленного содержимого пакета



rpm -V package_name


— проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменения пакета



rpm -Va


— проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!



rpm -Vp package.rpm


— проверить пакет, который ещё не установлен в систему



rpm2cpio package.rpm | cpio --extract --make-directories *bin*


— извлечь из пакета файлы содержащие в своём имени bin



rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm


— установить пакет, собранный из исходных кодов



rpmbuild --rebuild package_name.src.rpm


— собрать пакет из исходных кодов


YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)



yum install package_name


— закачать и установить пакет

 



yum update


— обновить все пакеты, установленные в систему

 



yum update package_name


— обновить пакет

 



yum remove package_name


— удалить пакет

 



yum list


— вывести список всех пакетов, установленных в систему

 



yum search package_name


— найти пакет в репозитории

 



yum clean packages


— очисть rpm-кэш, удалив закачанные пакеты

 



yum clean headers


— удалить все заголовки файлов, которые система использует для разрешения зависимостей

 



yum clean all


— очисть rpm-кэш, удалив закачанные пакеты и заголовки

 


DEB пакеты (Debian, Ubuntu и тому подобное)



dpkg -i package.deb


— установить / обновить пакет

 



dpkg -r package_name


— удалить пакет из системы

 



dpkg -l


— показать все пакеты, установленные в систему

 



dpkg -l | grep httpd


— среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»

 



dpkg -s package_name


— отобразить информацию о конкретном пакете

 



dpkg -L package_name


— вывести список файлов, входящих в пакет, установленный в систему

 



dpkg --contents package.deb


— отобразить список файлов, входящих в пакет, который ешё не установлен в систему

 



dpkg -S /bin/ping


— найти пакет, в который входит указанный файл.

 


APT — средство управление пакетами (Debian, Ubuntu и тому подобное)



apt-get install package_name


— установить / обновить пакет

 



apt-cdrom install package_name


— установить / обновить пакет с cdrom’а

 



apt-get update


— получить обновлённые списки пакетов

 



apt-get upgrade


— обновить пакеты, установленные в систему

 



apt-get remove package_name


— удалить пакет, установленный в систему с сохранением файлов конфигурации

 



apt-get purge package_name


— удалить пакет, установленный в систему с удалением файлов конфигурации

 



apt-get check


— проверить целостность зависимостей

 



apt-get clean


— удалить загруженные архивные файлы пакетов

 



apt-get autoclean


— удалить старые загруженные архивные файлы пакетов

 


Команды для просмотра содержимого файлов:



cat file1


— вывести содержимое файла file1 на стандартное устройство вывода

 



tac file1


— вывести содержимое файла file1 на стандартное устройство вывода в обратном порядке (последняя строка становиться первой и т.д.)

 



more file1


— постраничный вывод содержимого файла file1 на стандартное устройство вывода

 



less file1


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

 



head -2 file1


— вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк

 



tail -2 file1


— вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк

 



tail -f /var/log/messages


— выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.

 


Команды для манипуляции с текстом:



cat file_originale | [operation: sed, grep, awk, grep и т.$/d' example.txt


— удалить пустые строки и комментарии из файла example.txt

 



echo 'esempio' | tr '[:lower:]' '[:upper:]'


— преобразовать символы из нижнего регистра в верхний

 



sed -e '1d' result.txt


— удалить первую строку из файла example.txt

 



sed -n '/string1/p'


— отобразить только строки содержавшие «string1»

 



sed -e 's/ *$//' example.txt


— удалить пустые символы в в конце каждой строки

 



sed -e 's/string1//g' example.txt


— удалить строку «string1» из текста не изменяя всего остального

 



sed -n '1,8p;5q' example.txt


— взять из файла с первой по восьмую строки и из них вывести первые пять

 



sed -n '5p;5q' example.txt


— вывести пятую строку

 



sed -e 's/0*/0/g' example.txt


— заменить последовательность из любого количества нулей одним нулём

 



cat -n file1


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

 



cat example.txt | awk 'NR%2==1'


— при выводе содержимого файла, не выводить чётные строки файла

 



echo a b c | awk '{print $1}'


— вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции

 



echo a b c | awk '{print $1,$3}'


— вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции

 



paste file1 file2


— объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m

 



paste -d '+' file1 file2


— объединить содержимое file1 и file2 в виде таблицы с разделителем «+»

 



sort file1 file2


— отсортировать содержимое двух файлов

 



sort file1 file2 | uniq


— отсортировать содержимое двух файлов, не отображая повторов

 



sort file1 file2 | uniq -u


— отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)

 



sort file1 file2 | uniq -d


— отсортировать содержимое двух файлов, отображая только повторяющиеся строки

 



comm -1 file1 file2


— сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’

 



comm -2 file1 file2


— сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’

 



comm -3 file1 file2


— сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах

 


Команды для проверки файловых систем:



badblocks -v /dev/hda1


— проверить раздел hda1 на наличие bad-блоков

 



fsck /dev/hda1


— проверить/восстановить целостность linux-файловой системы раздела hda1

 



fsck.ext2 /dev/hda1


— проверить/восстановить целостность файловой системы ext2 раздела hda1

 



e2fsck /dev/hda1


— проверить/восстановить целостность файловой системы ext2 раздела hda1

 



e2fsck -j /dev/hda1


— проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же

 



fsck.ext3 /dev/hda1


— проверить/восстановить целостность файловой системы ext3 раздела hda1

 



fsck.vfat /dev/hda1


— проверить/восстановить целостность файловой системы fat раздела hda1

 



fsck.msdos /dev/hda1


— проверить/восстановить целостность файловой системы fat раздела hda1

 


Команды для форматирования разделов:



mkfs /dev/hda1


— создать linux-файловую систему на разделе hda1

 



mke2fs /dev/hda1


— создать файловую систему ext2 на разделе hda1

 



mke2fs -j /dev/hda1


— создать журналирующую файловую систему ext3 на разделе hda1

 



mkfs -t vfat 32 -F /dev/hda1


— создать файловую систему FAT32 на разделе hda1

 



fdformat -n /dev/fd0


— форматирование флоппи-диска без проверки

 



mkswap /dev/hda3


— создание swap-пространства на разделе hda3 swap-пространство

 



mkswap /dev/hda3


— создание swap-пространства на разделе hda3

 



swapon /dev/hda3


— активировать swap-пространство, расположенное на разделе hda3

 



swapon /dev/hda2 /dev/hdb3


— активировать swap-пространства, расположенные на разделах hda2 и hdb3

 


Команды для создания резервных копий:



dump -0aj -f /tmp/home0.bak /home


— создать полную резервную копию директории /home в файл /tmp/home0.bak

 



dump -1aj -f /tmp/home0.bak /home


— создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak

 



restore -if /tmp/home0.bak


— восстановить из резервной копии /tmp/home0.bak

 



rsync -rogpav --delete /home /tmp


— синхронизировать /tmp с /home

 



rsync -rogpav -e ssh --delete /home ip_address:/tmp


— синхронизировать через SSH-туннель

 



rsync -az -e ssh --delete ip_addr:/home/public /home/local


— синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием

 



rsync -az -e ssh --delete /home/local ip_addr:/home/public


— синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием

 



dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'


— сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель

 



tar -Puf backup.tar /home/user


— создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий

 



( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'


— копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/

 



( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'


— копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home

 



tar cf - . | (cd /tmp/backup ; tar xf - )


— копирование одной директории в другую с сохранением полномочий и линков

 



find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents


— поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию

 



find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2


— поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них

 



dd if=/dev/hda of=/dev/fd0 bs=512 count=1


— создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск

 



d if=/dev/fd0 of=/dev/hda bs=512 count=1


— восстановить MBR с флоппи-диска на /dev/hda

 


Команды для работы с сетью:



ifconfig


– просмотр сетевой информации

 



iwconfig


– просмотр информации беспроводных устройств

 



sudo iwlist scan


– сканировать беспроводные сети

 



sudo /etc/init.d/networking restart


– перезапустить сеть

 



(file) /etc/network/interfaces


– файл для ручной настройки сети

 



ifup interface


– поднять interface

 



ifdown interface


– положить interface

 



ifconfig eth0


— показать конфигурацию сетевого интерфейса eth0

 



ifup eth0


— активировать (поднять) интерфейс eth0

 



ifdown eth0


— деактивировать (опустить) интерфейс eth0

 



ifconfig eth0 192.168.1.1 netmask 255.255.255.0


— выставить интерфейсу eth0 ip-адрес и маску подсети

 



ifconfig eth0 promisc


— перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)

 



ifconfig eth0 -promisc


— отключить promiscuous-режим на интерфейсе eth0

 



dhclient eth0


— активировать интерфейс eth0 в dhcp-режиме.

 



route -n


— вывести локальную таблицу маршрутизации

 



netstat -rn


— вывести локальную таблицу маршрутизации

 



route add -net 0/0 gw IP_Gateway


— задать ip-адрес шлюза по умолчанию (default gateway)

 



route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1


— добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1

 



route del 0/0 gw IP_gateway


— удалить ip-адрес шлюза по умолчанию (default gateway)

 



echo "1" > /proc/sys/net/ipv4/ip_forward


— разрешить пересылку пакетов (forwarding)

 



hostname


— отобразить имя компьютера

 



host www.linuxguide.it


— разрешить имя www.linuxguide.it хоста в ip-адрес и наоборот host 62.149.140.85

 



ip link show


— отобразить состояние всех интерфейсов

 



mii-tool eth0


— отобразить статус и тип соединения для интерфейса eth0

 



ethtool eth0


— отображает статистику интерфейса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения

 



netstat -tupn


— отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения

 



netstat -tupln


— отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты

 



tcpdump tcp port 80


— отобразить весь трафик на TCP-порт 80 (обычно — HTTP)

 



iwlist scan


— просканировать эфир на предмет, доступности беспроводных точек доступа

 



iwconfig eth2


— показать конфигурацию беспроводного сетевого интерфейса eth2

 


Команды для мониторинга и отладки:



top


— отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

 



ps -eafw


— отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

 



ps -e -o pid,args --forest


— вывести PID’ы и процессы в виде дерева

 



pstree


— отобразить дерево процессов

 



kill -9 98989


— «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

 



kill -TERM 98989


— Корректно завершить процесс с PID 98989

 



kill -1 98989


— заставить процесс с PID 98989 перепрочитать файл конфигурации

 



kill -HUP 98989


— заставить процесс с PID 98989 перепрочитать файл конфигурации

 



lsof -p 98989


— отобразить список файлов, открытых процессом с PID 98989

 



lsof /home/user1


— отобразить список открытых файлов из директории /home/user1

 



strace -c ls >/dev/null


— вывести список системных вызовов, созданных и полученных процессом ls

 



strace -f -e open ls >/dev/null


— вывести вызовы бибилотек

 



watch -n1 'cat /proc/interrupts'


— отображать прерывания в режиме реального времени

 



last reboot


— отобразить историю перезагрузок системы

 



last user1


— отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней

 



lsmod


— вывести загруженные модули ядра

 



free -m


— показать состояние оперативной памяти в мегабайтах

 



smartctl -A /dev/hda


— контроль состояния жёсткого диска /dev/hda через SMART

 



smartctl -i /dev/hda


— проверить доступность SMART на жёстком диске /dev/hda

 



tail /var/log/dmesg


— вывести десять последних записей из журнала загрузки ядра

 



tail /var/log/messages


— вывести десять последних записей из системного журнала

 


Команды для работы с фаерволом:



ufw enable


– включить фаервол

 



ufw disable


– выключить фаервол

 



ufw default allow


– разрешить все подключения

 



ufw default deny


– запретить все подключения

 



ufw status


– текущий статус и правила

 



ufw allow port


– разрешить соединения по порту port

 



ufw deny port


– закрыть port

 



ufw deny from ip


– заблокировать ip адрес

 


Команды для работы с ядром:


При зависании – Наберите фразу “REISUB” зажав клавиши Alt и SysRq (PrintScrn) с 1 секундной паузой между каждой буквой. Компьютер перезагрузится.



lsb_release -a


– получить версию Ubuntu

 



uname -r


– получить версию ядра

 



uname -a


– получить больше информации о ядре

сборник команд для администрирования linux систем

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

Большинство из приведенных ниже команд, являются достаточно повседневными, то есть часто используются в процессе администрирования Unix систем ( различных дистрибутивов Linux ).

Корректные: выключение, перезагрузка, выход из системы

# init 0
Выключить систему
# logout
Завершить текущую сессию
# reboot
Перезагрузка
# shutdown -h now
Еще один вариант корректного выключения
# shutdown -h 22:15 &
Запланировать выключение системы на 22 часа 15 минут
# shutdown -c
Отменить запланированное выключения системы
# shutdown -r now
Еще один вариант перезагрузки
# telinit 0
Тоже способ выключения системы

]]>Вверх]]>

Получение различной информации о системе

# arch
Вывести на экран архитектуру компьютера
# uname -m
Так-же выводит архитектуру компьютера
# cal 2010
Печатает календарь на 2010 год. Без аргументов выводит календарь на текущий месяц
# cat /proc/cpuinfo
Вывести подробную информацию о процессоре
# cat /proc/interrupts
Вывести информацию о прерываниях
# cat /proc/meminfo
Выводит статистику использования памяти
# cat /proc/swaps
Вывести информацию о swap файле(ах) ( файл подкачки )
# cat /proc/version
Вывести информацию о версии текущего ядра
# cat /proc/net/dev
Вывести информацию и статистику по сетевым устройствам
# cat /proc/mounts
Показать смонтированные файловые системы
# clock -w
Записать текущую системную дату в BIOS
# date
Вывести текущую системную дату и время
# date 041217002007.00
Установить дату и время в значение МесяцДеньЧасМинутаГод.Секунда
# dmidecode -q
Вывести в читабельном виде информацию по аппаратному оборудованию системы (SMBIOS / DMI)
# hdparm -i /dev/hda
Вывести характеристики жесткого диска
# hdparm -tT /dev/sda
Измерять скорость чтения данных с жесткого диска
# lspci -tv
Вывести список устройств на шине PCI
# lsusb -tv
Вывести список устройств на USB шине
# uname -r
Вывести версию используемого ядра

]]>Вверх]]>

Дисковое пространство

# df -h
Вывод информации о свободном и занятом дисковом пространстве на смонтированных разделах, в формате, удобном для чтения
# dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n
Выводит объем используемого дискового пространства, занятого файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
# du -sh dir
Выводит объем дискового пространства, занимаемый директорией dir
# du -sk * | sort -rn
Выводит листинг файлов и директорий с размером, сортируя его по размеру
# ls -lSr | more
Выводит листинг файлов и директорий, сортируя по возрастанию размера и перенаправляет его в программу more для постраничного просмотра
# rpm -q -a —qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
Выводит объем дискового пространства, занимаемого файлами rpm-пакета, с сортировкой по размеру ( fedora, redhat и т.п. )

]]>Вверх]]>

Работа с файлами и папками

# pwd
Вывести текущую директорию
# cd /home
Перейти в директорию /home
# cd ..
Перейти в родительский каталог, то есть подняться на уровень выше
# cd ../..
Подняться в дереве каталогов на два уровня
# cd
Перейти в домашний каталог
# cd ~user
Перейти в домашний каталог пользователя user
# cd —
Перейти в предыдущую директорию, из которой был сделан переход в текущую директорию
# cp -a test_1 test_2
Копировать директорию test_1 в директорию test_2
# cp file_1 file_2
Копировать файл file_1 в файл file_2
# cp -a /tmp/test .
Rопировать директорию test и все ее содержимое в текущую директорию
# cp test/* .
Копировать все файлы содержащиеся в директории test в текущую директорию
# iconv -l
Выводит список доступных для использования кодировок
# iconv -c -f windows-1251 -t utf-8 inputFile > outputFile
Конвертировать файл из кодировки windows-1251 в кодировку utf-8
# ln -s /path/to/filedir ./link
Создать в текущей директории символическую ссылку link на директорию или файл filedir
# ln /path/to/filedir ./link
Создать в текущей директории жесткую ссылку link на директорию или файл filedir
# ls
Вывести листинг содержимого текущей директории
# ls -F
Листинг текущей директории с добавлением к именам символов, обозначающих тип объекта
# ls -l
Листинг текущей директории с подробностями по каждому объекту ( права доступа, владелец, группа, дата, размер )
# ls -a
Кроме обычных объектов, вывести в листинге, скрытые файлы и директории, текущего каталога
# ls /tmp | pr -T5 -W$COLUMNS
Листинг директории /tmp в 5 колонок
# ls *[0-9]*
Вывести в листинг файлов и директорий текущего каталога, содержащие в имени цифровые символы
# lstree
Листинг иерархии директорий и файлов, начиная с корневого каталога (/)
# mkdir dir
Создать в текущем каталоге, директорию с именем dir
# mkdir dir_1 dir_2
Создать в текущем каталоге две директории, с именами dir_1 и dir_2
# mkdir -p /path/to/dir
Создать иерархию директорий. Кроме самой директории dir будут созданы все промежуточные директории
# mv filedir new_filedir
Переместить ( переименовать ) файл или директорию из filedir в new_filedir
# rm -rf /dir
Рекурсивно удалить директорию dir и всё её содержимое, без запроса подтверждения на удаление
# rm -f file
Удалить файл file, без запроса подтверждения
# rm -rf /dir_1 /dir_2
Удалить директории /dir_1 и /dir_2 вместе с содержимым, без запроса подтверждения
# rmdir /dir
Удалить директорию /dir
# tree
Вывести иерархию директорий и файлов, начиная с корневой (/)
# touch -t 0712250000 file1
Изменить дату и время создания файла, если указанный файл не существует, создать его с указанными датой и временем (YYMMDDhhmm)

]]>Вверх]]>

Поиск нужного файла

# find / -user vasya
Найти все директории и файлы принадлежащие пользователю vasya. Поиск будет производиться, начиная с корневой директории (/)
# find / -name filedir
Найти директории и файлы с именем filedir. Поиск будет производиться, начиная с корневой директории (/)
# find /usr/bin -type f -atime +20
Найти все файлы в директории /usr/bin, время последнего обращения к которым более 20 дней
# find /usr/bin -type f -mtime -10
Найти все файлы в директории /usr/bin, которые были созданы или модифицированы в течении последних 10 дней
# find / -xdev -name \*.rpm
Искать директории и файлы, имена которых оканчиваются на «.rpm«, но игнорируя съёмные накопители, cdrom, usb и т.п.
# find . -maxdepth 1 -name *.jpg -print -exec convert
Найти в текущей директории все файлы с расширением jpg и выполнить для каждого команду convert ( Imagemagick )
# find /path/to/dir -name \*.c
Найти все директории и файлы, имена которых оканчиваются на ««. Поиск будет производиться, начиная с директории /path/to/dir
# find / -name *.rpm -exec chmod 755 ‘{}’ \;
Начиная с корня, найти все фалы и директории, имена которых оканчиваются на «.rpm«, и для каждого изменить права доступа
# whereis ls
Вывод полных путей к бинарным файлам, файлом исходных кодов и руководств, имеющих отношение к файлу ls
# locate \*.ps
Поиск всех файлов, содержащих в имени «.ps» по специальной базе данных, предварительно сформированной командой updatedb
# which ls
Вывести полный путь до файла ls

]]>Вверх]]>

Монтирование файловых систем

# mount /dev/hda1 /mnt/disk
Монтировать устройство /dev/hda1 в папку с именем /mnt/disk. точка монтирования, папка /mnt/disk, должна существовать
# fuser -km /mnt/hda1
Размонтировать устройство hda1 если оно заблокировано каким либо процессом
# mount -o loop file.iso /mnt/cdrom
Смонтировать фаил или образ ISO в директорию /mnt/cdrom
# mount /dev/hdb /mnt/cdrecorder
Монтировать cdrw или dvdrom
# mount -t vfat /dev/hda5 /mnt/hda5
Смонтировать раздел с файловой системой FAT32
# mount /dev/cdrom /mnt/cdrom
Монтировать cdrom или dvdrom
# mount /dev/fd0 /mnt/floppy
Монтировать floppy disk ( дисковод мягких дисков )
# mount /dev/hdc /mnt/cdrecorder
Монтировать cdrw или dvdrom
# mount /dev/sda1 /mnt/usbdisk
Монтировать USB устройство
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
Монтировать сетевую файловую систему Windows (SMB/CIFS)
# umount -n /mnt/hda2
Размонтировать без записи в файл /etc/mtab, используется в ситуациях, когда файл находится в режиме только чтение или жесткий диск переполнен
# umount /dev/hda2
Размонтировать диск hda2, предварительно неоходимо выйти из точки монтирования /mnt/hda2

]]>Вверх]]>

Пользователи и группы

# useradd -c «User Vasya» -g admin -d /home/vasya -s /bin/bash vasya
Создать пользователя vasya, домашним каталогом будет создана директория /home/vasya, в качестве системной оболочки будет назначен /bin/bash, пользователь будет включен в группу admin, кроме того для учетной записи будет создан комментарий «User Vasya»
# useradd vasya
Создать пользователя vasya
# usermod -c «User FTP» -g system -d /ftp/ftpuser -s /bin/nologin ftpuser
Изменение пользователя
# userdel -r vasya
Удалить пользователя с именем vasya и его домашнюю директорию
# groupadd [ group_name ]
Создать группу с именем group_name
# chage -E 2005-12-31 vasya
Установить дату окончания действия учётной записи пользователя vasya
# groupdel [ group_name ]
Удалить группу group_name
# groupmod -n test new_test
Переименовать группу test в new_test
# newgrp — [group]
Изменяет основную группу текущего пользователя. При указании «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, основная группа будет назначена из файла /etc/passwd
# grpck
Проверка корректности системных файлов учётных записей. Проверяется файл/etc/group
# pwck
Проверка корректности системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
# passwd
Изменить пароль текущего пользователя
# passwd vasya
Изменить пароль пользователя vasya ( может выполнять только root )

]]>Вверх]]>

Атрибуты файлов

# chattr +a file
Разрешает только добавление данных в файл
# chattr +d file
Игнорировать данный файл при создании резервной копии с помощью программы dump
# chattr +c file
Разрешить ядру автоматически сжимать/разжимать содержимое файла
# chattr +i file1
Защита файла от каких либо изменений или манипуляций: редактирование, перемещение, удаление, создание ссылок на него
# chattr +S file1
Определяет, будет-ли при сохранении изменений, произведена синхронизация, как при использовании команды sync
# chattr +u file1
При удалении файла с данным атрибутом, его будет сохранено, что-бы оставить пользователю возможность восстановить данные в случае необходимости
# chattr +s file1
Позволяет безвозвратное удаление данного файла. При удалении файла с этим атрибутом, место на диске, занимаемое файлом, перезаписывается нулями, после чего файл уже не подлежит восстановлению
# lsattr
Листинг файлов с атрибутами

]]>Вверх]]>

Работа с правами доступа файлов и директорий

# chown vasya /file
Назначить пользователя vasya владельцем файла file
# chown -R vasya directory
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
# chown vasya:group /file
Назначить владельца и группу для файла /file
# chmod ugo+rwx /directory
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
# chmod go-rwx /directory
Удалить все права на директорию /directory для группы и остальных
# chgrp new_group file
Изменить группу-владельца для file на new_group
# chmod o+t /home/public
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
# chmod o-t /home/public
Удалить STIKY-бит с директории /home/public
# chmod u+s /bin/binary_file
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
# chmod u-s /bin/binary_file
Удалить SUID-бит с файла /bin/binary_file
# chmod g+s /home/public
Установить SGID-бит на директории /home/public
# chmod g-s /home/public
Удалить SGID-бит с директории /home/public
# find / -perm -u+s
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
# ls -lh
Листинг текущего каталога с правами доступа

]]>Вверх]]>

Архивация и сжатие файлов

# gzip -9 file1
Поместить файл file1 в архив gzip с максимальной степенью сжатия
# rar a file1.rar file1 file2 dir1
Создать rar архив file1.rar, заархивировав файлы: file1, file2 и директорию: dir1
# rar a file1.rar test_file
Упаковать в rar архив file1.rar файл test_file
# rar x file.rar
Разархивировать rar архив file.rar
# bzip2 file1
Сжимает файл file1
# bunzip2 file1.bz2
Разжимает файл file1.bz2
# gzip file1
Сжимает файл file1
# gunzip file1.gz
Разжимает файл file1.gz
# tar -cvf archive.tar file1 file2 dir1
Создать tar архив archive.tar, упаковав в него файлы file1, file2 и директорию dir1
# tar -cvf archive.tar file
Упаковать в tar-архив archive.tar, файл file
# tar -tf archive.tar
Вывести содержимое tar архива
# tar -xvf archive.tar
Распаковать tar архив
# tar -xvf archive.tar -C /tmp
Распаковать архив в /tmp
# tar -cvfz archive.tar.gz dir1
Создать tar архив и сжать его с помощью программы gzip
# tar -xvfz archive.tar.gz
Разжать tar архив и распаковать его
# tar -cvfj archive.tar.bz2 dir1
Создать архив и сжать его с помощью bzip2 ( ключ -j работает не во всех *nix системах )
# tar -xvfj archive.tar.bz2
Разжать архив и распаковать его ( ключ -j работает не во всех *nix системах )
# zip file1.zip file1
Создать сжатый zip-архив
# zip -r file1.zip file1 file2 dir1
Запаковать в архив несколько файлов и/или директорий
# unzip file1.zip
Разжать и распаковать zip-архив
# unrar x file1.rar
Распаковать rar-архив

]]>Вверх]]>

Работа с RPM пакетами ( Fedora, Red Hat и им подобные дистрибутивы )

# rpm -e [ package ]
Удалить пакет package
# rpm -qa | grep httpd
Вывести список установленных в системе пакетов и отобрать, содержащие в своем имени httpd
# rpm -qa
Вывести список всех установленных в системе пакетов
# rpm -qi [ package ]
Вывести информацию о пакете package
# rpm -ivh [package.rpm]
Установить пакет с выводом сообщений и прогресс-бара
# rpm -U [package.rpm]
Обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
# rpm -ivh —nodeeps [package.rpm]
Установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
# rpm -F [package.rpm]
Обновить пакет только если он установлен
# rpm -q [package] —whatprovides
Список предоставляемой функциональности
# rpm -q [package] —changelog
Вывести историю ревизий пакета
# rpm -q [package] —scripts
Отобразит скрипты, запускаемые при установке/удалении пакета
# rpm -qf /etc/httpd/conf/httpd.conf
Проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла
# rpm -qg «System Environment/Daemons»
Отобразить пакеты входящие в группу пакетов ( fedora, redhat )
# rpm -qc [package]
Вывести список конфигурационных файлов, входящих в пакет
# rpm -ql [package]
Вывести список файлов, входящих в пакет
# rpm -q [package] —whatrequires
Вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
# rpm -qp [package.rpm] -l
Отображает список файлов, входящих в пакет, но ещё не установленных в систему
# rpm -Va
Проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]
Установить пакет, собранный из исходных кодов
# rpm -Vp [package.rpm]
Проверить пакет, который ещё не установлен в систему
# rpm2cpio [package.rpm] | cpio —extract —make-directories *bin*
Извлечь из пакета файлы содержащие в своём имени bin
# rpm —import /media/cdrom/RPM-GPG-KEY
Импортировать публичный ключ цифровой подписи
# rpm —checksig [package.rpm]
Проверит подпись пакета
# rpm -qa gpg-pubkey
Проверить целостность установленного содержимого пакета
# rpm -V [package]
Проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменения пакета
# rpmbuild —rebuild [package.src.rpm]
Собрать пакет из исходных кодов

]]>Вверх]]>

Средство управления пакетами — YUM ( Fedora, RedHat и т.д. )

# yum list
Вывести листинг пакетов, установленных в системе
# yum clean headers
Удалить все заголовки файлов, которые система использует для разрешения зависимостей
# yum clean [package]
Очистить rpm-кэш, удалив закачанные пакеты
# yum search [package]
Найти пакет в репозитории
# yum clean all
Очистить rpm-кэш, удалив закачанные пакеты и заголовки
# yum -y install [ package ]
Скачать и установить пакет
# yum update [package]
обновить пакет
# yum -y update
Обновить все пакеты, установленные в систему
# yum localinstall [ package.rpm ]
Попытаться установить пакет RPM и все зависимые от него пакеты, используя ваши репозитории
# yum remove [package]
Удалить пакет

]]>Вверх]]>

Средства управления DEB пакетами ( Debian, Ubuntu и т.д. )

# dpkg -l
Список пакетов, установленных в системе
# dpkg -r [package]
Удалить пакет из системы
# dpkg -i [package.deb]
Установить / обновить пакет
# dpkg -l | grep httpd
Вывести список установленных в системе пакетов, отобрав, содержащие в своем названии httpd
# dpkg -s [package]
Вывести информацию о конкретном пакете
# dpkg —contents [package.deb]
Вывести список файлов, входящих в пакет, который ешё не установлен в систему
# dpkg -L [package]
Вывести список файлов, входящих в пакет, установленный в систему
# dpkg -S /bin/ping
В какой пакет входит указанный файл.

]]>Вверх]]>

Система управления пакетами Pacman ( Arch, Frugalware and alike )

# pacman -S name
Установить пакет name со всеми зависимостями
# pacman -R name
Удалить пакет и все его файлы

]]>Вверх]]>

Средство управление пакетами — APT ( Debian, Ubuntu и т.д. )

# apt-cache search [ package ]
Вывести список пакетов, чье имя совпадает со строкой package
# apt-get check
Проверить зависимости
# apt-cdrom install [ package ]
Установить / обновить пакет с cdrom’а
# apt-get install [ package ]
Установить / обновить пакет
# apt-get upgrade
Обновить установленные в систему пакеты
# apt-get remove [ package ]
Удалить установленный пакет из системы, сохранив файлы конфигурации
# apt-get update
Обновить списки пакетов репозитария
# apt-get clean
Удалить загруженные архивные файлы пакетов

]]>Вверх]]>

Анализ файловой системы

# badblocks -v /dev/hda1
Проверить раздел hda1 на наличие bad-блоков
# fsck /dev/hda1
Проверить и при необходимости попробовать восстановить целостность linux-файловой системы раздела hda1
# fsck.ext2 /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
# fsck.msdos /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
# fsck.vfat /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
# fsck.ext3 /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1
# dosfsck /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat, раздела hda1
# e2fsck /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
# e2fsck -j /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1, журнал файловой системы расположен там же

]]>Вверх]]>

Просмотр содержимого файлов

# cat file1
Вывести все содержимое файла начиная с первой строки
# head -2 file1
Отобразить две первые строки файла
# tac file1
Отобразить содержимое файла начиная с последней строки
# tail -f /var/log/messages
В реальном времени выводить все, что добавляется в файл
# tail -2 file1
Вывести две последние строки файла
# more file1
Отобразить содержимое файла постранично
# less file1
Аналогична команде more но позволяет перемещаться по содержимому вперед и назад

]]>Вверх]]>

Манипуляции с текстом

# cat -n file1
Вывести содержимое файла, нумеруя выводимые строки
# cat example.Aug /var/log/messages
Отобрать и вывести строки, начинающиеся с сочетания символов «Aug», из файла /var/log/messages
# grep Aug /var/log/messages
Отобрать и вывести строки, содержащие сочетание символов «Aug» из файла /var/log/messages
# grep Aug -R /var/log/*
Отобрать и вывести строки, содержащие сочетание символов «Aug», из всех файлов, расположенных в директории /var/log и ниже
# paste -d ‘+’ file1 file2
Объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
# paste file1 file2
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
# sdiff file1 file2
Сравнить содержимое двух файлов
# sed ‘s/string1/string2/g’ example.txt
Заменить string1 на string2 в файле example.$/d’ example.txt
Удалить пустые строки и комментарии из файла example.txt
# sed -e ‘1d’ exampe.txt
Удалить первую строку из файла example.txt
# sed -n ‘/string1/p’
Отобразить только строки содержащие string1
# sed -e ‘s/string//g’ example.txt
Удалить строку string1 из текста файла example.txt не изменяя всего остального
# sed -e ‘s/ *$//’ example.txt
Удалить пустые символы в конце каждой строки файла example.txt
# sed -n ‘5p;5q’ example.txt
Вывести пятую строку
# sed -n ‘2,5p’ example.txt
Вывести строки со второй по пятую
# sed -e ‘s/00*/0/g’ example.txt
Заменить последовательность из любого количества нулей одним нулём
# sort file1 file2
Вывести отсортированное содержимое двух файлов
# sort file1 file2 | uniq
Вывести отсортированное содержимое двух файлов исключая повторные значения
# sort file1 file2 | uniq -u
Вывести уникальные значения из отсортированного содержимого двух файлов
# sort file1 file2 | uniq -d
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
# echo ‘word’ | tr ‘[:lower:]’ ‘[:upper:]’
Перевести символы нижнего регистра в верхний

]]>Вверх]]>

Конвертирование соодержимого текстовых файлов

# dos2unix filedos.txt fileunix.txt
Конвертировать содержимое текстового файла из MSDOS кодировки в UNIX кодировку (разница в символах возврата коретки)
# unix2dos fileunix.txt filedos.txt
Конвертировать содержимое текстового файла из UNIX кодировки в MSDOS кодировку (разница в символах возврата коретки)
# recode ..HTML < page.txt > page.html
Конвертировать содержимое тестового файла page.txt в html-файл page.html
# recode -l | more
Вывести список доступных форматов

]]>Вверх]]>

Файловая система SWAP ( файл подкачки )

# mkswap /dev/hda3
Создание swap-пространство на разделе hda3
# swapon /dev/hda3
Включить swap-пространство, расположенное на разделе hda3
# swapon /dev/hda2 /dev/hdb3
Активировать swap-пространства, расположенные на разделах hda2 и hdb3

]]>Вверх]]>

Форматирование файловой системы

# fdformat -n /dev/fd0
Форматирование флоппи-диска без проверки
# mkfs /dev/hda1
Создать файловую систему linux на разделе hda1
# mke2fs -j /dev/hda1
Создать журналируемую файловую систему ext3 на разделе hda1
# mke2fs /dev/hda1
Создание файловой системы ext2 на разделе hda1
# mkfs -t vfat 32 -F /dev/hda1
Создать файловую систему FAT32 на разделе hda1

]]>Вверх]]>

Резервное копирование ( Backup )

# find /var/log -name ‘*.log’ | tar cv —files-from=- | bzip2 > log.tar.bz2
Поиск всех файлов, заканчивающихся на «.log» в директории /var/log, и упаковка их в bzip-архив
# find /home/user -name ‘*.txt’ | xargs cp -av —target-directory=/home/backup/ —parents
Поиск в директории /home/user файлов, имена которых оканчиваются на «.txt», и копирование их в другую директорию
# rsync -rogpav —delete /home /tmp
Синхронизировать директории /tmp и /home
# rsync -az -e ssh —delete ip_addr:/home/public /home/local
Синхронизировать локальную и удаленную директории через ssh туннель используя сжатие
# rsync -rogpav -e ssh —delete /home ip_address:/tmp
Синхронизация через SSH туннель
# rsync -az -e ssh —delete /home/local ip_addr:/home/public
Синхронизировать удалённую директорию с локальной используя ssh туннель со сжатием
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’
Создать «слепок» локального диска в файл на удалённом сервере используя ssh туннель
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1
Создание копии MBR ( Master Boot Record ) с /dev/hda на флоппи-диск
# dd if=/dev/sda of=/tmp/backup
Создание резервной копии содержимого жесткого диска в файл backup
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1
Восстановить MBR с флоппи-диска на /dev/hda
# dump -0aj -f /tmp/home0.bak /home
Создать полную резервную копию директории /home в файл /tmp/home0.bak
# dump -1aj -f /tmp/home0.bak /home
Создать инкрементную резервную копию директории /home в файл /tmp/home0.bak
# restore -if /tmp/home0.bak
Восстановить данные из резервной копии /tmp/home0.bak
# tar -Puf backup.tar /home/user
Создать инкрементную резервную копию директории /home/user в файл backup.tar сохраняя права доступа
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’
Упаковка в архив и копирование содержимого /tmp/local в директорию /home/share/ удалённого сервера, используя ssh туннель
# ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’
Упаковка в архив и копирование содержимого /home в директорию /home/backup-home удалённого сервера, используя ssh туннель
# tar cf — . | (cd /tmp/backup ; tar xf — )
Упаковка в архив и копирование одной директории в другую с сохранением прав доступа и ссылок

]]>Вверх]]>

CDROM

# cd-paranoia -B
Перенести аудио-треки с компакт-диска в wav-файлы.
# cd-paranoia —
Перенести три аудио-трека с компакт-диска в wav-файлы.
# cdrecord -v dev=/dev/cdrom cd.iso
Записать ISO-образ на компакт-диск.
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom —
Записать сжатый ISO-образ на компакт-диск.
# mkisofs /dev/cdrom > cd.iso
Создать ISO-образ компакт-диска.
# mkisofs -J -allow-leading-dots -R -V
Создать ISO-образ из содержимого директории.
# mkisofs /dev/cdrom | gzip > cd_iso.gz
Создать сжатый ISO-образ компакт-диска.
# mount -o loop cd.iso /mnt/iso
Смонтировать ISO-образ компакт-диска в файловую систему.
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
Очистить перезаписываемый компакт-диск.
# cdrecord —scanbus
Сканировать системную шину для поиска идентификаторов SCSI каналов.
# dd if=/dev/hdc | md5sum
Вычислить контрольную сумму MD5 для устройства, например, компакт-диска.

]]>Вверх]]>

Сети (LAN / WiFi)

# dhclient eth0
Включить DHCP на сетевом интерфейсе eth0
# ethtool eth0
Вывод статистики по сетевому интерфейсу eth0
# hostname
Вывести имя компьютера
# host www.example.com
Преобразовать домен www.example.org в ip-адрес и наоборот
# ifconfig eth0
Вывести настройки сетевой карты eth0
# ifconfig eth0 promisc
Переключить интерфейс eth0 в promiscuous-режим для сбора ( сниффинг ) сетевых пакетов
# ifup eth0
Включить сетевой интерфейс eth0
# ifdown eth0
Отключить сетевой интерфейс eth0
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Назначить IP адрес и маску сетевому интерфейсу eth0
# ip link show
Вывести статус связи всех сетевых интерфейсов
# iwconfig eth2
Вывести конфигурацию беспроводного сетевого интерфейса eth2
# iwlist scan
Сканирование и поиск беспроводных сетей и точек доступа
# mii-tool eth0
Вывести состояние связи сетевого интерфейса eth0
# nslookup www.example.com
Ресольвить ( преобразовать/разрешить ) доменное имя www.example.org в ip-адрес и наоборот
# route -n
Песать локальной таблицы маршрутизации
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
Добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
# route add -net 0/0 gw IP_Gateway
Назначить ip-адрес шлюза по умолчанию ( default gateway )
# route del 0/0 gw IP_gateway
Удалить ip-адрес шлюза по умолчанию ( default gateway )
# netstat -tup
Выводит листинг всех установленных соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же PID‘ы и имена процессов, обслуживающих данные соединения
# netstat -tupl
Вывод списка соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же и PID‘ы и имена процессов, ожидающих соединений на сетевых портах
# netstat -rn
Вывести таблицу маршрутизации, аналог команды route -n
# echo «1» > /proc/sys/net/ipv4/ip_forward
Разрешить форвардинг ( пересылку ) пакетов
# tcpdump tcp port 80
Отлавливать и выводить весь трафик на TCP-порт 80 (обычно — HTTP)
# whois www.example.com
Вывести информацию о доменном имени из базы данных whois

]]>Вверх]]>

Microsoft Windows networks (samba)

# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
Монтировать smb-ресурс, расшаренный на windows-машине, в папку локальной файловой системы
# nbtscan ip_addr
Преобразовать имя netbios. Программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba
# nmblookup -A ip_addr
Преобразовать имя netbios. Программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba
# smbclient -L ip_addr/hostname
Вывести список ресурсов, выделенных в общий доступ на windows-машине
# smbget -Rr smb://ip_addr/share
Аналог программы wget для SMB протокола

]]>Вверх]]>

Фаервол IPTABLES, штатный, для большинства дистрибутивов Linux

# iptables -t filter -L
Вывести список всец цепочек правил
# iptables -t nat -L
Вывести все цепочки из NAT таблицы
# iptables -t nat -F
Очистить все цепочки правил в таблице NAT
# iptables -t filter -X
Очистить все пользовательские цепочки правил в таблице filter
# iptables -t filter -F
Очистить все цепочки правил в таблице filter
# iptables -t filter -A INPUT -p tcp —dport telnet -j ACCEPT
Разрешить входящие соединения с telnet
# iptables -t filter -A OUTPUT -p tcp —dport http -j DROP
Запретить исходящие HTTP соединения
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp —dport 22 -j DNAT —to-destination 10.0.0.2:22
Пересылка пакетов, адресованных одному хосту, на другой хост
# iptables -t filter -A INPUT -j LOG —log-prefix
Включить логгирование пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
# iptables -t filter -A FORWARD -p tcp —dport pop3 -j ACCEPT
Разрешить форвардинг POP3 соединений

]]>Вверх]]>

Мониторинг и отладка системы

# free -m
Вывод статистики по оперативной памяти
# kill -9 proc_id
Убить процесс с PID proc_id, без соблюдения целостности данных, то есть насмерть
# kill -1 proc_id
Перечитать файл конфигурации процессом с PID proc_id
# last reboot
Вывод истории ребутов системы
# lsof /home/user1
Вывести список открытых файлов из директории /home/user1
# lsof -p proc_id
Вывести список файлов, открытых процессом с PID proc_id
# lsmod
Список загруженных модулей ядра
# ps -e -o pid,args —forest
Вывести список PID’ов и процессов в виде дерева
# ps -eafw
Отобразить работающие в системе процессы, используемые ими ресурсы и другую полезную информацию ( единожды )
# pstree
Вывести дерево процессов
# smartctl -i /dev/hda
Проверить доступность SMART на жёстком диске /dev/hda
# smartctl -A /dev/hda
Проверка состояния жёсткого диска /dev/hda через SMART
# strace -c ls >/dev/null
Вывести список системных вызовов, созданных и полученных процессом ls
# strace -f -e open ls >/dev/null
Вывести список вызовов системных бибилотек
# tail /var/log/messages
Вывести десять последних записей из системного журнала
# tail /var/log/dmesg
Вывести десять последних записей из журнала загрузки ядра
# top
Вывести список работающих в системе процессов с различной полезной информацией в режиме реального времени с автоматическим обновлением данных
# watch -n1 ‘cat /proc/interrupts’
Выводить прерывания в режиме реального времени

]]>TOP]]>

Другие полезные команды

# alias hh=’history’
Создать псевдоним hh для команды history
# apropos …keyword
Вывод комманд, так или иначе относящихся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
# chsh
Изменить системную оболочку пользователя
# gpg -c file1
Шифрует файл file1 с помощью GNU Privacy Guard
# gpg file1.gpg
Дешифрует файл file1 с помощью GNU Privacy Guard
# ldd /usr/bin/ssh
Список библиотек, используемых программой ssh
# man ping
Ввывод страниц руководства по работе с программой, в данном случае, ping
# mkbootdisk —device /dev/fd0 `uname -r`
Создаёт загрузочный флоппи-диск
# wget -r www.example.com
Рекурсивно загружает содержимое сайта www.example.com
# wget -c www.example.com/file.iso
Загрузить файл www.example.com/file.iso с возможностью остановки и докачки
# echo ‘wget -c www.example.com/files.iso’ | at 09:00
Включить закачку в определенное время
# whatis …keyword
Вывести описание действий указанной программы
# who -a
Вывести список залогиненных пользователей, время последней загрузки системы и прочую полезную информацию

]]>Вверх]]>

]]>оригинал документа]]>

Основные консольные команды Linux (Debian)





















































































































































































































































































































































































КомандаОписание
Системная информация
archотобразить архитектуру компьютера
uname -m
uname -rотобразить используемую версию ядра
dmidecode -qпоказать аппаратные системные компоненты — (SMBIOS / DMI)
hdparm -i /dev/hdaвывести характеристики жесткого диска
hdparm -tT /dev/sdaпротестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfoотобразить информацию о процессоре
cat /proc/interruptsпоказать прерывания
cat /proc/meminfoпроверить использование памяти
cat /proc/swapsпоказать файл(ы) подкачки
cat /proc/versionвывести версию ядра
cat /proc/net/devпоказать сетевые интерфейсы и статистику по ним
cat /proc/mountsотобразить смонтированные файловые системы
lspci -tvпоказать в виде дерева PCI устройства
lsusb -tvпоказать в виде дерева USB устройства
dateвывести системную дату
cal 2007вывести таблицу-календарь 2007-го года
date 041217002007.00установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -wсохранить системное время в BIOS
Остановка системы
shutdown -h nowОстановить систему
init 0
telinit 0
shutdown -h hours:minutes &запланировать остановку системы на указанное время
shutdown -cотменить запланированную по расписанию остановку системы
shutdown -r nowперегрузить систему
reboot
logoutвыйти из системы
Файлы и директории
cd /homeперейти в директорию ‘/home’
cd ..перейти в директорию уровнем выше
cd ../..перейти в директорию двумя уровнями выше
cdперейти в домашнюю директорию
cd ~userперейти в домашнюю директорию пользователя user
cd —перейти в директорию, в которой находились до перехода в текущую директорию
pwdпоказать текущюю директорию
lsотобразить содержимое текущей директории
ls -Fотобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -lпоказать детализированое представление файлов и директорий в текущей директории
ls -aпоказать скрытые файлы и директории в текущей директории
ls *[0-9]*показать файлы и директории содержащие в имени цифры
treeпоказать дерево файлов и директорий, начиная от корня (/)
lstree
mkdir dir1создать директорию с именем ‘dir1’
mkdir dir1 dir2создать две директории одновременно
mkdir -p /tmp/dir1/dir2создать дерево директорий
rm -f file1удалить файл с именем ‘file1’
rmdir dir1удалить директорию с именем ‘dir1’
rm -rf dir1удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2удалить две директории и рекурсивно их содержимое
mv dir1 new_dirпереименовать или переместить файл или директорию
cp file1 file2сопировать файл file1 в файл file2
cp dir/* .копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 .копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2копировать директорию dir1 в директорию dir2
ln -s file1 lnk1создать символическую ссылку на файл или директорию
ln file1 lnk1создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditestмодифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
Поиск файлов
find / -name file1найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name «*.bin»Найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’
find /usr/bin -type f -atime +100найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 ‘{}’ ;найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name «*.rpm»найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate «*.ps»найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis haltпоказывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which haltотображает полный путь к файлу ‘halt’
Монтирование файловых систем
mount /dev/hda2 /mnt/hda2монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
umount /dev/hda2размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
fuser -km /mnt/hda2принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppyмонтировать флоппи-диск
mount /dev/cdrom /mnt/cdromмонтировать CD или DVD
mount /dev/hdc /mnt/cdrecorderмонтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdromсмонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass//winclient/share /mnt/shareмонтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/index.php?dn=userprg /var/ftp/user«монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно.
Дисковое пространство
df -hотображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)
ls -lSr |moreвыдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
du -sh dir1подсчитывает и выводит размер, занимаемый директорией ‘dir1’(Прим.переводчика. ключ -h работает не во всех *nix системах)
du -sk * | sort -rnотображает размер и имена файлов и директорий, с соритровкой по размеру
rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ |sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
Пользователи и группы
groupadd group_nameсоздать новую группу с именем group_name
groupdel group_nameудалить группу group_name
groupmod -n new_group_name old_group_nameпереименовать группу old_group_name в new_group_name
useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd user1создать пользователя user1
userdel -r user1удалить пользователя user1 и его домашний каталог
usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1изменить атрибуты пользователя
passwdсменить пароль
passwd user1сменить пароль пользователя user1 (только root)
chage -E 2005-12-31 user1установить дату окончания действия учётной записи пользователя user1
pwckпроверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
grpckпроверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_nameизменяет первичную группу текущего пользователя. Если указать «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
Выставление/изменение полномочий на файлы
ls -lhпросмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNSвывести содержимое директории /tmp и разделить вывод на пять колонок
chmod ugo+rwx directory1добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом «chmod 777 directory1»
chmod go-rwx directory1отобрать у группы и всех остальных все полномочия на директорию directory1.
chown user1 file1назначить владельцем файла file1 пользователя user1
chown -R user1 directory1назначить рекурсивно владельцем директории directory1 пользователя user1
chgrp group1 file1сменить группу-владельца файла file1 на group1
chown user1:group1 file1сменить владельца и группу владельца файла file1
find / -perm -u+sнайти, начиная от корня, все файлы с выставленным SUID
chmod u+s /bin/binary_fileназначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/binary_fileснять SUID-бит с файла /bin/binary_file.
chmod g+s /home/publicназначить SGID-бит директории /home/public.
chmod g-s /home/publicснять SGID-бит с директории /home/public.
chmod o+t /home/publicназначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/publicснять STIKY-бит с директории /home/public
Специальные атрибуты файлов
chattr +a file1позволить открывать файл на запись только в режиме добавления
chattr +c file1позволяет ядру автоматически сжимать/разжимать содержимое файла.
chattr +d file1указавет утилите dump игнорировать данный файл во время выполнения backup’а
chattr +i file1делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
chattr +s file1позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных.
chattr +S file1указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +u file1данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
lsattrпоказать атрибуты файлов
Архивирование и сжатие файлов
bunzip2 file1.bz2разжимает файл ‘file1.gz’
gunzip file1.gz
gzip file1сжимает файл ‘file1’
bzip2 file1
gzip -9 file1сжать файл file1 с максимальным сжатием
rar a file1.rar test_fileсоздать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
unrar x file1.rarраспаковать rar-архив
tar -cvf archive.tar file1создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tarпоказать содержимое архива
tar -xvf archive.tarраспаковать архив
tar -xvf archive.tar -C /tmpраспаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gzразжать архив и распаковать его
zip file1.zip file1создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zipразжать и распаковать zip-архив
RPM пакеты (Fedora, Red Hat и тому подобное)
rpm -ivh package.rpmустановить пакет с выводом сообщений и прогресс-бара
rpm -ivh --nodeps package.rpmустановить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U package.rpmобновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F package.rpmобновить пакет только если он установлен
rpm -e package_name.rpmудалить пакет
rpm -qaотобразить список всех пакетов, установленных в системе
rpm -qa | grep httpdсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
rpm -qi package_nameвывести информацию о конкрентном пакете
rpm -qg «System Environment/Daemons»отобразить пакеты входящие в группу пакетов
rpm -ql package_nameвывести список файлов, входящих в пакет
rpm -qc package_nameвывести список конфигурационных файлов, входящих в пакет
rpm -q package_name --whatrequiresвывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name --whatprovidesshow capability provided by a rpm package
rpm -q package_name --scriptsотобразит скрипты, запускаемые при установке/удалении пакета
rpm -q package_name --changelogвывести историю ревизий пакета
rpm -qf /etc/httpd/conf/httpd.confпроверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
rpm -qp package.rpm -lотображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm --import /media/cdrom/RPM-GPG-KEYипортировать публичный ключ цифровой подписи
rpm --checksig package.rpmпроверит подпись пакета
rpm -qa gpg-pubkeyпроверить целостность установленного содержимого пакета
rpm -V package_nameпроверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Vaпроверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp package.rpmпроверить пакет, который ещё не установлен в систему
rpm2cpio package.rpm | cpio --extract --make-directories *bin*извлечь из пакета файлы содержащие в своём имени bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpmустановить пакет, собранный из исходных кодов
rpmbuild --rebuild package_name.src.rpmсобрать пакет из исходных кодов
YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)
yum install package_nameзакачать и установать пакет
yum updateобновить все пакеты, установленные в систему
yum update package_nameобновить пакет
yum remove package_nameудалить пакет
yum listвывести список всех пакетов, установленных в систему
yum search package_nameнайти пакет в репозитории
yum clean packagesочисть rpm-кэш, удалив закачанные пакеты
yum clean headersудалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean allочисть rpm-кэш, удалив закачанные пакеты и заголовки
DEB пакеты (Debian, Ubuntu и тому подобное)
dpkg -i package.debустановить / обновить пакет
dpkg -r package_nameудалить пакет из системы
dpkg -lпоказать все пакеты, установленные в систему
dpkg -l | grep httpdсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_nameотобразить инфрмацию о конкретном пакете
dpkg -L package_nameвывести список файлов, входящих в пакет, установленный в систему
dpkg --contents package.debотобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/pingнайти пакет, в который входит указанный файл.
APT — средство управление пакетами (Debian, Ubuntu и тому подобное)
apt-get install package_nameустановить / обновить пакет
apt-cdrom install package_nameустановить / обновить пакет с cdrom’а
apt-get updateполучить обновлённые списки пакетов
apt-get upgradeобновить пакеты, установленные в систему
apt-get remove package_nameудалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_nameудалить пакет, установленный в систему с удалением файлов конфигурации
apt-get checkпроверить целостность зависимостей
apt-get cleanудалить загруженные архивные файлы пакетов
apt-get autocleanудалить старые загруженные архивные файлы пакетов
Просмотр содержимого файлов
cat file1вывести содержимое файла file1 на стандартное устройсво вывода
tac file1вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messagesвыводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
Манипуляции с текстом
cat file | grep -i «Criteria» > result.txtобщий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file | grep -i «Criteria» » result.$/d’ example.txtудалить пустые строки и комментарии из файла example.txt
echo ‘test’ | tr ‘[:lower:]’ ‘[:upper:]’преобразовать символы из нижнего регистра в верхний
sed -e ‘1d’ result.txtудалить первую строку из файла example.txt
sed -n ‘/string1/p’отобразить только строки содержашие «string1»
sed -e ‘s/ *$//‘ example.txtудалить пустые символы в в конце каждой строки
sed -e ‘s/string1//g’ example.txtудалить строку «string1» из текста не изменяя всего остального
sed -n ‘1,8p;5q’ example.txtвзять из файла с первой по восьмую строки и из них вывести первые пять
sed -n ‘5p;5q’ example.txtвывести пятую строку
sed -e ‘s/0*/0/g’ example.txtзаменить последовательность из любого количества нулей одним нулём
cat -n file1пронумеровать строки при выводе содержимого файла
cat example.txt | awk ‘NR%2==1’при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk ‘{print $1}’вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk ‘{print $1,$3}’вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2отсортировать содержимое двух файлов
sort file1 file2 | uniqотсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -uотсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -dотсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
Преобразование наборов символов и файловых форматов
dos2unix filedos.txt fileunix.txtконвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)
unix2dos fileunix.txt filedos.txtконвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > page.htmlконвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | moreвывести список доступных форматов
Анализ файловых систем
badblocks -v /dev/hda1проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck /dev/hda1
e2fsck -j /dev/hda1проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1проверить/восстановить целостность файловой системы fat раздела hda1
fsck.msdos /dev/hda1
dosfsck /dev/hda1
Форматирование файловых систем
mkfs /dev/hda1создать linux-файловую систему на разделе hda1
mke2fs /dev/hda1создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1создать журналирующую файловую систему ext3 на разделе hda1
mkfs -t vfat 32 -F /dev/hda1создать файловую систему FAT32 на разделе hda1
fdformat -n /dev/fd0форматирование флоппи-диска без проверки
mkswap /dev/hda3создание swap-пространства на разделе hda3
swap-пространство
mkswap /dev/hda3создание swap-пространства на разделе hda3
swapon /dev/hda3активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3активировать swap-пространства, расположенные на разделах hda2 и hdb3
Создание резервных копий (backup)
dump -0aj -f /tmp/home0.bak /homeсоздать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /homeсоздать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bakвосстановить из резервной копии /tmp/home0.bak
rsync -rogpav --delete /home /tmpсинхронизировать /tmp с /home
rsync -rogpav -e ssh --delete /home ip_address:/tmpсинхронизировать через SSH-туннель
rsync -az -e ssh --delete ip_addr:/home/public /home/localсинхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
rsync -az -e ssh --delete /home/local ip_addr:/home/publicсинхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/userсоздать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf — . | (cd /tmp/backup ; tar xf — )копирование одной директории в другую с сохранением полномочий и линков
find /home/user1 -name ‘*.txt’ |
xargs cp -av --target-directory=/home/backup/ --parents
поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию
find /var/log -name ‘*.log’ | tar cv --files-from=- | bzip2 > log.tar.bz2поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них
dd if=/dev/hda of=/dev/fd0 bs=512 count=1создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1восстановить MBR с флоппи-диска на /dev/hda
CDROM
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -forceclean a rewritable cdrom
mkisofs /dev/cdrom > cd.isocreate an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gzcreate a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cdcreate an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.isoburn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom —burn a compressed ISO image
mount -o loop cd.iso /mnt/isomount an ISO image
cd-paranoia -Brip audio tracks from a CD to wav files
cd-paranoia -- «-3»rip first three audio tracks from a CD to wav files
cdrecord --scanbusscan bus to identify the channel scsi
Сеть (LAN и WiFi)
ifconfig eth0показать конфигурацию сетевого интерфейса eth0
ifup eth0активировать (поднять) интерфейс eth0
ifdown eth0деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0выставить интерфейсу eth0 ip-адрес и маску подсети
ifconfig eth0 promiscперевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
ifconfig eth0 -promiscотключить promiscuous-режим на интерфейсе eth0
dhclient eth0активировать интерфейс eth0 в dhcp-режиме.
route -nвывести локальную таблицу маршрутизации
netstat -rn
route add -net 0/0 gw IP_Gatewayзадать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gatewayудалить ip-адрес шлюза по умолчанию (default gateway)
echo «1» > /proc/sys/net/ipv4/ip_forwardразрешить пересылку пакетов (forwarding)
hostnameотобразить имя компьютера
host www.yandex.ruразрешить имя www.yandex.ru хоста в ip-адрес и наоборот
host 93.158.134.3
ip link showотобразить состояние всех интерфейсов
mii-tool eth0отобразить статус и тип соединения для интерфейса eth0
ethtool eth0отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupnотображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
netstat -tuplnотображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты
tcpdump tcp port 80отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
iwlist scanпросканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth2показать конфигурацию беспроводного сетевого интерфейса eth2
Microsoft Windows networks(SAMBA)
nbtscan ip_addrразрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba.
nmblookup -A ip_addr
smbclient -L ip_addr/hostnameотобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/shareподобно wget может получить файлы с windows-машин через smb-протокол
mount -t smbfs -o username=user,password=pass//winclient/share /mnt/shareсмонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему
IPTABLES (firewall)
iptables -t filter -nLотобразить все цепочки правил
iptables -nL
iptables -t nat -Lотобразить все цепочки правил в NAT-таблице
iptables -t filter -Fочистить все цепочки правил в filter-таблице
iptables -F
iptables -t nat -Fочистить все цепочки правил в NAT-таблице
iptables -t filter -Xудалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPTпозволить входящее подключение telnet’ом
iptables -t filter -A OUTPUT -p tcp --dport http -j DROPблокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPTпозволить «прокидывать» (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG --log-prefix «DROP INPUT»включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEвключить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22
-j DNAT --to-destination 10.0.0.2:22
перенаправление пакетов, адресованных одному хосту, на другой хост
Мониторинг и отладка
topотобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafwотобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args --forestвывести PID’ы и процессы в виде дерева
pstreeотобразить дерево процессов
kill -9 98989«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)
kill -KILL 98989
kill -TERM 98989Корректно завершить процесс с PID 98989
kill -1 98989заставить процесс с PID 98989 перепрочитать файл конфигурации
kill -HUP 98989
lsof -p 98989отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1отобразить список открытых файлов из директории /home/user1
strace -c ls > /dev/nullвывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls > /dev/nullвывести вызовы бибилотек
watch -n1 ‘cat /proc/interrupts’отображать прерывания в режиме реального времени
last rebootотобразить историю перезагрузок системы
last user1отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmodвывести загруженные модули ядра
free -mпоказать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hdaконтроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hdaпроверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesgвывести десять последних записей из журнала загрузки ядра
tail /var/log/messagesвывести десять последних записей из системного журнала
Другие полезные команды
apropos …keywordвыводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
man pingвызов руководства по работе с программой, в данном случае, — ping
whatis …keywordотображает описание действий указанной программы
mkbootdisk --device /dev/fd0 `uname -r`создаёт загрузочный флоппи-диск
gpg -c file1шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpgдешифрует файл file1 с помощью GNU Privacy Guard
wget -r www.example.comзагружает рекурсивно содержимое сайта www.example.com
wget -c www.example.com/file.isoзагрузить файл www.example.com/file.iso с возможностью останова и продолжения в последствии
echo ‘wget -c www.example.com/files.iso’| at 09:00начать закачку в указанное время
ldd /usr/bin/sshвывести список библиотек, необходимых для работы ssh
alias hh=’history’назначить алиас hh команде history

Лучшие 50+ команд Linux с примером

Linux — одна из самых популярных операционных систем с обширной пользовательской базой вокруг
мир, чаще всего
программисты и разработчики. Unix-подобная операционная система (ОС) с открытым исходным кодом имеет root-права
из ядра Linux —
операционная система, разработанная Линусом Торвальдсом.

Проще говоря, Linux — это клон Unix, и его функция с открытым исходным кодом позволяет любому
изменить что-нибудь в Linux и
распространять его со своим брендом.Эти итерации Linux называются
«Distros.»

Ниже приведены некоторые из наиболее распространенных дистрибутивов Linux, например:

  • Debian
  • Fedora
  • Mandriva Linux
  • openSUSE
  • Arch Linux
  • Gentoo
  • Slackware
  • Ubuntu

Его глобальное использование доказывает тот факт, что Linux является наиболее используемой операционной системой.Более 80%
Интернет работает на Linux
серверы. Более того, около 70-80% смартфонов работают под управлением операционной системы Linux.

Контент

Согласно последним статистическим данным, Android занимает 76% рынка мобильных ОС.
Android разработан из
ядро Linux, и причина его широкого распространения в том, что оно бесплатное и
открытый источник.Кроме того,
Операционная система Linux безопасна, поскольку Windows более подвержена вирусам.

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

1.cd Команда

«cd» — одна из самых распространенных и основных команд, используемых в Linux. Основная цель
команда состоит в том, чтобы изменить
Текущий каталог. Проще говоря, его основная цель — переместить пользователей в новое место.
в файловой системе. Так,
программисты могут использовать «cd» для перехода в каталог, который находится внутри текущего каталога.Пользователи должны ввести
cd и имя другого каталога. Например, чтобы перейти в каталог с именем
«Офис», пользователи могут ввести — cd
офис.

В случае, если пользователь хочет перейти в каталог в файловой системе; тогда им нужно войти
путь к каталогу.
Пользователи должны не забывать добавлять косую черту (/) при вводе пути.Ниже приводится
пример:

cd / usr / local / doc

Теперь, чтобы вернуться в домашний каталог, кодировщик должен ввести символ ~ (тильда). Так
команда будет выглядеть как
cd ~.

Давайте рассмотрим все команды в прогрессивном порядке:

smith @ puttygen: ~ $ cd office
smith @ puttygen: ~ / office $ cd / usr / local / doc
smith @ puttygen: / usr / local / doc $ cd ~
smith @ puttygen: ~ долларов

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

cd ../office

Команда cd очень популярна среди пользователей Linux. Например, пользователи могут ввести ‘cd
Загрузок с
до
переместитесь из домашней папки в папку «Загрузки».

Примечание: программисты должны быть осторожны, так как в команде учитывается регистр, и пользователь должен вводить
точно такое же имя, как у
Папка.

У команды cd есть обратная сторона. Допустим, на компьютере есть папка «Raspberry Pi».
В этом случае команда
cd рассматривает второй аргумент независимо, что приводит к ошибке.Для таких
например, кодировщики могут использовать
обратная косая черта в качестве разделителя. См. Пример для того же:

компакт-диск Raspberry \ Pi

2. Команда псевдонима

Псевдоним команды — отличный способ персонализировать и упорядочить все ваши команды. Это
позволяет пользователям назначать
имя отдельной команды или даже строки команд.Так что программисты могут коротко
имя перед выполнением.
Вот пример использования псевдонима:

псевдоним cls = clear

Приведенная выше команда указывает, что «cls» — это новое имя для clear. Так что это равно
очистить команду, поэтому всякий раз, когда
пользователь вводит cls, экран очищается. Одна из основных целей псевдонима —
сэкономить время, особенно когда
некоторые имена команд по умолчанию длинные.Более того, персонализация команд помогает, когда
переключение между операционными системами
например из Windows в Linux.

Кроме того, программисты могут использовать псевдонимы, если они часто ошибаются в написании. Например, если вы наберете
‘Acb’, а фактическое
команда — «abc». Поэтому программисты могут выполнить следующую команду, которая будет
убедитесь, что это требует обоих
правописание:

псевдоним acb = «abc»

3.Команда curl

Curl — это высокофункциональный инструмент для восстановления данных с URL-адресов (Uniform Resource
Локаторы) или Интернет
репозитории. Инструмент недоступен по умолчанию во многих дистрибутивах Linux. За
Ubuntu или Linux на основе Debian
варианты, используйте apt-get для установки пакета. Другие дистрибутивы должны использовать
менеджеры пакетов.Пакет
менеджеры избавляются от необходимости устанавливать программное обеспечение и вместо этого делают его автоматизированным вручную.
Ниже приведено выражение для
установить в версиях Linux на основе Debian:

sudo apt-get install curl

Теперь давайте посмотрим на использование команды curl. Например, если пользователь хочет получить
конкретный файл из
Репозиторий GitHub.Хотя нет официального способа, который предоставляет GitHub, но вместо этого пользователи
вынуждены клонировать
вся база данных. Однако, используя команду curl , вы можете быстро восстановить
отдельный файл.

Чтобы получить файл, пользователи должны указать точное имя файла, чтобы сохранить его. Программисты
может использовать -o
(вывод) вариант
.Примечание. Если пользователь не использует параметр -o в команде,
тогда файлов не будет
сохранены на компьютере.

Следующая единственная строка команды получит файл, который хочет пользователь:

завиток https://raw.githubusercontent.com/smiths/linux/master/kernel/events/core.c -o core.c

Чтобы не просматривать прогресс загрузки или, другими словами, скрыть его, пользователи могут использовать -s
(тихий) вариант.Итак
новое выражение будет выглядеть следующим образом:

curl -s https://raw.githubusercontent.com/smiths/linux/master/kernel/events/core.c -o
core.c

4. cat Command

Команда cat проста и является одной из наиболее часто используемых команд в
различными способами. это
сокращенно от «объединять» и позволяет пользователям создавать файлы, перенаправлять вывод, перечислять
содержимое файла и даже
объединить несколько файлов.

Команда cat удобна и позволяет пользователю выполнять множество задач за одну
выражение. Например,
чтобы просмотреть содержимое файла / abc / passwd из домашнего каталога, введите следующее
команда:

кот / etc / passwd

Затем введите следующее, чтобы просмотреть содержимое нескольких файлов, в данном случае test2 и
test3:

cat test2 test 3

Теперь, если содержимое файла длинное и не подходит для терминала, то пользователь
можно использовать следующие
параметры:

кошачий тест.txt | более

Теперь, если пользователь хочет видеть меньше, пользователь может вернуться, введя следующий параметр:

cat tes.txt | менее
Программисты

также могут использовать команду cat для просмотра нескольких строк в файле, содержимое которого
на выходной клемме.
Для этого программист должен использовать параметр -n.

cat -n test.txt

5. Команда df

df — это основная команда в Linux. Используя df, кодеры могут отображать размер,
доступное пространство и использованное пространство на
файловые системы устройства. Он поставляется с несколькими вариантами, например следующими:

  • -a, –all: включает дубликаты и файлы, которые недоступны
  • -x: исключить определенные файловые системы
  • -i, –inodes: отображает информацию об индексах, а не об использовании блока.
  • -T, –print-type: печатает тип файловой системы
  • -P, –portability: будет использоваться выходной формат POSIX
  • -B, –block-size = SIZE: увеличить размер перед печатью результата
  • -h, –human-readable: размер отпечатка в степени 1024, что соответствует
  • Мб или Гб.

  • -H, –si: показывает результат в степени 1000
  • –total: исключает все записи, не относящиеся к доступному пространству, и представляет общее
  • -t, –type = TYPE: результат ограничен перечислением файловых систем определенного
    тип
  • –sync: вызвать синхронизацию перед информацией об использовании
  • -l, –local: ограничить перечисление локальными файловыми системами

Параметр -h (удобочитаемый) отображает размер в мегабайтах или гигабайтах, а не в байтах.Между тем,
параметр -x (исключить)
позволяет использовать для скидки на определенные файловые системы.

6. Команда chmod

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

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

  • у — владелец файла
  • г — это группа. Таким образом, при назначении он будет применяться ко всем членам
    группа файла.
  • o — пользователи, не являющиеся владельцем или участником группы
  • а — все вышеперечисленные

Затем идут «режимы», которые представляют каждый из типов разрешений.Ниже приведены
разрешения, которые пользователь
можно назначить для файла:

  • р — буква означает, что у пользователя есть разрешение только на чтение
  • w — буква соответствует записи или удалению файла
  • x — режим позволяет пользователям выполнять файл

Пользователи могут просматривать разрешения для всех файлов с помощью команды -l.Он перечислит файл в
Текущий каталог. Это будет
в результате получится следующая строка символов:

-rwxrwxrwx

Если это файл, вывод начинается с «-», а для каталога — с. »

Каждая ссылка представляет собой серию из трех букв. Итак, первое соответствует
владелец, а затем «группа»
и, наконец, для «других».’

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

  • 0: разрешение не назначено
  • 1: разрешение на выполнение
  • 2: необходимо разрешение на запись
  • 3: у пользователя есть права на запись и выполнение
  • 4: пользователи могут читать только с этим разрешением
  • 5: пользователи прочитали и разрешили выполнение
  • 6: это означает, что у вас есть права на чтение и запись
  • 7: он предлагает вам делать что угодно с файлом, например читать, писать и выполнять

Рассмотрим наш пример.txt, мы видим, что все три набора символов — это rwx.
Это означает, что у всех есть
права чтения, записи и выполнения с файлом. Программисты могут использовать цифры с
команда chmod для назначения
разрешение. Например, дать владельцу полное разрешение — чтение, запись и
выполнить, чтобы обеспечить чтение группы
и разрешения на запись и разрешение только на чтение для других, введите следующую команду:

chmod 764 тест.txt

7. Команда diff

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

У команды есть два параметра: -y и -w.-Y — это способ отобразить
разница между двумя
файлы рядом. Между тем, -w — это опция определения максимальной ширины строки для
убедитесь, что линии не нужны
обертывание.

Программисты могут использовать —suppress-common-line, чтобы предотвратить вывод одного и того же
линий. Следовательно, вы можете положить
их внимание обращено только на разные строки.

Например, нам нужно сравнить два файла с именами — smith2.txt и smith3.txt.

Команда будет иметь следующий вид:

diff -y -W 70 smith3.txt smith3.txt --suppress-common-lines

8. chown Команда

Команда chown часто используется и очень проста в исполнении. Это позволяет пользователям
сменить владельца и
группа-владелец определенного файла.Давайте сначала перечислим файл с помощью ls -l, который
опишите владельца и группу
владелец файла.

~ работа $ ls -l

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

-rwxrw-w-1 smith smith 7655 25 апр, 17:26 trial.txt

В этом примере «кузнец кузнец» является владельцем и владельцем группы, соответственно.У всех пользователей есть
группа по умолчанию, и это
также указывает, что файл не используется совместно с другими группами. Использование chown
можно изменить
владелец файла и даже владелец группы. Кодеры должны использовать sudo для
изменить или сохранить обратно на
предыдущий хозяин.

судо чон смит: максимальное испытание.txt

Теперь, чтобы сменить даже владельца и группу, введите следующий

sudo chown max: максимальное значение trial.txt

В случае, если пользователь хочет вернуться к «кузнецу», введите следующий код

судо чоун смит: смит trial.txt

9. Команда echo

Команда echo используется для печати строки текста, переданного в качестве аргумента
окно терминала.Это приходит как
встроенная команда и часто используется для получения текста состояния вывода в сценариях оболочки. За
Например, пользователь хочет
напечатайте в терминале «играть со строкой текста», тогда это будет выглядеть примерно так
это:

воспроизведение эха со строкой текста

Более того, можно даже использовать echo для вывода значений переменных среды, таких как user
и путь к файлу.За
Например, если вы хотите узнать пользователя, домашний каталог или путь, введите
следующая команда:

~ $ echo $ USER
~ $ echo $ HOME
~ $ echo $ PATH

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

10. Команда выхода

Выход — это самая простая команда из всех. Все, что он делает, это выходит из оболочки, в которой он
активен, закройте терминал
и даже выходит из удаленного сеанса SSH.Кодеры могут использовать команду выхода с или
без параметров. Итак, чтобы закрыть
пользователи терминала должны ввести следующую команду:

~ $ выход

Теперь давайте посмотрим на пример с параметром. Например, пользователи должны ввести
следующая команда для использования выхода
с параметром справки:

~ $ exit --help
Кодировщики

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

~ $ выход 110

Если возвращаемое значение — «0», то сценарий или программа выполняется без ошибок.
Между тем, если возвращаемое значение
равно «1», значит, программа содержит несколько ошибок.

11. Команда поиска

Команда find — одна из самых полезных команд в Linux.Обычно не знать
расположение файлов и
поэтому кодировщики могут запустить команду find, чтобы найти его. Единственная предпосылка от
пользователь должен ввести что
искать и где. Более того, вы также можете использовать параметры, чтобы сделать поиск более
конкретный. Введите следующее
команда для поиска файла:

~ / Документы $ find.-имя * кузнец *

Приведенная выше команда указывает терминалу найти файлы, соответствующие шаблону. * Выглядит
соответствуют последовательности
букв или символов. Однако, если пользователь хочет представить одну букву, чем
они могут использовать ?
(знак вопроса)
вместо *.

Приведенная выше команда также включает каталоги.Если вы хотите искать только
файлы, затем программисты
необходимо использовать опцию -type. Посмотрим на команду:

~ / Документы $ find. -type f -name * smith *

Буква «f» представляет файлы.

Пользователи также могут не делать поиск чувствительным к регистру. Пользователи должны войти в
команда следующим образом:

~ / Документы $ find.-тип f -iname * smith *

12. uname Команда

Команда uname предоставляет пользователям системную информацию о системе Linux или
компьютер, который они используют. Это
поставляется с несколькими опциями, которые позволяют пользователям просматривать всю или конкретную информацию, которую они
хотеть. Ниже вариант
программисты могут использовать команду uname:

  • -a = вы можете использовать эту опцию, чтобы увидеть все
  • -s = с этой опцией пользователи могут просматривать информацию о ядре
  • -v = опция позволяет увидеть версию ядра системы
  • -r = параметр позволяет просмотреть версию ядра

Следовательно, команда выглядит примерно так:

uname -a
uname -s
uname -v

13.палец Команда

Команда finger используется программистами для поиска и получения краткой информации о
пользователей. Он представляет
различные данные, такие как полное имя учетной записи пользователя, настоящее имя, последняя информация для входа в систему,
время простоя, запись статуса,
расположение офиса и домашний каталог пользователя.

Он также объединяется с несколькими параметрами, такими как -s, -l, -p и -m.
С параметром -s можно
просмотреть всю информацию об указанном выше пользователе. Однако, используя -l, представляет
информация о логине
оболочка, содержимое файла и статус почты, в дополнение ко всем данным, предоставленным -s
вариант.

Параметр -p используется для получения информации о содержимом файла «.план,»
«.project» и «.pgpkey»
файлы.

Между тем, опция -m перестает соответствовать именам пользователей. Пользователи должны помнить, что
сопоставление по команде finger
деликатный случай.

Ниже приведены основные примеры использования команды finger:

~ $ палец кузнеца

Команда отображает информацию о пользователе «smith.’

Теперь для просмотра содержимого файла пользователя программисты могут использовать следующие
команда:

~ $ finger -p смит

14. Бесплатная команда

Бесплатная утилита командной строки предоставляет пользователям сводную информацию об общем количестве доступных бесплатных
место на компьютере. Больше
Таким образом, он также отображает общий объем используемой памяти оперативной памяти (RAM)
и память подкачки на
компьютер.Использование команды free также представит буферы, используемые ядром.

Вывод команды отображает информацию в байтах. Однако программисты могут использовать -h
возможность обеспечить данные
предоставляется в удобных для человека числах. Ценности. Вот пример бесплатной команды:

~ / Документы $ бесплатно -h

15.Команда grep

Команда grep — одна из самых полезных команд в Linux. Это акроним, и его
полная форма есть; Глобальный
регулярное выражение print ». Абсолютная адекватность делает эту команду часто используемой для
Linux. Команда grep выглядит
для строк и печатает те, которые соответствуют предопределенному шаблону поиска.

Обычно большинство программистов используют команду grep для поиска определенной строки слов в
данный файл.Тем более,
вы можете использовать программу для поиска содержимого файлов. Так, например, вам нужно
введите следующую команду
для поиска слова «автобус» во всех текстовых файлах в активном каталоге:

~ / Документы $ grep bus * .txt

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

16. группы Команда

Linux имеет механизм управления двумя пользователями — пользователями и группами. Проще говоря, группы
представляют собой собрание пользователей.
Группа упрощает управление пользователем с одинаковыми правами доступа.

Команда групп настолько проста, насколько это звучит.Он предоставляет информацию о группах, которые
пользователь является членом. В
простыми словами, когда команда будет выполнена, она отобразит имя основного и
дополнительные группы для
имя пользователя. Простая команда выглядит так:

~ / Документы $ groups smith

В случае, если пользователь не указывает имя пользователя; затем он напечатает членство в группе для
активный или текущий пользователь.Более того, для лучшего понимания вы также можете использовать команду —help
с группами. Так будет выглядеть
примерно так:

группы - помощь

17. Команда gzip

gzip — полезная команда, когда дело касается управления файлами. Это сжатие файла
инструмент с его основной целью
заключается в уменьшении размера файла.Команда gzip по умолчанию удаляет исходный файл и сохраняет
только новый сжатый файл
который является результатом команды.

Однако вы можете использовать параметр -k (сохранить), чтобы убедиться, что исходный файл не
удалено. Команда gzip будет
посмотрите так:

~ / Documents Пример $ gzip -k.c

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

18. Команда whoami

Команда whoami проста и в основном удобна для начинающих пользователей Linux. Это говорит
пользователь с именем пользователя они
вошли как.Более того, кодировщики могут использовать команду, чтобы узнать, вошел ли кто-нибудь в систему.
неназванный терминал Linux.
Это просто выполнить, и это одна из немногих команд в Linux, которые выполняют
одиночная задача.

~ / Документы $ whoami

В выходных данных будет показано имя пользователя, который вошел в систему как. Помимо Linux и
другие операционные системы на базе Unix
systems команда также является стандартной для операционной системы Windows.Кодеры могут использовать
команда с двумя вариантами
справка (—help) и версия (—version). Аналогичные команды включают ‘w’ и
«Кто»

~ долл. США

Пользователи могут комбинировать его с несколькими опциями для фильтрации пользователей в системе Linux. За
например, если вы хотите
информация об указанном пользователе, тогда программисты должны ввести следующую команду

~ $ w пользователь

19.верхняя команда

Верхняя команда — это программа управления задачами, которая в реальном времени отображает ЦП и
использование памяти Linux
компьютер. Это простая сводка статуса. Команда подойдет тем, кто любит
контролировать производительность процессора
машины Linux. Пользователю достаточно ввести ‘top’ в
терминал для его запуска.

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

  • R: Работает
  • D: Беспрерывный сон
  • S: Спящий
  • T: остановлен (часто известен как отслеживаемый)
  • Z: Зомби

Команда представит другую информацию в формате столбца.Вот что каждый столбец
означает:

  • PID: идентификатор процесса
  • ПОЛЬЗОВАТЕЛЬ: Имя пользователя владельца процесса
  • PR: приоритет процесса
  • NI: хорошее значение процесса
  • VIRT: определяет объем виртуальной памяти, потребляемой процессом
  • RES: резидентная память, загруженная этим процессом
  • SHR: используется общая память
  • S: предоставляет статус процесса
  • % CPU: количество процессорного времени, потребляемого процессом
  • % MEM: доля физической памяти занята
  • TIME +: составное время ЦП, используемое задачей

По умолчанию цифры не имеют удобочитаемого формата, но пользователи могут нажать «E», чтобы
преобразовать это в
дружественные к человеку ценности.

Нажмите «Q» , чтобы выйти из инструмента после просмотра всей информации.

20. tar Команда

Команда tar — одна из самых полезных учетных записей, когда дело касается управления файлами.
Используя tar, вы можете создать
архивные файлы, которые могут служить хранилищем для нескольких файлов. Архивный файл часто
известный как
архив .

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

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

tar -cvf videos.tar Футбол /

В этом примере -c — это вариант для создания, -v
это подробный вариант, который
предоставляет обратную связь, пока они добавляются в архив.

Между тем, -f — это имя файла, которое кодеры хотят передать архиву. В этом случае,
это
videos.tar.

21. Команда хвоста

Команда tail — это служебная программа командной строки, которая выводит список последних строк файла, которые
дается через стандартный ввод.
Количество строк вывода по умолчанию установлено на 10.Однако пользователи могут изменить его,
сочетание хвостовой команды с
параметр -n (число). Программисты могут использовать tail даже для отслеживания файлов в реальном времени. Это
означает, что пользователь может просматривать новые
строк по мере их написания. Давайте посмотрим на команду tail по умолчанию:

~ / Документы $ tail example.txt

Теперь, если программист хочет просмотреть только последние пять строк, нужно ввести
следующая команда:

~ / Documents $ tail -n 5 пример.txt

22. Команда sudo

Команда Sudo — одна из самых продвинутых команд Linux. Хотя синтаксис базовый,
но иметь дело с этим
критично, поскольку для этого требуется root-доступ. Чаще всего команда sudo используется для
смени пароль на другой
пользователей. Например, если Смит хочет изменить пароль для Макса, команда будет
быть следующим

~ / Документы $ sudo passwd max

Терминал предложит Смиту ввести свой пароль, а затем разрешит изменение.В
причина, по которой нужно быть осторожным,
что это позволит вам управлять программами, используя права безопасности другого
пользователь. Кодеры могут использовать -l
(список), чтобы узнать, какие команды разрешены и не разрешены на текущем хосте.

~ $ sudo -l

23. Команда SSH

Команда SSH позволяет пользователям подключаться к удаленным машинам Linux.Вы даже можете войти в
ваш аккаунт на пульте
компьютер с помощью команды. Пользователь должен указать имя пользователя, доменное имя, IP-адрес
удаленная машина, чтобы сделать
связь. Давайте посмотрим на пример ниже:

~ $ ssh Макс@192.168.3.82

Используя команду, Макс подключается к удаленному компьютеру с IP-адресом 19.168.3.82. Это будет
требование войти в
пароль и после проверки и входа в систему; тогда подсказка изменится на систему, которая
программист использует. Если
Макс пишет команду «w», после чего выводится список всех пользователей системы. Как Макс
подключен через удаленную машину,
тип подключения будет обозначен как ‘pts / 1 ’. очков / 1
это псевдотерминальный раб
это означает, что он не подключен напрямую к настоящему компьютеру.

Чтобы выйти из удаленной системы, вы должны ввести команду выхода.

~ $ выход

24. Голова Команда

Команда head предоставляет пользователям первые строки файла.По умолчанию вывод
установлен на первые 10
линий. Однако пользователи могут изменить его, используя параметр -n (число). Голова — это
противоположность команды, которая
предоставляет последние 10 строк файла. В первом примере мы введем значение по умолчанию
команда.

~ / Документы $ head -example.txt

Теперь давайте посмотрим на команду, если мы хотим ограничить вывод только первыми 4 строками.

~ / Documents $ head -n 4 example.txt

Команда является стандартной для многих операционных систем Unix. Команда также
отображает передаваемые данные. Вы
также можно использовать команду head для печати первых 10 строк нескольких файлов.

голова -n 5 example.txt example2.txt

25.история Команда

Команда history — это способ просмотра команд, введенных пользователем ранее.
командная строка. В
ограничение по умолчанию установлено для отображения только последних пятисот команд. Это простой способ
повторять команды просто
введя ! (восклицание) точка с номером команды
что пользователь хочет повторить
из списка.

~ / Документы $! 180

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

26. Команда kill

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

От пользователя требуется только ввести идентификатор процесса (PID).Пользователи должны быть осторожны, чтобы
убить процесс случайным образом или
случайно. Используйте команду kill, только если процесс или задача должны завершиться или
взаперти. Чтобы получить процесс
ID, пользователи должны использовать команды ps и grep.

ps -e | grep Kazam

Команда отобразит идентификатор процесса; в данном случае это 1702 год.Теперь, когда у нас есть
ID процесса, давайте убьем
Программа скриншотов Kazam.

~ $ убить 1702

27. меньше Команда

При использовании команды less не нужно использовать редактор для просмотра файлов. Это позволяет пользователям
для просмотра файлов без
боясь его модификации.Этот процесс проходит быстрее и лучше всего для тех, кто верит в свои
файлы могут ошибочно быть
отредактировал.

Вывод вышеуказанной команды

После открытия файла пользователи могут просмотреть весь документ с помощью клавиш «Вверх» и «Вниз» на
клавиатура. Программисты могут
также используйте клавиши PgUp и PgDn. После просмотра пользователи могут реже выходить, нажимая
модель Q.’
Ниже приведен пример команды less:

меньше example.txt
Кодеры

также могут использовать команду less из списка файлов на всем жестком диске.

ls -R / | менее

Для перехода вперед нажмите кнопку ‘/’, а для перемещения назад нажмите ‘?’.

28. ls Command

«ls» — самая простая и, вероятно, одна из первых команд, которую выучите.Это
простая команда для вывода списка
каталог файлов и каталогов. Команда ls выведет список файлов в активном
каталог, если пользователь не
Укажите Другое. Это одна из наиболее часто используемых команд, поскольку пользователи могут объединять
его различные варианты.

~ / Документы $ ls

Приведенная выше команда выведет список всех файлов в текущем каталоге.Для полного списка,
кодеры должны использовать
-l (длинный) вариант и используйте вариант -h (человек) для обеспечения
размеры файлов
упомянуты в удобочитаемом формате.

~ / Документы $ ls -lh

В случае, если пользователь также хочет просмотреть скрытые файлы, введите параметр -a (все файлы):

~ / Документы $ ls -lha

Чтобы изменить список в порядке последних обновлений, введите следующую команду:

~ / Документы $ ls -lt

29.человек Команда

Команда man отображает «страницы руководства» или руководство пользователя для команды. Это выгодно, поскольку
новый программист
to команды будут лучше понимать перед выполнением любых команд Linux.

Команда man предоставляет полную информацию, такую ​​как имя, файлы возвращаемых значений, примеры,
авторы и многое другое.Пользователи
может использовать возможности команды less, поскольку команда man использует ее для
представить руководство. Например,
для просмотра руководства по команде SSH введите следующее:

человек SSH

Для навигации по руководству используйте клавиши PgUp и PgDn. Если программист не понимает
документ, чем у них
для получения справки нажмите «h».Нажмите «q», чтобы выйти из руководств.

30. mkdir Команда

Используя команду mkdir, кодировщики могут создавать новые каталоги. Многие действующие
системы называют каталоги
папки. Программисту нужно только указать имя каталога, и mkdir создаст
Это. Он также может создавать
несколько каталогов одновременно и даже настроить разрешения для одного и того же.

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

~ / Документы $ mkdir examples

Теперь, если пользователь хочет создать новый каталог с названием «2020» в «примерах», тогда
введите следующее
команда:

~ / Документы $ mkdir examples / 2020

С помощью mkdir пользователи могут создавать каталог без родительского каталога.Для этого вам нужно использовать
-р (родительский) вариант . Например, вы хотите футбол как родитель
каталог
‘2020,’ , но он не существует, тогда можно выполнить команду как
следует:

~ / Documents $ mkdir -p examples / football / 2020

Несмотря на то, что «футбола» не существует, команда mkdir создаст его полностью.

31. Команда выключения

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

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

~ / Документы $ выключение

Если вы спешите и хотите немедленно выключить компьютер, используйте
‘сейчас
параметр ’

~ / Documents $ shutdown now

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

~ / Documents $ Завершите работу сегодня вечером в 22:00, не забудьте сохранить свою работу и наслаждайтесь
выходные дни!

~ / Документы $ выключение +10

Используйте параметр — c (отмена) , чтобы отменить запланированное выключение.

~ / Документы $ shutdown -c

32. Команда pwd

Команда pwd настолько проста, насколько это возможно. Его основной выход — распечатать активный
(используется) каталог, начинающийся
из корневого каталога /. Это аббревиатура от Print Working Directory. В
команда pwd напечатает
полный системный путь к текущему каталогу.Более того, $ pwd — это переменная среды,
что означает, что он будет хранить
путь к активному каталогу. Поставляется в двух вариантах: -L и
.

  • -L = будет напечатан символический путь
  • -P = будет напечатан фактический полный путь

~ / Документы $ pwd

Чтобы просмотреть фактический путь, введите следующую команду

~ / Документы $ pwd -P

33.ps Команда

Команда ps отображает процесс, который в настоящее время выполняется на машине Linux. Это
обеспечивает отображение в реальном времени
всех активных процессов. Команда ps предоставляет базовое описание процесса, который
включает идентификатор процесса. В
Во многих операционных системах этот процесс называется задачами. По умолчанию команда ps
перечислит активные операции
в текущей оболочке.Однако вы можете использовать параметры для перехода на другие оболочки.

~ / Документы $ ps

В случае, если пользователь хочет просмотреть процесс конкретного пользователя, он может добавить -u (пользователь)
параметр для команды ps.

~ / Документы $ ps -u smith

Список будет очень длинным, поэтому вы можете сократить его, добавив команду less.

~ / Документы $ ps -u smith | менее

Используйте -e (каждый процесс) для просмотра каждого запущенного процесса.

~ / Документы $ ps -e | менее

34. mv Команда

Команда mv позволяет программистам перемещать файлы и каталоги между другими
каталоги.Это еще один файл
команда управления, которая упрощает и упрощает организацию данных. Пользователи также могут
используйте команду для переименования
файлы.

Единственное, что должен определить пользователь, — это имя файла и место его
быть перемещенным. Например,
давайте переместим файл с названием «examples.pdf» из каталога «~ / Document / Football» в
Текущий каталог.Электрический ток
каталог обозначен с помощью. Символ.

~ / work $ mv ~ / Documents / Football / examples.pdf.

Вы даже можете переименовать файл с помощью команды mv.

~ / work $ mv examples.pdf test.pdf

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

~ / work $ mv ~ / Documents / Football / examples.pdf ./test.pdf

35. Команда passwd

С помощью команды passwd пользователи могут изменить пароль для пользователя. Это не только позволяет вам
смени свой пароль, но
также других пользователей. Команда passwd также является одной из наиболее часто используемых в Linux.
команды.Команда входит
очень удобно, так как позволяет очень легко изменить пароль для любого члена команды. Чтобы
изменить чужой пароль, пользователи
необходимо использовать команду sudo, поскольку для этого требуются права доступа. Тип
paaswd , чтобы изменить свой
пароль

~ / работа $ passwd

Чтобы изменить другой пароль, введите следующее:

~ / работа $ sudo passwd max

Он потребует от пользователя ввести собственный пароль.После проверки новые пароли для
другие пользователи.

36. Команда ping

С помощью команды ping пользователи могут проверить состояние сетевого подключения между компьютерами.
и источник по IP
сеть. Более того, вы можете просмотреть время отклика по сети.

Время ответа — это время, необходимое для отправки и получения ответа из сети.Одно из наиболее распространенных применений
команды ping предназначены для устранения сетевых проблем.

Кодеры

должны предоставить IP-адрес для запуска команды. Ниже показано, как вы можете выполнить
команда ping:

~ / работа $ ping 192.168.3.18

Пинг выполняется непрерывно, поэтому пользователь должен нажать Ctrl + C, чтобы остановить его.Однако вы
можно использовать -c (count)
возможность пинговать его для определенного количества попыток.

100 основных команд Linux для каждого пользователя — совет по Linux

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

1. Cat (Concatenate)

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

Как следует из названия, эту команду можно использовать для создания, просмотра и объединения файлов.

Если размер файла превышает размер окна Терминала, будет непросто прочитать или просмотреть все содержимое файла.Но есть настройка, вы можете использовать меньше с командой cat . Это даст пользователю возможность прокручивать вперед и назад содержимое файлов с помощью клавиш PgUp и PgDn или клавиш со стрелками вверх и вниз на клавиатуре.

Наконец, чтобы выйти из минус , вы можете просто ввести q .

2. Способность

aptitude — это мощный интерфейс для системы управления пакетами Linux.

Прежде всего вам необходимо установить или обновить пакет aptitude в вашей системе, используя следующую команду.

После завершения установки вы можете ввести aptitude в Терминале и запустить его. Откроется интерфейс aptitude, как вы можете видеть на снимке экрана ниже.

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

3. cal

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

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

4. до н.э.

bc — еще одна классная и полезная команда для пользователей Linux, поскольку она позволяет включить калькулятор командной строки в Терминале Linux при выполнении следующей команды.

Вы можете производить любые вычисления в самом окне Терминала, разве это не крутая команда?

5.чаге

Команда Linux chage является аббревиатурой от изменить возраст и может использоваться для изменения информации об истечении срока действия пароля пользователя.

Как видно на скриншоте выше, вы также можете заставить пользователя менять пароль через определенный период времени, то есть периодически. Это отличная команда для системных администраторов.

6. df

Вы можете получить всю информацию о вашей файловой системе, просто выполнив команду df в окне Терминала.

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

7. помощь

Когда вы выполняете эту команду help в окне Терминала, она перечисляет все встроенные команды, которые вы можете использовать в оболочке.

8. pwd (Распечатка рабочего каталога)

Как следует из названия Print Work Directory , эта команда указывает путь к каталогу, в котором вы работаете в данный момент.Эта команда очень полезна для всех новичков Linux и тех, кто плохо знаком с Linux Terminal.

9. LS

Я думаю, мне не нужно знакомить с этой командой, так как это одна из часто используемых команд в Терминале пользователями Linux.

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

10. коэффициент

Коэффициент

— это математическая команда для терминала Linux, которая даст вам все возможные множители десятичного числа, которое вы вводите в оболочке.

11. uname

uname — еще одна полезная команда Linux, поскольку она отображает системную информацию Linux при выполнении в оболочке терминала.

Для просмотра всей системной информации введите uname -a в Терминале.

Для получения информации о выпуске ядра просто введите uname -r .

И для информации об операционной системе введите uname -o в оболочке Терминала.

12. пинг

Если вы хотите проверить, подключена ли ваша система к маршрутизатору или Интернету, тогда PING (Packet INternet Groper) — это команда для вас.Он использует протокол ICMP для подключения к другим устройствам.

Есть несколько опций, которые можно использовать с командой ping, ping отображает адреса как имя хоста, поэтому, если вы хотите просмотреть их в числах, используйте команду ping -n. Ping -I, чтобы указать интервал между передачами, поскольку по умолчанию он составляет 1 секунду.

13. мкдир

mkdir <имя файла> Команда может использоваться для создания новой папки в любом каталоге с помощью Linux Terminal. На следующем снимке экрана вы можете увидеть, что я создал папку VGPM с помощью команды mkdir в оболочке терминала.

Вы также можете использовать команду rmdir <имя файла> , чтобы удалить любую папку в каталоге прямо из окна терминала Linux.

14. gzip

Вы можете сжать любой файл из окна Терминала с помощью команды gzip <имя файла>, но она удалит исходный файл из каталога. Если вы хотите сохранить исходный файл, используйте вместо него gzip -k <имя файла>, поскольку он сохранит как исходный, так и новый сжатый файл в каталоге.

15. whatis

Если вы хотите знать, для чего может использоваться конкретная команда Linux, просто выполните команду whatis <имя команды> в оболочке терминала, и она покажет вам короткое однострочное описание этой конкретной команды Linux.

16. who

Это для системных администраторов, которые управляют различными пользователями в системе Linux. Команда who при выполнении в Терминале показывает полный список тех пользователей, которые в настоящее время вошли в систему Linux.

17. бесплатно

free Команда может использоваться, чтобы точно проверить, какой объем памяти свободен и используется как в физической, так и в подкачиваемой памяти в системе.

Есть также некоторые параметры для использования с командой free, например, вы можете использовать free -b для просмотра результатов в байтах , free -k для отображения доступной и используемой памяти в килобайт , free -m для просмотра в мегабайт , бесплатно -g для просмотра результатов в гигабайтах и бесплатно –tera для просмотра результатов в терабайт .

18. верхняя

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

19. сл

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

Если вы не видите его, используйте следующую команду для его установки.

20. баннер

banner — еще одна забавная команда для Linux Terminal при выполнении с banner <ваш текст> будет отображать любой набранный вами текст будет отображаться в формате большого баннера, как вы можете видеть на следующем снимке экрана.

$ sudo apt-get install banner

21. aafire

Как насчет того, чтобы поджечь окно Терминала? Просто введите команду aafire в окне Терминала и увидите волшебство.

$ sudo apt-get install libaa-bin

22. эхо

Команду

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

23. палец

finger <имя пользователя> отобразит всю информацию о любом пользователе в системе, такую ​​как последний вход в систему, домашний каталог пользователя и полное имя учетной записи пользователя.

24. группы

Если вы хотите узнать, членом каких групп является конкретный пользователь, выполните команду groups <имя пользователя> в окне Терминала.Он покажет весь список групп, в которые входит пользователь.

25. головка

Эта команда отобразит первые 10 строк файла, через который вы прошли с помощью команды head в окне Терминала. Если вы хотите увидеть определенное количество строк, используйте опцию -n (номер) , например head -n (любое число) <имя файла> в оболочке терминала, как я сделал в следующем случае.

26. человек

Здесь man означает руководство пользователя, и, как следует из названия, man <имя команды> отобразит руководство пользователя для конкретной команды.Он будет отображать имя команды, способы использования команды и описание команды.

27. passwd

Вы можете использовать команду passwd для изменения пароля для себя или любого пользователя, просто с помощью команды passwd , если вы хотите изменить пароль для себя, и passwd <имя пользователя> , если вы хотите изменить пароль для определенного пользователя.

28. w

w — это короткая и простая команда, которая поможет вам просмотреть список пользователей, вошедших в систему в данный момент.

29. whoami

Эта команда поможет вам узнать, какой пользователь вошел в систему или под кем вы вошли.

30. история

При запуске в оболочку терминала, команда history перечислит все используемые вами команды в форме с последовательными номерами. С восклицательным знаком ! и серийный номер команды помогут вам выполнить эту конкретную команду без необходимости писать всю команду в терминале.

31.логин

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

32. lscpu

Эта команда отобразит всю информацию об архитектуре ЦП, такую ​​как потоки, сокеты, ядра и количество ЦП.

33. мв

mv (перемещение) команду можно использовать для перемещения одного файла или каталога в другой файл или каталог.Это очень полезная команда, особенно когда вы работаете над системным администрированием.

34.ps

Если вы хотите увидеть список процессов, которые в настоящее время запущены для вашего сеанса или для других пользователей в системе, тогда команда ps для вас, поскольку она показывает процессы с их идентификационными номерами, а также подробно, когда вы используете ps — u команда.

35. убить

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

36. хвост

tail <имя файла> команда отобразит последние 10 строк файла в окне Терминала в качестве вывода. Существует опция для последнего определенного количества строк по вашему желанию с помощью команды tail -n <количество строк> <имя файла> , как показано на снимке экрана ниже.

37. cksum

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

38. cmp

Если вам когда-нибудь понадобится побайтовое сравнение двух файлов, то cmp <имя файла 1> <имя файла 2> — лучшая команда Linux для вас.

39. env

env — очень полезная команда оболочки, которую можно использовать для отображения всех переменных среды в окне терминала Linux или для запуска другой задачи или программы в настраиваемой среде без необходимости вносить какие-либо изменения в текущий сеанс.

40. имя хоста

hostname Команда может использоваться для просмотра текущего имени хоста, а hostname <новое имя> может использоваться для изменения текущего имени хоста на новое.

41. hwclock

Вы можете использовать команду hwclock или hwclock –set –date <ДД / ММ / ГГГГ> для просмотра аппаратных часов или установки новой даты.

42. lshw

Команда

sudo lshw может использоваться для вызова подробной информации об оборудовании системы, в которой работает Linux.Он дает вам каждую мелочь об оборудовании, просто попробуйте.

43. нано

nano — это текстовый редактор командной строки Linux, очень похожий на редактор Pico, который многие из вас, возможно, использовали для программирования и других целей. Это довольно полезный текстовый редактор с множеством функций.

44. п.м.

rm <имя файла> Команда может использоваться для удаления любого файла из рабочего каталога. Для большего удобства вы можете использовать команду rm -i <имя файла> , так как она сначала запросит ваше подтверждение перед удалением файла.

45. ifconfig

ifconfig — еще одна полезная команда Linux, которую можно использовать для настройки сетевого интерфейса в системе.

46. прозрачный

clear — это простая команда для оболочки терминала Linux, при выполнении она очищает окно терминала для нового запуска.

47. su

su можно использовать команду для переключения на другую учетную запись прямо из окна терминала Linux.

48. wget

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

49. да

yes «ваш текст» Команда используется для отображения текстового сообщения, введенного с помощью команды yes, в окне Терминала, пока вы не остановите его с помощью сочетания клавиш CTRL + c .

50. последняя

При выполнении последней команды отобразится список пользователей, вошедших в систему последними, в качестве вывода в Терминале Linux.

51. найти

locate Команда — надежная и, возможно, лучшая альтернатива команде find для поиска любого файла в системе.

52. iostat

Если вам когда-нибудь понадобится контролировать системные устройства ввода / вывода, то команда iostat может быть очень полезной для вас, поскольку она отображает всю статистику ЦП, а также устройств ввода / вывода в самом окне Терминала.

53. kmod

Вы можете использовать команду kmod list для управления всеми модулями ядра Linux, поскольку эта команда отображает все загруженные в настоящее время модули в системе.

54. lsusb

Команда lsusb покажет информацию обо всех шинах USB, подключенных к оборудованию, и подключенных к ним внешних USB-устройствах, как вы можете видеть на снимке экрана ниже.

55. pstree

Команда

pstree отображает все запущенные в данный момент процессы в виде дерева в окне терминала Linux.

56. sudo

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

57. кв

apt (Advanced Package Tool) — это команда Linux, которая помогает пользователю взаимодействовать с системой упаковки, как вы можете видеть на следующем снимке экрана.

58. zip

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

59. распаковать

Для извлечения файлов из сжатого zip-файла используйте команду unzip <имя файла> в оболочке Терминала. Вы также можете использовать эту команду для извлечения файлов из нескольких сжатых файлов из определенного каталога.

60. отключение

Вы можете использовать команду shutdown для выключения системы непосредственно из оболочки Терминала. Эта команда выключит систему ровно через одну минуту после выполнения.Для отмены завершения работы можно использовать команду shutdown -c .

61. реж

dir (каталог) команда может использоваться для просмотра списка всех каталогов и папок, присутствующих в текущем рабочем каталоге.

62. cd

Команда

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

63.перезагрузка

Как следует из названия, вы можете использовать команду reboot для перезапуска или выключения системы из окна Терминала. Для этой команды доступно несколько параметров, как вы можете видеть на следующем снимке экрана.

64. сортировать

sort <имя файла> Команда поможет вам отсортировать файл или упорядочить любую запись в определенном порядке, как правило, в соответствии с их значениями ASCII.

65.такс

tac <имя файла> команда отобразит содержимое файла в обратном порядке, как вы можете видеть на скриншоте ниже.

66. выход

Команда exit может использоваться для закрытия окна оболочки терминала непосредственно из командной строки.

67. ionice

Команда

ionice поможет вам получить или установить класс планирования ввода-вывода и приоритет для конкретного процесса.

68. дифференциал

diff <имя файла1> <имя файла2> Команда сравнит два каталога и отобразит разницу между ними, как показано на следующем снимке экрана.

69. dmidecode

В Linux доступно множество команд для получения информации об оборудовании, но если вам нужна информация о конкретном компоненте оборудования, dmidecode — это команда для вас. Он предлагает различные варианты, и вы можете просмотреть их с помощью dmidecode –help .

Изучите основные команды Linux для начинающих

Прочтите это руководство по командам Linux, чтобы изучить наиболее важные и часто используемые команды Linux, включая синтаксис, с помощью простых примеров:

Linux принадлежит к семейству Unix-подобных ОС. Операционные системы Linux основаны на ядре Linux. Все команды Linux выполняются в терминале, предоставляемом ОС Linux. Терминал очень похож на командную строку Windows. Ее также называют оболочкой или консолью Linux.

Пользовательский интерфейс терминала Linux помогает выполнять все административные операции, включая установку пакетов, манипулирование файлами и управление пользователями.

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

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

Для выполнения команд вам понадобится компьютер под управлением Ubuntu или любого другого дистрибутива Linux. В Ubuntu вы можете запустить терминал, нажав кнопку Ctrl-Alt-T или нажав кнопку «Действия» в верхнем левом углу экрана и набрав «оболочка» или «терминал» или другие распространенные синонимы.

[источник изображения]

Если у вас нет ОС Linux, но вы хотите попрактиковаться в командах Linux, вы можете использовать любой онлайн-терминал Linux. Многие терминалы Linux доступны в Интернете бесплатно для отработки команд Linux.

Полный список команд Linux

Основные команды Linux

# 1) pwd: Команда pwd печатает текущий рабочий каталог. Она предоставит вам абсолютный путь, т.е. от корня до текущего каталога, в котором вы находитесь. Эта команда поможет вам не потеряться в окне терминала. Вы будете знать, в каком каталоге находитесь.

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

Команда: pwd

# 2) whoami: Эта команда отобразит имя пользователя, который в данный момент вошел в систему терминала Linux.

Команда: whoami

# 3) clear: Когда терминал заполняется большим количеством команд и их вывода, вы можете использовать команду clear, чтобы очистить свой терминал.

# 4) exit: команда выхода просто завершит сеанс терминала.

Команды Linux для отображения даты, времени и календаря

# 1) date: Эта команда отображает текущее время и дату.

Команда: дата

# 2) cal: cal обозначает календарь. По умолчанию команда cal отображает календарь на текущий месяц. На момент написания этой статьи текущим месяцем был март 2020 года, и, следовательно, в выходных данных вы можете видеть, что он показывает календарь на март 2020 года.

Команда: cal

  • Если вы хотите отобразить календарь всего текущего года, вы можете дать команду ‘cal -y’ .
  • Также можно указать год. Например, , если вы хотите увидеть календарь на 2019 год, вы можете дать команду ‘cal 2019’ — Это отобразит календарь 2019 года.
  • Также, если вы хотите увидеть календарь в определенный месяц определенного года, скажем, январь 2019 года, вы можете выполнить команду ‘cal 1 2019’ — , это покажет календарь на январь 2019 года.Здесь «1» обозначает первый месяц года, то есть январь.
  • Вы также можете просмотреть календарь на три месяца вместе — предыдущий месяц, текущий месяц и следующий месяц. Команда для этой операции: ‘cal -3’

Команды для навигации по файловой системе Linux

Файловая система Linux имеет древовидную структуру, которая также называется деревом каталогов. Он используется для организации информации.

Дерево каталогов очень похоже на генеалогическое древо, поэтому это каталог или файл, имеющий родителя.Однако у каждого каталога или файла есть ровно один родитель.

Теперь посмотрим, как устроена файловая система Linux. Во-первых, у нас есть корневой каталог, который является первым или самым верхним каталогом в нашем дереве. Он представлен косой чертой (/). В корне вы найдете множество подкаталогов.

Давайте посмотрим на некоторые важные подкаталоги:

  1. Bin : Этот каталог содержит исполняемые программы и команды, которые могут использоваться всеми пользователями системы.
  2. Opt: Это означает опционально. Этот каталог содержит коммерческие программные продукты, которые по умолчанию не установлены в вашей системе. Например, , если вы используете ubuntu, вы должны были заметить, что Google Chrome не установлен по умолчанию в вашей системе, и если вы хотите установить Google Chrome, вы найдете его в каталоге Opt.
  3. Temp: temp означает временный. В этом каталоге вы найдете временные файлы.
  4. Var: Содержит переменные данные, которые часто меняются со временем. К ним относятся файлы журналов, пулы электронной почты и пользовательские базы данных.
  5. Home: Linux — это многопользовательская среда, что означает, что многие пользователи могут получить доступ к системе одновременно. Каждому пользователю в домашнем каталоге выделяется диетическое питание.

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

(i) pwd: Мы уже подробно обсуждали эту команду выше.

(ii) ls: ls означает список.

Синтаксис команды ls:

  ls [ОПЦИИ] [ФАЙЛЫ]  

Эта команда выводит список содержимого каталога. Если вы просто выполните команду ls без указания каких-либо параметров и файлов, она перечислит в алфавитном порядке все каталоги и файлы, которые находятся под вашим текущим рабочим каталогом.

Вы можете использовать команду ls с различными параметрами и аргументами:

a) ls -l : Это показывает содержимое с подробным листингом.-l означает длинный вариант.

b) ls -lh: Используется для отображения удобных для человека размеров файлов. -h означает людей.

c) Ls -lha : Эта команда используется для отображения всех скрытых файлов. -a включает скрытые файлы.

Пример для этих команд:

ls
ls -l
ls -lh
ls -lha

d) ls /: Поскольку / представляет корневой каталог, эта команда покажет все файлы и папки, присутствующие внутри корневого каталога.

e) ls ~: Поскольку ~ представляет домашний каталог, эта команда будет отображать содержимое вашего домашнего каталога.

Команда: ls ~

f) ls ..: Эта команда отобразит содержимое родительского каталога, поскольку .. представляет родительский каталог. Предположим, сейчас я нахожусь в тестовом каталоге в моем домашнем каталоге. Если я выполню команду ls .. здесь, то она отобразит содержимое родительского каталога test, который является моим домашним каталогом.

Команды, выполняемые в следующем примере:

ls ~
cd test
pwd
ls ..

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

Команда: ls / home / cpf657 / kaushapx / test / parent

Точно так же вы можете использовать относительный путь.

(iii) cd: Еще одна полезная команда для навигации по файловой системе — cd.cd означает смену каталога.

Предположим, я нахожусь в моем домашнем каталоге прямо сейчас и хочу перейти в каталог с именем ‘test’, который находится внутри моего домашнего каталога, поэтому я буду использовать cd test c ommand:

pwd
cd test
pwd

Чтобы перейти на уровень выше, вам необходимо выполнить команду cd .. :

pwd
cd ..
pwd

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

Команда:

pwd
cd / home / cpf657 / kaushapx / test1
pwd

Есть много параметров, которые мы можем использовать с командой cd.

cd / : Первый вариант, который очень полезен, — это косая черта.Итак, поскольку вы знаете, что косая черта представляет собой корневой каталог, cd / перенесет вас прямо в корневой каталог.

Команда:

pwd
cd /
pwd

cd ~ : Второй вариант, который вы можете использовать, это cd Tilda, т.е. cd ~ . Это приведет вас в домашний каталог, как вы можете видеть на скриншоте ниже.

Команда:

cd test
pwd
cd ~
pwd

cd.. : Другой вариант, который вы можете использовать с командой cd, — это cd две точки, т.е. cd ..

Две точки представляют родительский каталог, поэтому вы вернетесь на один шаг назад в дереве каталогов с помощью команды cd .. :

cd ..
pwd

Если вы набираете cd две точки снова, снова и снова, вы в конечном итоге попадете в свой корневой каталог.

Если вы хотите перейти в какой-либо другой каталог внутри родительского каталога, вы также можете использовать эту команду , как показано ниже:

pwd
cd../directory1
pwd

cd — : команда cd space dash переводит вас в предыдущий рабочий каталог.

Другие полезные команды Linux

(i) w: Эта команда отображает информацию о пользователях, вошедших в систему в данный момент.

Команда: w

(ii) uname: Эта команда отображает информацию о компьютере Linux, на котором вы работаете. Есть разные варианты использования этой команды.

  • uname -a: Для отображения всей информации о компьютере Linux.

Команда: uname -a

  • uname -s: Для отображения типа ядра.

Команда: uname -s

  • uname -r: Для отображения информации о выпуске ядра.

Команда: uname -r

  • uname -v: Для отображения версии ядра.

Команда: uname -v

(iii) top: Эта команда отображает данные о вашем Linux-компьютере в реальном времени. Он показывает сводку состояния, продолжительность работы компьютера, среднюю нагрузку, количество выполняемых задач, информацию о ЦП, информацию о памяти, статус процессов и т. Д. Вам нужно нажать Q, чтобы выйти из верхней команды.

Команда: top

(iv) tar: tar обозначает ленточный архив.Эта команда используется для создания архивного файла, состоящего из многих других файлов, или ее также можно использовать для извлечения файлов из архивного файла.

Во-первых, давайте посмотрим, как создать заархивированный файл. Предположим, я сейчас нахожусь в каталоге под названием «родительский». Внутри этого родительского каталога у меня есть еще один каталог с именем «directory1», содержащий два текстовых файла, как показано на снимке экрана ниже.

Команда:

pwd
ls
ls directory1

Теперь я буду использовать команду tar для архивации всех файлов в каталоге1, используя следующую команду:

Команда: tar -cvf testarchive.tar directory1 /

Как вы можете видеть на скриншоте выше, я использовал три параметра : -c -v и -f .

  • -c — это опция создания, которая используется для создания архивного файла.
  • -v — это подробный параметр, который выводит список файлов в окне терминала, которые были добавлены в окно архива, как вы можете видеть на скриншоте выше.
  • -f параметр используется для присвоения желаемого имени файлу архива.Имя файла должно следовать сразу после опции -f.

В приведенном выше примере файл архива создается, но не сжимается.

Есть два варианта сжатия архивного файла. Это:

-z : Это параметр gzip. Он указывает tar использовать утилиту gzip для сжатия файла архива. Он предлагает приличное сжатие и разумную скорость. Лучше добавить суффикс «.gz» после имени файла, чтобы, когда кто-то пытается извлечь файлы из архива, он мог легко узнать тип сжатия.

Команда: tar -cvzf testarchive.tar.gz directory1 /

-j: Это опция bzip2. Он использует превосходный алгоритм сжатия для сжатия. Он предлагает лучшее сжатие и более низкую скорость. Лучше добавить суффикс «.bz2» после имени файла, чтобы, когда кто-то пытается извлечь файлы из архива, он мог легко узнать, какой тип сжатия.

Команда: tar -cvjf testarchive.tar.bz2 directory1 /

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

Команда: tar -xvf testarchive.tar

Для извлечения файлов из архива .tar.gz вам необходимо использовать параметр -z, а для извлечения файлов из. деготь.bz2, вам нужно использовать опцию -j.

Команды:

tar -xvzf testarchive.tar.gz
tar -xvjf testarchive.tar.bz2

Команды Linux — Изучение команд терминала Linux с примерами

Как найти все файлы в каталоге рекурсивно

В этом руководстве по Linux мы узнаем, как рекурсивно выполнять поиск всех файлов в каталоге в Linux с помощью команды grep.

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

Как создать символическую ссылку в Linux с помощью команды ln

В этом руководстве по Linux мы узнаем, как создать символическую ссылку в Linux с помощью команды ln.

Также называется программными ссылками. Символьная ссылка в Linux — это указатель на другой файл или каталог, который мы также называем целью. Когда вы получаете доступ к символической ссылке, вы фактически получаете доступ к исходному файлу и его содержимому. Если исходный файл удален, символическая ссылка будет недоступна, но если символические ссылки удалены, это не повлияет на исходный файл.Символическая ссылка похожа на ярлык, очень похожий на ярлыки в операционной системе Windows.

Как установить переменные среды в Linux

В этом уроке мы узнаем, как установить переменные среды в Linux. Установить переменную среды в Linux очень просто. Все, что нам нужно сделать, это экспортировать переменную с помощью команды экспорта.

Установить переменные среды в Linux очень просто. Все, что нам нужно сделать, это экспортировать переменную с помощью команды экспорта.

Также можно установить и экспортировать в одну строку.

В чем разница между командами useradd и adduser в Linux

В Linux вы чаще увидите, что для выполнения одной и той же задачи доступно несколько команд Linux. Поэтому, когда дело доходит до добавления новых пользователей в систему, в большинстве дистрибутивов Linux есть две команды. Две команды — это useradd и adduser. Так в чем же разница между useradd и adduser в Linux? Они оба всегда работают одинаково?

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

Команды Linux для добавления пользователя в группу

Мы можем использовать команду usermod или gpasswd для добавления пользователя в группу в операционной системе Linux. И обе команды очень просты в использовании.

usermod -a -G имя группы имя пользователя

gpasswd — это команда Linux, предназначенная для группового администрирования. Параметр команды -a используется для добавления пользователя в группу в Linux.

gpasswd -a имя пользователя имя группы

Что такое Linux bash && Разделитель команд

В сценариях оболочки Часто вы увидите, что несколько команд Linux bash запускаются через знак «&&».bash && use для выполнения последовательности команд одну за другой, но если одна команда не удалась, сброс команд не будет выполнен. Другими словами, то, что делает bash &&, — это запускать несколько команд Linux одну за другой до тех пор, пока нет сбоя, если одна команда не удалась, сброс команд Linux никогда не будет выполнен.

Командная строка Linux

Команда Описание
# arch показать архитектуру машины (1) [man]
# cal 2007 показать расписание на 2007 год [мужчина]
# cat / proc / cpuinfo показать информацию Информация о процессоре [man]
# cat / proc / interrupts показать прерывания [мужчина]
# cat / proc / meminfo проверить использование памяти [man]
# cat / proc / swaps показать файл (ы) подкачки [man]
# cat / proc / version показать версию ядра [man]
# cat / proc / net / dev показать сетевые адаптеры и статистику [man]
# cat / proc / mounts показать смонтированную файловую систему (ы) [man]
# clock -w сохранить изменения даты в BIOS [man]
# date показать системную дату [человек]
# дата 041217002007.00 установить дату и время — MonthDayhoursMinutesYear.Seconds [man]
# dmidecode -q показать компоненты аппаратной системы — (SMBIOS / DMI) [man]
# hdparm -i / dev / hda отображает характеристики жесткого диска [man]
# hdparm -tT / dev / sda выполнить тестовое чтение с жесткого диска [man]
# lspci -tv отображать устройства PCI [man]
# lsusb -tv показать USB-устройства [man]
# uname -m показать архитектуру машины (2) [man]
# uname -r показать используемую версию ядра [man]
« TOP «
Команда Описание
# init 0 система останова (2) [человек]
# logout выход из сессии [мужчина]
# reboot перезагрузка (2) [человек]
# shutdown -h now система отключения (1) [человек]
# выключение -h 16:30 & плановая остановка системы [человек]
# shutdown -c отменить плановое отключение системы [man]
# shutdown -r сейчас перезагрузка (1) [человек]
# telinit 0 система отключения (3) [человек]
« TOP «
Команда Описание
# cd / home войдите в каталог ‘/ home’ [мужчина]
# CD .. вернуться на один уровень назад [мужчина]
# cd ../ .. вернуться на два уровня назад [мужчина]
# cd перейти в домашний каталог [man]
# cd ~ user1 перейти в домашний каталог [man]
# cd — перейти в предыдущий каталог [man]
# cp file1 file2 копирование файла [man]
# cp dir / *. копировать все файлы каталога в текущем рабочем каталоге [man]
# cp -a / tmp / dir1. скопировать каталог в текущем рабочем каталоге [man]
# cp -a dir1 dir2 скопировать каталог [man]
# cp file file1 выводит MIME-тип файла в виде текста [man]
# iconv -l перечисляет известные кодировки [man]
# iconv -f fromEncoding -t toEncoding inputFile> outputFile преобразование кодировки символов из одного формата в другой [man]
# найти .-maxdepth 1 -name * .jpg -print -exec convert пакетное изменение размера файлов в текущем каталоге и отправка их в каталог эскизов (требуется преобразование из Imagemagick) [man]
# ln -s file1 lnk1 создать символическую ссылку на файл или каталог [man]
# ln file1 lnk1 создать физическую ссылку на файл или каталог [man]
# ls просмотреть файлы каталога [man]
# ls -F просмотреть файлы каталога [man]
# ls -l показать подробную информацию о файлах и каталоге [man]
# ls -a показать скрытые файлы [man]
# ls * [0-9] * показать файлы и каталог, содержащие числа [man]
# lstree показать файлы и каталоги в дереве, начиная с корня (2) [man]
# mkdir dir1 создать каталог с именем dir1 [man]
# mkdir dir1 dir2 создать два каталога одновременно [man]
# mkdir -p / tmp / dir1 / dir2 создать дерево каталогов [man]
# mv dir1 new_dir переименовать / переместить файл или каталог [man]
# pwd показать путь к рабочему каталогу [man]
# rm -f file1 удалить файл с именем ‘file1’ [man]
# rm -rf dir1 рекурсивно удалить каталог с именем ‘dir1’ и содержимое [man]
# rm -rf dir1 dir2 рекурсивно удалить два каталога и их содержимое [man]
# rmdir dir1 удалить каталог с именем ‘dir1’ [man]
# touch -t 0712250000 file1 изменить отметку времени файла или каталога — (ГГММДДччмм) [man]
# дерево показать файлы и каталоги в дереве, начиная с корня (1) [man]
« TOP «
Команда Описание
# find / -name file1 поиск файла и каталога в корневой файловой системе из ‘/’ [man]
# find / -user user1 искать файлы и каталоги, принадлежащие ‘user1’ [man]
# найти / home / user1 -name \ *.мусорное ведро искать файлы с ‘. bin ‘расширение в каталоге’ / home / user1 ‘[man]
# find / usr / bin -type f -atime +100 поисковые двоичные файлы не использовались последние 100 дней [man]
# найти / usr / bin -type f -mtime -10 поиск файлов, созданных или измененных в течение 10 дней [man]
# find / -name *.rpm -exec chmod 755 ‘{}’ \; искать файлы с расширением ‘.rpm’ и изменять разрешения [man]
# find / -xdev -name \ *. rpm искать файлы с расширением ‘.rpm’, игнорируя съемные разделы, такие как компакт-диск, флэш-накопитель и т. д.… [man]
# locate \ *. ps найти файлы с расширением ‘.ps’ — сначала запустите команду ‘updatedb’ [man]
# whereis halt показать расположение двоичного файла, источника или человека [man]
# which halt показать полный путь к двоичному / исполняемому файлу [man]
« TOP «
Команда Описание
# fuser -km / mnt / hda2 принудительно размонтировать, когда устройство занято [man]
# монтировать / dev / hda2 / mnt / hda2 смонтировать диск с именем hda2 — проверить существование каталога ‘/ mnt / hda2’ [man]
# mount / dev / fd0 / mnt / floppy смонтировать дискету [man]
# монтировать / dev / cdrom / mnt / cdrom смонтировать cdrom / dvdrom [мужчина]
# монтировать / dev / hdc / mnt / cdrecorder смонтировать cdrw / dvdrom [мужчина]
# монтировать / dev / hdb / mnt / cdrecorder смонтировать cdrw / dvdrom [мужчина]
# монтировать -o файл цикла.iso / mnt / cdrom смонтировать файл или ISO-образ [man]
# монтировать -t vfat / dev / hda5 / mnt / hda5 смонтировать файловую систему Windows FAT32 [man]
# монтировать / dev / sda1 / mnt / usbdisk установить USB-накопитель или флешку [man]
# mount -t smbfs -o username = user, password = pass // WinClient / share / mnt / share смонтировать сетевой ресурс Windows [man]
# umount / dev / hda2 размонтировать диск с именем hda2 — выйти из точки монтирования ‘/ mnt / hda2’ сначала [man]
# umount -n / mnt / hda2 запустить umount без записи файла / etc / mtab — полезно, когда файл доступен только для чтения или жесткий диск заполнен [man]
« TOP «
Команда Описание
# df -h показать список смонтированных разделов [man]
# dpkg-query -W -f = ‘$ {Installed-Size; 10} t $ {Package} n’ | sort -k1,1n показать используемое пространство установленными пакетами deb с сортировкой по размеру (debian, ubuntu и т.п.) [man]
# du -sh dir1 оценка пространства, используемого каталогом ‘dir1’ [man]
# du -sk * | sort -rn показать размер файлов и каталогов, отсортированных по размеру [man]
# ls -lSr | подробнее показать размер файлов и каталогов, упорядоченных по размеру [man]
# rpm -q -a —qf ‘% 10 {SIZE} t% {NAME} n’ | sort -k1,1n показать пространство, используемое установленными пакетами rpm, отсортированное по размеру (fedora, redhat и т. д.) [man]
« TOP «
Команда Описание
# chage -E 2005-12-31 user1 установить крайний срок для пароля пользователя [man]
# groupadd [группа] создать новую группу [мужчина]
# groupdel [группа] удалить группу [мужчина]
# groupmod -n луна солнце переименовать группу с луны на солнце [мужчина]
# grpck проверьте правильный синтаксис и формат файла ‘/ etc / group’ и наличие групп [man]
# newgrp — [группа] войдите в новую группу, чтобы изменить группу вновь созданных файлов по умолчанию [man]
# passwd изменить пароль [man]
# passwd user1 изменить пароль пользователя (только root) [man]
# pwck проверьте правильный синтаксис и формат файла ‘/ etc / passwd’ и наличие пользователей [man]
# useradd -c «Пользователь Linux» -g admin -d / home / user1 -s / bin / bash user1 создать нового пользователя «user1» принадлежит группе «admin» [man]
# useradd user1 создать нового пользователя [man]
# userdel -r user1 удалить пользователя (‘-r’ удаляет домашний каталог) [man]
# usermod -c «Пользовательский FTP» -g system -d / ftp / user1 -s / bin / nologin user1 изменить атрибуты пользователя [man]
« TOP «
Команда Описание
# chgrp group1 file1 изменить группу файлов [man]
# chmod ugo + rwx directory1 установить права доступа на чтение (r), запись (w) и (x) для пользователей, владельца (u), группы (g) и других (o) [man]
# chmod go-rwx directory1 remove разрешает чтение (r), запись (w) и (x) доступ группе пользователей (g) и другим пользователям (или [man]
# chmod u + s / bin / file1 установить бит SUID в двоичном файле — пользователь, запустивший этот файл, получает те же права, что и владелец [man]
# chmod u-s / bin / file1 отключить бит SUID в двоичном файле [man]
# chmod g + s / home / public установить бит SGID для каталога — аналогично SUID, но для каталога [man]
# chmod g-s / home / public отключить бит SGID в каталоге [man]
# chmod o + t / home / public установить бит STIKY для каталога — разрешает удаление файлов только законным владельцам [man]
# chmod o-t / home / public отключить бит STIKY в каталоге [man]
# chown user1 file1 изменить владельца файла [man]
# chown -R user1 directory1 изменить пользователя-владельца каталога и всех файлов и каталогов, содержащихся внутри [man]
# chown user1: group1 file1 изменить пользователя и группу, владеющую файлом [man]
# find / -perm -u + s просмотреть все файлы в системе с настроенным SUID [man]
# ls -lh показать разрешения для файлов [man]
# ls / tmp | pr -T5 -W $ КОЛОННЫ разделить терминал на 5 столбцов [man]
« TOP «
Команда Описание
# chattr + a file1 разрешает запись открытие файла только в режиме добавления [man]
# chattr + c file1 позволяет ядру автоматически сжимать / распаковывать файл [man]
# chattr + d file1 следит за тем, чтобы программа игнорировала дамп файлов во время резервного копирования [man]
# chattr + i file1 делает его неизменяемым файлом, который нельзя удалить, изменить, переименовать или связать [man]
# chattr + s file1 позволяет безопасно удалить файл [man]
# chattr + S file1 следит за тем, чтобы при изменении файла изменения записывались в синхронном режиме, как при синхронизации [man]
# chattr + u file1 позволяет восстановить содержимое файла, даже если он был отменен [man]
# lsattr показать спец атрибуты [мужчина]
« TOP «
Команда Описание
# bunzip2 file1.bz2 распаковать файл с именем ‘file1.bz2’ [man]
# bzip2 file1 сжать файл с именем ‘file1’ [man]
# gunzip file1.gz распаковать файл с именем ‘file1.gz’ [man]
# gzip file1 сжать файл с именем ‘file1’ [man]
# gzip -9 file1 сжимать с максимальным сжатием [man]
# rar файл1.rar test_file создать rar-архив с именем file1.rar [man]
# rar a file1.rar file1 file2 dir1 одновременно сжать «файл1», «файл2» и «каталог1» [man]
# rar x file1.rar распаковать rar архив [man]
# tar -cvf archive.tar file1 создать несжатый архив [man]
# tar -cvf archive.tar файл1 файл2 каталог1 создать архив, содержащий ‘file1’, ‘file2’ и ‘dir1’ [man]
# tar -tf archive.tar показать содержимое архива [man]
# tar -xvf archive.tar распаковать архив [man]
# tar -xvf archive.tar -C / tmp распаковать архив в / tmp [man]
# tar -cvfj archive.tar.bz2 dir1 создать архив, сжатый в bzip2 [man]
# tar -xvfj archive.tar.bz2 распаковать сжатый tar-архив в bzip2 [man]
# tar -cvfz archive.tar.gz dir1 создать архив, сжатый в gzip [man]
# tar -xvfz archive.tar.gz распаковать сжатый tar-архив в gzip [man]
# unrar x file1.rar распаковать rar архив [man]
# unzip file1.zip распаковать zip-архив [man]
# zip file1.zip file1 создать архив, сжатый в zip [man]
# zip -r file1.zip file1 file2 dir1 сжать в zip несколько файлов и каталогов одновременно [man]
« TOP «
Команда Описание
# rpm -ivh [пакет.об / мин] установить пакет rpm [man]
# rpm -ivh —nodeeps [package.rpm] установить пакет rpm, игнорируя запросы зависимостей [man]
# rpm -U [пакет.rpm] обновить пакет rpm без изменения файлов конфигурации [man]
# rpm -F [package.rpm] обновлять пакет rpm, только если он уже установлен [man]
# rpm -e [пакет] удалить пакет rpm [man]
# rpm -qa показать все пакеты rpm, установленные в системе [man]
# rpm -qa | grep httpd показать все пакеты rpm с именем «httpd» [man]
# rpm -qi [пакет] получить информацию об установленном конкретном пакете [man]
# rpm -qg «Системная среда / Демоны» показать пакеты rpm группового программного обеспечения [man]
# rpm -ql [пакет] показать список файлов, предоставленных установленным пакетом rpm [man]
# rpm -qc [пакет] показать список файлов конфигурации, предоставленных установленным пакетом rpm [man]
# rpm -q [пакет] —whatrequires показать список зависимостей, необходимых для пакета rpm [man]
# rpm -q [пакет] —whatprovides показать возможность, предоставляемую пакетом rpm [man]
# rpm -q [пакет] —scripts показать скрипты, запущенные во время установки / удаления [man]
# rpm -q [пакет] —changelog показать историю ревизий rpm-пакета [man]
# rpm -qf / etc / httpd / conf / httpd.conf проверить, какой пакет rpm принадлежит данному файлу [man]
# rpm -qp [пакет.rpm] -l показать список файлов, предоставленных еще не установленным пакетом rpm [man]
# rpm —import / media / cdrom / RPM-GPG-KEY импорт цифровой подписи с открытым ключом [man]
# rpm —checksig [package.об / мин] проверить целостность пакета rpm [man]
# rpm -qa gpg-pubkey проверить целостность всех установленных пакетов rpm [man]
# rpm -V [пакет] проверить размер файла, права доступа, тип, владельца, группу, контрольную сумму MD5 и последнее изменение [man]
# rpm -Va проверьте все пакеты rpm, установленные в системе — используйте с осторожностью [man]
# rpm -Vp [package.об / мин] проверить, что пакет rpm еще не установлен [man]
# rpm -ivh /usr/src/redhat/RPMS/ʻarch`/[package.rpm] установить пакет, созданный из источника rpm [man]
# rpm2cpio [package.rpm] | cpio —extract —make-directoryies * bin * извлечь исполняемый файл из пакета rpm [man]
# rpmbuild —rebuild [пакет.src.rpm] собрать пакет rpm из источника rpm [man]
« TOP «
Команда Описание
# yum -y install [пакет] скачать и установить пакет rpm [man]
# yum localinstall [пакет.об / мин] Это установит RPM и попытается разрешить все зависимости для вас, используя ваши репозитории. [мужчина]
# yum -y update обновить все пакеты rpm, установленные в системе [man]
# yum update [пакет] обновить пакет rpm [man]
# yum remove [пакет] удалить пакет rpm [man]
# yum list список всех пакетов, установленных в системе [man]
# yum search [пакет] найти пакет в репозитории rpm [man]
# yum clean [пакет] очистить кеш rpm, стереть загруженные пакеты [man]
# yum clean заголовки удалить все заголовки файлов, которые система использует для разрешения зависимости [man]
# yum clean all удалить из кеша файлы пакетов и заголовков [man]
« TOP «
Команда Описание
# dpkg -i [пакет.deb] установить / обновить пакет deb [man]
# dpkg -r [пакет] удалить пакет deb из системы [man]
# dpkg -l показать все пакеты deb, установленные в системе [man]
# dpkg -l | grep httpd показать все пакеты deb с именем «httpd» [man]
# dpkg -s [пакет] получить информацию о конкретном пакете, установленном в системе [man]
# dpkg -L [пакет] показать список файлов, предоставляемых пакетом, установленным в системе [man]
# dpkg —contents [package.deb] показать список файлов, предоставленных еще не установленным пакетом [man]
# dpkg -S / bin / ping проверить, какой пакет принадлежит данному файлу [man]
« TOP «
Команда Описание
# apt-cache search [пакет] возвращает список пакетов, который соответствует строке «search-packages» [man]
# apt-cdrom install [пакет] установить / обновить пакет deb с cdrom [man]
# apt-get install [пакет] установить / обновить пакет deb [man]
# apt-get update обновить список пакетов [man]
# apt-get upgrade обновить все установленные пакеты [man]
# apt-get remove [пакет] удалить пакет deb из системы [man]
# apt-get check проверить правильность разрешения зависимостей [man]
# apt-get clean очистить кеш от загруженных пакетов [man]
« TOP «
Команда Описание
# pacman -S name Установить пакет name с зависимостями [man]
# pacman -R name Удалить пакет ‘name’ и все его файлы [man]
« TOP «
Команда Описание
# cat file1 просмотреть содержимое файла, начиная с первой строки [man]
# head -2 file1 просмотреть первые две строки файла [man]
# less file1 аналогична команде ‘more’, но позволяет перемещаться в файле как назад, так и вперед [man]
# more file1 просмотреть содержимое файла вместе с [man]
# tac file1 просмотреть содержимое файла, начиная с последней строки [man]
# tail -2 file1 просмотреть две последние строки файла [man]
# tail -f / var / log / messages просматривать в режиме реального времени, что добавлено в файл [man]
« TOP «
Команда Описание
# пример кота.txt | awk ‘NR% 2 == 1’ удалить все четные строки из example.txt [man]
# echo a b c | awk ‘{print $ 1}’ просмотреть первый столбец строки [man]
# echo a b c | awk ‘{print $ 1, $ 3}’ просмотреть первый и третий столбцы строки [man]
# cat -n file1 номер строки файла [man]
# comm -1 file1 file2 сравнить содержимое двух файлов, удалив только уникальные строки из ‘file1’ [man]
# comm -2 file1 file2 сравнить содержимое двух файлов, удалив только уникальные строки из ‘file2’ [man]
# comm -3 file1 file2 сравнить содержимое двух файлов, удалив только строки, которые появляются в обоих файлах [man]
# diff file1 file2 найти различия между двумя файлами [мужчина]
# grep Aug / var / log / messages найдите слова «Aug» в файле ‘/ var / log / messages’ [man]
# grep ^ Авг / var / log / messages искать слова, начинающиеся с «Aug» в файле ‘/ var / log / messages’ [man]
# grep [0-9] / var / log / messages выберите из файла ‘/ var / log / messages’ все строки, содержащие числа [man]
# grep Aug -R / var / log / * строка поиска «Aug» в каталоге ‘/ var / log’ и ниже [man]
# paste file1 file2 объединение содержимого двух файлов для столбцов [man]
# paste -d ‘+’ file1 file2 объединение содержимого двух файлов для столбцов с разделителем «+» в центре [man]
# sdiff file1 file2 найти различия между двумя файлами и интерактивно объединить их, как «diff» [man]
# Пример использования sed ‘s / string1 / string2 / g’.$ / d ‘example.txt удалить комментарии и пустые строки из example.txt [man]
# sed -e ‘1d’ excpe.txt удаляет первую строку из файла example.txt [man]
# sed -n ‘/ строка1 / p’ просматривать только строки, содержащие слово «string1» [man]
# sed -e ‘s / * $ //’ example.txt удалить пустые символы в конце каждой строки [man]
# sed -e ‘s / string1 // g’ пример.txt удалите из текста только слово «string1» и оставьте все без изменений [man]
# sed -n ‘1,5p’ example.txt вывести с 1-й по 5-ю строки example.txt [man]
# sed -n ‘5p; 5q’ example.txt напечатать строку номер 5 файла example.txt [man]
# sed -e ‘s / 00 * / 0 / g’ example.txt заменить несколько нулей одним нулем [man]
# sort file1 file2 сортировать содержимое двух файлов [man]
# sort file1 file2 | uniq сортировать содержимое двух файлов, исключая повторяющиеся строки [man]
# sort file1 file2 | uniq -u сортировать содержимое двух файлов, просматривая только уникальную строку [man]
# sort file1 file2 | uniq -d сортировать содержимое двух файлов, просматривая только повторяющиеся строки [man]
# echo ‘word’ | tr ‘[: lower:]’ ‘[: upper:]’ преобразовать из нижнего регистра в верхний регистр [man]
« TOP «
Команда Описание
# dos2unix filedos.txt fileunix.txt преобразовать формат текстового файла из MSDOS в UNIX [man]
# recode ..HTML page.html преобразовать текстовый файл в HTML [man]
# recode -l | еще показать все доступные форматы преобразования [man]
# unix2dos fileunix.txt filedos.txt преобразовать формат текстового файла из UNIX в MSDOS [man]
« TOP «
Команда Описание
# badblocks -v / dev / hda1 проверить плохие блоки на диске hda1 [man]
# dosfsck / dev / hda1 восстановить / проверить целостность файловых систем dos на диске hda1 [man]
# e2fsck / dev / hda1 восстановить / проверить целостность файловой системы ext2 на диске hda1 [man]
# e2fsck -j / dev / hda1 восстановить / проверить целостность файловой системы ext3 на диске hda1 [man]
# fsck / dev / hda1 восстановить / проверить целостность файловой системы linux на диске hda1 [man]
# fsck.ext2 / dev / hda1 восстановить / проверить целостность файловой системы ext2 на диске hda1 [man]
# fsck.ext3 / dev / hda1 восстановить / проверить целостность файловой системы ext3 на диске hda1 [man]
# fsck.vfat / dev / hda1 восстановить / проверить целостность толстой файловой системы на диске hda1 [man]
# fsck.msdos / dev / hda1 восстановить / проверить целостность файловой системы dos на диске hda1 [man]
« TOP «
Команда Описание
# fdformat -n / dev / fd0 отформатируйте дискету [man]
# mke2fs / dev / hda1 создать файловую систему типа linux ext2 на разделе hda1 [man]
# mke2fs -j / dev / hda1 создать файловую систему типа linux ext3 (журнал) на разделе hda1 [man]
# mkfs / dev / hda1 создать файловую систему типа linux на разделе hda1 [man]
# mkfs -t vfat 32 -F / dev / hda1 создать файловую систему FAT32 [man]
# mkswap / dev / hda3 создать файловую систему подкачки [man]
« TOP «
Команда Описание
# mkswap / dev / hda3 создать файловую систему подкачки [man]
# swapon / dev / hda3 активация нового раздела подкачки [man]
# swapon / dev / hda2 / dev / hdb3 активировать два раздела подкачки [man]
« TOP «
Команда Описание
# найти / var / log -name ‘*.журнал ‘| tar cv —files-from = — | bzip2> log.tar.bz2 найти все файлы с расширением .log и создать архив bzip [man]
# find / home / user1 -name ‘* .txt’ | xargs cp -av —target-directory = / home / backup / —parents найти и скопировать все файлы с расширением ‘.txt’ из каталога в другой [man]
# dd bs = 1M if = / dev / hda | gzip | ssh user @ ip_addr ‘dd of = hda.gz ‘ сделать резервную копию локального жесткого диска на удаленном хосте через ssh [man]
# dd if = / dev / sda of = / tmp / file1 резервное копирование содержимого жесткого диска в файл [man]
# dd if = / dev / hda of = / dev / fd0 bs = 512 count = 1 сделайте копию MBR (Master Boot Record) на дискету [man]
# dd if = / dev / fd0 of = / dev / hda bs = 512 count = 1 восстановить MBR из резервной копии, сохраненной на дискете [man]
# дамп -0aj -f / tmp / home0.бак / дом сделать полную резервную копию каталога ‘/ home’ [man]
# дамп -1aj -f /tmp/home0.bak / home сделать инкрементную резервную копию каталога ‘/ home’ [man]
# restore -if /tmp/home0.bak интерактивное восстановление резервной копии [man]
# rsync -rogpav —delete / home / tmp синхронизация между каталогами [man]
# rsync -rogpav -e ssh —delete / home ip_address: / tmp rsync через туннель SSH [man]
# rsync -az -e ssh —delete ip_addr: / home / public / home / local синхронизировать локальный каталог с удаленным каталогом через ssh и сжатие [man]
# rsync -az -e ssh —delete / home / local ip_addr: / home / public синхронизировать удаленный каталог с локальным каталогом через ssh и сжатие [man]
# tar -Puf резервное копирование.tar / home / user сделать инкрементную резервную копию каталога ‘/ home / user’ [man]
# (cd / tmp / local / && tar c.) | ssh -C пользователь @ ip_addr ‘cd / home / share / && tar x -p’ скопировать содержимое каталога в удаленный каталог через ssh [man]
# (tar c / home) | ssh -C пользователь @ ip_addr ‘cd / home / backup-home && tar x -p’ скопируйте локальный каталог в удаленный каталог через ssh [man]
# tar cf -.| (cd / tmp / backup; tar xf -) разрешения на сохранение локальной копии и ссылки из каталога на другой [man]
« TOP «
Команда Описание
# cd-paranoia -B копировать звуковые дорожки с компакт-диска в файлы wav [man]
# cd-paranoia — скопировать первые три звуковые дорожки с компакт-диска в файлы wav [man]
# cdrecord -v gracetime = 2 dev = / dev / cdrom -eject blank = fast -force очистить перезаписываемый компакт-диск [мужчина]
# cdrecord -v dev = / dev / cdrom cd.iso записать ISO-образ [man]
# gzip -dc cd_iso.gz | cdrecord dev = / dev / cdrom — записать сжатый ISO-образ [man]
# cdrecord —scanbus сканирование шины для определения канала scsi [man]
# dd if = / dev / hdc | md5sum выполнить md5sum на устройстве, например компакт-диске [man]
# mkisofs / dev / cdrom> cd.iso создать iso-образ компакт-диска на диске [man]
# mkisofs / dev / cdrom | gzip> cd_iso.gz создать сжатый ISO-образ компакт-диска на диске [man]
# mkisofs -J -allow-lead-dots -R -V создать ISO-образ каталога [man]
# mount -o loop cd.iso / mnt / iso смонтировать ISO-образ [man]
« TOP «
Команда Описание
# dhclient eth0 активный интерфейс ‘eth0’ в режиме DHCP [man]
# ethtool eth0 показать сетевую статистику eth0 [man]
# хост www.example.com поиск имени хоста для преобразования имени в IP-адрес и наоборот [man]
# hostname показать имя хоста системы [man]
# ifconfig eth0 показать конфигурацию сетевой карты Ethernet [man]
# ifconfig eth0 192.168.1.1 маска сети 255.255.255.0 настроить IP-адрес [man]
# ifconfig eth0 promisc настроить ‘eth0’ в беспорядочном режиме для сбора пакетов (сниффинг) [man]
# ifdown eth0 отключить интерфейс ‘eth0’ [man]
# ifup eth0 активировать интерфейс «eth0» [man]
# ip link show показать статус связи всех сетевых интерфейсов [man]
# iwconfig eth2 показать беспроводные сети [man]
# iwlist scan сканирование Wi-Fi для отображения доступных беспроводных подключений [man]
# mii-tool eth0 показать статус ссылки ‘eth0’ [man]
# netstat -tup показать все активные сетевые соединения и их PID [man]
# netstat -tupl показать все сетевые службы, прослушивающие систему, и их PID [man]
# netstat -rn показать таблицу маршрутизации как «route -n» [man]
# nslookup www.example.com поиск имени хоста для преобразования имени в IP-адрес и наоборот [man]
# route -n показать таблицу маршрутизации [man]
# route add -net 0/0 gw IP_Gateway настроить шлюз по умолчанию [man]
# route add -net 192.168.0.0 маска сети 255.255.0.0 gw 192.168.1.1 настроить статический маршрут для доступа к сети 192.168.0.0 / 16 ‘[мужчина]
# route del 0/0 gw IP_gateway удалить статический маршрут [man]
# echo «1»> / proc / sys / net / ipv4 / ip_forward активировать IP-маршрутизацию [man]
# tcpdump TCP-порт 80 показать весь HTTP-трафик [man]
# whois www.example.com поиск в базе данных Whois [мужчина]
« TOP «
Команда Описание
# mount -t smbfs -o username = user, password = pass // WinClient / share / mnt / share смонтировать сетевой ресурс Windows [man]
# nbtscan ip_addr разрешение имени netbios [человек]
# nmblookup -A ip_addr разрешение имени netbios [человек]
# smbclient -L ip_addr / имя хоста показать удаленные общие ресурсы хоста Windows [man]
# smbget -Rr smb: // ip_addr / share например, wget может загружать файлы с хоста Windows через smb [man]
« TOP «
Команда Описание
# iptables -t фильтр -L показать все цепочки таблицы фильтрации [man]
# iptables -t нат -L показать все цепочки nat table [man]
# iptables -t filter -F удалить все правила из таблицы фильтрации [man]
# iptables -t nat -F удалить все правила из таблицы nat [man]
# iptables -t filter -X удалить все цепочки, созданные пользователем [man]
# iptables -t filter -A INPUT -p tcp —dport telnet -j ACCEPT разрешить telnet-соединения для ввода [man]
# iptables -t filter -A ВЫХОД -p tcp —dport http -j DROP блокировать HTTP-соединения для вывода [

Основные команды Linux

Базовые команды Linux

mkdir — сделать каталоги

Использование

mkdir [ОПЦИЯ] КАТАЛОГ

Опции

Создайте КАТАЛОГ (и), если они еще не существуют.

Обязательные аргументы для длинных опций являются обязательными и для коротких опций.

-m, mode = MODE установить режим разрешений (как в chmod), а не rwxrwxrwx — umask

-p, родительские каталоги без ошибок, если они существуют, при необходимости создать родительские каталоги

-v, подробный вывод сообщения для каждого созданного каталога

-help отобразить эту справку и выйти из

-version вывести информацию о версии и выйти из

cd — сменить каталоги

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

mv — изменить имя директории

Введите mv, затем текущее имя каталога и новое имя каталога.

Пример: mv testdir new namedir

pwd — распечатать рабочий каталог

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *