Поиск по сайту:

10 полезных трюков с командной строкой Linux для новичков. Часть 2


Помню, когда я впервые начал использовать Linux и привык к графическому интерфейсу Windows, я искренне ненавидел терминал Linux. В то время мне было трудно запомнить команды и правильно использовать каждую из них. Со временем я осознал красоту, гибкость и удобство использования терминала Linux, и, честно говоря, не проходит и дня без его использования. Сегодня я хотел бы поделиться некоторыми полезными приемами и советами для новичков в Linux, которые помогут им облегчить переход на Linux или просто помочь им изучить что-то новое (надеюсь).

  1. 5 интересных советов и приемов командной строки в Linux — часть 1
  2. 5 полезных команд для управления типами файлов Linux – часть 3

Цель этой статьи — показать вам несколько полезных приемов, как профессионально использовать терминал Linux с минимальным количеством навыков. Все, что вам нужно, — это терминал Linux и немного свободного времени для тестирования этих команд.

1. Найдите правильную команду

Выполнение правильной команды может иметь жизненно важное значение для вашей системы. Однако в Linux так много разных командных строк, что их часто трудно запомнить. Так как же найти нужную команду? Ответ: примерно. Все, что вам нужно для запуска, это:


# apropos <description>

Здесь вам следует изменить «описание» на фактическое описание команды, которую вы ищете. Вот хороший пример:


# apropos "list directory"

dir (1) - list directory contents
ls (1) - list directory contents
ntfsls (8) - list directory contents on an NTFS filesystem
vdir (1) - list directory contents

Слева вы можете увидеть команды, а справа их описание.

2. Выполнить предыдущую команду

Много раз вам придется выполнять одну и ту же команду снова и снова. Хотя вы можете несколько раз нажимать клавишу Вверх на клавиатуре, вместо этого вы можете использовать команду истории. Эта команда выведет список всех команд, которые вы ввели с момента запуска терминала:


# history

    1  fdisk -l
    2  apt-get install gnome-paint
    3  hostname linux-console.net
    4  hostnamectl linux-console.net
    5  man hostnamectl 
    6  hostnamectl --set-hostname linux-console.net
    7  hostnamectl -set-hostname linux-console.net
    8  hostnamectl set-hostname linux-console.net
    9  mount -t "ntfs" -o
   10  fdisk -l
   11  mount -t ntfs-3g /dev/sda5 /mnt
   12  mount -t rw ntfs-3g /dev/sda5 /mnt
   13  mount -t -rw ntfs-3g /dev/sda5 /mnt
   14  mount -t ntfs-3g /dev/sda5 /mnt
   15  mount man
   16  man mount
   17  mount -t -o ntfs-3g /dev/sda5 /mnt
   18  mount -o ntfs-3g /dev/sda5 /mnt
   19  mount -ro ntfs-3g /dev/sda5 /mnt
   20  cd /mnt
   ...

Как вы увидите из вывода выше, вы получите список всех команд, которые вы выполнили. В каждой строке есть номер, обозначающий строку, в которую вы ввели команду. Вы можете вызвать эту команду, используя:


!#

Где # следует заменить фактическим номером команды. Для лучшего понимания посмотрите пример ниже:


!501

Эквивалентно:

# history

3. Используйте полночный командир.

Если вы не привыкли использовать такие команды, как cd, cp, mv, rm, вы можете использовать < Strong>Полночная команда. Это простая в использовании визуальная оболочка, в которой вы также можете использовать мышь:

Благодаря клавишам F1 – F12 вы можете легко выполнять различные задачи. Просто проверьте легенду внизу. Чтобы выбрать файл или папку, нажмите кнопку «Вставить».

Короче говоря, полуночная команда называется «mc». Чтобы установить mc в вашей системе, просто запустите:


$ sudo apt-get install mc        [On Debian based systems]

# yum install mc                 [On Fedora based systems]

Вот простой пример использования Midnight Commander. Откройте mc, просто набрав:


# mc

Теперь используйте кнопку TAB для переключения между окнами – слева и права. У меня есть файл LibreOffice, который я перенесу в папку «Software»:

Чтобы переместить файл в новый каталог, нажмите кнопку F6 на клавиатуре. MC теперь попросит вас подтвердить:

После подтверждения файл будет перемещен в новый каталог назначения.

Подробнее: Как использовать файловый менеджер Midnight Commander в Linux

4. Выключение компьютера в определенное время.

Иногда вам придется выключить компьютер через несколько часов после окончания рабочего времени. Вы можете настроить компьютер на выключение в определенное время, используя:


$ sudo shutdown 21:00

Это заставит ваш компьютер выключиться в указанное вами время. Вы также можете указать системе выключиться через определенное количество минут:


$ sudo shutdown +15

В этом случае система выключится через 15 минут.

5. Показать информацию об известных пользователях

