Команды 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». А потом уже можно открыть файл в редакторе и редактировать.
Как отредактировать файл
Вот честное слово, лучше делать это через графический интерфейс!
Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:
- nano — более простая программа, рассчитана на новичков
- 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 -i | IP адрес хоста |
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 firefox | find 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/tmp | Securely 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
- Вывести список залогиненных пользователей, время последней загрузки системы и прочую полезную информацию
]]>Вверх]]>
]]>оригинал документа]]>
Команда | Описание |
---|---|
Системная информация | |
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 - - 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 | собрать пакет из исходных кодов |
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 -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 |
Сеть (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
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. Во-первых, у нас есть корневой каталог, который является первым или самым верхним каталогом в нашем дереве. Он представлен косой чертой (/). В корне вы найдете множество подкаталогов.
Давайте посмотрим на некоторые важные подкаталоги:
- Bin : Этот каталог содержит исполняемые программы и команды, которые могут использоваться всеми пользователями системы.
- Opt: Это означает опционально. Этот каталог содержит коммерческие программные продукты, которые по умолчанию не установлены в вашей системе. Например, , если вы используете ubuntu, вы должны были заметить, что Google Chrome не установлен по умолчанию в вашей системе, и если вы хотите установить Google Chrome, вы найдете его в каталоге Opt.
- Temp: temp означает временный. В этом каталоге вы найдете временные файлы.
- Var: Содержит переменные данные, которые часто меняются со временем. К ним относятся файлы журналов, пулы электронной почты и пользовательские базы данных.
- 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 никогда не будет выполнен.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
« TOP « | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Основные команды Linux
Базовые команды Linux
mkdir — сделать каталоги
Использование
mkdir [ОПЦИЯ] КАТАЛОГ
Опции
Создайте КАТАЛОГ (и), если они еще не существуют.
Обязательные аргументы для длинных опций являются обязательными и для коротких опций.
-m, mode = MODE установить режим разрешений (как в chmod), а не rwxrwxrwx — umask
-p, родительские каталоги без ошибок, если они существуют, при необходимости создать родительские каталоги
-v, подробный вывод сообщения для каждого созданного каталога
-help отобразить эту справку и выйти из
-version вывести информацию о версии и выйти из
cd — сменить каталоги
Используйте компакт-диск для изменения каталога.Введите cd, а затем имя каталога для доступа к этому каталогу. Помните, что вы всегда находитесь в каталоге и можете переходить к каталогам иерархически выше или ниже.
mv — изменить имя директории
Введите mv, затем текущее имя каталога и новое имя каталога.
Пример: mv testdir new namedir
pwd — распечатать рабочий каталог
покажет вам полный путь к каталогу, в котором вы сейчас находитесь.