- •6 Архитектура ос Linux. Ядро, файловая система, компоненты.
- •Ядро Linux и его загрузка
- •7 Типы архитектур ядер операционных систем[править | править вики-текст] Монолитное ядро[править | править вики-текст]
- •Модульное ядро[править | править вики-текст]
- •Микроядро[править | править вики-текст]
- •Экзоядро[править | править вики-текст]
- •Наноядро[править | править вики-текст]
- •Гибридное ядро[править | править вики-текст]
- •11.Дистрибутив ос Linux Debian
- •12. Пакетный менеджер apt
- •13. Структура файловой системы Debian.
- •14. Структура файловой системы ос Debian.
- •15. Консольная оболочка Bash.
- •Установка с раздела dos
15. Консольная оболочка Bash.
BASH (дефолтная консольная оболочка, которой вы пользуетесь, заходя через PuTTY или ssh) — очень мощная штука, и многие рутинные операции решать хитрыми консольными командами.
Давайте здесь соберём такие «хитрости» (возможно, специфичные для стажёрских проектов).
Алиасы
Любой команде можно придумать псевдоним (алиас), чтобы беречь пальцы и время:
alias apr='sudo apache2ctl restart'
apr # рестартит апач
Если хочется, чтобы алиасы запомнились и «работали» всегда, надо вбить эти команды (без рестарта апача :-) в конец файла .profile в домашней директории.
Например, мне вот такие нужны:
alias apr='sudo apache2ctl restart' # быстрый рестарт апача
alias sn='cd ~/www/shouldknow && source /usr/local/pythonenv/shouldknow/bin/activate' # вход в shouldknow environment
alias sync='python manage.py syncdb' # быстрый syncdb
Должен знать каждый!
Установка пакетов
Библиотеки Питона
1. убедиться, что если вы хотите установить пакет для shouldknow, выбран нужный environment (source /user/local/pythonenv/shouldknow/bin/activate)
2. попробуйте easy_install имяпакета
Системные библиотеки и пакеты
Если дико уверены, что пакет надо ставить для всей системы, узнайте его название для Ubuntu и ставьте:
sudo apt-get install имяпакета
Общее
ls – список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами
cd dir – сменить директорию на dir
cd – сменить на домашний каталог
pwd – показать текущий каталог
mkdir dir – создать каталог dir
rm file – удалить file
rm -r dir – удалить каталог dir
rm -f file – удалить форсированно file
rm -rf dir – удалить форсированно каталог dir * (аккуратно с флагом -rf, очень аккуратно!)
rm -rf / - похерить систему навсегда (спасибо вам не скажут)
cp file1 file2 – скопировать file1 в file2
cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует
mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог – переместить file1 в каталог file2
ln -s file link – создать символическую ссылку link к файлу file
touch file – создать file
cat > file – направить стандартный ввод в file
more file – вывести содержимое file
head file – вывести первые 10 строк file
tail file – вывести последние 10 строк file
tail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк
Управление процессами
ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc *
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план
SSH
ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user
ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам
Архивация
tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file
Поиск
grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file
Системная информация
date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию
Права доступа на файлы
chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:
● 4 – чтение ®
● 2 – запись (w)
● 1 – исполнение (x)
Примеры:
chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.
Сеть
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
dig domain – получить DNS информацию domain
dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачку
Шоткаты PuTTY
Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! – повторить последнюю команду
exit – разлогиниться
Текстовый редактор wine, nano
Wine (/waɪn/ — между «уа́йн» и «вайн», рус. Вино) — свободное программное обеспечение, позволяющее пользователямUNIX-подобных систем архитектуры x86 (и других архитектур, при наличии совместимости, например, AMD64) исполнять 16-, 32- и 64- битные приложения Microsoft Windows (64-битные приложения находятся в стадии ранней реализации). Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные системы. Название Wine является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» — «Wine — не эмулятор» (имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows API).
Wine распространяется на условиях лицензии GNU LGPL.
Проект был основан Бобом Амштадтом (Bob Amstadt) в 1993 году, как средство запуска 16-битных приложений Windows 3.1 в системе Linux. С 1994 года лидером проекта стал Александр Жульярд (англ.). Изначально Wine был выпущен под лицензией MIT, но в марте 2002 года она была сменена на GNU LGPL.
nano — консольный текстовый редактор для UNIX и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GPL. Это свободный клон текстового редактора Pico, входившего в состав e-mail клиента Pine. nano был создан, чтобы повторить функциональность и удобство интерфейса Pico, но без глубокой интеграции в почтовый клиент, присущей пакету Pine/Pico.
Впервые он появился в 1999 году под именем TIP (TIP isn’t Pico). Его создателем стал Крис Аллегретта (Chris Allegretta), целью которого было желание создать свободное программное обеспечение для замены Pico. Свое нынешнее имя «nano» получил 10 января 2000 года в связи с конфликтом первоначального названия с названием другого Unix-приложения. Настоящее имя пришло из префикса международной системы единиц СИ, где «нано» означает 1000-кратное превосходство над «пико». В то же время nano является бэкронимом «nano’s another editor» (nano — другой редактор), который используется так же часто. В феврале 2001 года nano официально стал частью проекта GNU.[2]
Позднее nano включил в себя несколько возможностей, отсутствующих в Pico: включая подсветку синтаксиса, регулярные выражения при поиске и замене, плавную прокрутку, многоуровневый буфер, переназначаемые клавиши,[3] и (экспериментальную) отмену и возврат изменений.[4]
11 августа 2003 года Крис Аллегретта официально передал поддержку нестабильной ветки nano в руки Дэвиду Лоуренсу Рамси (David Lawrence Ramsey).[5] 20 декабря 2007 года Рамси ушёл в отставку с поста мейнтейнера nano
Основные способы установки debian.
Установка с USB-флешки;
Установка по сети.
Установка с жесткого диска