Работа с файловой системой Linux

  1. Рекурсивное копирование с сохранением прав
    cp -Rp <что> <куда>
  2. Рекурсивно поменять права на каталоги. Эта команда рекурсивно пройдется по текущему каталогу и всем его подкаталогам и изменит права на 755 только у каталогов
    find . -type d -exec chmod 755 {} \;
  3. Рекурсивно поменять права на файлы
    find . -type f -exec chmod 644 {} \;
  4. Рекурсивный поиск всех файлов с расширениями .py .js .xml .csv и подсчет количества строк в них
    find . -type f \( -name "*.py" -o -name "*.csv" -o -name "*.xml" -o -name "*.js" \) -exec cat {} + | wc -l
  5. Полная информация о разделе
    tune2fs -l /dev/sda1
  6. Принудительная проверка диска. Произойдет после перезагрузки
    touch /forcefsck
  7. Перечитать таблицу разделов
    partprobe
  8. Скопировать таблицу разделов с одного диска на другой
    sfdisk -d /dev/sda | sfdisk /dev/sdb
    dd if=/dev/sda of=/dev/sdb bs=512 count=1
  9. Размер примонтированной файловой системы
    df -h
  10. Информация об инодах файловой системы
    df -i
  11. Размер папки
    du -shc
    du -h
  12. Поиск самых больших файлов
    ls -lSh
    ls -lSh *.cfg
  13. Поиск самых больших папок
    du -kx | egrep -v "\./.+/" | sort -nr
  14. Поиск измененных сегодня файлов
    ls -al --time-style=+%D | grep `date +%D`
  15. Перейти в домашнюю директорию пользователя user
    cd ~user
  16. Показать файлы и директории, содержащие в имени цифры
    ls *[0-9]*
  17. Показать лерево файлов
    tree
  18. Рекурсивное созадние директорий
    mkdir -p ~/dir1/dir2/dir3
  19. Создать символическую ссылку на файл
    ln -s filename lnk
  20. Создать жесткую ссылку на файл
    ln filename lnk
  21. Список всех открытых файлов
    lsof
  22. Кто использует файл
    lsof /path/to/fie
  23. Рекурсивный поиск всех открытых файлов
    lsof +D /usr/lib
  24. Список всех файлов, открытых пользователем
    lsof -u username
  25. Все файлы, открытые программой
    lsof -c nginx
  26. Узнать кто использует партицию
    fuser -v /mnt/
  27. Принудительное отключение занятых устройств
    fuser -km /mnt/disk1
  28. Найти все файлы с битами SUID и SGID
    find / -type f \( -perm -04000 -o -perm -02000 \) -exec ls -l {} \;
  29. Рекурсивная смена прав на файлы
    find /path/to/folder/ -type f -exec chmod 644 {} \;
  30. Рекурсивная смена прав на папки
    find /path/to/folder/ -type d -exec chmod 755 {} \;

Как пользоваться dd

dd (dataset definition) — программа UNIX, предназначенная как для копирования, так и для конвертации файлов.
Созданием образа CD диска

 dd if=/dev/cdrom of=cd.iso bs=65536 conv=noerror

ошибки чтения буду игнорироваться
Безвозвратное удаление данных с жесткого диска

 dd if=/dev/urandom of=/dev/sdH bs=65535

Скопировать MBR

 dd if=/dev/sda of=mbr.img bs=512 count=1

Просмотреть MBR

 dd if=/dev/sda bs=512 count=1 | hexdump -C

Скопировать загрузочный код из MBR

 dd if=/dev/sda of=boot-code.mbr bs=446 count=1

Копирование таблицы разделов

 dd if=/dev/sda of=part-table.mbr bs=1 count=66 skip=446

Клонирование разделов жесткого диска

 dd if=/dev/sda1 of=/dev/sdb2 bs=4096 conv=noerror

Клонирование раздела жесткого диска по сети

 принимающая: nc -l 1234 | dd of=/dev/sdb2 bs=4096
 отдающая: dd if=/dev/sda1 bs=4096 | nc 1.2.3.4 1234

