навигация по папкам в командной строке linux
Навигация по папкам в командной строке linux
В этой статье пойдет речь про команды навигации в терминале.
Решил написать несколько статей на тему терминала Linux. Постараюсь объяснять наиболее доходчиво.
Что из себя представляет корневая файловая система Linux?
Прежде, чем приступить к командам навигации в терминале, поговорим о директориях в Linux. Здесь нет дисков C:, D: и прочих.
Когда я начинал свой путь в Linux, для меня это было наиболее непонятно. Поэтому хочу пояснить этот момент.
Неважно, на сколько разделов вы разобьёте ваш диск, в системе будет:
Затем идут все остальные каталоги, которые служат для своих целей.
Остальные каталоги системные, рассказу о них стоит выделить целую статью.
Перейдем к командам в терминале.
Команды навигации в терминале.
Когда вы открываете терминал в Ubuntu, то вы находитесь в своем домашнем каталоге:
Чтобы узнать текущую директорию (отобразить полный путь к текущей директории),достаточно набрать команду в терминале:
Выполнение данной команды представлено на скриншоте выше.
Сначала пишется команда cd, а затем путь, куда нужно перейти.
Вот так выглядит переход в каталог /home:
Но это не всё, что можно делать с помощью команды cd :
Перейти в директорию уровнем выше:
Перейти в директорию двумя уровнями выше:
Перейти в домашнюю директорию вашего пользователя:
Перейти в домашнюю директорию пользователя user_name:
Перейти в директорию, в которой находились до перехода в текущую директорию:
Если ввести в терминале:
отобразится содержимое текущей директории:
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих их тип:
Показать детализированное представление файлов и директорий в текущей директории:
Показать скрытые файлы и директории в текущей директории:
Ключи можно комбинировать вместе:
Кроме того, у команды ls очень много других ключей, которые можно посмотреть, выполнив команду:
Автодополение названий директорий в терминале.
Когда вы вводите команду cd, вам необязательно вводить полностью имя директории, достаточно нажать на клавиатуре клавишу «TAB», произойдет автодополнение названия каталога.
Если имя не заполнилось, значит, есть еще один каталог с таким названием. Нажав дважды клавишу «TAB», выведется список с каталогами, которые имеют в своём имени начальные буквы, которые вы ввели.
Если список огромнейший, то для отмены его просмотра нажмите клавишу N.
Это касается не только «cd», но и других команд. Например, когда вы хотите отредактировать какой-то файл. Вы выполнили команду ls, увидели, что у файла имя состоит из 30 знаков, то достаточно ввести первые буквы его имени и нажать клавишу «TAB» и произойдет автодополнение.
Это основные команды навигации в терминале Linux.
Изучаем командную строку linux: навигация по файлам.
Дата добавления: 06 апреля 2010
О чем?
Эта статья поможет новичкам продвинуться в изучении командной оболочки linux. Будут приведены ряд команд позволяющих работать с файлами и программами из командной оболочки. Рекомендуется читать всем начинающим linux пользователям.
Если не хватает прав.
Если вам необходимо использовать терминал для администрирования системы, то обратитесь к руководству к вашему дистрибутиву для получении информации как стать суперпользователем.
В debian это можно сделать так:
sudo su
Навигация по файловой системе.
Это базовые команды в linux. Они помогут вам перемещаться по каталогам файловой системы.
Узнать в каком каталоге находитесь в данный момент.
Когда вы в терминале вы обязательно находитесь внутри какого-нибудь каталога. Команда pwd выводит полный путь до текущего каталога. Это бывает полезно для навигации чтобы определить текущую позицию и продумать следующие команды.
Узнать список файлов и папок в текущей папке.
ls
Пример:
SIZE может быть (или может число необязательно оканчивающееся на) одно из:
kB 1000, K 1024, MB 1,000,000, M 1,048,576, итак далее для G, T, P, E, Z, Y.
Exit status:
0 if OK,
1 if minor problems (e.g., cannot access subdirectory),
2 if serious trouble (e.g., cannot access command-line argument).
Переход в другой каталог.
Если после pwd вы видите, что данный каталог не тот, в котором вам нужно работать, возникает вопрос как перейти в другой каталог. Для этой цели есть команда cd. Команда вызывается как
cd путь_до_нужного_каталога
после этого можно проверить попали вы в нужный каталог командой pwd или ls.
Пример:
Учтите, что если в пути каталога назначения есть пробелы, то задавайте путь файла в одинарных кавычках.
Создание файлов и каталогов.
Если вам необходимо создать файл, то используйте команду touch:
touch newfile.txt
Для создания каталогов используйте mkdir:
mkdir newdir
Копирование и переименование файлов и каталогов.
Для копирования файлов существует команда cp:
cp путь_файла_источника путь_назначения
Также можно переименовать файл:
cp файл файл_с_новым_именем
Для более сложных действиях (например для создание ссылки) есть опции:
По умолчанию суффикс для запасных копий
Перемещение файлов.
mv откуда куда
Команда mv перемещает файл из одной позиции файловой системы в другую и удаляет исходный файл после успешного завершения. По сути это тоже самое что вызвать команду cp и потом rm.
Удаление файлов.
Команда rm удаляет файлы по заданному имени:
rm имя_файла
Имейте в виду, что при использовании rm для удаления файла его содержимое
обычно можно восстановить. Используйте shred, если Вам необходима большая
уверенность в невозможности восстановления содержимого.
Report rm bugs to bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:
Report rm translation bugs to
История команд.
500 последних введенных команд вы можете посмотрев набрав команду history
моими любимыми командами были:
lsusb
lspci
exit
sudo shutdown
Команды Linux для работы с файлами
В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:
А теперь перейдем к подробному рассмотрению всех этих команд.
Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:
Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:
Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:
Вы также можете указать полный путь к папке:
Вы также можете вернуться в предыдущую рабочую папку:
Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:
Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:
Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.
Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:
Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:
Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/
mv file /home/user/tmp/
Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:
Если нужно создать папку в другом каталоге, укажите полный путь к нему:
Для создания жесткой ссылки никаких опций задавать не нужно:
ln /home/user/Downloads/ /home/user/test/
chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:
Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.
Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:
Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.
11. mc
sudo apt install mc
После завершения установки достаточно выполнить команду mc:
Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:
Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.
Выводы
В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!
Основы навигации и управления файлами в Linux
Пользователи Linux, у которых нет большого опыта работы с подобными системами, сталкиваются с трудностями при управлении операционной системой из командной строки. В этой статье мы попытаемся помочь вам разобраться с основами навигации и управления файлами в дистрибутивах Linux.
К сожалению, одно руководство может охватить все, что вам нужно знать для работы с Linux. Тем не менее, здесь вы найдёте всю необходимую информацию для получения базовых навыков.
Требования
Для начала подключитесь к серверу Linux по SSH.
1: Навигация и просмотр системы
Перемещение по файловой системе и просмотр данных – одни из самых базовых навыков, которыми должен обладать пользователь Linux.
Команда pwd: вывод текущего каталога
Как правило, при входе на сервер вы попадаете в домашний каталог текущего пользователя.
Домашний каталог – это каталог, зарезервированный для хранения файлов и создания каталогов пользователя. Это место в файловой системе, где текущий пользователь имеет полные права.
Чтобы узнать, где находится домашний каталог по отношению к остальной файловой системе, используйте команду pwd. Эта команда отображает каталог, в котором вы сейчас находитесь:
Название домашнего каталога совпадает с именем пользователя, которому он принадлежит (например, в данном случае пользователь называется demo). Этот каталог хранится в каталоге /home, который в свою очередь находится в каталоге высшего уровня root (представлен символом слеша /).
Команда ls: просмотр содержимого каталога
Теперь вы знаете, как определить каталог, в котором вы находитесь, вы можете посмотреть содержимое этого каталога.
В настоящее время просматривать домашний каталог не имеет особого смысла (он содержит мало файлов). Для примера перейдите в другой каталог, в котором храниться больше файлов.
Чтобы перейти в другой каталог, введите в терминал (команда pwd подтвердит, что вы перешли в новый каталог):
cd /usr/share
pwd
/usr/share
Примечание: Подробнее перемещение по каталогам рассматривается в следующем разделе.
Теперь попробуйте запросить содержимое каталога:
Как видите, в этом каталоге много различных элементов. В команду можно добавлять дополнительные флаги, чтобы изменить её поведение по умолчанию. Например, чтобы получить расширенный вывод, нужно использовать флаг –l:
Это выведет множество информации, большая часть которой выглядит непривычно. Первый блок описывает тип файла (d указывает на каталог, символ «-» – на обычный файл) и права на него. Каждый последующий столбец, разделенный пробелами, определяет количество жестких ссылок, владельца файла, группу, размер элемента, время последнего изменения и имя элемента.
Чтобы получить список всех файлов, включая скрытые, добавьте флаг –а. Поскольку в каталоге /usr/share нет скрытых файлов, вернитесь в домашний каталог:
Затем запросите список файлов:
Записи с одной и двумя точками – это не каталоги, а встроенные методы обращения к каталогам. Одна точка указывает текущий каталог, а две точки определяют родительский каталог этого каталога.
Команда cd: перемещение по файловой системе
В предыдущем разделе вы уже дважды переходили в другой каталог с помощью команды cd. Теперь мы рассмотрим эту команды подробнее.
Для начала вернитесь в каталог /usr/share.
В этом примере для перехода в каталог используется абсолютный путь. В Linux каждый файл и каталог относится к каталогу высшего уровня, который называется корневым каталогом (или root). Ссылаться на него можно с помощью одного слеша «/». Абсолютный путь указывает расположение каталога по отношению к корневому каталогу. Это позволяет однозначно ссылаться на каталоги из любого места файловой системы. Каждый абсолютный путь должен начинаться со слеша.
Альтернативой является относительный путь. Относительные пути определяют место каталога относительно текущего каталога. Если каталог находится близко к текущему каталогу в иерархии, путь будет проще и короче. На любой каталог в текущем каталоге можно ссылаться по имени и без слеша. Например, чтобы перейти в каталог locale в /usr/share из текущего местоположения, можно ввести:
Аналогичным образом с помощью относительного пути можно убрать несколько уровней каталогов, предоставляя только ту часть пути, которая идет после пути текущего каталога. К примеру, чтобы перейти в каталог LC_MESSAGES внутри каталога en, можно ввести:
Чтобы вернуться к родительскому каталогу текущего каталога, используйте две точки (речь об этом уже шла в предыдущем разделе). Например, чтобы из каталога /usr/share/locale/en/LC_MESSAGES перейти к каталогу предыдущего уровня, можно ввести:
Команда переведёт вас в каталог /usr/share/locale/en.
Команда cd без аргументов всегда будет возвращать вас в ваш домашний каталог:
2: Просмотр файлов
В предыдущем разделе вы научились перемещаться по файловой системе. При этом вы могли обратить внимание на файлы, которые хранятся в разных каталогах. В этом разделе вы научитесь работать с файлами. В отличие от некоторых других операционных систем, Linux и другие Unix-подобные операционные системы во многом зависят от обычных текстовых файлов.
Основной способ просмотра файлов – это команда less (также она называется программой постраничного вывода). Все предыдущие команды выполнялись сразу и возвращали вас в командную строку, но приложение less будет продолжать работу и занимать экран, пока вы не остановите его.
Откройте /etc/services (этот конфигурационный файл хранит данные о сервисах системы).
Команда less откроет файл. Вы увидите отрывок документа, который помещается в окно терминала.
Для прокрутки можно использовать клавиши со стрелками вверх и вниз на клавиатуре. Чтобы вывести на экран следующий отрывок файла, вы можете использовать пробел, кнопку Page Down или сочетание клавиш CTRL-f.
Чтобы вернуться к предыдущему экрану, нажмите Page Up или CTRL-b.
Чтобы найти в документе какой-либо текст, введите слеш, после которого укажите искомое слово. Например, чтобы найти «mail», нужно ввести:
Команда выполнит поиск по файлу и остановится на первом найденном слове, которое соответствует запросу. Чтобы перейти к следующему слову, введите n в нижнем регистре:
Чтобы вернуться к предыдущему результату, нужно ввести N в верхнем регистре:
Чтобы закрыть less, введите:
Кроме less существует ещё много других способов просмотра файлов. Команда cat отображает содержимое файла и немедленно возвращает вас в командную строку. Команда head по умолчанию показывает первые 10 строк файла. Аналогично, команда tail выводит последние 10 строк. Такой вывод удобно использовать в конвейеризации данных для других команд.
Примечание: Ознакомьтесь с работой вышеперечисленных команд самостоятельно (можно на примере файла /etc/services).
3: Управление файлами и каталогами
Команда touch: создание файла
Многие команды и программы могут создавать файлы. Самый простой метод создания файла – это команда touch. Она создаст пустой файл, используя указанное имя и местоположение.
Для начала убедитесь, что находитесь в домашнем каталоге (здесь у пользователя есть права на сохранение файлов). Затем попробуйте создать файл file1, набрав:
Теперь запросите содержимое каталога, и вы увидите новый файл:
Если указать в команде touch уже существующий файл, команда просто обновит данные, хранящиеся в этом файле с момента последнего изменения (на данный момент эта функция не нужна).
Также команда touch может создавать несколько файлов одновременно и использовать абсолютные пути. Например, если пользователь называется demo, можно ввести:
touch /home/demo/file2 /home/demo/file3
ls
file1 file2 file3
Команда mkdir: создание каталогов
Подобно команде touch, команда mkdir позволяет создавать пустые каталоги.
Например, чтобы создать каталог test в домашнем каталоге, нужно ввести:
Чтобы добавить каталог example в каталог test, введите:
Чтобы эта команда сработала, каталог верхнего уровня (в данном случае это test) должен уже существовать в системе. Чтобы команда mkdir создала все каталоги, указанные в пути, используйте опцию –р. Она создаёт вложенные каталоги. К примеру, чтобы создать все каталоги в пути some/other/directories, нужно ввести:
Команда создаст каталоги some, other и directories в порядке их перечисления.
Команда mv: перемещение и переименование файлов и каталогов
Чтобы переместить файл в новое место, используйте mv. К примеру, чтобы переместить файл file1 в каталог test, нужно ввести:
В команде указываются элементы, которые нужно переместить, а затем точка в системе, в которую их нужно переместить. Чтобы вернуть файл в предыдущее место (в домашний каталог), поставьте после пути к файлу точку. Перейдите в домашний каталог и введите:
Команда mv также используется для переименования файлов и каталогов (хотя интуитивно это понять сложно). По сути, перемещение и переименование – это всего лишь настройка местоположения и имени существующего элемента.
Чтобы переименовать каталог test в testing, введите:
Примечание. Важно понимать, что система Linux не предотвращает некоторые разрушительные по отношению к ней действия. Например, если вы переименовываете файл и выбираете уже существующее имя, предыдущий файл будет перезаписан файлом, который вы в него перемещаете. Восстановить предыдущий файл невозможно.
Команда cp: копирование файлов и каталогов
Команда cp может создать копию существующего элемента.
К примеру, можно скопировать файл file3 в новый файл file4.
Теперь у вас есть два файла: file3 и file4.
Примечание: Как и в случае с командой mv, вы можете случайно перезаписать файл, если укажете имя существующего файла в качестве целевого. Например, если file4 уже существует, его содержимое будет полностью заменено содержимым file3 и восстановить его не получится.
Чтобы скопировать каталог, добавьте опцию –r. Она копирует каталог и всё его содержимое. Её нужно использовать даже тогда, когда вы копируете пустой каталог.
Например, скопируйте структуру каталогов some в новую структуру again:
В отличие от файлов, которые перезаписывают целевой файл, если такой существует, каталоги будут просто скопированы в целевой каталог.
Эта команда создаст копию файла file1 в каталоге again.
Команды rm и rmdir: удаление файлов и каталогов
Команда rm удаляет файлы.
Примечание: Будьте предельно внимательны при работе с rm. Система не может отменить её действия, потому вы можете навсегда утратить важные данные.
Чтобы удалить обычный файл, просто укажите его имя:
Команда rmdir удаляет пустые каталоги. На будет выполнена только тогда, когда указанный в ней каталог пуст. Например, чтобы удалить каталог example, можно ввести:
Чтобы удалить каталог, в котором находятся какие-либо элементы, нужно использовать команду rm с опцией –r, которая удалит все содержимое каталога, а затем и сам каталог.
К примеру, чтобы удалить каталог again, нужно ввести:
4: Редактирование файлов
Теперь вы можете управлять файлами и каталогами сервера. В этом разделе вы научитесь редактировать содержимое файлов.
Команда nano – один из самых простых текстовых редакторов командной строки Linux. Редактор nano использует less и занимает терминал в течение всего времени работы.
Редактор nano может открыть существующие файлы или создать файл. Если вы хотите создать новый файл, вы можете присвоить ему имя при вызове редактора nano или во время сохранения файла.
Чтобы отредактировать file1, введите:
Приложение nano откроет файл (который на данный момент пуст). Интерфейс выглядит так:
GNU nano 2.2.6 File: file1
[ Read 0 lines ] ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
Вверху указывается имя приложения и имя редактируемого файла. В центре находится содержимое файла (в данном случае там нет ничего, поскольку файл пуст). В конце перечислены комбинации клавиш для управления редактором (символ ^ везде означает клавишу CTRL).
Чтобы запросить справку в редакторе, введите:
Чтобы закрыть справку, введите:
В редакторе можно вводить или изменять любой текст. Например, можно добавить в файл:
Hello there.
Here is some text.
Чтобы сохранить изменения, нажмите CTRL-O. Программа попросит подтвердить имя файла, который вы хотите сохранить.
File Name to Write: file1
^G Get Help M-D DOS Format M-A Append M-B Backup File
^C Cancel M-M Mac Format M-P Prepend
Как видите, внизу уже указаны другие опции. Редактор выводит их в зависимости от контекста (это означает, что они будут меняться в зависимости от того, что вы пытаетесь сделать). Если вы хотите сохранить изменения в file1, просто нажмите Enter.
Внесите в файл некоторые дополнительные изменения, попробуйте сохранить его и выйти из программы. После этого вы увидите:
Чтобы сохранить изменения, введите Y. Чтобы не сохранять, нажмите N. Чтобы не закрывать файл, нажмите CTRL-C. Если вы захотите сохранить изменения, программа предложит снова выбрать имя файла для сохранения. Чтобы сохранить в текущий файл и закрыть редактор, нажмите Enter.
Чтобы просмотреть содержимое файла, используйте cat или less.
less file1
Hello there.
Here is some text.
Another line.
В некоторых системах используется редактор vim или vi. Это более продвинутый и производительный редактор, но с ним сложно работать. Вместо vim или vi всегда можно использовать nano.
Заключение
Теперь у вас есть общее представление о том, как работает и выглядит сервер Linux.