Skip to content

ooopsididitagain/linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Last Commit

Содержание


  1. Перемещение по системе
  2. Переменные окружения
  3. Команды head & tail
  4. Команды touch, mv, cp, rm
  5. Символьные ссылки
  6. Пакетный менеджер apt
  7. Пользователи и группы
  8. Доступы
  9. Alias
  10. Find
  11. Прочее

Перемещение


  • перейти в домашнюю директорию:

    cd ~
  • перейти в предыдущую директорию:

    cd -

Переменные окружения


  • показать все переменные окружения:

    printenv 
  • посмотреть значение переменной:

    echo $VAR
  • посмотреть значение переменной $HOME:

    • $HOME: абсолютный адрес домашней директории.
    echo $HOME

Команды head & tail


  • показать первые 10 строк файла:

    head /var/log/syslog
  • показать первые 1000 строк файла:

    head -n 1000 /var/log/syslog
  • показать последние 10 строк файла:

    tail /var/log/syslog
  • ключ -f позволяет показывать новые строки по мере их появления:

    tail -f /var/log/syslog
  • следить за обновлением файла, только показать перед этим последние 100 строк:

    tail -100f /var/log/syslog

Команды touch mv, cp, rm


Warning
Для команд mv cp rm желательно создать alias с ключом -i, чтобы случайно не перезаписать существующий файл или не удалить без дополнительного оповещения.

  • перенос нескольких файлов одной командой:

    mv -t dest/ test-1.txt test-2.txt test-3.txt
  • создать файл можно командой touch или >

    • Хотя эта команда предназначена не для создания файла
    > newfile.txt
    touch newfile.txt

Ссылки мягкие и жесткие


Note
soft link & hard link
Мягкие ссылки, в отличии от жестких, не следят за состоянием файла.
Жесткие ссылки работают с индексным дескриптором, храня мета данные файла.
Файлы в файловой системе являются жесткими ссылками.
При создании мягкой ссылки необходимо указывать полный путь до файла.

  • проверка типа файла с помощью ls -l, l в начале укажет на тип "ссылка".
lrwxrwxrwx   1 root root      20 мар 22  2020 libsidplay2.so.1 -> libsidplay2.so.1.0.1
-rw-r--r--   1 root root  278808 мар 22  2020 libsidplay2.so.1.0.1
  • создание мягкой ссылки:

    ln -s test1.txt soft-link.txt
  • создание жесткой ссылки:

    ln test1.txt hard-link.txt

Пакетный менеджер apt


Note
В большинстве случаев для установки новых пакетов требуются права суперпользователя. Далее все команды начинаются с sudo, подразумевая что пользователь состоит в группе sudo. Что-бы запустить пакет, обычно нужно ввести команду, которая соответствует названию пакета.

  • пакетный менеджер apt предлагает нам возможность посмотреть информацию о пакете перед его загрузкой:

    sudo apt-cache search ncdu
  • установить пакет для проверки размера файлов:

    sudo apt-get install ncdu
  • запустить команду (первый запуск команды может занять продолжительное время):

    ncdu
  • удалить пакет:

    sudo apt-get remove
  • удалить пакет и его настройки:

    sudo apt-get purge ncdu
  • удалить зависимости, которые не используются ни одним приложением:

    Note
    Да, зависимости остаются после удаления пакета в системе. Так происходит, потому что sudo apt-get purge не удаляет зависимости.

    sudo apt-get autoremove
  • посмотреть все доступные пакеты, которые у нас есть на данный момент:

    sudo apt-cache pkgnames
  • получить более подробную информацию о пакете, включая версию, размер, зависимости, описание и многое другое, в том числе о тех пакетах, которые не установлены:

    sudo apt-cache show ncdu
  • посмотреть зависимости конкретного пакета:

    sudo apt-cache showpkg postgresql
  • посмотреть общую статистику apt:

    sudo apt-cache stats
  • команда upgrade делает очень много важных вещей. Рекомендуется всегда запускать эту команду сразу после установки свежей системы. Она безопасно обновит все пакеты, у которых по какой-то причине были установлены старые версии:

    sudo apt-get update
    sudo apt-get upgrade
  • просто обновить пакет:

    sudo apt-get install vim --only-upgrade
  • список изменений, которые были внесены в конкретную версию того или иного пакета:

    sudo apt-get changelog postgresql
  • просмотр репозиториев:

    sudo apt-cache policy

    или

    vim /etc/apt/sources.list
  • очистка кэша пакетов:

    apt autoclean 