Скопировать файл foo в файл bar, пропустив первые 10 КБ из файла foo

 dd if=foo of=bar bs=1k skip=10

Склеить пять 100-мегабайтных файлов в один

 dd if=SMILE.001 of=SMILE  bs=1M seek=0
 dd if=SMILE.002 of=SMILE  bs=1M seek=100
 dd if=SMILE.003 of=SMILE  bs=1M seek=200
 dd if=SMILE.004 of=SMILE  bs=1M seek=300

Мгновенное создание sparse файла — файл, который создаётся с заданным размером, но при этом физически не занимает пространтсво на винчестере, пока в него не будут записаны данные

 dd if=/dev/null of=bigfile bs=1M seek=1024

Команада создаст файл размером 1GB
Следить за процессом выполнения dd

 watch killall -USR1 dd

Конвертирование образа Nero в iso

dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300

Как создать файловую систему в Linux

В предыдущей статье мы рассмотрели как создать разделы в linux,  теперь отформатируем их.

 mkfs.ext4 /dev/sdb1
Форматирование разделов linux mkfs
Форматирование разделов linux mkfs

Создадим раздел подкачки и активируем его.

 mkswap /dev/sdb2
 swapon /dev/sdb2

Создание файла подкачки
Создание файла подкачки

swap в linux можно создавать на лету

dd if=/dev/zero of=/swap2gb bs=1024k count=2000
mkswap /swap2gb
swapon /swap2gb
swapoff /swap2gb
rm /swap2gb

Как пользоваться cfdisk

Сначала уничтожим  MBR, для это воспользуемся утилитой dd

 dd if=/dev/zero of=/dev/sdb bs=512 count=1
dd MBR linux
dd MBR linux

Для создания новых разделов воспользуемся утилитой cfdisk:

 cfdisk /dev/sdb

создание разделов linux
создание разделов linux

cfdisk linux
cfdisk linux

Нажимаем «New» — создать новый раздел, выбираем «Primary» — основной, задаем размер нового раздела, нажимаем «Beginning» для того, чтобы раздел находился в начале диска. При необходимости выбираем опцию «Bootable» для того, чтобы сделать его загружаемым.

cfdisk linux
cfdisk linux

 
Поле «Type» определяет файловую систему будущего раздела:
cfdisk linux
cfdisk linux

Например, 82 — файл подкачки.
cfdisk linux
cfdisk linux

Когда все необходимые разделы созданы, нажимаем  «Write» для записи изменений.
cfdisk linux
cfdisk linux

KVM

KVM ( Kernel-based Virtual Machine) — набор открытого программного обеспечения, обеспечивающего виртуализация в среде Linux. Сайт проекта linux-kvm.org. Обязательным условием является поддержка платформой аппаратной виртуализации. Каждой гостевой системе выделяются независимые от других VDS ресурсы, собственная сетевая карта, выделенная область в оперативной памяти и на жестком диске. KVM — это технология полной виртуализации, таким образом на виртуальных серверах, построенных по этой технологии можно запускать различные ОС, например, Windows, FreeBSD, Linux с модифицированным ядром и т.д. Поддержка KVM интегрирована в ядро Linux. Разработкой KVM и сопутствующих модулей занимается RedHat. Как это все работает можно почитать здесь.

LTSP


Linux Terminal Server Project (LTSP) — набор открытого программного обеспечения и утилит, позволяющий построить вычислительную сеть, из бездисковых (жесткий диск) рабочих станций (терминалы или тонкие клиенты). Т. е. все приложения будут запускаться непосредственно на самом сервере (кластере серверов).
Преимущества использования LTSP на предприятии:

  • Простота администрирования рабочих станций (тонких клиентов). Установка и отладка программного обеспечения и периферийного оборудования осуществляется единожды в момент пуско-наладки сервера.
  • Простота администрирования учетных данных пользователей сети. 
  • Экономия на рабочих станциях пользователей сети. Единственно условие к рабочей станции — возможность загрузки по сети. Ищите пункт активации/деактивации PXE в BIOS вашего компьютера.

Недостатки данного метода:

  • Высокие требования к качеству вычислительной сети. 
  • Производительный сервер.