Новичкам в Linux
Для чтения и использования материалов этого сайта потребуется знание основ операционной системы Linux и прежде всего основ работы в командной строке. В интернете можно найти много книг и руководств, например
и много других. Перед дальнейшим чтением прочтите подобное руководство.
Некоторые полезные приемы работы в Linux (на Keenetic и не только на Keenetic)
Вопрос: Как скопировать текст из окна putty в буфер обмена windows?
Ответ: Нужно просто выделить текст мышкой.
Вопрос: Как скопировать текст из буфера обмена windows в putty?
Ответ: Нужно нажать правую кнопку мышки в окне putty.
Вопрос: Как быстро набрать длинный путь в putty?
Ответ: Используйте клавишу <tab>. Попробуйте так, набираем в окне putty "/m", потом <tab>, еще раз <tab>. Потом "/sy", потом <tab> и т.д. Если после нажатия <tab> ничего не происходит, нажимаем <tab> еще раз, Вам будет предложен список вариантов продолжения. Набираем несколько первых букв и дальше <tab>.
Вопрос: Как повторить ранее введенную команду?
Ответ: Нажмите на клавиатуре кнопку со стрелочкой вверх. Нажимая клавиши стрелки вверх, вниз - перемещайтесь по ранее введенным командам. Выберете нужную команду, если нужно отредактируйте её и нажмите <Enter>.
Вопрос: Как редактирвать файлы на Keenetic?
Ответ: Поставьте пакет mc (opkg install mc). Запустите mc (команда mc). Перемещайтесь с помощью клавиш стрелок по директориям. Клавиша <Tab> меняет активную панель. Выбираем "/.." + <Enter> для перемещения по дереву директорий вверх. Для просмотра содержимого файла нажмите F3, для редактирования F4. Для смены кодировки просматриваемого/редактируемого файла - <Alt-E>. Для использования буфера обмена windows следует держать нажатой клавишу <Shift> на клавиатуре.
Можно использовать и редактор nano. Поставьте пакет (opkg install nano) и вызывайте nano, указывая путь к файлу: (nano <путь к файлу>). Редактор nano в некоторых случаях корректнее работает с буфером обмена. Знатоки могут использовать стандартный редактор Linux редактор vi, он устанавливается с ситемой пакетов opkg.
Вопрос: Как запустить исполняемый файл (или скрипт) из текущей директории?
Ответ: Перед именем файла следует набрать "./", клавиша <tab> и в этом случае работает. Пример: если мы находимся в директории "/media/DISK_A1/system/etc/init.d/", то для остановки сервера minidlna набираем
./S50minidlna stop
Вопрос: Как проверисть, запущена ли программа?
Ответ: Наберите «ps», из вывода будет понятно:
/media/DISK_A1/system/root # ps PID Uid VSZ Stat Command ... <тут строки выбросил > 1182 root 1172 S /media/DISK_A1/system/usr/sbin/dropbear -d /media/DIS 1185 root 892 S /media/DISK_A1/system/usr/sbin/inadyn -F /media/DISK_ 1194 nobody 3248 S /media/DISK_A1/system/usr/sbin/openvpn --cd /media/DI 3786 root 1248 S /media/DISK_A1/system/usr/sbin/dropbear -d /media/DIS 3787 root 1036 S -ash 3823 root 1024 R ps
Видим, что запущены dropbear, inadyn, openvpn.
Вопрос: Как посмотреть, сколько ресурсов (ram, cpu) «потребляет» программа?
Ответ: Запустите top (команда «top»). Для выхода из top нажмите <Ctrl-C>. Можно поставить более функциональный и красивый вариант программы top под названием htop (opkg install htop). Выход из htop по <F10>.
Вопрос: Как посмотреть состояние памяти?
Ответ: Командой «free»:
/media/DISK_A1/system/root # free total used free shared buffers Mem: 28956 21912 7044 0 2468 Swap: 131064 0 131064 Total: 160020 21912 138108
Вопрос: Я запустил демона (программу в режиме отладки) для просмотра логов. Как ее завершить?
Ответ: Нажать <Ctrl-C>.
Вопрос: Команда «opkg list» (или другая) выдает длинный список, который на экране не помещается, как такие выдачи удобнее смотреть?
Ответ: Добавьте в конец программы «| more». Например «opkg list | more». После этого нажимайте пробел для следующей страницы списка, можно нажать «q» для окончания выдачи.
Если в выдаче программы Вы ищите определенные строки, например «php», можно набрать «opkg list | grep php», будут выданы на экран только строки с «php».
Примечание: Для того, чтобы использовать «more», нужно обновить busybox. Для этого выполняем две команды:
opkg update opkg upgrade
Эти две команды рекомендуется периодически выполнять. Первая команда получает обновленный список пакетов из репозитория, вторая обновляет ранее установленные пакеты.
Вопрос: Я написал свой скрипт (вариант скачал скрипт), но он не выполняется. В чем дело?
Ответ: В linux у файлов существует отдельный атрибут исполнения, является ли файл исполняемым определяется именно этим атрибутом (а не расширением файла, как в Windows). Для присвоения атрибута исполнения файлу используйте программу «chmod»:
chmod +x <путь к скрипту или бинарному файлу>
Вопрос: На форуме дана ссылка на пакет для тестирования. Как его установить?
Ответ: Можно установить одним из следующих двух способов.
1. Выполняем команду
opkg install <ссылка на ipk файл>
Пакет будет скачан и установлен. Поддерживаются ссылки http:// и ftp://.
2. Скачиваем ipk файл на usb носитель. Выполняем
opkg install <путь к ipk файлу>
Если ipk файл находится в текущей директории, не забываем перед именем файла набрать "./". Можно ipk файл скачать на ББ (БольшойБрат - компьютер) и после этого забросить на кинетик. Можно скачать сразу на кинетик командой «wget <ссылка на файл>». Файл в последнем случае скачается в текущую директорию.
Cтруктура директорий операционной системы Linux
Операционная система Linux имеет четкую структуру расположения директорий и файлов. Поэтому многие люди, начинающие изучать линукс, сталкиваются с трудностью понимания нужности каждой отдельной директории. В этой статье приведен список основных директорий файловой системы Линукс и их очень краткое описание. Краткое описание структуры файловой системы Linux
01. / <root> Корневой раздел. Домашняя папка суперпользователя root располагается в корне файловой системы
02. ?? /bin Здесь хранятся основные команды операционной системы (ОС) - оболочки и файловой системы (ls, cp)
03. ?? /boot В этой директории хранятся образы ядер операционной системы Linux и менеджер загрузки (grub, lilo)
04. ?? /dev Директория содержит файлы устройств (принтеры, жёсткие диски), подключенные к операционной системе (ОС)
05. ?? /etc Здесь находятся конфигурационные файлы ОС (настройки сети, список пользователей) и программ (Apache, Samba)
06. ?? /home В этой директории должна в целях безопасности размещаться вся личная информация пользователей системы
07. ? ?? /home/username Это домашняя папка пользователя usermame - хранится пользовательская часть конфигурационных файлов
08. ?? /lost+found Сюда скидываются файлы, на которые не было ссылок ни в одной директории, хотя их inod не помечены как свободные
09. ?? /lib Эта директория для хранения системных библиотек, необходимых для работы программ из директорий /bin и /sbin и ОС в целом
10. ?? /media Эта директория используется для автоматического монтирования USB-накопителей
11. ?? /mnt В эту директорию командой mount вручную монтируются различные USB-накопители
12. ?? /opt Директория для размещения установленных программ с большим дисковым размером или вспомогательными пакетами
13. ?? /proc Сюда примонтирована виртуальная файловая система procfs с информацией, которую ядро может сообщить пользователям
13! ? ?? /proc/modules - В этом файле находится список загруженных модулей ядра
13i ? ?? /proc/cpuinfo - В этом файле находится информация о процессоре компьютера
14. ?? /root Это домашний каталог или домашняя папка суперпользователя, по умолчанию всегда расположена в корневом каталоге
15. ?? /sbin Здесь находятся основные системные программы для администрирования и настройки системы (iptables, ifconfig)
16. ?? /srv Тут хранятся специфичные параметры для окружения системы, чаще всего данная директория бывает пустой
17. ?? /sys Это директория с виртуальной файловой системой sysfs с информацией ядра Linux (>v.2.6) о устройствах и драйверах
18. ? ?? /sys/block Эта содержит директории всех блочных устройств, присутствующих в данный момент в системе
19. ? ?? /sys/bus В этой директории находится список шин, определенных в ядре Linux (eisa, pci)
20. ? ?? /sys/class Каталог содержит список группированных устройств по классам (printer, scsi-devices)
21. ?? /tmp Временное хранилище данных, все пользователи имеют права чтения и записи в этом каталоге
22. ?? /usr Здесь хранятся все установленные пакеты программ, документация и исходный код ядра (все, кроме root - Read Only)
23. ? ?? /usr/bin Эта директория дополнительных программ для всех учетных записей
24. ? ?? /usr/games Каталог для размещения доступных компьютерных игр в системе
25. ? ?? /usr/include В этой директории хранятся заголовочные файлы С++
26. ? ?? /usr/lib Тут находятся системные библиотеки для программ, расположенных в директории /usr
27. ? ?? /usr/sbin В этой директории хранятся дополнительные системные программы
28. ? ?? /usr/share А в этой директории хранятся общие данные установленных программ
29. ? ? ?? /usr/share/icons В этом каталоге находятся все иконки системы
30. ? ? ?? /usr/share/doc Это директория, в которой находится справочная документация по установленным программам
31. ? ?? /usr/src В этой директории хранятся исходные коды (здесь также располагаются исходные коды ядра)
32. ?? /var Это каталог для часто меняющихся данных, здесь находятся журналы ОС и системные файлы (log, cache)
33. ? ?? /var/cache В этом месте хранятся все cache - кэши различных программ
34. ? ?? /var/games В этом месте расположены файлы с игровыми достижениями
35. ? ?? /var/lib В этом месте - постоянные данные, изменяемые программами в процессе работы (базы данных, мета-данные)
36. ? ?? /var/lock Здесь лежат lock-файлы, указывающие на занятость некоторых ресурсов
37. ? ?? /var/log В этой директории хранятся все log - лог-файлы системы и установленных программ
38. ? ?? /var/spool Здесь лежат задачи, ожидающие обработки (задачи cron, очереди печати)
39. ? ?? /var/www В этой директории размещаются Web-страницы для сервера Apache
40. ?? / <swap> Раздел файла подкачки - виртуальной памяти для увеличения скорости обмена с оперативной памятью
http://itshaman.ru/articles/10/directory-linux
© asusforum.ru
Вопрос: У меня неправильно отображаются русские буквы (вариант - псевдографика в mc). Как это исправить?
Ответ: Настройте правильно putty. Установите кодировку UTF-8 в разделе Translation. Сохраните настроенную сессию.
Вопрос: Как узнать, сколько места осталось на диске?
Ответ: Наберите «df», из вывода будет понятно:
Filesystem 1k-blocks Used Available Use% Mounted on /dev/mtdblock/4 3904 3904 0 100% / /dev/mtdblock/6 1024 448 576 44% /storage /dev/sda1 3847812 3529852 122496 97% /media/DISK_A1
Диск (у меня флешка на 4Gb) заполнен на 97%. На встроенной флешке (папка /storage) заполнено 44%.
Вопрос: Как узнать S.M.A.R.T. - показатели жёсткого диска, прочую инфу, а также протестировать его?
Ответ:
1 установите smartmontools
opkg install smartmontools
2 выполните
smartctl -a /dev/sda <дополнительные параметры>
подробнее - http://smartmontools.sourceforge.net
Вопрос: Как узнать какие файлы содержатся в пакете?
Ответ: Следует выполнить команду «opkg files <имя пакета>». Например:
~$ opkg files minidlna Package minidlna (1.0.24-5) is installed on root and has the following files: /media/DISK_A1/system/usr/bin/minidlna /media/DISK_A1/system/etc/minidlna.conf /media/DISK_A1/system/etc/init.d/S50minidlna
Вопрос: Как узнать, какие порты/sokets слушают сервисы?
Ответ: netstat -a (-n покажет ип и номер порта)
~$ opkg netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:telnet 0.0.0.0:* LISTEN tcp 0 0 KEENETIC:http 192.168.1.33:2265 TIME_WAIT tcp 0 0 KEENETIC:http 192.168.1.33:2267 TIME_WAIT tcp 0 0 KEENETIC:http 192.168.1.33:2263 TIME_WAIT tcp 0 0 KEENETIC:http 192.168.1.33:2274 TIME_WAIT ... netstat: no support for 'AF INET6 (tcp)' on this system udp 0 0 0.0.0.0:domain 0.0.0.0:* udp 0 0 0.0.0.0:bootps 0.0.0.0:* netstat: no support for 'AF INET6 (udp)' on this system netstat: no support for 'AF INET6 (raw)' on this system Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 8 [ ] DGRAM 795 /dev/log unix 2 [ ACC ] STREAM LISTENING 754 /tmp/superd.socket unix 2 [ ] DGRAM 2280 unix 2 [ ] DGRAM 1807 unix 2 [ ] DGRAM 1533 unix 2 [ ] DGRAM 1512 unix 2 [ ] DGRAM 1467 unix 2 [ ] DGRAM 886
~$ opkg netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN tcp 0 0 192.168.1.1:80 192.168.1.33:2341 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.33:2338 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.33:2333 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.33:2337 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.33:2325 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.33:2339 TIME_WAIT ..... netstat: no support for 'AF INET6 (tcp)' on this system udp 0 0 0.0.0.0:53 0.0.0.0:* udp 0 0 0.0.0.0:67 0.0.0.0:* netstat: no support for 'AF INET6 (udp)' on this system netstat: no support for 'AF INET6 (raw)' on this system Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 8 [ ] DGRAM 795 /dev/log unix 2 [ ACC ] STREAM LISTENING 754 /tmp/superd.socket unix 2 [ ] DGRAM 2280 unix 2 [ ] DGRAM 1807 unix 2 [ ] DGRAM 1533 unix 2 [ ] DGRAM 1512 unix 2 [ ] DGRAM 1467 unix 2 [ ] DGRAM 886
Вопрос: Как узнать, какие пакеты уже установлены?
Ответ:
~$ opkg list-installed busybox - 1.19.3-6 dropbear - 2011.54-1 glib2 - 2.26.1-2 libdb51 - 5.1.25.NC-1 libiconv-full - 1.11.1-1 ....
Вопрос: Хочу поставить что-то, но не знаю ни название программы/библиотеки ни тем более название пакета
Ответ:
~$ opkg list | grep server dropbear - 2011.54-1 - A small SSH2 server/client designed for small memory environments. ...
Вопрос: Хочу перенести/создать swap в другое место, отличное от /media/DISK_A1/.swapfile
Ответ: для примера возьмем swap в /media/DISK_B1/.swapfile, размер - 128МБ
~$ touch /media/DISK_B1/.swapfile ~$ dd if=/dev/zero of=/media/DISK_B1/.swapfile bs=1M count=128 ~$ mkswap /media/DISK_B1/.swapfile
далее меняем путь до файла для демона
~$ nano /media/DISK_A1/system/etc/init.d/S01swap
MOUNT - это путь до файла
SWAPFILE - название swap-файла
MOUNT="/media/DISK_B1" SWAPFILE="$MOUNT/.swapfile"
далее перезагрузка роутера/демона