Пользователи и группы


Note
Я предпочитаю команду adduser, это удобно, но есть и команда useradd, которая значительно отличается, например, не создается домашняя директория. Флаг useradd -m создаст домашнюю директорию.

  • создать пользователя, проверить наличие нового пользователя и добавить пароль:

    sudo useradd newuser
    cat /etc/passwd
    sudo passwd newuser
  • удалить пользователя: Флаг -r удалит пользователя вместе с его домашней директорией.

    sudo userdel newuser   
  • посмотреть список существующих групп

    getent group
  • посмотреть список существующих групп

    getent group
  • создать новую группу

    sudo groupadd newgroup
  • добавить пользователя в группу

    sudo usermod -aG newgroup newuser
  • удалить пользователя из группы

    sudo gpasswd --delete newuser newgroup

Доступы


Note
r - read
w - write
x - execute (исполнять)
todo: добавить цифровое обозначение

  • распределение прав:

    Собственник Группа Все остальные
    -rwx rwx rwx
  • сделать файл запускаемым

    chmod +x file.bin
  • поменяем собственника файла:

    sudo chown newuser:newgroup test-2.sh
  • добавить пользователя в группу sudo:

    sudo usermod -aG sudo newuser
  • Предоставить доступы самой команды sudo:

    sudo visudo

Note
Открылся файл /etc/sudoers.d в текстовом редакторе nano. Единственное отличие от обыкновенного открытия в редакторе, visudo проведёт валидацию файла перед его сохранением. Всегда пользуемся visudo. Добавляем следующую строку в файл:

newuser ALL=(ALL) NOPASSWD:ALL

Alias


Note
alias необходимо добавить в файл .bashrc. Пример файла есть в репозитории.

  • создать новый alias:

    alias mv="mv -i"

Find


  • найти файл, у которого есть слово test в названии:

    find -name "test*" -type f
  • независимый от регистра поиск:

    find -iname "test*"
  • получить список всех директорий:

    find -type d
  • получить список всех обыкновенных файлов:

    find -type f
  • комбинируем флаги:

    find -name "test*" -type f
  • получить файлы, которые по размеру больше чем 100 килобайт:

    find -size +100k
  • найти все пустые файлы:

    find -empty
  • найти файлы, которые были обновлены за последнюю минуту:

    find -mmin 1

Прочее


  • узнать модель монитора:

    xrandr | grep " connected" | cut -f1 -d " "
  • изменить яркость:

    xrandr --output [monitor-name] --brightness [brightness-level]
    xrandr --output LVDS-1 --brightness 0.75
  • просмотр фоновых процессов:

    jobs -l
  • переключение на фоновый процесс:

    fg 1
  • онлайн-сервис для определения ip

    wget -qO- eth0.me
  • отчет об использовании дискового пространства файловой системой:

    df -h

Расширение дискового пространства


- - Запускаем gdisk
 gdisk /dev/sda
  • Печатаем таблицу разделов
    p
  • Удаляем раздел
    d

    Note
    Внимательно смотрим на последний сектор при создании нового раздела, он может отличаться от того, что написано в просмотре (p). В таком случае операцию надо будет повторить.

  • Создаем новый раздел, все опции принимаем как предлагается
    n
  • Записываем таблицу
    w
  • Информируем ядро операционной системы об изменениях таблицы разделов
    partprobe /dev/sda
  • Расширяем созданный раздел (в примере раздел номер 3)
    pvresize /dev/sda3
  • Увеличиваем размер логического тома (в примере /dev/mapper/sysvg-var)
    lvextend -l 100%VG /dev/mapper/sysvg-var
  • Увеличиваем корневой раздел xfs без перезагрузки сервера (обращаем внимание на файловую систему, в примере xfs)
    xfs_growfs /dev/mapper/sysvg-var

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages