Лекция
Привет, сегодня поговорим про шпаргалка по 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
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX