Еше один способ узнать размер сразу нескольких папок (начинаем работу с текушего места, находим каталоги, узнаем их размер, сортируем по убыванию, записываем в файл 123)
Остановка системы
init 0
telinit 0
shutdown -h now
- остановить систему
shutdown -r now
reboot - перегрузить систему
shutdown -h hours:minutes & - запланировать остановку системы на указанное время
shutdown -c - отменить запланированную по расписанию остановку системы
logout - выйти из системы
Пользователи и группы
useradd -c "Revolution" -g admin -d /home/user -s /bin/bash user - создать пользователя user, назначить ему в качестве домашнего каталога /home/user, в качестве коммандной оболочки /bin/bash, включить его в группу admin и добавить комментарий Revolution
useradd user - создать пользователя user
userdel -r user - удалить пользователя user и его домашний каталог
usermod -c "FTP User" -g system -d /ftp/user -s /bin/nologin user - изменить атрибуты пользователя
groupadd group_name - создать новую группу с именем group_name
groupdel group_name - удалить группу group_name
groupmod -n new_group_name old_group_name -переименовать группу old_group_name в new_group_name
passwd - сменить свой пароль
passwd user - сменить пароль пользователя user1 (только root)
chage -E 2012-12-31 user - установить дату окончания действия учётной записи пользователя user
pwck - проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
grpck - проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_name - изменяет первичную группу текущего пользователя. Если указать "-", ситуация будет идентичной той, в которой пользователь вышeл из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
Дисковое пространство
df -h - отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства.
ls -lSr - выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера.
du -sh dir - подсчитывает и выводит размер, занимаемый директорией 'dir'.
du -sk * | sort -rn - отображает размер и имена файлов и директорий, с сортировкой по размеру
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n - показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру.
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n - показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру
Монтирование файловых систем
mount /dev/sda1 /mnt - монтирует раздел 'sda1' в точку монтирования '/mnt'.
umount /dev/sda1 или umount /mnt - размонтирует раздел 'sda1'.
fuser -km /mnt/sda1 - принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/sda1 - выполнить размонтитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты "только чтение" или недостаточно места на диске
mount /dev/fd0 /mnt/floppy - монтировать флоппи-диск
mount /dev/cdrom /mnt/cdrom - монтировать CD или DVD
mount -o loop file.iso /mnt - смонтировать ISO-образ
mount -t vfat /dev/sdb1 /mnt - монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share - монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/user/dir /var/ftp/user - "монтирует" директорию в директорию (binding). Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в "песочнице" (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/dir в /var/ftp/user
Поиск файлов
find / -name file - найти файлы и директории с именем file. Поиск начать с корневой директории (/)
find / -user user - найти файл и директорию принадлежащие пользователю user. Поиск начать с корневой директории (/)
find /home/user -name "*.gz" - Найти все файлы и директории, имена которых оканчиваются на '. gz'. Поиск начать с '/ home/user'
find /usr -type f -atime +10 - найти все файлы в '/usr', время последнего обращения к которым более 10 дней
find /usr -type f -mtime -10 - найти все файлы в '/usr', созданные или изменённые в течении последних 10 дней
find / -name *.deb -exec chmod 755 '{}' \; - найти все фалы и директории, имена которых оканчиваются на '.deb', и изменить права доступа к ним
find / -xdev -name "*.deb" - найти все фалы и директории, имена которых оканчиваются на '.deb', игнорируя съёмные носители, такие как cdrom, floppy и т.п.
whereis top - показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу 'top'
which top - отображает полный путь к файлу 'top'
locate "shutdown" - найти все файлы, содержащие в имени 'shutdown'. База файлов создается командой 'updatedb'
Файлы и директории
cd /home - перейти в директорию '/home'
cd ~user - перейти в домашнюю директорию пользователя user
cd - - перейти в директорию, в которой находились до перехода в текущую директорию
cd .. - перейти в директорию уровнем выше
cd - перейти в домашнюю директорию
cp -a dir1 dir2 - копировать директорию dir1 в директорию dir2
cp -a /tmp/dir1 . - копировать директорию dir1 со всем содержимым в текущую директорию
cp dir/* . - копировать все файлы директории dir в текущую директорию
cp file1 file2 - скопировать файл file1 в файл file2
ln file1 lnk1 - создать "жёсткую" (физическую) ссылку на файл или директорию
ln -s file1 lnk1* - создать символическую ссылку на файл или директорию
ls *[0-9]* - показать файлы и директории содержащие в имени цифры
ls -a - показать скрытые файлы и директории в текущей директории
ls -F - отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l - показать детализированное представление файлов и директорий в текущей директории
lstree - показать дерево файлов и директорий, начиная от корня (/)
ls - отобразить содержимое текущей директории
mkdir dir1 dir2 - создать две директории одновременно
mkdir dir1 - создать директорию с именем 'dir1'
mkdir -p /tmp/dir1/dir2 - создать дерево директорий
mv dir1 new_dir - переименовать или переместить файл или директорию
pwd - показать текущую директорию
rmdir dir1 - удалить директорию с именем 'dir1'
rm -f file1 - удалить файл с именем 'file1'
rm -rf dir1 dir2 - удалить две директории и рекурсивно их содержимое
touch -t 0712250000 fileditest - модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
Системная информация
uname -m - отобразить архитектуру компьютера
uname -r - отобразить используемую версию ядра
dmidecode -q - показать аппаратные системные компоненты - (SMBIOS / DMI)
hdparm -i /dev/hda - вывести характеристики жесткого диска
hdparm -tT /dev/sda - протестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfo - отобразить информацию о процессоре
cat /proc/interrupts - показать прерывания
cat /proc/meminfo - проверить использование памяти
cat /proc/swaps - показать файл(ы) подкачки
cat /proc/version - вывести версию ядра
cat /proc/net/dev - показать сетевые интерфейсы и статистику по ним
cat /proc/mounts - отобразить смонтированные файловые системы
lspci -tv - показать в виде дерева PCI устройства
lsusb -tv - показать в виде дерева USB устройства
date - вывести системную дату
cal 2010 - вывести таблицу-календарь 2010-го года
date 031519002010.00 - установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w - сохранить системное время в BIOS
Иногда, чаще всего после обновлений, когда пакеты собираются скопом и один пакет уже обновился, а библиотека, с которой он собирается, ещё нет - мы получаем вроде как собранный и установленный пакет, но на практике нефига не рабочий. Ну вот, скажем вы собрали расширение к php, а потом решили обновить версию php самого - а расширения остались со старым php. Или, скажем, вы решили обновить перл, а перловые плагины остались старыми - в результате нефига не работает, хотя внешне всё нормально. В таких случаях следует заново пересобрать пакет со всеми зависимостями, а именно
SSL certificate problem: unable to get local issuer certificate
Проблема с сертификатом... иногда, когда мы уверены в ресурсе, уверены что сертификат просто неверный, или просто имеем дикое желание скачать - можно игнорировать проверку сертификата - делается это так:
# git clone https://gitlab.com/kolab-roundcube-plugins/calendar.git
Cloning into 'calendar'...
fatal: unable to access 'https://gitlab.com/kolab-roundcube-plugins/libcalendaring.git/': SSL certificate problem: unable to get local issuer certificate
#