Лекция
Привет, сегодня поговорим про шпаргалка по linux, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое шпаргалка по linux , настоятельно рекомендую прочитать все из категории Операционная система LINUX.

hotkeys для быстрой работы
| Tab | Автодополнение пути (для папок и файлов) при навигации |
| ↑ | Предыдущая комманда |
| CtrlC | Убить исполняемую программу (Cancel) |
| CtrlZ | Переключить вид из программы. Комманды fg, jobs, bg помогают управлять контекстом |
| Q | Выход из некоторых программ (как например man - помощи) |
Ctrl + Alt + T - открыть окно терминала Ubunutu
Alt+F2 запуск приложения
Теперь основная часть - ходить по файловой системе, будь то локальной или удаленной.
| ls | список файлов и папок |
| cd | перейти в папку |
| pwd | узнать в какой папке я нахожусь |
| tail | быстрый просмотр конца файла (полезно для логов) |
| cat | быстрый просмотр содержимого файла |
| tree -d -L 2 | двух уровневое дерево папок |
| find . -name *txt | поиск файла по имени |
| grep "needle" file.txt | поиск по паттерну |
| whoami | узнать какой я пользователь |
| uname -a | узнать что за ядро (и может дистрибутив) |
Что-бы ходить по файловой системе, надо понимать по какому принципу дерево построено, и хотя в разных дистрибутивах оно немного отличается, стандарт FSSTND такой..
| FSSTND Стандарт | Suse 11 | Mac OS 10.7 | Описание |
| boot | mach_kernel | Файлы загрузчика. Lilo и образ ядра | |
| tmp | private/tmp | Временные фейлы для бута. Остальным - в /var/tmp | |
| sbin | Системные комманды нужные при буте | ||
| bin | Пользовательские комманды нужные при буте | ||
| proc | Виртуальная папка настроек и процессов ядра | ||
| dev | Подключенные устройства | ||
| mnt | Volumes | Доступные через файловую систему устройства | |
| lib | Общедоступные библиотеки root-уровня | ||
| etc | private/etc | Конфигурационные файлы, зависящие от машины | |
| root | private/var/root | Домашняя папка главного пользователя | |
| home | Домашние папки остальных пользователей, в том числе ftp, httpd, samba-сервисов | ||
| usr | Cтатичные файлы программ, библиотек, игр, документации, утилит не используемых при загрузке | ||
| var | private/var | Часто меняющиеся файлы - почтовые сообщения, логи, временные файлы | |
| cdrom | |||
| opt | + | ||
| image | |||
| lost+found | |||
| media | |||
| selinux | |||
| srv | Папка для апача, корень документов вместо htdocs | ||
| net | маунт для NFS дисков | ||
| private | сюда сгруппированы разные папки для ограничения доступа | ||
| cores | место для сохранения дампов памяти при падении.. Об этом говорит сайт https://intellect.icu . можно почистить при недостатке места | ||
| Applications | Все установленные пользователем приложения | ||
| Developer | |||
| Library | Общедоступные файлы (например шрифты) межпрограммного уровя | ||
| Network | |||
| System | |||
| Users | домашние папки настоящих пользователей, расширение home | ||
Удобство синтаксиса юникса как я уже сказал в гибкости, а именно в символах управления, которые используются с несколькими коммандами
| | | труба - передача данных от одной комманды в другую, например ls -F | grep / |
| ; | последовательный запуск комманд, например date;cal |
| > | перенаправление стандартного вывода в файл с перезаписью, например ls / -F > list.txt |
| >> | перенаправление вывода в файл с добавлением в конец |
| mv | переименовывание |
| rm | удаление |
| rm -rf | рекурсивное удаление |
| cat | объединить файлы и выдать в поток |
| paste | объекдинить строки файла(-ов) |
| ln | ссылка на файл или папку |
| split | бинарное разделение файла |
| join | построчно объединяет два файла по общему слову |
| cut | построчно (и/или) поколоночное вырезание текста из файла как из матрицы символов |
| cat | последовательное объединение двух файлов и вывод в терминал (или файл) |
| sort | отсортировать строчки по алфавиту |
| uniq | оставить уникальные строчки |
Поскольку *никсы занимаются целым спектром разных задач, следовательно разные дистрибутивы, со своими установщиками.
| Дистрибутив | Установщик пакетов | |
|---|---|---|
| Gentoo | emerge | |
| Debian. Ubunutu | apt-get update apt-get install ... dpkg --install Утилиту можно использовать для установки пакета .deb командой: dpkg -i имя_пакета.deb |
|
| Fedora | rpm -ivh ... yum -y install ... |
Гляньте также на возможные репозитории |
| Mandriva | urpm | |
| Slackware | yast, zypper gzip, lzma |
Кроме системных общих установщиков, есть и специфичные под конкретные нужды установщики
| Vi | Vim | Nano | Gedit | Mate | Pico | Emacs | |
| Ubuntu | + | + | + | - | |||
| Mac OS Lion | + | + | - | + | + | + | |
| Debian 5 | + | + | + | - | + | - | |
| Suse 11 | + | - | - | - | - | - |
vi readme.txt
i - режим редактирования
esc - выход в общий режим
ZZ - сохранить и выйти
" - режим консоли
!q - выход без сохранения
wq - выход с записью
Архиваторы
| gunzip | распаковать .gz |
| bunzip2 | распаковать .bz2 |
| tar -jxvf | распаковать .tar |
| top | запущенные процессы. См. htop, pstree |
| netstat | открытые соединения например открытые порты в линуксе: netstat -atp | grep -i "listen" или netstat -tupl на маке: lsof -n -i4TCP | grep LISTEN |
| lsof | открытые файлы (например открытые порты в маке: sudo lsof -i -P|grep -i "listen") |
| killall | убить процесс по имени. Иногда приходится убивать точечно (например подвисший mysql) по PID: kill -9 1566 |
| whereis | подсказка где находятся файлы процесса |
| df -h | отчет о свободной HDD-памяти (в читаемой форме). Что-бы найти большие файлы на сервере: find . -type f -size +50000k -exec ls -lh {} ; | awk '{ print $9 ": " $5 }' |
| w | список пользователей в данный момент |
| opensnoop | слежка за доступом к файловым указателям |
Практически все постоянно работающие программы - демоны находятся в /etc/init.d/ и имеют комманды start, stop, restart. Необходимы права рута для их управления. В некоторых случаях (Fedora) может прийдется использовать /sbin/service для доступа к ним
| ssh | Удаленное соединение |
| scp | Безопасное сетевое копирование через SSH с одного сервера на другой. Флаг -r делает рекурсивное копирование папок. Например: scp -r root@example.com:/srv/htdocs/ /home/html_sources/ |
| ab | (Apache Bench) - нагрузочное тестирование (например с параметрами -r -c 100 -n 1000) |
| nc | (netcat) - прямое сокет-соединение |
| rsync | Синхронизация файлов rsync -av -e ssh --progress /local/source user@example.com:remote/target |
На маке апач2 встроен (включается в настройках sharing) и в нем имеет смысл включить .htaccess (см. директиву AllowOverride)
| Linux | Mac OSX | |
| Запуск | /etc/init.d/httpd restart/etc/init.d/apache2 restart | /etc/apache2/ /usr/sbin/apachectl restart /private/etc/apache2/httpd.conf/private/var/log/httpd/access_log |
| Логи | /private/var/log/apache2/access_log /private/var/log/httpd/access_log |
пути к конфигам и исполняемым файлам
| Suse 11 | Mac OSX |
| /etc/php8/apache2/php.ini /usr/share/php8/ /usr/lib64/php8/ |
/private/etc/php.ini /usr/local/php8/lib/php/extensions/ |
Настройки MySQL по умолчанию используются зашитые (их можно спросить у mysqladmin посмотреть), для перезаписи на свои, надо в /etc положить my.cnf файлик (образец есть в папке support-files). Самые полезные утилиты в bin папке это mysql (прямой консольный доступ к серверу) и mysqldump (для миграции больших баз).
Если вы сидите на маке, но хочется через виртуалку использовать sqlyog, можно расшарить соединение..
CREATE USER 'your_user_id'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL ON your_database_name.* TO your_user_id@'%' IDENTIFIED BY 'your_password';
При быстрой работе с самим сервером наиболее востребованы комманды
SHOW PROCESSLIST;
SHOW DATABASES;
CHECK TABLE;
REPAIR TABLE;
| Linux | Mac OSX |
| /etc/init.d/mysql restart | /usr/local/mysql/bin/mysqld_safe /usr/local/mysql/bin/mysqladmin shutdown |
Надеюсь, эта статья про шпаргалка по linux, была вам полезна, счастья и удачи в ваших начинаниях! Надеюсь, что теперь ты понял что такое шпаргалка по linux и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Операционная система LINUX
Из статьи мы узнали кратко, но содержательно про шпаргалка по linux
Комментарии