Вы можете использовать простую команду, чтобы составить список пользователей вашей системы Linux и некоторую базовую информацию о них. Просто используйте:


# lslogins

Это должно принести вам следующий результат:


UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Apr29/11:35 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul19/10:04 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
23 squid 0 1
25 named 0 1 Named
27 mysql 0 1 MySQL Server
47 mailnull 0 1
48 apache 0 1 Apache
...

6. Поиск файлов

Поиск файлов иногда может оказаться не таким простым, как вы думаете. Хорошим примером поиска файлов является:


# find /home/user -type f

Эта команда выполнит поиск всех файлов, расположенных в папке /home/user. Команда find чрезвычайно эффективна, и вы можете передать ей дополнительные параметры, чтобы сделать поиск еще более подробным. Если вы хотите найти файлы размером больше заданного, вы можете использовать:


# find . -type f -size 10M

Приведенная выше команда будет искать в текущем каталоге все файлы размером более 10 МБ. Обязательно не запускайте команду из корневого каталога вашей системы Linux, так как это может привести к увеличению количества операций ввода-вывода на вашем компьютере.

Одна из наиболее часто используемых комбинаций, с которой я использую find, — это опция «exec», которая по сути позволяет вам выполнять некоторые действия по результатам команды find.

Например, предположим, что мы хотим найти все файлы в каталоге и изменить их разрешения. Это можно легко сделать с помощью:


# find /home/user/files/ -type f -exec chmod 644 {} \;

Приведенная выше команда будет рекурсивно искать все файлы в указанном каталоге и выполнит команду chmod для найденных файлов. Я уверен, что в будущем вы найдете еще много применений этой команды, а пока прочитайте 35 примеров команды «find» и ее использования в Linux.

7. Создавайте деревья каталогов с помощью одной команды

Вы, наверное, знаете, что новые каталоги можно создавать с помощью команды mkdir. Итак, если вы хотите создать новую папку, вы запустите что-то вроде этого:


# mkdir new_folder

Но что, если вы хотите создать 5 подпапок в этой папке? Запуск mkdir 5 раз подряд не является хорошим решением. Вместо этого вы можете использовать опцию -p следующим образом:


# mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

В итоге у вас должно получиться 5 папок, расположенных в new_folder:


# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Скопируйте файл в несколько каталогов.

Копирование файлов обычно выполняется с помощью команды cp. Копирование файла обычно выглядит так:


# cp /path-to-file/my_file.txt /path-to-new-directory/

Теперь представьте, что вам нужно скопировать этот файл в несколько каталогов:


# cp /home/user/my_file.txt /home/user/1
# cp /home/user/my_file.txt /home/user/2
# cp /home/user/my_file.txt /home/user/3

Это немного абсурдно. Вместо этого вы можете решить проблему с помощью простой однострочной команды:


# echo /home/user/1/ /home/user/2/ /home/user/3/ | xargs -n 1  cp /home/user/my_file.txt

9. Удаление файлов большего размера

Иногда файлы могут достигать очень больших размеров. Я видел случаи, когда размер одного файла журнала превышал 250 ГБ из-за плохих навыков администрирования. Удаление файла с помощью утилиты rm в таких случаях может быть недостаточным из-за того, что необходимо удалить очень большой объем данных. Эта операция будет «тяжелой», и ее следует избегать. Вместо этого вы можете использовать действительно простое решение:


# > /path-to-file/huge_file.log

Конечно, вам нужно будет изменить путь и имена файлов на те, которые соответствуют вашему случаю. Приведенная выше команда просто запишет в файл пустой вывод. Проще говоря, он очистит файл, не вызывая большого количества операций ввода-вывода в вашей системе.

10. Запустите одну и ту же команду на нескольких серверах Linux

Недавно один из наших читателей спросил на нашем форуме LinuxSay, как выполнить одну команду для нескольких компьютеров Linux одновременно с помощью SSH. IP-адреса его машин выглядели так:


10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Итак, вот простое решение этой проблемы. Соберите IP-адреса серверов в один файл под названием list.txt один под другим, как показано выше. Затем вы можете запустить:


# for in $i(cat list.txt); do ssh user@$i 'bash command'; done

В приведенном выше примере вам нужно будет заменить «user» на фактического пользователя, под которым вы будете вести журнал, и «bash команда» на фактическую команду bash, которую вы хотите выполнить. . Этот метод лучше работает, когда вы используете аутентификацию без пароля с ключом SSH на своих компьютерах, поскольку в этом случае вам не придется вводить пароль для вашего пользователя снова и снова.

Обратите внимание, что вам может потребоваться передать некоторые дополнительные параметры команде SSH в зависимости от настроек вашего Linux-сервера.

Заключение

Приведенные выше примеры действительно просты, и я надеюсь, что они помогли вам осознать красоту Linux и то, как можно легко выполнять различные операции, которые в других операционных системах могут занять гораздо больше времени.