Основные команды Linux и Unix консоли
Приступая к изучению консоли Linux, не обойтись без знания консольных команд.
В этой заметке перечислены основные команды линукс консоли, доступные как при работе за терминалом, так и через ssh:
su, sudo, whoami, fsck, uptime, who, w, df, du, ifconfig, ping, traceroute, mtr, whois, ps, top, kill, killall, man, passwd, ls, pwd, mkdir, rmdir, rm, mv, cat, less, more, chmod, chown, tar, wget, find, locate, history, reboot, halt, shutdown
Команда su
su войти в систему под именем peleh, не завершая текущий сеанс.
пригласительный знак для пользователей выглядит как $, а для суперпользователя root — #.
Обычно команда su используется для временного входа суперпользователем для выполнения административных работ.
Команда sudo
sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле
Команда whoami
whoami — вывести имя пользователя, который авторизирован в системе
Команда fsck
fsck — команда UNIX, которая проверяет и устраняет ошибки в файловой системе. После запуска команды необходимо подтверждать (y) или не подтверждать (n) исправление той или иной ошибки. Для автоматической проверки и исправления ошибок необходимо запустить команду с ключиком ‘-y’: fsck -y
Команда uptime
uptime показывает текущее время, время работы после загрузки, количество текущих пользователей и нагрузку за последние 1, 5 и 15 минут.
Команда who
who — показать список пользователей в системе
Команда w
w — показать информацию о работающих в данный момент на сервере пользователях и о их процессах, а также среднюю нагрузку сервера за последние 1, 5 и 15 минут (uptime + who
).Команда df
df (аббревиатура от disk free) — показать список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования. Удобно использовать с ключиком -h (отображается размер в Gb):
Команда du
du — показать размер отдельного файла:
Команда ifconfig
ifconfig — показать сетевые настройки (интерфейсы):
Команда ping
ping — утилита для проверки соединений в сетях на основе TCP/IP:
Команда traceroute
traceroute — определить маршрут следования данных в сетях TCP/IP:
Команда mtr
mtr ya.ru — показать маршрут следования данных в сети Интернет и процент потерь, обновляя постоянно данные:
Команда whois
whois — показать информацию о домене (данные о регистраторе, сроке продления домена, сервера имен… ):
Команда ps
Команда top
top – показать все запущенные процессы
Команда kill
kill pid – убить процесс с id pid
Команда killall
killall ispmgr – убить все процессы с именем ispmgr
Команда man
man passwd — вывести на экран справку о команде passwd
Команда passwd
passwd testuser — сменить пароль для пользователя testuser. По умолчанию командой passwd без указания конкретного пользователя изменится пароль для пользователя, который авторизирован в системе.
Команда ls
ls – список файлов и каталогов (с ключиком «-lа» — список со скрытыми файлами):
Команда pwd — текущая директория
pwd — вывести полный путь от корневого каталога к текущему рабочему каталогу (показывает директорию, в которой Вы находитесь):
Команда mkdir
mkdir folder – создать каталог/директорию folder
Команда rmdir
rmdir — удалить каталог из файловой системы. Удаление директории и ее содержимого также можно выполнить командой rm -rf (ключ -r для каталогов).
Команда rm
rm file — удалить файл file с подтверждением
rm file* — удалить все файлы, которые начинаются с символов file с подтверждением:
Команда mv
mv (от англ. move) — используется для перемещения или переименования файлов или каталогов:
1 — переименование директории folder в folder00:
2 — перемещение файла в директорию:
Команда cat
cat > file – направить стандартный ввод в file (тоесть создать файл с необходимым содержанием):
Чтобы завершить ввод информации в этот файл, необходимо, как обычно, нажать сочетание клавиш <Ctrl+d>.
cat file — показать содержимое файла file:
cat
Команда less, more
Просматривать содержимое файла можно также командой less или more.
Команда chmod
chmod — сменить права доступа на файл или директорию (для директорий зачастую используются 751(-rwxr-xr-x), а для файлов — 644(-rw-rw-r—)), где
4 – чтение (r)
2 – запись (w)
1 – исполнение (x):
Команда chown
chown — сменить владельца для файла
Команда tar
tar file.tar file — заархивировать файл file и присвоить ему имя file.tar:
где опция -с (create) — создать. Команда tar -xpf folder00.tar разархивирует архив в текущую директорию сохраняя права доступа на файл.
Команда wget
wget — скопировать на сервер файл по сети:
Команда find
find — поиск файла:
Команда locate
locate — поиск файла:Команда history
history — показать историю команд (можно указать количество строк для просмотра):
Команда reboot
reboot — перезагрузить сервер
Команда halt
halt — выключить сервер
Команда shutdown
shutdown — выключить или перезагрузить сервер (в зависимости от опций)
Команда cd Linux — Losst
При работе в терминале все команды привязываются к текущей папке. В ней будут создаваться файлы, если не был указан точный адрес, в ней же могут создаваться временные файлы. Да и просто адресовать файлы команде намного удобнее из текущей папки, просто указав имя файла, а не полный путь в файловой системе.
По умолчанию, в качестве текущей папки используется домашняя, но для большего удобства нам приходится часто менять ее на другую. Для этого существует команда cd linux. В этой небольшой статье мы рассмотрим как использовать эту команду и какие у нее есть возможности.
Содержание статьи:
Команда cd Linux
Перед тем как мы перейдем к работе с утилитой, давайте рассмотрим ее синтаксис и основные опции. Строго говоря, это вообще никакая не утилита. Ее нет в файловой системе. Это встроенная команда Bash и меняет текущую папку только для оболочки, в которой выполняется. Вот основной синтаксис команды:
$ cd опции папка_назначения
Опций всего две, это -P и -L. Они влияют на то, как будут обрабатываться символы возврата в предыдущую директорию и символические ссылки:
- -P — позволяет следовать по символическим ссылкам перед тем, как будут обработаны все переходы «..»;
- -L — переходит по символическим ссылкам только после того, как были обработаны «..»;
- -e — если папку, в которую нужно перейти не удалось найти — выдает ошибку.
Дальше нужно указать директорию, в которую следует перейти. Если этого не сделать, а вызвать cd без параметров, то рабочей папкой будет выбран ваш домашний каталог. А теперь давайте рассмотрим несколько примеров работы с cd linux.
Использование cd в linux
Я не буду здесь описывать какими бывают пути в Linux. Мы рассматривали эту тему в отдельной статье. По умолчанию, в качестве рабочего каталога используется домашняя папка пользователя. Давайте сначала перейдем в одну из подпапок домашней папки:
cd Загрузки/
Домашняя папка обозначается как ~/. Поэтому следующая команда выполнит аналогичное действие:
cd ~/Загрузки/
Правда, здесь есть преимущество. В первой команде используется относительный путь, тогда как вторая правильно выполнится из любой папки. Теперь переместимся в папку /usr/lib относительно корня:
cd /usr/lib/
С помощью символа черты «-» вы можете вернуться в предыдущую папку:
cd -
Используя двойную точку «..» можно перейти в родительский каталог:
cd ..
Вы можете использовать несколько блоков с точками для перемещения на несколько уровней вверх:
cd ../../
Как уже говорилось, если не передать папку, в которую нужно перейти, будет открыта домашняя папка:
cd
Аналогичный результат выдаст команда:
cd ~
Для упрощения перехода по папкам можно использовать символ звездочки. Правда, автодополнение сработает только если на указанные символы будет начинаться только одна папка.
cd /var/w*
Кроме cd, есть еще две дополнительные команды, это pushd и popd. Можно сказать, что простая реализация стека для рабочих каталогов. Когда вы выполняете pushd, текущий рабочий каталог сохраняется в памяти, а на его место устанавливается указанный:
pushd /var/www/html
Теперь наберите popd, чтобы вернуться в предыдущий каталог:
popd
Это реализация стека, поэтому количество каталогов в памяти не ограничено двумя. Вы можете перемещаться по такому количеству папок, как вам нужно.
Наконец, еще один момент, если вам нужно перейти в каталог, в имени которого есть пробелы, используйте символ экранирования обратный слэш «\» или просто возьмите его имя в скобки:
cd ~/Загрузки/новая\ папка/
$ cd "~/Загрузки/новая папка/"
Выводы
Теперь вы знаете зачем нужна команда cd Linux, а также как максимально эффективно ею пользоваться при работе в терминале. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!
11 основных *nix команд, который ты обязательно должен знать
Командная строка, во многом, делает нашу жизнь несколько проще, так как благодаря ей мы можем автоматизировать некоторые повседневные задачи и сделать работу более простой. Вместо того, чтобы щёлкать по графическому интерфейсу (GUI), мы можем быстро запустить несколько команд, которые выполнят все нужные задачи.
Unix shell — это интерпретатор командной строки или оболочка, которая предоставляет пользовательский интерфейс для работы из командной строки для Unix-подобных операционных систем. Shell является одновременно интерактивным языком команд и языком скриптов, и он используется операционной системой для управления работой системы с использованием встроенных скриптов оболочки.
Любая операционная система на базе Linux или Mac имеет командную строку, доступную по умолчанию, именуемую как «Терминал». Командная строка (CLI) позволяет нам легко создавать, перемещать, удалять, переименовывать файлы, сортировать данные и перемещаться по папкам, просматривая содержимое.
Без лишних слов, вот 11 применений командной строки, которые сделают вашу жизнь проще.
Повысьте свою продуктивность с помощью этих консольных команд
1. grep
grep "some string" file
Unix команда grep предназначена для поиска. Эта команда ищет строку в файлах по шаблону. Она также ищет шаблоны, разделенные символами перехода на новую строку, и печатает в консоли каждую строку, соответствующую этому шаблону.
Например, выполним команду grep, чтобы найти в файле все совпадения со строкой
json
Опция -i
позволяет нам искать строку в данном файле без учета регистра. Он соответствует словам типа «JSON», «JsoN» и «Json».
Мы так же можем получить количество строк, которое соответствует данной строке/шаблону указав флаг -c
(count).
grep -c "json" index.js
Эта команда подсчитывает, сколько раз в файле было найдено совпадение со строкой
json
Вот, кстати, забавный и интересный комикс посвящённый команде grep
, который я нашел в интернете (на английском).
Кроме того, есть вариант вызова программ egrep
и fgrep
что тождественно вызову grep -E
и grep -F
соответственно. Эти варианты устарели, но предусмотрены для сохранения обратной совместимости.
Можете детальнее познакомиться с grep
на странице документации.
2. ls
ls
Unix команда ls
выводит список файлов и каталогов по текущему активному пути. Если путь представляет собой файл, ls
отображает информацию о файле в соответствии с указанными параметрами. Если путь является папкой, ls
отображает информацию о файлах и подпапках в нём.
Используя команду
ls
, выводим список всей файлов и папок в текущей директории
Возможно, вы заметили, что файлы на скриншоте отображаются серым цветом, а папки — голубоватыми. Это здорово помогает отличать папки от файлов при просмотре из консоли.
3. pwd
pwd
Выводи полный путь к текущей активной директории
Команда pwd
— это утилита командной строки для печати текущего рабочего каталога. Вывод выведет полный системный путь текущего рабочего каталога в консоль. По умолчанию команда pwd
игнорирует символические ссылки, хотя полный физический путь к текущему каталогу может быть показан с опцией.
4. cat
cat <filename>
Отображает содержимое указанного файла
Unix команда cat
имеет три функциональные способности в контексте текстового файла:
- Отображение содержимого файла
- Объединение копий
- Создание новых файлов
Самым распространенным случаем использования cat
является чтение содержимого файлов, и, к слову, cat
часто является наиболее удобной программой для подобных целей.
В следующем примере стандартный вывод cat
перенаправляется с помощью оператора перенаправления вывода (который представлен угловой скобкой, направленной вправо >
) в файл somefile2
:
cat somefile > somefile2
Создание и копирование содержимого файлов с помощью
cat
5. echo
echo "some text"
Команда echo
в Linux используется для отображения строки текста/строки, переданной в качестве аргумента. Команда echo
является встроенной, она, в основном используется в shell-скриптах и пакетных файлах для вывода текста состояния на экран или в файл.
Вы можете передавать этой функции как заданный текст, так и результат из переменной.
6. touch
touch <filename>
Команда touch
используется для создания файла без какого-либо содержимого. Команда touch
может использоваться, когда у пользователя на момент создания файла ещё нет данных о его содержимом.
Создание нового файла с помощью функции touch
Обратите внимание, на изображении выше мы использовали команду touch
для создания файла, а cat
— для его просмотра. Поскольку только созданный файл test.txt
пуст, команда cat
ничего не возвращает.
Есть несколько ключевых различий между cat
и touch
:
cat
— используется для создания файла с содержимым.touch
— создаёт пустой файл, без содержимого. Помните, что файл, созданный с помощьюtouct
— пуст. Эта команда полезна, когда у пользователя нет данных содержимого файла во время его создания.
7 mkdir
mkdir <directory name>
Как вы уже догадались, команда mkdir
создаёт новую папку по текущему активному пути. Вместо того, чтобы создавать новую папку через редактор или в графическом интерфейсе, используйте эту команду.
Создание новой папки командой mkdir
Обратите внимание, что мы можем просмотреть содержимое каталога с помощью предыдущей команды ls.
7.1 rm
rm <directory name>
Команда rm
выполняет удаление папки или файла.
Удаление файла/папки командой
rm
По умолчанию команда rm
не удаляет папки. Для того, чтобы удалить папку командой rm
нужно указать дополнительно флаг -rf
.
rm -rf <directory name>
Запомните, что для удаления папки нужно передавать дополнительный флаг
Эта команда удаляет каталог безвозвратно, независимо от того, содержит ли каталог внутри файлы/папки, или нет.
7.2 rmdir
rmdir <directory name>
Команда rmdir
удаляет именно папку, если в неё нет никакого содержимого.
Удаление пустой папки командой rmdir
8. tail
tail <file name>
Команда tail
читает файл и выводит его последнюю, завершающую часть («хвост»).
Выводим последние строчки содержимого файла
Команда tail
полезна при просмотре отчетов о сбоях или длинных журналов логов. Вот пример его полезности при работе с файловыми логами:
# tail /var/log/messages
Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*.
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd)
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4.
Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf
Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds.
Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
9. wget
wget <some url>
GNU Wget — это бесплатное программное обеспечение для получения файлов по HTTP, HTTPS, FTP и FTPS — наиболее широко используемых интернет-протоколов. Это неинтерактивный инструмент командной строки, поэтому его легко вызывать из скриптов, CRON-задач, терминала без поддержки X-Windows и т.д.
Мы ещё раньше разбирали работу с этой программой, рассматривая основные опции и возможность парсинга и сохранения сайтов с её помощью.
Сохраняем главную страницу всеми нами любимого сайта
GNU Wget обладает множеством функций, облегчающих получение больших файлов или выкачивание всего веб-сайта или FTP-сайта. Wget обладает такими преимуществами, в том числе:
- Может возобновить прерванные загрузки, используя REST и RANGE
- Может использовать шаблоны имени файла и рекурсивно скачивать каталоги, воссоздавая зеркальную структуру папок на локальной машине
- Опционально преобразует абсолютные ссылки скачиваемых документов в относительные, чтобы загруженные документы могли ссылаться друг на друга и корректно отображаться локально
- Кроссплатформенность: работает в большинстве UNIX-подобных операционных систем, а также в Microsoft Windows
- Поддерживает HTTP прокси
- Поддерживает HTTP куки
- Поддерживает постоянное HTTP-соединение
- Автоматическая / фоновая работа
- Использует локальные временные метки файлов, для определения необходимости повторной загрузки документа при выкачивании в зеркальной структуре.
В одной из прошлыъ статей мы ужа рассматривали работу с Wget, и его пользу при парсинге сайтов. Советую ознакомиться с этой статьей подробнее по ссылке.
10. find
find path -name <filename>
Команда find
позволяет быстро найти файл или папку. Это полезно, когда вы работаете над большим проектом с сотнями файлов и папок.
Поиск файла с названием CallbackApiService.php
Поиск файлов определенного типа
Команда find
также позволяет вам искать файлы в каталоге (и его подкаталогах) конкретного типа. Например, следующая команда будет искать все файлы с расширением .js
в вашем текущем рабочем каталоге.
find . -name "*.js"
Поиск всех файлов с расширением
.js
в директории
11. mv
mv <filename> </to/some/other/path>
Команда mv
перемещает файлы или каталоги из одного места в другое. Команда mv
поддерживает перемещение отдельных файлов, или, одновременно, нескольких файлов и каталогов.
Перемещаем файл в другую папку
Резюме
Спасибо за чтение этой статьи, надеюсь, вы узнали что-то новое. Оставайтесь голодными и жадными к новым знаниям! В этой статье я рассмотрел основные unix команды терминала, которые каждый день используются при разработке, или деплое на сервер.
Я создал для вас небольшой справочник команд unix, которые обязан знать каждый разработчик, администратор, или обычный пользователь *unix-овых систем. Этот справочник покрывает все аспекты реального пользования операционной системой, и содержит: unix команды для копирования, создания, удаления и фильтра файлов.
unix — Основные команды консоли
pwd — печатать рабочий каталог
$> pwd
/home/myUserHome
$> cd ..
$> pwd
/home
будет печатать текущий путь к консоли.
pushd / popd (сохраните текущий каталог в стеке и перейдите в папку dest / pop prev dir и перейдите к нему)
$ pwd
/home/bob/somedir1/somedir2/somedir3
$ pushd /home/bob/otherdir1/otherdir2
/home/bob/otherdir1/otherdir2 /home/bob/somedir1/somedir2/somedir3
$ popd
/home/bob/somedir1/somedir2/somedir3
$ pushd /usr
/usr /home/bob/somedir1/somedir2/somedir3
$ pushd /var
/var /usr /home/bob/somedir1/somedir2/somedir3
$ popd
/usr /home/bob/somedir1/somedir2/somedir3
$ pwd
/usr
$ popd
/home/bob/somedir1/somedir2/somedir3
$ pwd
/home/bob/somedir1/somedir2/somedir3
команды управления файлами
Список команд, которые будут представлены здесь:
ls #view contents of a directory
touch #create new file
mkdir #create new directory
cp #copy contents of one file to another
mv #move file from one location to another
rm #delete a file or directory
Примеры
[email protected]_computer:~/Desktop$ ls
c++ projects Research Paper.docx test.cpp
показывает текущий каталог
[email protected]_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp encryption.cpp pool_game.cpp
показывает каталог «c ++ projects». Символы пространства в именах файлов набираются как «\».
пример касания
[email protected]_computer:~/Desktop$ ls
c++ projects Research Paper.docx test.cpp
[email protected]_computer:~/Desktop$ touch ruby_test.rb
[email protected]_computer:~/Desktop$ ls
c++ projects Research Paper.docx ruby_test.rb test.cpp
Пример mkdir
[email protected]_computer:~/Desktop$ mkdir ruby
[email protected]_computer:~/Desktop$ ls
c++ projects Research Paper.docx ruby ruby_test.rb test.cpp
[email protected]_computer:~/Desktop$ cd ruby
[email protected]_computer:~/Desktop/ruby$ ls
<nothing>
[email protected]_computer:~/Desktop/ruby
На самом деле он не печатает <nothing>
. Это то, как я представляю, что он ничего не выводит
Примеры cp
[email protected]_computer:~/Desktop/ruby$ cd ..
[email protected]_computer:~/Desktop$ cp test.cpp c++_test.cpp
[email protected]_computer:~/Desktop$ ls
c++ projects c++_test.cpp Research Paper.docx ruby ruby_test.rb
test.cpp
Это когда последний аргумент arg для cp
, в данном случае «c ++ _ test.cpp» не является существующим каталогом. cp
создаст файл с именем «c ++ _ test.cpp» с содержимым, идентичным содержимому «test.cpp». Если c ++ _ test.cpp уже существует, cp
удалил бы то, что было раньше, перед копированием содержимого «test.cpp».
[email protected]_comptuer:~/Desktop$ ls ruby
<nothing>
[email protected]_computer:~/Desktop$ cp ruby_test.rb ruby
[email protected]_computer:~/Desktop$ ls ruby
ruby_test.rb
Это то, что происходит, когда последний arg для cp
, в данном случае «ruby», является каталогом. cp
создает файл с таким же именем, как ruby_test.rb, но в каталоге «ruby».
Примеры mv
[email protected]_computer:~/Desktop$ ls
c++ projects c++_test.cpp Research Paper.docx ruby ruby_test.rb
test.cpp
[email protected]_computer:~/Desktop$ mv ruby_test.rb ruby\ test.rb
[email protected]_computer:~/Desktop$ ls
c++ projects c++_test.cpp Research Paper.docx ruby ruby test.rb
test.cpp
Это то, что происходит, когда последний аргумент mv
, в данном случае «ruby test.rb», не является существующим каталогом. Файл «ruby_test.rb» был переименован в «ruby test.rb». Если «ruby test.rb» уже существует, оно было бы перезаписано. Обратите внимание, что перед пробелами предшествует «».
[email protected]_computer:~/Desktop$ ls
c++ projects c++_test.cpp Research Paper.docx ruby ruby test.rb
test.cpp
[email protected]_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp encryption.cpp pool_game.cpp
[email protected]_computer:~/Desktop$ mv test.cpp c++\ projects
[email protected]_computer:~/Desktop$ ls
c++ projects c++_test.cpp Research Paper.docx ruby ruby test.rb
[email protected]_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp encryption.cpp pool_game.cpp test.cpp
Это то, что происходит, когда mv
— это уже существующая директория. Файл «test.cpp» перемещается в каталог «c ++ projects».
Примеры rm
[email protected]_computer:~/Desktop$ ls
c++ projects c++_test.cpp Research Paper.docx ruby ruby test.rb
[email protected]_computer:~/Desktop$ rm c++_test.cpp
[email protected]_computer:~/Desktop$ ls
c++ projects Research Paper.docx ruby ruby test.rb
c ++ _ test.cpp удален
[email protected]_computer:~/Desktop$ rm c++\ projects
rm: cannot remove 'c++ projects': Is a directory
[email protected]_computer:~/Desktop$ ls
c++ projects Research Paper.docx ruby ruby test.rb
rm
имеет дополнительное требование для удаления каталогов
[email protected]_computer:~/Desktop$ rm -rf c++\ projects
[email protected]_computer:~/Desktop$ ls
Research Paper.docx ruby ruby test.rb
-rf
необходимо добавить для удаления каталога.
Чтобы узнать больше о ls
, введите команду ls --help
. Для touch
введите touch --help
. Аналогично со всеми 6 командами, упомянутыми здесь. При этом выдается подробное объяснение использования без создания или удаления чего-либо.
команда cd, объясненные каталоги
[email protected]:~$
Символ ~
после тех, who-cares:
это текущий каталог. ~
самом деле означает домашний каталог человека. В этом случае это /home/michael
.
[email protected]:~$ cd Downloads
[email protected]:~/Downloads$
Ищет Downloads
в текущем каталоге, а затем делает это текущим каталогом.
[email protected]:~/Downlaods$ cd /var
[email protected]:/var$
Поскольку этот каталог начинался с символа /
, это означает, что в корневом каталоге находится каталог var
. Для тех, кто приходит из окон, корневой каталог эквивалентен C:\
. Каталоги, начинающиеся с /
, называются «абсолютными каталогами», а каталоги, которые не называются «относительными каталогами»,
[email protected]:/var cd lib/dbus
[email protected]:/var/lib/dbus$
Средство /
в середине означает cd lib
и один раз это сделало cd dbus
одной командой.
[email protected]:/var/lib/dbus$ cd .
[email protected]:/var/lib/dbus$
.
на самом деле означает «текущий каталог». Команда cd .
в основном бесполезно, но .
полезен для других вещей.
[email protected]:/var/lib/dbus$ cd ..
[email protected]:/var/lib$
..
самом деле означает «родитель текущего каталога». Таким образом, cd ..
означает «перемещаться по одному каталогу вверх».
[email protected]:/var/lib$ cd ../log/apt
[email protected]:/var/log/apt$
.
и ..
также может быть частью /
цепи. Кроме того, нет предела тому, как долго это может быть.
[email protected]:/var/log/apt$ cd /dev/bus
[email protected]:/dev/bus$
Цепочка /
может даже существовать, когда каталог начинается с root.
[email protected]:/dev/bus$ cd /
[email protected]:/$
cd /
переносит вас в корневой каталог. Интересно, что произойдет, если вы наберете cd ..
здесь … (не беспокойтесь, это безопасно)
[email protected]:/$ cd home
[email protected]:/home$ cd michael
[email protected]:~$
У каждого пользователя есть каталог для своего материала внутри домашнего каталога. Если текущий каталог находится под домашним каталогом, эта часть имени в этом случае /home/michael
заменяется на ~
.
[email protected]:~$ cd sys
[email protected]:/sys$ cd ~/Desktop
[email protected]:~/Desktop$ cd ~/..
[email protected]:/home$
~
также может быть частью /
цепи. Это может быть даже в той же цепочке, что и ..
Если каталог начинается с ~
, это абсолютный каталог, как если бы он начинался с /
.
Последнее, что нужно попробовать: введите cd
без каталога после.
который
Для того, чтобы определить , где в вашей системе исполняемый в вашем пути существует, использовать which
команда :
$ which python
$
Если ответа нет, этот исполняемый файл не существует на вашем пути. Система просто вернет вам новое приглашение без сообщения об ошибке. Если исполняемый файл существует на вашем пути, он покажет каталог, в котором он существует:
$ which ls
/bin/ls
Это может быть полезно при определении того, почему поведение не соответствует ожиданию, гарантируя, что вы выполняете версию исполняемого файла, который, по вашему мнению, вы. Например, если у вас установлены оба Python 2 и Python 3, они оба могут быть выполнены, набрав python
в терминале, но исполняемый файл, который выполняется, может отличаться от ожидаемого. Как показано выше, эта команда будет работать для любой стандартной команды unix, которая поддерживается отдельными исполняемыми файлами.
Основные команды Unix
$pwd
Отображает текущий рабочий каталог.
$who
Отображает всех зарегистрированных пользователей.
$who am i
Показывает имя пользователя текущего пользователя.
$date
Отображает текущую системную дату
$which <command>
Показывает путь указанной команды. Например, «$ which pwd» покажет путь команды «pwd».
$file <file_name>
Показывает тип указанного файла (обычный файл, каталог или другие файлы)
$cal
Отображает календарь текущего месяца.
$bc
Показывает математический расчет между двумя целыми числами. Например, «$ bc 2 + 3» вернет арифметическую сумму 3 и 5.
$ls
Перечисляет содержимое каталога.
- $ ls -l: списки в длинном формате.
- $ ls -c: вывод нескольких столбцов.
- $ ls -f: отображает тип файла.
- $ ls -r: Рекурсивный список всех найденных подкаталогов.
- $ ls -a: отображает все файлы, включая скрытые файлы.
- $ ls -i: список всех файлов вместе со своим номером I-узла.
$grep [options] <pattern> <input_file_names>
Печать строк, содержащих совпадение для шаблона.
- $ grep -i: выполнить нечувствительность к регистру
- $ grep -v: печатает все строки, которые не содержат регулярное выражение
- $ grep -r: рекурсивно искать подкаталоги, перечисленные и печатает имена файлов с появлением шаблона
- $ grep -I: Исключить двоичные файлы
Полный список команд для PuTTY, SSH, Unix и Linux серверов
Как правило, для управления Unix\Linux веб-сервером, используют бесплатную программу PuTTY, которая через защищенный SSH-протокол передает команду, которая распознается и выполняется сервером. Как подключиться к серверу и передавать команды через командную строку читайте здесь. А мы далее приводим большую часть команд, в зависимости от их направленности.
- Операции с файлами
- Работа с процессами
- Права доступа к файлам
- Работа по SSH
- Команды для поиска
- Системная информация
- Работа с системой и базами данных
- Архивы
- Сеть
- Горячие клавиши
Операции с файлами
Команда Действие ls показать список файлов и каталогов ls -al показать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения cd директория перейти в указанную директорию; cd перейти в домашний каталог pwd показать текущую папку mkdir директория создать папку «директория» rm имя_файла удалить файл с именем имя_файла rm -r диретория удалить папку «директория» cp файл1 файл2 скопировать файл1 в файл2 cp -r папка1 папка2 скопировать папка1 в папка2 touch файл создать файл и с именем «файл» cat > файл направить стандартный ввод в «файл» more файл показать содержимое файл head файл показывает первые 10 строк из файла tail файл показывает последние 10 строк из файла
Работа с процессами
Команда Действие ps показывает текущие процессы, которые активны top показывает все процессы kill процесс убивает процесс с id «процесс» killall проц убивает все процессы с именем проц bg показывает список фоновых задач, а также остановленных; bg процесс продолжит выполнение остановленного процесса в фоне
Операции с правами доступа к файлам
Команда Действие chmod 755 файл задает права 755 для файла find /path/to/dir -type f -exec chmod 0644 {} укажет права 644 на все файлы на сервере find /path/to/dir -type d -exec chmod 0755 {} укажет права 755 на все папки на сервере
Работа с SSH
Команда Действие ssh user@host подключает к хосту «host» как «user» ssh -p port user@host подключает к хосту «host» на порт «port» как «user» ssh-copy-id user@host добавит ключ на «host» для пользователя «user», при этом операция входа будет происходить без логина, а через ключ
Как искать?
Команда Действие grep слово файл ищет «слово» в «файле» locate файл найдет все файлы с именем «файл»
Информация о системе
Команда Действие date показать время и дату cal показать календарь uptime проверить аптайм (время безотканой работы) w покажет количество пользователей, которые в данный момент используют сервер whoami покажет Ваш логин finger юзер покажет инфу о пользователе «юзер» uname -a информация про ядро cat /proc/cpuinfo информация про CPU cat /proc/meminfo информация про память man команда покажет все о команде df информация о дисках du покажет, сколько памяти занимает текущий каталог free сколько памяти используется whereis программа найдет место расположения программы which программа определеяет, что «программа» будет запущена первой vmstat покажет загрузку процессора
Работа с системой и базами данных
Команда Действие apachectl restart перезапуск сервера Apache apachectl startssl запуск сервера Apache apachectl stop выключение сервера Apache /usr/local/etc/rc.d/mysql-server restart перезапуск MySQL mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/бд.sql создать копию базы данных бд.sql mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/бд.sql импортировать бд.sql в базу данных mysql на сервере exit выйти из системы reboot перезапуск сервера
Работа с архивами
Команда Действие tar cf myfile.tar файлы запаковать «файлы» в архив myfile.tar tar xf myfile.tar разархивировать myfile.tar tar czf myfile.tar.gz files архивировать с использованием Gzip (особое сжатие на сервере) tar xzf myfile.tar.gz разархивировать Gzip-файл tar cjf myfile.tar.bz2 архивировать с использованием Gzip tar xjf myfile.tar.bz2 разархивировать Bzip2-файл gzip myfile запаковать myfile и переименовать в его в myfile.gz gzip -d myfile.gz распаковать myfile.gz в myfile
Сеть
Команда Действие ping хост показывает пинг до хоста whois домен.ком показывает WHOIS о домене «домен.ком» dig домен.ком показывает на каких DNS находится домен «домен.ком» wget myfile закачивает на компьютер файл myfile wget -c file если закачка была остановлена, то эта команда может ее продолжить wget https://www.mysite.com/myfile.zip загрузит файл из интернета (по адресу https://www.mysite.com/myfile.zip) в текущую директорию на сервере
Клавиши
Команда Действие Ctrl+C прекратить текущую команду Ctrl+D выйти из системы\сменить пользоваателя (вместо этого можно использовать команду exit) Ctrl+U удаляет строку Ctrl+Z остановка текущей команды и продолжить с fg или bg Ctrl+W удалить слово в текущей строке !! повторяет последнюю команду
расширенный справочник команд Unix / Linux / PuTTY SSH
Большинство UNIX-like систем обладают встроенной справкой, которая подробно описывает все доступные команды. Однако чтобы воспользоваться этой справкой, вы должны знать, по крайней мере, название команды, о которой вы хотите получить информацию. Поскольку большинство пользователей только в общих чертах понимают, что они хотят сделать, то, как правило, встроенная справка мало полезна новичкам.
Этот справочник поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду Linux по краткому описанию.
- Системная информация:
- 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/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 или 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-архив
- 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 update — получить обновлённые списки пакетов
- apt-get upgrade — обновить пакеты, установленные в систему
- apt-get install package_name — установить / обновить пакет
- apt-cdrom install package_name — установить / обновить пакет с cdrom’а
- apt-get remove package_name — удалить пакет, установленный в систему с сохранением файлов конфигурации
- apt-get purge package_name — удалить пакет, установленный в систему с удалением файлов конфигурации
- apt-get check — проверить целостность зависимостей
- apt-get clean — удалить загруженные архивные файлы пакетов
- apt-get autoclean — удалить старые загруженные архивные файлы пакетов
- Pacman — средство управление пакетами (Arch, Frugalware и alike)
- pacman -S name — install package «name» with dependencies
- pacman -R name — delete package «name» and all files of it
- Просмотр содержимого файлов:
- 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 на стандартное устройство вывода по мере появления в нём текста.
- Манипуляции с текстом:
- grep -HR OLDTEXT ./ | awk ‘{print $1}’ | sed ‘s/:.*$//’ | grep -v ‘~’ | sort | uniq | xargs perl -i -pe «s/OLD_TEXT/NEW_TEXT/g;» — Поиск и замена текста OLDTEXT на NEW_TEXT во многих файлах одновременно с рекурсивным обходом директорий.$/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 — сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
- Преобразование наборов символов и файловых форматов:
- 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
- Форматирование файловых систем:
- 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.example.com или host 192.0.43.10 — разрешить имя www.example.com хоста в 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 — просканировать эфир на предмет, доступности беспроводных точек доступа
- iwconfig eth2 — показать конфигурацию беспроводного сетевого интерфейса eth2
- Microsoft Windows networks(SAMBA):
- 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-машине, в локальную файловую систему
- IPTABLES (firewall):
- 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 — перенаправление пакетов, адресованных одному хосту, на другой хост
- Мониторинг и отладка:
- 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 — вывести десять последних записей из системного журнала
- Другие полезные команды:
- 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
Прокачай терминал! Полезные трюки, которые сделают тебя гуру консоли — «Хакер»
Содержание статьи
О том, что командная строка — это удобнейший инструмент, знает любой юниксоид, потративший пару часов на изучение базовых команд и синтаксиса bash. Но далеко не каждый понимает, насколько на самом деле может быть эффективна консоль. В этой статье мы разберем множество интересных трюков, которые позволят тебе так прокачать навык обращения с командной строкой, что ты уже не захочешь возвращаться к графическому интерфейсу.
Эта статья не обучит тебя, как пользоваться консолью, как объединять команды в пайпы и перенаправлять ввод-вывод. Она не о том, как писать скрипты или функции. Из нее ты не узнаешь, чем отличается bash от tcsh. Ее задача — показать тебе, как использовать консоль на всю катушку, добавить +50 к скорости ввода команд и +100 к эффективности. Поэтому новичкам стоит начать с базовых руководств или хотя бы изучить linux cheat sheet.
А мы, недолго думая, перейдем к делу.
Мигрируем на ZSH
Первое, что стоит сделать перед началом прокачки скиллов, — это избавиться от bash. Не потому, что он плохой или устаревший, а потому, что существует ZSH. Он неиллюзорно повысит твою продуктивность.
ZSH — очень сложный и комплексный командный интерпретатор. Полное руководство ZSH насчитывает около 800 страниц, а абсолютно все его функции, наверное, не знает никто. Но этого ни от кого и не требуют. На свете уже несколько лет существует проект oh-my-zsh, где пользователи создают набор скриптов, с помощью которых можно твикать и настраивать ZSH быстро и легко.
Чтобы получить стандартный набор твиков и настроек, включая мощный механизм автодополнения, информативное приглашение к вводу команды, настройки, повышающие удобство работы с ZSH, достаточно просто установить oh-my-zsh. Далее его можно обвешать плагинами для большего удобства работы с разными приложениями и поменять тему приглашения на любую из десятков, созданных пользователями.
Итак, для начала устанавливаем ZSH:
$ sudo apt-get install zsh
А затем скачиваем и устанавливаем oh-my-zsh:
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Скрипт установки клонирует git-репозиторий в каталог /home/username/.oh-my-zsh
, добавит необходимые правки для вызова нужных скриптов в конфиг /home/username/.zshrc
и запустит ZSH.
Теперь необходимо сделать ZSH шеллом по умолчанию:
$ sudo usermod -s /usr/bin/zsh имя_юзера
И перелогиниться, чтобы эмулятор терминала использовал ZSH в качестве дефолтового шелла. В качестве опционального шага ты можешь изменить тему. В комплект oh-my-zsh входит огромное количество тем, ознакомиться с которыми можно на wiki-странице. Чтобы выбрать новую тему, исправь значение переменной ZSH_THEME в файле ~/.zshrc. Выберем, например, тему agnoster:
ZSH_THEME="agnoster"
Тема agnoster
Перемещаемся по каталогам быстро
Одна из главных проблем консоли состоит в том, что ее неудобно использовать для перемещения по каталогам. Особенно если вложенных каталогов много, они имеют длинные имена, а еще хуже — похожие имена. В этом случае система автодополнения с помощью кнопки Tab помогает плохо и все, что остается, — это печатать имена каталогов руками.
ZSH упрощает навигацию. Во-первых, он умеет исправлять регистр букв, поэтому ты можешь начать печатать нечто вроде
$ cd ~/do
Затем нажать Tab и получить это:
$ cd ~/Downloads
Во-вторых, система автодополнения имен каталогов ZSH намного развитее своего аналога из bash. Если ZSH обнаружит, что с введенных тобой символов начинаются имена сразу нескольких каталогов, он не будет пищать, а затем выводить список каталогов, заставляя тебя уточнять запрос, а сразу выведет список и позволит выбрать нужный каталог с помощью Tab или стрелок.
Выбираем каталогВ-третьих, автодополнение работает не только для начала имени каталога/файла, но и для любой его части. Чтобы перейти в каталог ~/Downloads, ты можешь набрать load и нажать Tab.
Наконец, в-четвертых, ZSH умеет дополнять имена каталогов по всему пути, а не только в последней его части. Это значит, что ты можешь напечатать нечто вроде этого:
$ cd /u/s/zs
Затем нажать Tab и получить это:
$ cd /usr/share/zsh
Более того, тебе совсем не обязательно печатать даже первые буквы имен каталогов. ZSH и bash умеют находить нужные каталоги самостоятельно, если они перечислены в переменной CDPATH. Добавь, например, следующую строку в ~/.zshrc:
export CDPATH=/var/www:/home/имя_юзера/Dropbox
Теперь, чтобы открыть каталог ~/Dropbox/Books, можно использовать такую команду:
$ cd Books
ZSH проверит, есть ли каталог Books в /var/www или /home/имя_юзера/Dropbox, и переместит тебя в него, если он существует.
Fasd
Есть и гораздо более мощное средство для перемещения между каталогами. Это утилита fasd (произносится как fast — быстрый). Она запоминает все каталоги (и просто пути к файлам), которые ты использовал, и позволяет перемещаться между ними, указав лишь часть пути (даже несколько букв).
Работает это так. Допустим, ранее ты переходил в каталог ~/src/projects/apps/myCoolApp и теперь, спустя часы или даже дни, хочешь в него вернуться. Все, что тебе необходимо сделать, — это выполнить такую команду:
$ z myCoolApp
Можно проще:
$ z CoolApp
И еще проще:
$ z Cool
Требование одно: указанный тобой набор символов должен быть уникальным среди всех путей, которые запомнил fasd. Кроме z, fasd поддерживает и другие шорткаты: a — показывает все сохраненные пути, zz — позволяет перейти в каталог, используя интерактивное меню (если введенный набор символов встречается в нескольких путях), v — открывает файл в редакторе Vim.
Утилита fasd доступна для Debian/Ubuntu, Arch Linux через AUR и для macOS через brew. Установить в Ubuntu можно так:
$ sudo add-apt-repository ppa:aacebedo/fasd
$ sudo apt-get update
$ sudo apt-get install fasd
Далее необходимо активировать плагин fasd в ~/.zshrc:
plugins=(git fasd)
Peco
Peco — еще один инструмент, способный сильно облегчить навигацию, а также поиск. Это небольшая утилита, которая принимает на вход список строк и выводит на экран псевдографическое меню, с помощью которого можно выбрать или найти нужную строку. Далее peco отдает эту строку на выход и завершает свою работу (по сути, это консольный аналог dmenu).
Peco можно использовать для навигации и поиска в любых текстовых строках, включая пути. Например, если ты запустишь следующую команду и выберешь каталог, peco напечатает его имя в терминале:
$ ls | peco
Не слишком удобно и полезно. Однако, немного усложнив пример, ты получишь интерактивный cd:
$ cd `ls | peco`
Польза появилась, удобство пострадало. Поэтому создадим для этой команды короткий и простой псевдоним. Для этого добавим следующую строку в ~/.zshrc:
alias cdi='cd `ls | peco`'
Теперь команда cdi будет запускать наш интерактивный cd.
Кстати, о самом cd. Запомни два простых правила:
- команда cd без аргументов отправит тебя в домашний каталог;
- команда cd — вернет в предыдущий каталог.
Используем автодополнение на полную катушку
Система автодополнения ZSH интересна не только своими интеллектуальными функциями, но и тем, что она работает не с одними именами каталогов и файлов. ZSH умеет дополнять флаги и опции многих утилит и выводить удобную справку по ним, умеет дополнять названия пакетов apt-get, yum, pacman и других пакетных менеджеров, дополняет имена хостов при подключении по SSH. Если набрать kill и нажать кнопку Tab, ZSH выведет список процессов. После второго нажатия Tab список станет интерактивным, и ты сможешь выбрать процесс, который следует умертвить.
Кроме встроенных правил автодополнения, on-my-zsh имеет множество плагинов с правилами автодополнения для многих утилит и приложений.
Kill Tab Tab
Работаем с историей команд
Любой современный командный интерпретатор, будь то ZSH или bash, сохраняет историю введенных команд. ZSH хранит историю в файле /home/username/.zsh_history
. При необходимости его можно погрепать (grep ls ~/.zsh_history
), чтобы найти нужную команду. Но делать это совсем не обязательно, ведь командный интерпретатор уже имеет в своем арсенале набор средств для работы с историей.
Например, следующая команда вставит в строку ввода предыдущую команду:
$ !!
Ее особенно удобно использовать, если забыл указать sudo перед командой, требующей права root:
$ pacman -Syu
error: you cannot perform this operation unless you are root.cd
С помощью комбинации Ctrl + R команды можно искать в интерактивном режиме. Просто начни вбивать символы, присутствующие в команде, и ZSH вставит в строку ввода нужную команду. Это очень удобная функция, но ее можно сделать еще удобнее, если использовать возможности уже знакомого нам peco.
В Сети можно найти сторонний плагин для oh-my-zsh под названием zsh-peco-history. Просто скачай его в каталог сторонних плагинов ZSH:
$ git clone https://github.com/jimeh/zsh-peco-history.git $ZSH_CUSTOM/plugins/zsh-peco-history
И активируй в ~/.zshrc:
plugins=(git fasd zsh-peco-history)
Теперь комбинация Ctrl + R будет запускать полноэкранное меню peco вместо однострочной поисковой строки.
Копируем, удаляем, переименовываем
Казалось бы, что может быть проще, чем скопировать или переименовать файл? Просто вбиваешь команду cp или mv, а затем старое и новое имена:
$ cp httpd.conf httpd.conf.bak
Но зачем утруждать себя, нажимая лишние кнопки, если можно сделать так:
$ cp httpd.conf{,.bak}
Строка, содержащая фигурные скобки с двумя строками, разделенными запятой, будет развернута в две строки, в одной из которых будут символы до запятой, а в другой — символы после.
Можно пойти дальше и использовать не просто замену строк, а регулярные выражения. Для этого нам понадобится команда rename:
$ rename 's/регулярка/на_что_заменить/' *.txt
Такая команда заменит все подстроки, подпадающие под регулярное выражение, в именах всех файлов с расширением .txt. Недурно, не правда ли?
Также стоит изучить команду basename. При обычном использовании она просто выводит последний элемент пути:
$ basename /usr/bin/zsh
zsh
Но также ее можно использовать для отрезания частей строки, например:
$ basename file.txt .txt
file
Ты можешь спросить, что это дает? А вот что:
$ for file in *.png; do convert "$file" "`basename "$file" .png`.jpg" ; done;
Это перекодировщик всех файлов PNG в JPG. Команда крайне проста: мы создаем цикл, который проходится по всем файлам PNG в текущем каталоге, затем запускает команду convert для перекодировки их в JPG. Basename здесь нужен для того, чтобы дать новым файлам корректное имя. Хинт: обратные кавычки запускают заключенную в себя команду в так называемом субшелле. Они нужны для запуска одной команды из другой.
Чтобы понять их мощь, обрати внимание на следующую команду:
$ rm -f `tar ztf /path/to/file.tar.gz`
Уверен, эта команда не раз спасет тебя, когда ты распакуешь архив tar.gz не в тот каталог. Она удаляет все ранее распакованные файлы.
Ищем правильно
Ты уже должен знать, что в любой UNIX-системе есть команда find, предназначенная для поиска файлов. Использовать ее предельно просто:
$ find . -name *.c -type f
Эта команда найдет все файлы с расширением .c в текущем каталоге и во всех его подкаталогах. Но что делать, если в каждом из этих файлов необходимо найти строку open? А вот это:
$ find -name *.c -type f | xargs grep open
Ищем open в файлах .cМожно и несколько по-другому:
$ find . -name *.c -exec grep -H open {} ;
Этот пример немного сложнее и, как ни странно, медленнее. Почему? Потому, что xargs распараллелит поиск, запустив отдельный процесс grep на каждую строку.
При желании от find можно вообще избавиться:
$ grep -R open --include="*.c".
По сути, это эквивалент предыдущей команды.
Работаем с буфером обмена
Читая эту статью, ты наверняка то и дело копировал команды и вставлял их в терминал. Если нет — значит, ты набирал их сам, что правильно, память тебя отблагодарит. В любом случае копировать и вставлять команды в терминал жутко неудобно, как, впрочем, неудобна и сама концепция копирования/вставки.
Однако в случае с терминалом у тебя есть один очень мощный инструмент. Он называется xclip и позволяет копировать и вставлять в буфер обмена. Для начала добавь в ~/.zshrc следующие строки и перезапусти терминал (или ZSH):
alias -g xcopy='xclip -selection clipboard'
alias -g xpaste='xclip -selection clipboard -o'
Теперь, чтобы что-то скопировать в буфер обмена, просто перенаправь вывод в xcopy. Например:
$ uname -a | xcopy
В буфере обмена окажется вывод команды uname -a. Вставить можно таким же образом:
$ xpaste
Вывод также можно перенаправить. Или заключить xpaste в обратные кавычки, чтобы его содержимое было выполнено шеллом.
Выводы
Командная строка не просто мощный инструмент. Это настолько мощный инструмент, что мне даже трудно придумать, какой тип интерфейса ОС может быть эффективнее. То, о чем я написал, — такая крошечная часть верхушки айсберга, что для описания всех трюков командной строки потребовалась бы серия книг, сродни «Большой советской энциклопедии». Ну а напоследок то, чего все так долго ждали, — dd с показом прогресса:
$ pv -tpreb /dev/sdb | dd of=~/sdb.img bs=1M
На этом все.
WWW
Базовые команды UNIX
Базовые команды UNIX Примечание: не все из них на самом деле являются частью самой UNIX, и вы можете не найти их на всех машинах UNIX. Но все они могут быть использованы на turing . практически таким же образом, набрав команду и нажав возвращение. Обратите внимание, что некоторые из этих команд отличаются от других в Solaris. машины — см. отличия SunOS.Если вы допустили опечатку, проще всего нажать CTRL-u , чтобы отменить всю строку. Но вы также можете редактировать командную строку (см. руководство по более UNIX).
UNIX чувствителен к регистру.
Файлы
- ls — выводит список ваших файлов
ls -l — перечисляет ваши файлы в «длинном формате», который содержит множество полезная информация, например точный размер файла, которому принадлежит файл и кто имеет право на это смотреть, и когда оно было изменено в последний раз.
ls -a — перечисляет все файлы, включая те, чьи имена начинаются с точка, которую не всегда хочется видеть.
Есть много других опций, например, чтобы перечислить файлы по размеру, дата, рекурсивно и т. д. - еще filename — показывает первую часть файла, ровно столько, сколько поместится на одном экране. Просто нажмите пробел, чтобы увидеть больше или q бросить курить. Вы можете использовать шаблон / для поиск по выкройке.
- emacs filename — это редактор, который позволяет вам создать и отредактировать файл. См. Страницу emacs.
- mv filename1 filename2 — перемещает файл (т.е. дает это другое имя или перемещает его в другой каталог (см. ниже)
- cp filename1 filename2 — копирует файл
- rm filename — удаляет файл.Целесообразно использовать параметр rm -i, который попросит вас подтвердить, прежде чем фактически удаление чего угодно. Вы можете сделать это по умолчанию, создав псевдоним в файле .cshrc.
- diff filename1 filename2 — сравнивает файлы и показывает, чем они отличаются
- wc filename — сообщает вам, сколько строк, слов, и символы есть в файле
- chmod options filename — позволяет изменить чтение, писать и выполнять разрешения для ваших файлов.По умолчанию это только вы можете посмотреть на них и изменить их, но иногда вы можете захотеть измените эти разрешения. Например, chmod o + r filename сделает файл доступным для чтения всем, и chmod o-r filename сделает его нечитаемым для других опять таки. Обратите внимание, что для того, чтобы кто-то действительно мог посмотреть файл каталоги, в которых он находится, должны быть по крайней мере исполняемыми. См. Дополнительную информацию в справке по защите.
- Сжатие файлов
- gzip filename — сжимает файлы, чтобы они занимают гораздо меньше места.Обычно текстовые файлы сжимаются примерно до половины их исходный размер, но он очень сильно зависит от размера файла и характер содержания. Для этого есть и другие инструменты цель тоже (например, сжать ), но gzip обычно дает самая высокая степень сжатия. Gzip создает файлы с окончанием ‘.gz’ добавляется к исходному имени файла.
- gunzip filename — распаковывает файлы, сжатые с помощью gzip.
- gzcat filename — позволяет просматривать сжатый файл без на самом деле нужно его распаковать (то же самое, что и gunzip -c ).Ты даже можешь распечатайте его напрямую, используя gzcat filename | LPR
- печать
- lpr filename — print. Используйте параметр -P, чтобы указать имя принтера, если вы хотите использовать принтер, отличный от вашего по умолчанию принтер. Например, если вы хотите распечатать двустороннюю печать, используйте lpr -Pvalkyr-d ‘, или, если вы работаете в CSLI, вы можете использовать’ lpr -Pcord115-d ‘. Дополнительную информацию о принтерах см. В справке по принтерам. и их местонахождение.
- lpq — проверить очередь принтера, например чтобы получить номер, необходимый для удаления, или чтобы узнать, сколько других файлов будет напечатано прежде чем выйдет ваш
- lprm jobnumber — удалите что-нибудь из очередь принтера. Вы можете найти номер вакансии, используя lpq. Теоретически вы также должны указать имя принтера, но это не обязательно, поскольку пока вы используете в отделе принтер по умолчанию.
- genscript — преобразует текстовые файлы в PostScript для печати и дает вам несколько вариантов форматирования.Рассмотреть возможность создание псевдонима типа alias ecop ‘genscript -2 -r \! * | lpr -h -Pvalkyr ‘ для печати двух страниц на одном листе бумаги.
- dvips filename — распечатать файлов .dvi (т.е. файлы, созданные LaTeX). Вы можете использовать dviselect только для печати выбранные страницы. См. Страницу LaTeX для получения дополнительной информации информация о том, как сэкономить бумагу при печати черновиков.
Справочники
Каталоги, как и папки на Macintosh, используются для группировки файлов. вместе в иерархической структуре.- mkdir dirname — создайте новый каталог
- cd dirname — сменить каталог. Вы в основном идете в другой каталог, и вы увидите файлы в этом каталоге когда вы делаете «ls». Вы всегда начинаете со своего «домашнего каталога», и вы можете вернуться туда, набрав «cd» без аргументов. cd .. будет поднять вас на один уровень выше вашего текущего положения. Вам не нужно идти шаг за шагом — можно делать большие прыжки или избегать ходьбы вокруг, указав пути.
- pwd — сообщит вам, где вы сейчас находитесь.
В поисках вещей
- ff — найти файлы в любом месте системы. Это может быть чрезвычайно полезно, если вы забыли, в какой каталог вы поместили файл, но помните имя. Фактически, если вы используете ff -p , вы не даже нужно полное имя, только начало. Это также может быть полезно для поиска других вещей в системе, например документация.
- grep string filename (s) — ищет строку в файлы.Это может быть полезно для многих целей, например находка нужный файл среди многих, выясняя, какая версия является правильной что-то, и даже делать серьезную корпусную работу. grep входит в несколько разновидностей ( grep , egrep и fgrep ) и имеет много очень гибких вариантов. Просмотрите страницы руководства, если это звучит хорошо тебе.
О других людях
- w — сообщает вам, кто вошел в систему и что они делают. Особенно полезно: «неактивная» часть.Это позволяет увидеть, на самом деле они сидят и печатают на своей клавиатуре прямо в момент.
- who — расскажет, кто вошел в систему и где они приходящий из. Полезно, если вы ищете кого-то, кто на самом деле физически в том же здании, что и вы, или в каком-то другом конкретном место нахождения.
- finger имя пользователя — дает много информации об этом пользователе, например когда они в последний раз читали свою почту и были ли они авторизован.Часто люди помещают другую практическую информацию, например, телефон номера и адреса в файле под названием .plan . Эта информация также отображается «пальцем».
- последний -1 имя пользователя — сообщает вам, когда пользователь последний раз входил и выходил и откуда. Без каких-либо опций последние будут дать вам список всех логинов.
- talk имя пользователя — позволяет вам вести (печатный) разговор с другой пользователь
- написать имя пользователя — позволяет обмениваться однострочными сообщения с другим пользователем
- elm — позволяет отправлять сообщения электронной почты людям в мир (и, конечно же, их прочтите).Это не единственный почтовик, который можно используйте, но тот, который мы рекомендуем. Увидеть вяз страницу, и узнайте об ведомственных списки рассылки (которые вы также можете найти в / пользователь / лингвистика / справочный файл).
О себе (электронном)
- whoami — возвращает ваше имя пользователя. Звучит бесполезно, но нет. Возможно, вам потребуется узнать, кто забыл войти где-нибудь, и убедитесь, что * вы * вышли из системы.
- finger и файлы .plan
, конечно, можно и пальцем пощупать.Это может быть полезно, например, в качестве быстрой проверки, получили ли вы новую почту. Попробуйте создать полезный .plan файл в ближайшее время. Ищите идеи в чужих файлах .plan. В файл должен быть доступен для чтения всем, чтобы быть видимым через ‘Палец’. При необходимости выполните команду chmod a + r .plan. Вы должны понять, что эта информация доступна из любой точки мира, а не только другие люди по Тьюрингу. - passwd — позволяет вам изменить пароль, который вам следует делайте регулярно (не реже одного раза в год).См. Руководство LRB и / или посмотрите пароль справки.
- ps -u yourusername — перечисляет ваши процессы. Содержит много информация о них, включая идентификатор процесса, который вам нужен если вам нужно убить процесс. Обычно, когда тебя выгнали сеанса дозвона или каким-либо другим способом отключен внезапно, этот список будет содержать нужные вам процессы убить. Они могут включать оболочку (tcsh или что-то еще, что вы используете), и все, что вы запускали, например emacs или elm.Будь осторожен чтобы не убить вашу текущую оболочку — ту, у которой номер ближе к одна из команд ps, которые вы сейчас выполняете. Но если это случится, не паникуйте. Просто попробуйте еще раз 🙂 Если вы используете X-дисплей, вы можете необходимо убить некоторые X-процессы, прежде чем вы сможете их снова запустить. Эти будет отображаться только при использовании ps -efl , потому что они root процессы.
- kill PID — убивает (завершает) процессы с идентификатором ты дал. Конечно, это работает только для ваших собственных процессов.Получить ID с помощью пс . Если процесс не «умирает» должным образом, используйте опция -9. Но сначала попробуйте без этого варианта, потому что он не дает возможности завершить процесс возможно важно бизнес перед смертью. Вам может потребоваться убить процессы, например, если ваше модемное соединение было прервано, и вы не вышли из системы правильно, что иногда бывает.
- quota -v — показать, какая у вас квота на диск есть (т.е. сколько места у вас есть для хранения файлов), сколько вы фактически используете, и в случае, если вы превысили свою квоту (которую вы получать автоматическое предупреждение системы) сколько времени вы осталось разобраться в них (удалив или сжав некоторые из них, или переместив их на свой компьютер).
- du filename — показывает использование диска файлами и каталоги в имя файла (без аргументов текущий каталог используется). du -s дает только общую сумму.
- last yourusername — перечисляет ваши последние входы в систему. Жестяная банка быть полезным помощником в памяти о том, когда вы были где, как долго вы были работаете и отслеживает ваш телефонный счет, если вы делаете не местный телефонный звонок для дозвона.
Подключение к внешнему миру
- nn — позволяет читать новости.Сначала это позволит вам прочитать местные новости по Тьюрингу, а затем удаленные новости. Если ты хочешь читать только местные или удаленные новости, вы можете использовать nnl или nnr , соответственно. Чтобы узнать больше о nn , введите nn , затем \ tty {: man}, затем \ tty {=. *}, затем \ tty {Z}, затем нажмите пробел, чтобы пошагово пройти через руководство. Или посмотрите справочную страницу. Или посмотрите гипертекст nn FAQ — наверное, самый простой и интересный способ.
- rlogin hostname — позволяет подключаться к удаленному хосту
- telnet hostname — также позволяет подключаться к удаленный узел.По возможности используйте rlogin .
- ftp hostname — позволяет загружать файлы с удаленный хост, настроенный как ftp-сервер. Это распространенный метод для обмена академическими работами и черновиками. Если вам нужно сделать бумагу доступных таким образом, вы можете (временно) поместить копию в / пользователь / ftp / pub / TMP. Если вам нужны более надежные решения, спросите Эмму. Большинство важные команды в ftp: get для получения файлов из удаленный компьютер, и поместил для их размещения ( mget и mput позволяет указать более одного файла одновременно).Звуки прямолинейно, но не путайте их, особенно когда ваше физическое местоположение не соответствует направлению ftp соединение, которое вы устанавливаете. ftp просто перезаписывает файлы такими же имя файла. Если вы передаете что-либо, кроме текста ASCII, используйте двоичный режим.
- lynx — позволяет просматривать веб-страницы с обычного Терминал. Конечно, вы можете видеть только текст, а не изображения. Вы можете ввести любой URL-адрес в качестве аргумента команды G .Когда вы делаете это с любого хоста Стэнфорда, вы можете не указывать .stanford.edu часть URL-адреса при подключении к URL-адресам Стэнфордского университета. Введите H в любое время, чтобы узнать больше о lynx , и Q для выхода.
Инструменты разные
- webster word — ищет слово в электронном версия словаря Вебстера и возвращает определение (я)
- дата — показывает текущую дату и время.
- cal — показывает календарь текущего месяца. Используйте, например, «cal 10 1995», чтобы получить это за октябрь 95, или «cal 1995», чтобы получить Весь год.
man имя команды — показывает страницу руководства для команда
Дальнейшие способы получения помощи смотрите на страницах с электронными источниками информации. и неэлектронные источники.
Дополнительные команды UNIX
Резервное копирование на главную страницу вычислений
Базовые команды Unix
Знание основных команд Unix должно позволить вам перемещаться по системе Unix или Linux, подтверждать текущий статус системы и управлять файлами или каталогами.
ОБНОВЛЕНИЕ 01/2019 : Вскоре я опубликую короткое видео-пошаговое руководство по основным командам Unix здесь, вверху страницы.
Получение помощи в Unix
- man — просмотр справочных страниц для команд Unix
Команды оболочки Unix
- clear — прозрачный экран
- history — показать историю предыдущих команд
Команды времени и даты
- дата — показать текущую дату и время
- sleep — ждать заданное количество секунд
- uptime — узнайте, сколько времени работает система
Команды пользователей Unix
Эти команды позволяют получить основную информацию о пользователях Unix в вашей среде.
- whoami — показать ваше имя пользователя
- id — распечатать идентификатор пользователя
- группы — показать, к каким группам принадлежит пользователь
- passwd — изменить пароль пользователя
- who — узнать, кто авторизован в системе
- last — показать историю входов в систему
Операции с файлами Unix
Навигация по файловой системе и управление файлами и разрешениями доступа:
- ls — список файлов и каталогов
- cp — копировать файлы (в работе)
- rm — удалить файлы и каталоги (в работе)
- mv — переименовать или переместить файлы и каталоги в другое место
- chmod — изменить права доступа к файлу / каталогу
- chown — изменить владельца файла / каталога
Операции с текстовыми файлами в Unix
Большая часть важной конфигурации в Unix находится в текстовых файлах, эти команды позволят вам быстро проверить файлы или просмотреть журналы:
- cat — объединить файлы и отобразить содержимое на стандартный вывод
- more — базовая разбивка на страницы при просмотре текстовых файлов или анализе вывода команд Unix
- less — улучшенный инструмент нумерации страниц для просмотра текстовых файлов (лучше, чем команда more)
- head — показать первые 10 строк текстового файла (можно указать любое количество строк)
- tail — показать последние 10 строк текстового файла (можно указать любое число)
- grep — поиск шаблонов в текстовых файлах
Команды управления каталогом Unix
Навигация по файловым системам и управление каталогами:
- cd — изменить каталог
- pwd — подтвердить текущий каталог
- ln — создавать ссылки и символические ссылки на файлы и каталоги
- mkdir — создать новый каталог
- rmdir — удалить каталоги в Unix
Команды состояния системы Unix
Наиболее полезные команды для просмотра конфигурации имени хоста и важной статистики:
- hostname — показать или установить имя хоста сервера
- w — отображение загрузки системы, кто вошел в систему и что они делают
- uname — распечатать информацию о системе Unix
Перезагрузка
- shutdown — плавное завершение работы и перезагрузка вашей системы
- остановка — некорректное (без остановки служб ОС) завершение работы
- reboot — некорректная перезагрузка (без остановки служб ОС)
Сетевые команды в Unix
Наиболее полезные команды для проверки настроек сети и изучения сетевых подключений и портов:
- ifconfig — показать и установить IP-адреса (встречаются практически везде)
- ip — показать и установить IP-адреса (в последних версиях Linux)
- ping — проверить, доступен ли удаленный хост через ICMP ping
- netstat — показать статистику сети и информацию о маршрутизации
Управление процессами
Список процессов и подтверждение их статуса, а также остановка процессов при необходимости:
- ps — список процессов
- вверху — показать задачи и статус системы
- kill — убить процесс (остановить работу приложения)
Команды удаленного доступа
ssh — действительно единственный способ пойти, но также важно знать telnet:
- telnet — незащищенный (незащищенный) протокол удаленного доступа
- ssh — Secure SHell — зашифрованный клиент удаленного доступа
- Проверьте ссылку SSH!
Команды передачи файлов
Всегда полезно знать, как копировать файлы между серверами или просто загрузить какой-нибудь пакет из Интернета:
- ftp — открытый текст (небезопасно!) Клиент протокола передачи файлов
- sftp — безопасная (зашифрованная) версия FTP
- scp — безопасная (зашифрованная) версия команды cp
- wget — загрузка файлов с удаленных серверов, HTTP / HTTPS и FTP
См. Также
Базовые команды UNIX
Основные команды UNIXот Дональда Хаятта
Операционная система UNIX на протяжении многих лет составляла основу Интернет, особенно для крупных серверов и большинства крупных университетских городков.Однако бесплатная версия UNIX под названием Linux имеет добился значительных успехов в сравнении с Macintosh и Microsoft Среды Windows 95/98 / NT, которые так часто ассоциируются с персональными компьютерами. Разработано рядом волонтеров на Интернет, такой как группа Linux и проект GNU, большая часть программного обеспечения с открытым исходным кодом является защищены авторским правом, но доступны бесплатно. Этот особенно ценно для тех, кто работает в образовательной среде, где бюджеты часто ограничены.Команды UNIX часто можно сгруппировать, чтобы сделать их еще более мощными. команды с возможностями, известными как перенаправление ввода-вывода ( < для получения ввода из файла input и > для вывода в файл) и piping с использованием | для подачи одна команда в качестве входных данных для следующей.Пожалуйста, изучите руководства в lab для большего количества примеров, чем несколько предложенных здесь.
На следующих диаграммах представлен обзор некоторых простых команд UNIX. Эти конечно, не все команды доступны в этом надежном рабочем системы, но это поможет вам начать работу.
Десять ОСНОВНЫХ команд UNIX
Это десять команд, которые вам действительно нужно знать, чтобы начать работу. с UNIX. Они есть вероятно, это похоже на команды, которые вы уже знаете для другой операционной системы.Команда | Пример | Описание |
---|---|---|
1. ls | ls ls -alF | Список файлов в текущем каталоге. Список в длинном формате. |
2. cd | cd tempdir компакт-диск .. cd ~ dhyatt / веб-документы | Измените каталог на tempdir Вернуться на одну директорию Перейти в каталог веб-документов dhyatt |
3. mkdir | mkdir графика | Создайте каталог под названием graphics |
4. rmdir | rmdir emptydir | Удалить каталог (должен быть пустым) |
5. cp | cp file1 web-docs cp file1 file1.bak | Скопируйте файл в каталог Сделайте резервную копию файла1 |
6. пм | rm file1.bak rm * .tmp | Удалить или удалить файл Удалить все файлы |
7. мв | mv old.html new.html | Переместить или переименовать файлы |
8. более | подробнее index.html | Смотрите файл, по одной странице за раз |
9. лпр | lpr index.html | Отправить файл на принтер |
10. мужчина | мужчина ls | Онлайн-руководство (справка) о команде |
Десять VALUABLE UNIX-команд
После того, как вы освоите основные команды UNIX, они будут весьма полезны. в управлении собственной учетной записью.Команда | Пример | Описание |
---|---|---|
1. grep | grep «плохое слово» * | Найдите, какие файлы содержат определенное слово |
2. chmod | chmod 644 * .html chmod 755 file.exe | Изменить права доступа к файлу только для чтения Изменить права доступа к файлу на исполняемый файл |
3. пароль | пароль | Изменить пароль |
4. ps | ps aux ps aux | греп дхьятт | Список всех запущенных процессов по #ID Список ID процессов, запущенных по dhyatt |
5. kill | убить -9 8453 | Завершить процесс с ID # 8453 |
6. gcc (g ++) <источник> | gcc файл.c -o файл g ++ fil2.cpp -o fil2 | Компилировать программу, написанную на C Компилировать программу, написанную на C ++ |
7. gzip <файл> | gzip bigfile gunzip bigfile.gz | Сжать файл Распаковать файл |
8. почта (сосна) | mail [email protected] < file1 сосна | Отправить file1 кому-нибудь по электронной почте Прочитать почту, используя сосну |
9. telnet <хост> ssh <хост> | telnet vortex.tjhsst.edu ssh -l dhyatt jazz.tjhsst.edu | Открыть соединение с vortex Открыть безопасное соединение с джазом как пользователь dhyatt |
10. ftp <хост> ncftp <хост / каталог> | ftp station1.tjhsst.edu ncftp metalab.unc.edu | Загрузить или скачать файлы на станцию 1 Подключение к архивам в UNC |
Десять FUN UNIX-команд
Это десять команд, которые могут показаться вам интересными или забавными.Они есть на самом деле иногда бывает полезно, и его не следует считать праздным развлечением.Команда | Пример | Описание |
---|---|---|
1. кто | кто | Списки тех, кто вошел в систему на вашем компьютере |
2. Палец | Палец | Списки тех, кто работает на компьютерах в лаборатории |
3. ytalk <пользователь @ место> | ytalk dhyatt @ угроза | Поговорите онлайн с дхьятом, которому угрожает опасность |
4. история | история | Список команд, которые вы выполняли за последнее время |
5. удача | удача | Распечатать случайное большое количество сообщений |
6. Дата | Дата | Распечатать текущую дату |
7. кал | кал 9 2000 | Распечатать календарь на сентябрь 2000 г. |
8. xeyes | xeyes & amp | Следите за курсором (в «фоне») |
9. xcalc | xcalc & | Калькулятор («фоновый» процесс) |
10. mpage | mpage -8 file1 | л / р | Распечатать 8 страниц на одном листе и отправить на принтер (шрифт будет мелкий!) |
Десять ПОЛЕЗНЫХ команд UNIX
Эти десять команд очень полезны, особенно с графическими приложениями и приложениями для обработки текстов.Команда | Пример | Описание |
---|---|---|
1. Netscape | netscape & | Запустите браузер Netscape |
2. xv | xv & | Запустить конвертер графических файлов |
3. xfig / xpaint | xfig & (xpaint &) | Запустить программу рисования |
4. канитель | канитель и | Запустить программу типа фотошоп |
5. ispell | ispell file1 | Файл проверки орфографии1 |
6. латекс | латекс file.tex | Запустите LaTeX, инструмент для создания научных документов |
7. xemacs / pico | xemacs (или пико) | Разные редакторы |
8. офис | офис и | Запустите StarOffice, полноценный текстовый процессор |
9. м-инструменты (mdir, mcopy, mdel, mformat и т. д.) | mdir a: mcopy file1 a: | Команды DOS из UNIX (dir A 🙂 Скопируйте файл1 в A: |
10. гнуплот | гнуплот | Графическое отображение данных |
Десять ПОЛЕЗНЫХ команд UNIX:
Эти десять команд полезны для мониторинга доступа к системе или упрощения вашего собственная среда.Команда | Пример | Описание |
---|---|---|
1. df | df | Посмотрите, сколько свободного места на диске |
2. ду | du -b subdir | Оценить использование диска в каталоге в байтах |
3. псевдоним | псевдоним lls = «ls -alF» | Создайте новую команду «lls» для длинного формата ls |
4. xhost | xhost + угроза.tjhsst.edu xhost — | Разрешить отображение окна из программы x-window от угрозы Запретить доступ x-window из других систем |
5. складывать | складки file1 | л / р | Сложите или разорвите длинные строки по 60 символов и отправьте на принтер |
6. деготь | tar -cf subdir.tar subdir tar -xvf subdir.tar | Создайте архив с именем subdir.tar из каталога Извлечение файлов из файла архива |
7. ghostview (gv) | gv filename.ps | Просмотр файла Postscript |
8. пинг (трассировка) | пинг угроза.tjhsst.edu traceroute www.yahoo.com | Проверить, жив ли машина Распечатать путь данных к машине |
9. Топ | Топ | Использование системы печати и основные потребляющие ресурсы |
10. выход (выход) | выйти из системы или выйти | Как выйти из оболочки UNIX. |
Другие полезные страницы
базовых команд Unix | Информационные технологии
Используйте следующие команды, чтобы помочь вам управлять своей учетной записью Unix.
ВАЖНО: Операционная система Unix (Ultrix) чувствительна к регистру. Все команды должны вводиться строчными буквами, если не указано иное.
Отображение каталога
ls– Выводит список имен файлов в определенном каталоге Unix. Если вы наберете команду ls без параметров или квалификаторов, команда отобразит файлы, перечисленные в вашем текущем рабочем каталоге. Когда вы даете команду ls, вы можете добавить один или несколько модификаторов для получения дополнительной информации.
Пример: ls
Результат: Список имен файлов в каталоге по умолчанию в алфавитном порядке.
Пример: ls -l
Результат: дает «длинный список» файлов в вашем каталоге. В дополнение к имени файла в длинном списке отображается информация о защите, владелец файла, количество символов в файле, а также дата и время последнего изменения файла.
Пример: ls -a
Результат: выводит в список все ваши файлы, включая те файлы, которые начинаются с точки (т.е.е., скрытые файлы).
Для получения дополнительных сведений введите man ls в командной строке Unix.
Отображение и объединение (объединение) файлов
подробнее– Позволяет проверять непрерывный текст по одному экрану за раз на терминале. Обычно он приостанавливается после каждого показа экрана, печатая — Больше — внизу экрана. Нажмите RETURN, чтобы отобразить еще одну строку. Нажмите пробел, чтобы отобразить другой экран. Нажмите букву Q, чтобы прекратить отображение файла.
Пример: more newfile
Результат: отображает содержимое «newfile» на одном экране («странице») за раз.
Для получения дополнительных сведений об этой команде введите man more в командной строке Unix.
cat — отображает содержимое файла на вашем терминале.
Пример: cat newfile
Результат: Отображает содержимое файла «newfile» на вашем терминале.
Пример: cat newfile oldfile
Результат: отображает содержимое двух файлов — «newfile» и «oldfile» — на вашем терминале как одно непрерывное отображение.
Во время отображения файла вы можете прервать вывод, нажав CTRL + C и вернувшись в системную подсказку Unix. CTRL + S приостанавливает отображение файла на терминале и обработку команды. Чтобы возобновить отображение, нажмите CTRL + Q . Прерванная команда отображает строки, начинающиеся с точки, в которой обработка была прервана.
Команда cat также используется для объединения (объединения) файлов и помещения их в другой файл.Если вы объедините файлы в другой, который уже существует, существующее содержимое будет безвозвратно потеряно.
Пример: cat fileone filetwo filethree> newfile
Результат: связывает вместе три файла — fileone, filetwo и filethree — в новый файл с именем «newfile». Исходные файлы остаются нетронутыми.
Для получения дополнительных сведений о команде cat введите man cat в командной строке Unix.
Копирование файлов
cp– Делает копии ваших файлов.Вы можете использовать его для создания копий файлов в каталоге по умолчанию, для копирования файлов из одного каталога в другой или для копирования файлов с других устройств.
Пример: cp fileone filetwo
Результат: копирует содержимое fileone в файл с именем filetwo. Теперь существуют два отдельных файла.
Пример: cp / usr / neighbour / testfile.
Результат: копирует файл testfile из каталога / пользователя / соседа в вашу учетную запись Unix. Точка (.) В конце командной строки означает, что файл должен быть скопирован в ваш текущий рабочий каталог, а имя останется прежним.
Чтобы скопировать файл из каталога другого пользователя в Unix, вы должны знать имя пользователя.
Пример: cp ~ username / file1 yourfile
Результат: копирует файл «file1» от пользователя в вашу учетную запись Unix. Имя файла в вашем каталоге становится yourfile. (Чтобы иметь возможность копировать файл, необходимо установить защиту, чтобы файл был доступен для чтения вами в каталоге другого пользователя.)
Для получения дополнительных сведений введите man cp в командной строке Unix.
Удаление файлов
rm– Удаляет определенные файлы. Вы можете ввести более одной спецификации файла в командной строке, разделив спецификации файла пробелами.
Пример: rm newfile
Результат: Удаляет файл с именем «newfile».
Пример: rm newfile oldfile
Результат: Удаляет два файла — «новый файл» и «старый файл».
Пример: rm new *
Результат: удаляются все файлы, начинающиеся с префикса new.
Для получения дополнительных сведений введите man rm в командной строке Unix.
Переименование файлов
mv– Эта команда изменяет идентификацию (имя) одного или нескольких файлов.
Пример: mv oldfile newfile
Результат: изменяет имя файла «oldfile» на «newfile». Будет существовать только один файл.
Пример: mv oldfile bin / newfile
Результат: изменяет имя файла «oldfile» на «newfile» и помещает его в каталог / bin.Будет существовать только один файл.
Для получения дополнительных сведений введите man mv в командной строке Unix.
Печать из Unix
Команда lpr печатает файлы в Unix. Используйте параметр -Pqueuename для выбора принтера.
Пример: lpr -Ppittprint sample.file
Результат: это выходной файл по умолчанию. Односторонний вывод, объем текста на каждую сторону, книжный формат. Вывод помещается в очередь на станции печати Pitt.
Операционная система Unix чувствительна к регистру; введите все команды строчными буквами, если не указано иное.
Помощь
Круглосуточная служба ИТ-поддержки по телефону 412-624-HELP (4357) доступна 24 часа в сутки, семь дней в неделю, чтобы ответить на ваши вопросы, связанные с технологиями. Вопросы также можно отправлять онлайн.
25 лучших команд и создание пользовательских команд
Командная строка — это то, что каждый разработчик должен изучить и внедрить в свою повседневную жизнь. Он стал швейцарским армейским ножом с функциями обманчиво простых команд, которые позволяют вам получить больший контроль над вашей системой, повысить производительность и многое другое.Например, вы можете писать сценарии для автоматизации ежедневных трудоемких задач и даже быстро фиксировать и отправлять код в репозиторий Git с помощью всего нескольких простых команд.
В этом посте мы рассмотрим оболочку Bash ( B ourne A gain SH ell), которая представляет собой интерфейс командной строки (CLI) и в настоящее время является наиболее широко используемой оболочкой. Это легкое введение в самые популярные команды, когда вы, скорее всего, их будете использовать, и то, как расширить их с помощью параметров.Позже в этой статье вы узнаете, как создавать собственные пользовательские команды (псевдонимы), позволяющие создавать ярлыки для одной команды или группы команд.
Если говорить о командной строке, значит, вы не используете свой компьютер в полной мере.
Узнайте, как автоматизировать сценарии.Поднимите свои навыки Bash на новый уровень с помощью интерактивного курса Ян Миелл, автор книги Learn Bash the Hard Way
Мастер Bash Shell
25 лучших команд Bash
Краткое примечание: Все, что заключено в []
, означает, что это необязательно.Некоторые команды можно использовать без параметров или без указания файлов.
ls — Список содержимого каталога
ls
— наверное, самая распространенная команда. Часто вы будете работать в каталоге, и вам нужно будет знать, какие файлы там находятся. Команда ls позволяет быстро просмотреть все файлы в указанном каталоге.
echo — выводит текст в окно терминала
echo
выводит текст в окно терминала и обычно используется в сценариях оболочки и пакетных файлах для вывода текста состояния на экран или в компьютерный файл.Echo также особенно полезно для отображения значений переменных среды, которые сообщают оболочке, как вести себя, когда пользователь работает в командной строке или в сценариях.
touch — Создает файл
touch
будет самым простым способом создания новых файлов, но его также можно использовать для изменения отметок времени в файлах и / или каталогах. Вы можете создать столько файлов, сколько захотите, с помощью одной команды, не беспокоясь о перезаписи файлов с одинаковыми именами.
Синтаксис:
touch
[параметры] имя_файлаОбщие параметры: -a, -m, -r, -d
mkdir — Создать каталог
mkdir
— полезная команда, которую можно использовать для создания каталогов. Одновременно можно создать любое количество каталогов, что может значительно ускорить процесс.
Синтаксис:
mkdir
[параметры] имя_каталогаОбщие параметры: -m, -p, -v
grep — поиск
grep
используется для поиска текста по шаблонам, указанным пользователем.Это одна из самых полезных и мощных команд. Часто возникают сценарии, в которых вам будет предложено найти определенную строку или шаблон в файле, но вы не знаете, с чего начать поиск, и именно здесь grep чрезвычайно полезен.
Синтаксис:
grep
[параметры] шаблон [файл (ы)]Общие параметры: -i, -c, -n
человек — Распечатайте руководство или получите помощь по команде
Команда man
— это ваше руководство, которое очень полезно, когда вам нужно выяснить, что делает команда.Например, если вы не знаете, что делает команда rmdir, вы можете использовать команду man, чтобы узнать это.
Синтаксис:
человек
[параметры] ключевое слово (и)Общие параметры: -w, -f, -b
pwd — Распечатать рабочий каталог
pwd
используется для печати текущего каталога, в котором вы находитесь. Например, если у вас работает несколько терминалов и вам нужно запомнить точный каталог, в котором вы работаете, pwd сообщит вам об этом.
cd — Изменить каталог
cd
изменит каталог, в котором вы находитесь, чтобы вы могли получать информацию, управлять, читать и т. Д. С различными файлами и каталогами в вашей системе.
mv — Переместить или переименовать каталог
mv
используется для перемещения или переименования каталогов. Без этой команды вам пришлось бы индивидуально переименовывать каждый файл, что утомительно. mv
позволяет выполнять пакетное переименование файлов, что может сэкономить массу времени.
rmdir — Удалить каталог
rmdir
удалит пустые каталоги. Это поможет освободить место на вашем компьютере и упорядочить файлы и папки. Важно отметить, что есть два способа удалить каталоги: rm и rmdir. Разница между ними в том, что rmdir удаляет только пустые каталоги, тогда как rm удаляет каталоги и файлы независимо от того, содержат они данные или нет.
найти — найти определенный файл или каталог
Это, безусловно, самый простой способ найти файл или каталог.Вы можете расширить область поиска, если не знаете, что именно ищете, или сузить область поиска, используя подстановочные знаки или регулярные выражения.
Синтаксис:
найти
[параметры] имя_файлаОбщие параметры: -q, -n, -i
Нравится статья? Прокрутите вниз, чтобы подписаться на нашу бесплатную рассылку новостей, выходящую два раза в месяц.
меньше — просмотреть содержимое текстового файла
Команда меньше
позволяет просматривать файлы, не открывая редактор.Его можно использовать быстрее, и вы не можете случайно изменить файл.
compgen — показывает все доступные команды, псевдонимы и функции
compgen
— удобная команда, когда вам нужно сослаться на все доступные команды, псевдонимы и функции.
Синтаксис:
compgen
[параметры]Общие параметры: -a, -c, -d
> — стандартный вывод перенаправления
Символ >
— это оператор перенаправления.Он берет выходные данные предыдущей команды, которые вы обычно видите в терминале, и отправляет их в файл, который вы ему передаете. В качестве примера возьмем эхо «содержимое файла1»> файл1. Здесь он создает файл с именем file1 и помещает в него отображаемую строку.
Синтаксис:
>
Общие опции: н / д
cat — чтение файла, создание файла и объединение файлов
cat
— одна из наиболее универсальных команд, выполняющая три основные функции: их отображение, объединение их копий и создание новых.
| — Труба
Канал принимает стандартный вывод одной команды и передает его в качестве ввода другой.
Синтаксис:
|
Общие опции: н / д
голова — чтение начала файла
По умолчанию команда head
отображает первые 10 строк файла. Бывают случаи, когда вам может потребоваться быстро просмотреть несколько строк в файле, и заголовок позволяет вам это сделать.Типичный пример использования head — это когда вам нужно проанализировать журналы или текстовые файлы, которые часто меняются.
tail — прочитать конец файла
По умолчанию команда tail
отображает последние 10 строк файла. Бывают случаи, когда вам может потребоваться быстро просмотреть несколько строк в файле, и хвост позволит вам это сделать. Типичный пример использования tail — это анализ часто изменяющихся журналов или текстовых файлов.
chmod — Устанавливает флаг прав доступа к файлу или папке
Бывают ситуации, когда вы или ваш коллега попытаетесь загрузить файл или изменить документ и получите сообщение об ошибке, потому что у вас нет доступа. Быстрое решение этой проблемы — использовать chmod
. Права доступа могут быть установлены с помощью буквенно-цифровых символов (u, g, o) и могут быть назначены их права доступа с помощью w, r, x. И наоборот, вы также можете использовать восьмеричные числа (0-7) для изменения разрешений.Например, chmod
777 my_file
предоставит доступ всем.
exit — Выход из каталога
Команда exit
закроет окно терминала, завершит выполнение сценария оболочки или выведет вас из сеанса удаленного доступа SSH.
Синтаксис:
выход
Общие опции: н / д
Продолжайте обучение.
Изучите Bash, не просматривая видео или документацию.Текстовый курс Educative прост в использовании и включает среду программирования в реальном времени, что делает обучение быстрым и эффективным.
Мастер Bash Shell
история — список ваших последних команд
Важная команда, когда вам нужно быстро определить предыдущие команды, которые вы использовали.
Синтаксис:
история
Общие параметры: -c, -d
clear — очистить окно терминала
Эта команда используется для очистки всех предыдущих команд и вывода из консолей и окон терминала.Это сохраняет ваш терминал в чистоте и убирает беспорядок, чтобы вы могли сосредоточиться на последующих командах и их выводе.
Синтаксис:
clear
Общие опции: н / д
cp — копировать файлы и каталоги
Используйте эту команду, когда вам нужно создать резервную копию файлов.
Синтаксис:
cp
[параметры] current_name новое_имяОбщие параметры: -r, -i, -b
kill — завершить остановленные процессы
Команда kill
позволяет завершить процесс из командной строки.Вы делаете это, предоставляя идентификатор процесса (PID) уничтожаемого процесса. Чтобы найти PID, вы можете использовать команду ps с параметрами -aux.
спящий режим — отложить процесс на указанное время
sleep
— это общая команда для управления заданиями, которая в основном используется в сценариях оболочки. Вы заметите, что в синтаксисе есть суффикс; суффикс используется для указания единицы времени, будь то s (секунды), m (минуты) или d (дни). Если не указано иное, единицей времени по умолчанию являются секунды.
Как создавать собственные пользовательские команды Bash
Пользовательские команды в Bash известны как «псевдонимы». Псевдонимы — это, по сути, сокращение или средство, позволяющее избежать ввода длинной последовательности команд. Они могут сэкономить массу времени на вводе в командной строке, поэтому вам не придется запоминать сложные комбинации команд и параметров. Есть одно предостережение при использовании псевдонимов: убедитесь, что вы не перезаписываете какие-либо ключевые слова.
- Синтаксис:
псевдоним
alias_name = «command_to_run»
Очень простой пример мог бы выглядеть так:
псевдоним
c = «clear»
Теперь каждый раз, когда вы хотите очистить экран, вместо того, чтобы вводить очистить
, вы можете просто набирать c
, и все будет хорошо.
Вы также можете усложнить ситуацию, например, если вы хотите настроить веб-сервер в папке:
псевдоним
www = ‘python -m SimpleHTTPServer 8000’
Вот пример полезного псевдонима, когда вам нужно протестировать веб-сайт в разных веб-браузерах:
псевдоним
ff4 = ‘/ opt / firefox / firefox’
псевдоним
ff13 = ‘/ opt / firefox13 / firefox’
псевдоним
chrome = ‘/ opt / google / chrome / chrome’
Помимо создания псевдонимов, использующих одну команду, вы также можете использовать псевдонимы для запуска нескольких команд, например:
псевдоним
name_goes_here = ‘activator && clean && compile && run’
Хотя вы можете использовать псевдонимы для выполнения нескольких команд, рекомендуется использовать функции, поскольку они значительно более гибкие, позволяют выполнять более сложную логику и отлично подходят для написания сценариев.
Куда идти дальше
Теперь, когда вы вооружены основными командами и способами их настройки, вы можете применять их на практике.
Master the Bash Shell даст вам понимание всех основных концепций, необходимых для получения полного контроля над вашей системой. Ян Миелл , автор Learn Bash the Hard Way , создал этот курс, чтобы научить вас всем тонкостям Bash, на изучение которых ему потребовались десятилетия методом проб и ошибок.
Удачного обучения!
общих команд оболочки Unix | Академические ресурсы
Запуск и завершение
Управление файлами
Связь
Информация
Печать
Управление заданиями
Ниже приводится краткий список большинства основных команд оболочки Unix, которые понадобятся пользователям.Для получения дополнительной информации попробуйте команду man или команду man -k text для поиска возможных вариантов.
Начало и конец
ssh имя хоста : подключиться к другому компьютеру или серверу
выход : выйти из системы
Управление файлами
emacs [имя файла] : используйте текстовый редактор emacs
pico [имя файла] : используйте текстовый редактор pico (который проще, но менее мощный, чем emacs).
cat [имя файла] : список содержимого файла
mkdir [имя каталога] : создание каталога
cd [имя каталога] : изменение текущего каталога
cd .. поднимает вас на один уровень
cd только возвращает вас в ваш домашний каталог
ls : Список файлов в каталоге (-l: long, -a: -all)
cp [источник] [назначение] : Сделать копию файла
mv [источник] [место назначения ] : изменить имя файла
rm [имя файла] : удалить файл
rmdir [имя_каталога] : удалить каталог
chmod : изменить доступ к файлу chmod
u ser, g roup, o wner, a ll
r ead, w rite, e x ecute
cmp [имя файла] [имя файла] : сравнить два файла
wc [имя файла] : количество слов, строк и символов
звездочка (*) используется как подстановочный знак: таким образом, rm a *.php удалит все файлы, которые начинаются с «a» и заканчиваются на php.
Связь
alpine : использовать Alpine для отправки и получения электронной почты
talk [пользователь] : поговорить с другим пользователем
написать [пользователь] : написать сообщение другому пользователю (CTRL-C, чтобы закрыть)
стена [сообщение] : отправить сообщение всем пользователям
Информация
Man [команда] : страницы руководства
quota -v : узнать доступное пространство на диске
finger [пользователь] : получить информацию о пользователе
passwd : изменить пароль
who (или w ): узнать, кто вошел в систему
Печать
lp [файл] : напечатать файл
lprm [задание] : удаление задания на печать
lpq : проверка очередей печати
Управление заданиями
ps : найти процессы
убить [идентификатор процесса] : убить процесс
красиво [идентификатор процесса] : изменить приоритет задания
и : что такое фоновый процесс?
CTRL-z : приостановка процесса
fg : возобновление приостановленного процесса
Справка по любой команде Unix. | ||||||||
man {команда} | Введите man rm , чтобы прочитать руководство по команде rm . | |||||||
whatis {команда} | Дайте краткое описание команды. | |||||||
Список каталога | ||||||||
ls {path} | Можно комбинировать атрибуты, например ls -laF получает длинный список всех файлов с типами. | |||||||
ls {path_1} {path_2} | Укажите как {path_1}, так и {path_2}. | |||||||
ls -l {path} | Длинный список с датой, размером и разрешениями. | |||||||
ls -a {path} | Показать все файлы, включая важные файлы .dot, которые иначе не отображаются. | |||||||
ls -F {путь} | Показать тип каждого файла. «/» = каталог, « * » = исполняемый файл. | |||||||
ls -R {path} | Рекурсивный список со всеми подкаталогами. | |||||||
ls {path} | подробнее | Показывать листинг по одному экрану за раз. | |||||||
Перейти в каталог | ||||||||
cd {dirname} | Между ними должен быть пробел. | |||||||
cd ~ | Вернуться в домашний каталог, полезно, если вы заблудились. | |||||||
cd .. | Вернуться на один каталог. | |||||||
Создать новый каталог | ||||||||
mkdir {dirname} | | |||||||
09 | Работает, только если {dirname} пусто. | |||||||
rm -r {dirname} | Удалить все файлы и подкаталоги.Осторожный! | |||||||
Распечатать рабочий каталог | ||||||||
pwd | Показать, где вы находитесь, полный путь. Полезно, если вы заблудились или исследуете. | |||||||
Копирование файла или каталога | ||||||||
cp {file1} {file2} | | |||||||
cp -r 0 Recursive {dir1} Recursive {dir1} каталог и все подкаталоги. | ||||||||
cat {newfile} >> {oldfile} | Добавить новый файл в конец старого файла. | |||||||
Перемещение (или переименование) файла | ||||||||
mv {oldfile} {newfile} | Перемещение файла и его переименование — одно и то же. | |||||||
mv {oldname} {newname} | | |||||||
Удалить файл | ||||||||
rm {filespec76 ? 920 Подстановочные знаки и * работают так, как должна работать DOS.»?» любой персонаж; «*» — любая строка символов. | ||||||||
ls {filespec} rm {filespec} | Хорошая стратегия: сначала укажите группу, чтобы убедиться, что это то, что вы думаете … … затем удалите все сразу. | |||||||
Просмотр текстового файла | ||||||||
еще {имя_файла} | Просмотр файла по одному экрану за раз. | |||||||
меньше {filename} | Как больше , с дополнительными функциями. | |||||||
cat {имя_файла} | Просмотр файла, но он прокручивается. | |||||||
кот {имя_файла} | подробнее | Просмотр файлов по одному экрану за раз. | |||||||
Редактировать текстовый файл. | ||||||||
gedit {filename} | Базовый текстовый редактор | |||||||
Создайте текстовый файл. | ||||||||
cat> {имя_файла} | Введите текст (несколько строк с введите в порядке) и нажмите control-d для сохранения. | |||||||
gedit {filename} | Создайте текст и сохраните его. | |||||||
Сравнить два файла | ||||||||
diff {file1} {file2} | Показать различия. | |||||||
sdiff {file1} {file2} | Показать файлы рядом. | |||||||
Другие текстовые команды | ||||||||
grep ‘{pattern}’ {file} | Найдите регулярное выражение в файле. | |||||||
заклинание {файл} | Отображение слов с ошибками. | |||||||
wc {file} | Подсчет слов в файле. | |||||||
wc -l {file} | Подсчитать количество строк в файле. | |||||||
Создание псевдонима | ||||||||
псевдоним {name} = ‘{command}’ | Поместите команду в ‘одинарные кавычки’. Более полезно в вашем .bashrc файл. | |||||||
Подстановочные знаки и ярлыки | ||||||||
* | Соответствует любой строке символов, например, page * получает page1, page10 и page.txt. | |||||||
? | Соответствует любому одиночному символу, например страницы? получает page1 и page2, но не page10. | |||||||
[…] | Соответствует любым символам в диапазоне, например, page [1-3] получает page1, page2 и page3. | |||||||
~ | Сокращение от вашего домашнего каталога, например, cd ~ приведет вас домой, а rm -r ~ уничтожит его. | |||||||
. | Текущий каталог. | |||||||
.. | Один каталог вверху по дереву, например, ls .. . | |||||||
Каналы и перенаправление | (Вы перенаправляете команду другой команде, а перенаправляете ее в файл.) | |||||||
{команда}> {файл} | Перенаправить вывод в файл, например ls> list.txt записывает каталог в файл. | |||||||
{команда} >> {файл} | Добавить вывод к существующему файлу, например, cat update >> archive добавляет обновление в конец архива. | |||||||
{command} <{file} | Получить ввод из файла, например sort {command} <{file1}> {file2} | Получить ввод из file1 и записать в file2 , например сортировать новые.txt сортирует old.txt и сохраняет как new.txt. | {command} | {command} | Передавать одну команду другой, например, ls | more получает каталог и отправляет его на more , чтобы показать ему одну страницу за раз. | Оставить комментарий
|