IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [489]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [189]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [444]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [679]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [353]
    Сети, сетевые технологии, оборудование... [267]
    Смартфоны [4963]
    Фотокамеры, объективы, искусство фотографии.. [542]
    Умный дом [47]
    Электронные книги [95]
    CB, LPD, PMR- связь... [169]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1112]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [613]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1338
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Август » 12 » 14 советов и хитростей, касающихся командной строки
    13:11
    14 советов и хитростей, касающихся командной строки

    14 советов и хитростей, касающихся командной строки

    Оригинал: 14 Command line tips & tricks
    Автор: Himanshu Arora
    Дата публикации: 1 July, 2014
    Перевод: Н.Ромоданов
    Дата перевода: июль 2014 г.

    Чтобы системе в Linux опираться на прочный фундамент знаний, важно хорошо знать особенности работы в командной строке. Далее мы ответим на 14 из наиболее часто задаваемых вопросов.

    В этой статье вы найдете список из 14 практических советов и хитростей, относящихся к использованию командных строк в системе Linux, причем в удобном виде вопросов и ответов, назначение которых - предоставить ценную информацию для тех, кто только начинает пользоваться системой Linux.

    Вопрос №1: Я новичок в Linux. Советуют никогда не входить в систему с правами администратора. Как я могу узнать, вошел ли я в систему как root или нет?

    Как новичок в Linux, первое, что вы должны знать, это то, что означают права пользователя root и почему эксперты говорят, что вы никогда не должны входить в систему как пользователь root (до тех пор, пока это не будет абсолютно необходимым).

    root - это имя пользователя с учетной записью пользователя в Linux, которая разрешает читать / записывать / удалять практически все, что есть в системе. Этот пользователь по умолчанию существует в каждом дистрибутиве Linux, хотя в некоторых из них (например, в Ubuntu) перед тем, как использовать его первый раз, требуется активировать его вручную. Активация здесь означает задание при помощи команды passwd пароля для пользователя root. Пользователь root также называется суперпользователем.

    Поскольку учетная запись пользователя root имеет неограниченные привилегии, вы можете, когда войдете в систему с правами root, выполнять в системе Linux почти любое действие. Например, вы можете удалить из Linux стандартную команду или двоичный модуль, изменить конфигурационный файл системы, поменять пароли пользователей, изменить сетевые настройки, настройку брандмауэра и так далее. Список можно продолжать бесконечно. Но, как говорится, большие возможности требуют большей ответственности. К сожалению, обычные пользователи, как правило, не настолько ответственны и недостаточно внимательны с тем, чтобы пользоваться учетной записью root. Представьте себе сцену, в которой обычный пользователь, вошедший как root, случайно изменяет некоторые настройки брандмауэра системы или, что еще хуже, случайно в корневом каталоге (/) выполняет команду rm -rf *.

    Вы просто не можете себе представить масштабы ущерба, который с помощью учетной записи root может быть за один раз нанесен случайно вами или хакером. Это та причина, почему всегда советуют не использовать учетную запись root до тех пор, пока это не будет абсолютно необходимым. Даже тогда, когда требуется что-нибудь сделать, что требует привилегий с root, всегда для получения привилегий пользователя root используйте такие команды, как sudo или su -c, а не входите в систему как пользователь root, поскольку привилегии будут даны для выполнение одной команды или будут действовать (как максимум) в течение определенного периода времени.

    Вопрос №2: Иногда, когда я запускаю программу из командной строки, строка приглашения блокируется до тех пор, пока я не закрою программу. Как избежать этого?

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

    Иногда пользователь не желает ждать завершения команды и хотел бы в то же самое время продолжать делать что-нибудь другое. Для достижения этой цели имеются несколько способов:

    - Выполните команду, добавив к ней в конце символ '&'. Это гарантирует, что команда будет выполняться в фоновом режиме, а терминал немедленно будет освобожден.

    - Уже запущенную команды, которая выполнялась без использования символа '&', завершите при помощи нажатия клавиш Ctrl+Z, а затем запустите команду ‘bg’ для того, чтобы перевести выполнение первой команды в фоновый режим.

    Другие важные моменты:

    - Чтобы получить список всех команд, работающих в фоновом режиме, используйте команду ‘jobs’.

    - Чтобы команду, работающую фоновом режиме, вернуть из фонового режима, используйте команду ‘fg’.

    - Если есть несколько команд, работающих в фоновом режиме, то вы для того, чтобы вернуть из фонового режима конкретную команду, можете в команде ‘fg’ указать идентификатор задания ID этой команды (указывается в списке, выдаваемом командой ‘jobs’).

    Например, ниже показан исполняемый модуль с именем ‘binary’, который работает бесконечно.

    $ ./binary
    

    Теперь для того, чтобы перевести эту команду в фоновый режим, используйте клавиши Ctrl+Z, а затем — команду ‘bg’.

    $ ./binary
    ^Z[1]+ Stoppedbinary$ bg
    [1]+ ./binary &
    $
    

    Обратите внимание на то, что приглашение в командной строке появляется сразу же, как только команда ‘binary’ переводится в фоновый режим.

    Теперь для того, чтобы проверить, что она работает в фоновом режиме, используйте команду ‘jobs’.

    $ jobs
    [1]+ Running
    binary &
    

    Обратите внимание, что указывается команда ‘binary’ и статус, в котором она работает.

    Чтобы вернуть команду из фонового режима, воспользуйтесь командой ‘fg’.

    $ fg
    ./binary
    

    Таким образом, вы видите, что выполнение команды ‘binary’ теперь происходит не в фоновом режиме.

    Вопрос №3: Иногда во время работы с длинной командой мне для того, чтобы изменять или исправлять некоторые параметры, приходится перемещаться вперед и назад. Использование клавиш со стрелками, как оказывается, занимает довольно много времени. Есть ли какие-нибудь сочетания клавиш для того, чтобы можно было за один раз перемещаться на целое слово?

    Да, существуют сочетания клавиш для обхода команды слово за словом, причем как в прямом направлении, так и в обратном. Используйте в командной строке сочетание Ctrl + «клавиша со стрелкой вправо» для того, чтобы двигаться вперед (на одно слово за один раз), или Ctrl + «клавиша со стрелкой влево» для того, чтобы двигаться в обратном направлении (на одно слово за один раз).

    Вопрос №4: Есть ли сочетание клавиш для запуска команды, которая уже запускалась раньше, с привилегиями пользователя root?

    Да. Вы можете обратиться к последней выполненной команде с помощью ссылки ‘!!’ и перед ней использовать команду sudo.

    $ 
    find / -name “abc”
    find: `/media/himanshu’: Permission denied
    find: `/root’: Permission denied
    find: `/run/udisks2’: Permission denied
    find: `/run/lightdm’: Permission denied
    find: `/run/wpa_supplicant’: Permission denied
    find: `/run/cups/certs’: Permission denied
    

    Как видно из примера, приведенного выше, мы попытались с помощью команды ‘find’ найти файл с именем ‘abc’, но стали получать ошибки Permission denied (доступ запрещен), поскольку эта команда не может получить доступ к определенным местам в системе. Теперь для того, чтобы снова запустить эту команду с привилегиями пользователя root, мы воспользуемся следующим:

    $ sudo !!
    sudo find / -name “abc”
    [sudo] password for himanshu:
    

    Таким образом можно видеть, что использование ‘sudo’ с ‘!!’ позволяет поместить команду sudo перед ранее запущенной командой. Этот прием особенно полезен тогда, когда команда, которая уже запускалась, сложная или длинная.

    Вопрос №5: Если ли сочетания клавиш, с помощью которых я могу ускорить свою работу в командной строке?

    Вот несколько сочетаний клавиш, используемых в командной строке:

    Иногда во время работы с длинными командами необходимо переместить курсор в начало или конец команды. В этих случаях традиционный метод с использованием клавиш со стрелками оказывается очень медленным. Гораздо быстрее альтернативный вариант - нажать Ctrl+A для того, чтобы отправить курсор в начало команды, или - Ctrl+E для того, чтобы отправить курсор в конец команды.

    Написание названий существующих файлов или каталогов в командной строке можно выполнять быстрее с помощью использования клавиши Tab. Просто введите несколько первых символов имени файла, а затем нажмите Tab. Если эти символы соответствуют только одному существующему файлу или каталогу, то для вас автоматически будет дописано это имя; в противном случае, если есть варианты, вы можете завершить набор имени, если добавите еще несколько символов (с тем, чтобы сделать эти начальные символы уникальными) и еще раз нажмете клавишу Tab.

    Всем известно, что команду ‘clear’ можно использовать для очистки экрана терминала, но для этого вы должны ввести и запустить эту команду из командной строки. Если вы не хотите запускать команду clear, то для очистки экрана можно использовать сочетание клавиш Ctrl+L, сохранив в текущей строке все, что было набрано.

    Иногда в командной строке не рекомендуется для выполнения операций «вырезание-вставка» пользоваться мышкой. Быстрое вырезание текста в командной строке можно выполнить с помощью сочетания клавиш Ctrl+K (убедитесь, что курсор помещен в начало текста, который ложен быть вырезан), а вставить текст можно с помощью сочетания клавиш Ctrl+Y.

    Иногда вам нужно повторно запустить сложную/длинную команду, которую выполняли некоторое время назад. Обычно мы для поиска ранее выполненной команды пользуемся клавишами со стрелками, указывающими вверх и вниз. Чтобы ускорить процесс, можно воспользоваться поиском в обратном направлении. Просто нажмите Ctrl+R и напишите несколько символов начала команды, которую вы ищете. Если вы все еще не получили требуемый результат, то для того, чтобы продолжить поиск, попробуйте несколько раз нажать Ctrl+R.

    Вопрос №6: Я хочу узнать больше о системе Linux, которой я пользуюсь. Где я могу получить подробную информацию?

    Лучшим способом получить информацию о вашей системе Linux является выполнение команды ‘uname’ с различными параметрами. Ниже подробно описываются имеющиеся параметры.

    Выполните команду ‘uname’ без параметров для того, чтобы узнать название ядра:

    $ uname -s
    Linux
    

    Выполните команду ‘uname’ с параметром -r для того, чтобы узнать название релиза ядра:

    $ uname -r
    3.8.0-23-generic
    

    Выполните команду ‘uname’ с параметром -v для того, чтобы узнать название версии ядра:

    $ uname -v
    #34-Ubuntu SMP Wed May 29 20:22:58 UTC 2013
    

    Выполните команду ‘uname’ с параметром -m для того, чтобы узнать название платформы:

    $ uname -m
    x86_64 
    

    Выполните команду ‘uname’ с параметром -o для того, чтобы узнать название операционной системы:

    $ uname -o
    GNU/Linux
    

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

    Для случая, когда вы сменили только один каталог, вы можете вернуться в предыдущий каталог с помощью команды ‘cd-’.

    $ pwd
    /home/himanshu/Desktop
    $ cd ../practice/
    $ cd -/home/himanshu/Desktop
    $ pwd
    /home/himanshu/Desktop
    

    Таким образом можно видеть, что с помощью ‘cd-’ можно легко вернуться обратно к предыдущему каталогу.

    Данный прием замечательный, но в реальной ситуации мы склонны перемещаться по различным каталогам и каталог, к которому мы хотим вернуться, не всегда бывает предыдущим каталогом. В этом случае, можно использовать команды ‘pushd’ и ‘popd’.

    $ pwd/home/himanshu/Desktop
    $ pushd .~/Desktop 
    ~/Desktop
    $ cd ../practice/
    $ cd /home/himanshu/
    $ cd 
    /home/
    $ popd
    ~/Desktop
    $ pwd
    /home/himanshu/Desktop
    

    Видно, что команда ‘pushd’ последующей точкой (.) запоминает текущий рабочий каталог, которым в данном случае был каталог /home/himanshu/ Desktop, т. е. там, где мы находились изначально. Это тот каталог, в который пользователь в конце концов хочет вернуться. Затем было много переходов в различные каталоги, а когда, в конце концов пользователь, выполнит команду ‘popd’, он окажется в том каталоге, в который он хотел вернуться (/home/himanshu/Desktop).

    Вопрос №8: Что особенного в файлах/каталогах, имена которых начинается с точки?

    В Linux есть определенные файлы, в которых запоминается конфигурационная информация, относящаяся к системе или к конкретному пользователю. Как правило, файлы этого типа начинаются с точки (.) и они скрыты. Это означает, что эти файлы не будут видны в случае, если вы в каталоге, в котором они находятся, выполняете простую команду ‘ls’.

    $ ls
    Desktop Documents Downloads
    examples.desktop Music Pictures
    practice Public Templates #test#
    Videos
    

    В выходных данных, приведенных выше, видно, что простая команда ‘ls’ не выдает в списке домашнего каталога пользователя файлы, начинающиеся с точки. Но, это не означает, что в этом каталоге нет таких файлов. Чтобы это проверить, запустите команду ‘ls’ с параметром -а.

    $ ls -a
    . .bashrc
    Desktop examples.desktop .kde
    Pictures #test# .Xauthority
    .. .cache
    .dmrc .gconf
    .local practice .thunderbird .Xauthority.8NWRZW
    .adobe .compiz Documents
    gnome2 .macromedia
    .profile Videos .Xauthority.THC0ZW
    .bash_history .config Downloads
    .gstreamer-0.10 .mozlla
    Public .vim
    errors
    .bash_logout .dubs .emacs.d
    .ICEauthority Music
    Templates .viminfo .xsession-errors.old
    

    Таким образом, видно, что в этом каталоге присутствует много файлов, имена которых начинаются с точки. Причина, почему эти файлы по умолчанию скрыты, объясняется тем, что они редко используются обычным пользователем в его повседневной работе.

    Вопрос №9: Когда я запускаю команду ‘ls’ в некотором каталоге, я вижу файлы и каталоги различных цветов. Что эти цвета означают?

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

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

    # enable color support of ls and also add handy aliases
    if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && 
    eval“$(dircolors -b ~/.dircolors)” ||eval 
    “$(dircolors -b)”
    alias ls=’ls –color=auto’
    #alias dir=’dir –color=auto’
    #alias vdir=’vdir –color=auto’
    alias grep=’grep –color=auto’
    alias fgrep=’fgrep –color=auto’
    alias egrep=’egrep –color=auto’
    fi
    

    Чтобы декодировать используемый цвет, просто запустите в командной строке следующий код:

    $ dircolors -p
    

    Вопрос №10: В чем разница между символом > и символами >>, когда они используются командной строке?

    Оба варианта > и >> используются для перенаправления вывода в файл. Разница заключается в том, что вариант > перезаписывает существующий контент новым содержимым, в то время как вариант >> добавляет новое содержимое к существующему контенту.

    $ echo “Hi, this is test” > output
    $ cat output
    Hi, this is test
    $ echo “Old Text is overwritten” > output
    $ cat output
    Old Text is overwritten
    

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

    $ cat output
    Old Text is overwritten
    $ echo “Old Text is not overwritten
    now” >> output
    $ cat output
    Old Text is overwritten
    Old Text is not overwritten now
    

    В этом случае видно, что с помощью >> в файл добавляется новый текст.

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

    В этом случае используйте команду ‘less’. Все что вам нужно сделать, это запустить команду ‘cat’ следующим образом:

    $ cat [filename] | less
    

    В результате данные будут находиться на экране до тех пор, пока вы не нажмете на клавиатуре клавишу Enter. Чтобы выйти из этого режима, просто нажмите клавишу Q.

    Вопрос №12: Что делать, если я хочу прочитать только несколько первых или несколько последних строк файла?

    Для этого вы можете использовать команды ‘head’ и ‘tail’.

    $ tail -5 output
    /etc/brltty/en-nabcc.ttb
    /etc/brltty/brl-al-abt_small.ktb
    /etc/brltty/brl-al-abt_basic.kti
    /etc/acpi/mediabtn.sh
    /etc/fstab.d
    

    Команда ‘tail’, показанная выше, отображает последние пять строк из файла ‘output’.

    С помощью этой команды можно также вывести на экран последние ‘n’ байт, использовав для этого параметр -c:

    $ tail -c10 output
    c/fstab.d
    

    Таким образом, вы можете увидеть последние 10 байтов из файла output.

    Точно так же, есть команда ‘head’, с помощью которой отображается содержимое начала файла. Вот несколько примеров:

    $ head -10 output
    /boot/abi-3.8.0-19-generic
    /boot/abi-3.8.0-23-generic
    /boot/grub/i386-pc/search_label.mod
    /sbin/acpi_available
    /sbin/ip6tables
    /sbin/e2label/sbin/ntfslabel
    /sbin/swaplabel
    /sbin/iptables-save
    /sbin/ip6tables-restore
    $ head -c10 output
    /boot/abi-
    

    Вопрос №13: Похоже, что команды ‘find’ и ‘locate’ делают одно и то же. В чем между ними разница?

    Обе команды ‘find’ и ‘locate’ выполняют одну и ту же работу: ищут файлы. Однако между этими двумя командами есть большое различие. Команда ‘find’, на самом деле, ищет файлы на диске, в то время как команда ‘locate’ выполняет поиск в базе данных. Эта база данных подготавливается с помощью команды ‘updatedb’.

    Поскольку команда ‘locate’ выполняет поиск в базе данных, она выполняется быстрее по сравнению с командой ‘find’, но реальная проблема команды ‘locate’ в том, что она зависит от базы данных. Предположим, что вы добавили новый файл в указанное место на диске, но не обновляли базу данных для чтения с помощью команды ‘locate’; в этом случае команда ‘locate’ не сможет найти новый файл.

    $ touch new_file
    $ ls new_filenew_file
    $ locate new_file
    $ sudo updatedb
    $ locate new_file /home/himanshu/practice/new_file
    

    Здесь видно, что команда ‘locate’ не смогла найти файл new_file до тех пор, пока база данных не была обновлена с помощью команды ‘updatedb’.

    Аналогичная проблема может возникнуть в случае, если вы удалили файл с диска, но не обновили базу данных. Команда ‘locate’ будет продолжать показывать файл в результатах поиска до тех пор, пока база данных не будет обновлена.

    $ rm new_file
    $ ls new_file
    ls: cannot access new_file: No such file or directory
    $ locate new_file /home/himanshu/practice/new_file
    $ sudo updatedb
    $ locate new_file
    

    Таким образом, видно, что даже после того, как файл new_file был удален, команда ‘locate’ в результатах поиска продолжала показывать несуществующую файл до тех пор, пока база данных не была снова обновлена.

    Вопрос №14: Что делать, если я хочу выключить или перезагрузить мою систему Linux только из командной строки?

    Вы можете использовать команду ‘shutdown’ или ‘reboot’ для выключения или перезапуска системы.

    Для того, чтобы остановить или перезагрузить систему, вы кроме этих команд можете изменить системные уровни запуска с помощью команды ‘init’. Для остановки системы можно использовать уровень запуска 0: ($init 0). А уровень запуска 6 можно использоваться для перезагрузки системы: ($init 6).

    http://rus-linux.net/MyLDP/consol/14-consol-tips.html

    Категория: Linux и не только | Просмотров: 626 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Август 2014  »
    ПнВтСрЧтПтСбВс
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024