- Команда cd в Linux (Изменить каталог)
- cd Command
- Абсолютные и относительные имена путей
- Родительский каталог
- Перейти в предыдущий каталог
- Перейдите в домашний каталог
- Каталоги с пробелами в именах
- Выводы
- 19 команд и лайфхаков в Linux, которые сэкономят вам время
- Использовать tab для автозаполнения
- Переключиться в последнюю используемую директорию
- Вернуться в домашнюю директорию
- Выводить содержимое директории
- Запускать несколько команд одной командой
- Запускать несколько команд одной командой, если предыдущая была успешной
- Находить и использовать команды, которые вы использовали раньше
- Разморозить терминал Linux после случайного нажатия Ctrl+S
- Перейти в начало или конец строки
- Читать нераспакованные логи
- Использовать команду less, чтобы читать файлы
- Заново использовать последний элемент из предыдущей команды с помощью !$
- Заново использовать предыдущую команду в настоящей команде с помощью !!
- Использовать alias, чтобы исправлять опечатки
- Копировать-вставить в терминале Linux
- Убить запущенную команду или процесс
- Использовать команду yes для команд или скриптов, которым нужен интерактивный ответ
- Удалить содержимое файла, не удаляя файл
- Найти файлы с определенным текстом
- Использовать help с любой командой
- Linux вернуться предыдущий каталог
Команда cd в Linux (Изменить каталог)
Команда cd («изменить каталог») используется для изменения текущего рабочего каталога в Linux и других Unix-подобных операционных системах. Это одна из самых основных и часто используемых команд при работе в терминале Linux.
Текущий рабочий каталог — это каталог (папка), в котором в данный момент работает пользователь. Каждый раз, когда вы взаимодействуете с командной строкой, вы работаете в каталоге.
В этом руководстве мы покажем вам, как использовать команду cd для навигации по дереву каталогов вашей системы.
cd Command
cd — это встроенная оболочка, и ее поведение может немного отличаться от оболочки к оболочке. Он использует переменные среды оболочки для определения необходимой информации для его выполнения.
Мы рассмотрим встроенную в Bash версию cd .
Синтаксис команды cd следующий:
Команда принимает только две опции, которые используются редко.
- −L , переходить по символическим ссылкам . По умолчанию cd ведет себя так, как если бы указана опция -L .
- −P , не переходите по символическим ссылкам. Другими словами, когда эта опция указана, и вы пытаетесь перейти к символической ссылке, которая указывает на каталог, cd перейдет в каталог.
В простейшей форме, при использовании без аргументов, cd перенесет вас в ваш домашний каталог.
При навигации по файловой системе вы можете использовать клавишу Tab для автозаполнения имен каталогов. Добавление косой черты в конце имени каталога необязательно.
Чтобы переключиться в каталог, у вас должны быть разрешения на выполнение для этого каталога.
Команда pwd позволяет узнать, в каком каталоге вы сейчас находитесь.
Абсолютные и относительные имена путей
При указании каталога для перехода вы можете использовать абсолютные или относительные пути. Абсолютный или полный путь начинается с системного корня / , а относительный путь начинается с вашего текущего каталога.
По умолчанию, когда вы входите в систему Linux, вашим текущим рабочим каталогом становится домашний каталог. Предполагая, что каталог Downloads существует в вашем домашнем каталоге, вы можете перейти к нему, используя относительный путь к каталогу:
Вы также можете перейти в тот же каталог, используя его абсолютный путь:
Короче говоря, если путь начинается с косой черты ( / ), это абсолютный путь к каталогу.
Родительский каталог
В Unix-подобных операционных системах текущий рабочий каталог представлен одной точкой ( . ). Две точки ( .. ), одна за другой, представляют родительский каталог или, другими словами, каталог, расположенный непосредственно над текущим.
Если вы наберете cd . , вы перейдете в текущий каталог или, другими словами, команда ничего не сделает.
Предположим, вы находитесь в каталоге /usr/local/share , чтобы переключиться в каталог /usr/local (на один уровень выше текущего каталога), вы должны ввести:
Чтобы переместиться на два уровня вверх в каталог /usr (родительский родитель), вы можете запустить следующее:
Другой пример. Допустим, вы находитесь в каталоге /usr/local/share и хотите перейти в каталог /usr/local/src . Вы можете сделать это, набрав:
Перейти в предыдущий каталог
Чтобы вернуться в предыдущий рабочий каталог, передайте символ тире ( — ) в качестве аргумента команды cd:
Перейдите в домашний каталог
Чтобы перейти в домашний каталог, просто введите cd . Другой способ вернуться прямо в домашний каталог — использовать символ тильды (
), как показано ниже:
Например, если вы хотите перейти в каталог Downloads , который находится внутри вашего домашнего каталога, вы должны ввести:
Вы также можете перейти в домашний каталог другого пользователя, используя следующий синтаксис:
Каталоги с пробелами в именах
Если в имени каталога, в который вы хотите перейти, есть пробелы, вы должны либо заключить путь в кавычки, либо использовать символ обратной косой черты ( ), чтобы избежать пробела:
Выводы
К настоящему времени вы должны хорошо понимать, что такое текущий рабочий каталог и как использовать команду cd для перехода в другой каталог.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
19 команд и лайфхаков в Linux, которые сэкономят вам время
Мы перевели статью, в которой делимся лайфхаками по использованию Linux-команд.
Эти лайфхаки — не только для новичков. Вполне возможно, что даже продвинутые пользователи Linux найдут какие-то полезные для себя вещи.
Использовать tab для автозаполнения
Когда вы начинаете что-то печатать в терминале Linux, нажмите на клавишу tab, чтобы увидеть все опции.
Например, если вы хотите скопировать файл под названием my_best_file_1.txt, наберите ‘cp m’ и нажмите tab, чтобы увидеть возможные опции:
Переключиться в последнюю используемую директорию
Например, вы оказались в длинной директории, и перешли в другую директорию в другом пути. Вам нужно вернуться в предыдущую директорию. Для этого нужно напечатать команду:
Это вернет вас в последнюю использованную директорию. Не нужно печатать длинный путь или копировать-вставлять его.
Вернуться в домашнюю директорию
Чтобы вернуться в домашнюю директорию из любой точки в Linux, используйте команду:
cd
У большинства Linux-дистрибутивов эта команда настроена по умолчанию:
Выводить содержимое директории
Для этого можно использовать команду:
l или
ll
Опять же, зависит от дистрибутивов Linux и настройки оболочки ОС. Но, как правило, вы можете использовать одну из команд:
Запускать несколько команд одной командой
Например, вам нужно запустить несколько команд подряд. Не нужно ждать, пока одна выполнится, чтобы запустить другую.
Чтобы запускать несколько команд одновременно, используйте разделитель ‘;’:
command_1; command_2; command_3
Запускать несколько команд одной командой, если предыдущая была успешной
Например, вам нужно построить код, и если билд был успешным, запустить изменения.
Для этого вы можете использовать разделитель &&.
&& делает так, чтобы следующая команда запускалась только если предыдущая успешно выполнилась:
command_1 && command_2
Находить и использовать команды, которые вы использовали раньше
Например, несколько минут или часов назад вы использовали длинную команду. Теперь она понадобилась вам снова. Проблема в том, что вы не можете вспомнить точную команду.
Нажмите ctrl+r, чтобы начать обратный поиск и введите часть команды. Система посмотрит историю и покажет команды, которые подходят к вашему поисковому термину:
ctrl+r search_term
По умолчанию система покажет только один результат. Чтобы увидеть больше результатов, нажимайте на ctrl+r снова и снова — вас будет возвращать на шаг назад.
Чтобы выйти из обратного поиска, нажмите Ctrl+C.
В некоторых оболочках Bash вы также можете использовать кнопки Page Up и Down для поиска команд.
Разморозить терминал Linux после случайного нажатия Ctrl+S
Вы, наверное, привыкли использовать Ctrl+S, чтобы сохранить что-то. Но если вы используете эту команду в терминале Linux, он заморозится.
Не волнуйтесь — не нужно закрывать терминал, чтобы разморозить его. Вместо этого нажмите Ctrl+Q — и терминал снова заработает.
Перейти в начало или конец строки
Например, вы набираете длинную команду, и на полпути понимаете, что вам нужно поменять что-то в начале строки.
Чтобы быстрее исправить команду:
-
-
- нажмите Ctrl+A, чтобы перейти в начало строки,
- Ctrl+E, чтобы перейти в конец строки.
-
Читать нераспакованные логи
Логи сервера — это gzip файлы. Как правило, их сжимают, чтобы они не занимали много места. Чтобы проанализировать логи, их обычно нужно распаковать. Но для этого нужны права редактирования, которые не всегда есть.
Используя команды z, вам необязательно распаковывать сжатые файлы. Вы можете использовать команды zless, zcat, zgrep. Читайте подробную инструкцию о том, как использовать z команды для сжатых логов.
Использовать команду less, чтобы читать файлы
Чтобы просмотреть содержание файла, cat-команда — не лучший вариант, особенно если файл большой. Команда cat отобразит весь файл на экране.
Вместо этого используйте:
less path_to_file
Заново использовать последний элемент из предыдущей команды с помощью !$
Например, вам нужно создать директорию и зайти в нее. Вы можете использовать:
Заново использовать предыдущую команду в настоящей команде с помощью !!
Вы можете вызвать предыдущую команду, используя . Это полезно, когда нужно запустить команду, и вы понимаете, что нужны права администратора:
Использовать alias, чтобы исправлять опечатки
Например, вы случайно написали gerp вместо grep. Введите в терминал команду:
alias gerp=grep
Так вам не придется перепечатывать команду.
Копировать-вставить в терминале Linux
Эта команда зависит от дистрибутива и приложения для терминала. Но как правило, копировать-вставить работает с помощью таких сочетаний:
- Выделите текст для копирования и нажмите правой клавишей мыши для вставки.
- Выделите текст для копирования и нажмите на среднюю клавишу мыши для вставки.
- Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки.
Убить запущенную команду или процесс
Если в фоне запущена команда, и вы хотите из нее выйти, используйте команду:
Ctrl+C
Использовать команду yes для команд или скриптов, которым нужен интерактивный ответ
Если есть команды или скрипты, которым нужно взаимодействие с пользователем, и вам нужно каждый раз вводить Y, вы можете использовать команду Yes:
yes | command_or_script
Удалить содержимое файла, не удаляя файл
Используйте следующую команду:
> filename
Найти файлы с определенным текстом
Есть много способов найти содержимое в командной строке Linux. Но если вы хотите посмотреть файлы, содержащие определенный текст, можете использовать эту команду:
grep -Pri Search_Term path_to_directory
Использовать help с любой командой
Почти все инструменты командной строки содержат страницу помощи, которая показывает, как использовать команды. Чтобы использовать опцию help, введите:
Поделитесь с нами в комментариях, какими командами Linux вы пользуетесь, чтобы сэкономить время.
Источник
Linux вернуться предыдущий каталог
Смените каталог легко, если вы знаете где вы находитесь в данный момент (ваш текущий каталог) и куда вы хотите отправиться. Каталог, в который вы хотите попасть, выше или ниже текущего?
Чтобы сменить каталог, выполните команду cd . Команда в таком виде перенесёт вас в ваш домашний каталог; чтобы перейти в другой каталог необходимо указать путь к нему.
Вы можете использовать абсолютные или относительные пути. Абсолютные пути указываются от верхнего каталога / (называемого корнем) до указанного каталога; относительные пути указываются от текущего каталога, где бы он не находился. Дерево, показанное ниже, приведено в качестве примера, помогающего понять команду cd .
/ directory1 directory2 directory3
Если вы находитесь в directory3 и хотите перейти в directory1 , вы должны подняться в дереве каталогов выше.
Если вы введете:
находясь в каталоге directory3 , вы получите сообщение об ошибке, сообщающее о том, что нет такого каталога. Это происходит потому что, действительно, нет каталога directory1 в каталоге directory3 .
Чтобы подняться к каталогу directory1 , вы должны ввести:
Это абсолютный путь. Он указывает Linux начать сверху и опуститься в каталог directory1 .
Запомните, абсолютные пути перенесут вас В любой каталог ИЗ любого, а относительные пути, перенесут вас в каталоги, расположенные ниже текущего.
Рисунок 10-3. Абсолютные пути указывают полный путь
Как отличить относительный путь от абсолютного? | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Проверьте, где вы находитесь | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Команда | Функция |
---|---|
cd | переносит вас в ваш домашний каталог |
cd | также переносит вас в ваш домашний каталог |
cd / | переносит вас в корневой каталог всей системы |
cd /root | переносит вас в домашний каталог пользователя root, или супер-пользователя, учётной записи, созданной во время установки системы |
cd /home | переносит вас в каталоге home, в котором находятся каталоги пользователей |
cd .. | переносит вас на один уровень выше |
cd otheruser | переносит вас в домашний каталог пользователя otheruser , если только пользователь otheruser дал вам соответствующие разрешения |
cd /dir1/subdirfoo | Вне зависимости от того, где вы находитесь, этот абсолютный путь перенесёт вас прямо в каталог subdirfoo , подкаталога, вложенного в dir1 |
cd ../../dir3/X11 | Этот относительный путь сначала поднимет вас на два уровня выше, затем спустит в dir3, и наконец, в каталог X11. |
Теперь когда вы начали понимать как менять каталоги, посмотрите, что произойдет, если вы перейдёте в домашний каталог пользователя root (суперпользователя). Введите:
Если вы не зарегистрированы под именем root, при обращении к этому каталогу вы получите сообщение «в доступе отказано».
Запрещая доступ к учётным записям root и других пользователей (или их домашним каталогам), ваша система Linux защищается от случайного или преднамеренного повреждения. Обратитесь к разделу Владение и разрешения
Чтобы перейти в каталог root, воспользуйтесь командой su . Введите эту последовательность команд:
[newuser@localhost newuser]$ su Password: ваш пароль root [root@localhost newuser]# cd /root [root@localhost /root]#
Как только вы введете правильный пароль root, вы заметите, что ваше приглашение изменилось и теперь в нём отмечено ваше звание суперпользователя, в начале приглашения учётной записи root отображается символ «#» (как показано на Рисунке 10-5 ).
Рисунок 10-5. Превращение в root
Теперь, если вы выполните cd для перехода к домашнему каталогу пользователя root, вы получите к нему доступ.
Завершив работу под именем root, просто введите в приглашении exit .
[root@localhost /root]# exit exit [newuser@localhost newuser]$
Источник