Как выбрать папку linux

​Команды linux для работы с файловой системой

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

Команды линукс для перехода по директориям системы:

Команда cd используется для перехода в домашний каталог (директорию) /home пользователя.

user для перехода в домашний каталог пользователя можно воспользоваться и этой командой.

Для перехода в любой другой каталог пропишите команду cd и через пробел путь к нужному каталогу.

Например введя в консоли команду cd /home перейдем в каталог /

cd… команда для перехода в каталог уровнем выше того, в котором сейчас находитесь.

cd . /… команда для перехода в каталог двумя уровнями выше того, в котором сейчас находитесь.

cd — переход в каталог в котором вы находились до перехода в текущий каталог.

Команды linux для просмотра содержимого каталогов:

pwd эта команда linux показывает полный путь к каталогу в котором вы сейчас находитесь.

ls команда показывает все содержимое текущего каталога, т.е. каталога в котором вы сейчас находитесь.

ls -F отображает все содержимое текущего каталога и добавляет к файлам и подкаталогам символы, характеризующие их тип.

ls -l кроме содержимого каталога показывает время создания файлов, размер, права доступа и количество файлов в подкаталогах.

ls -a команда отображает скрытые файлы в вашем текущем каталоге.

ls *8* команда показывает список файлов и директорий, содержащие в своем имени цифры.

tree показывает древовидный список файлов и каталогов в вашем текущем каталоге. Также подсчитывает их количество. В зависимости от количества файлов подсчет файлов может занять некоторое время.

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

df выводит в консоли количество занятого и свободного места на жестком диске для каждого каталога системы.

А команда du покажет вам количество блоков диска, занятых каждым файлов в вашем текущем каталоге.

Команды linux для работы с файлами и каталогами:

(небольшое примечание: Для работы с файлами нужно иметь права доступа к ним. Что это такое можно почитать здесь)

mkdir dir1 создает

каталог с именем dir1

mkdir dir1 dir2 создает два каталога с именами dir1 и dir2

mkdir -p /home/dir1/dir2 создает в каталоге /home дерево директорий. Это значит что создается каталог dir1 с находящимся внутри него каталогом dir2.

rm -f file1 команда линукс для удаления файла с именем file1

rmdir dir1 команда для удаления каталога с именем dir1

rm -rf dir1 удаляет каталог с именем dir1 вместе со всем его содержимым.

rm -rf dir1 dir2 одновременно удаляет два каталога dir1 и dir2 вместе с их содержимым.

Используя linux команду mv можно перемещать и переименовывать файлы и каталоги.

mv dir1 new_dir эта команда перемещает либо переименовывает файл или каталог из dir1 в new_dir

Команды linux для копирования файлов:

cp file1 file2 команда для копирования файла file1 в файл file2

копирует все файлы из каталога dir в текущий каталог.

cp -a /tmp/dir1 команда копирует каталог dir1 из /tmp/ со всем своим содержимым в ваш текущий каталог.

cp -a dir1 dir2 данная команда копирует каталог dir1 в каталог dir2

ln -s file1 lnk1 при помощи этой команды создается символическая ссылка на файл file1 или на каталог.

ln file1 lnk1 а этой командой создается так называемая «жёсткая» (физическая) ссылка на файл file1 или на каталог.

ЗЫ: Список команд линукс будет пополнятся. Постепенно

Источник

Как перейти в папку в терминале Linux

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

Как перейти в нужную папку в терминале Linux

Чтобы перейти в любую папку в терминале Linux нужно использовать команду « cd » (от англ. change directory). Для этого просто указываем команду « cd » и через пробел вводим путь к нужной папке. Например, для того чтобы перейти в корневой каталог файловой системы нужно ввести вот такую команду:

Читайте также:  Как включить отключенную службу windows 10

Аналогичным образом мы можем переходить и в другие папки. Вводим команду « cd » и путь к папке. Например, чтобы перейти в папку etc вводим вот такую команду:

Обратите внимание , при вводе названия папки можно использовать автоматическое дополнение. Для этого нужно ввести команду « cd », начать ввод имени папки и нажать на клавишу Tab . В результате система предложит правильное название и вам останется только нажать ввод. Также можно нажать клавишу Tab дважды и посмотреть список всех папок, которые находятся в текущем каталоге.

Также при навигации бывает очень полезной команда « pwd » (от англ. present working directory). Она позволяет узнать, в каком каталоге мы сейчас находимся.

Просто вводим « pwd » и получаем путь к текущему каталогу.

Как перейти в папку выше в терминале Linux

Очень часто при навигации по файловой системе возникает необходимость перейти в папку на один уровень выше. Для этого используем команду « cd » и через пробел вводим две точки. Выглядит это вот так:

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

Обратите внимание , для того чтобы просмотреть содержимое текущего каталога нужно использовать команду « ls » (от англ. «list»).

Как перейти в папку пользователя в терминале Linux

Также регулярно возникает необходимость вернуться в папку пользователя. Сделать это можно несколькими способами. Самый простой вариант, это ввести команду « cd » без каких-либо дополнительных параметров.

Также вы можете ввести команду « cd

) в терминале Linux означает домашнюю папку пользователя. Поэтому команда « cd

» позволяет перейти именно в нее.

Если же нужно перейти в домашний каталог другого пользователя, то после знака тильда (

) нужно ввести username этого пользователя. Например, чтобы перейти в каталог пользователя aleks команда должна выглядеть как « cd

Как перейти назад в терминале Linux

Также команду « cd » можно использовать для того, чтобы вернуться к предыдущей папке (вернуться назад). Для этого нужно ввести « cd » и знак дефиза. Выглядит это вот так:

Файловый менеджер в терминале Linux

Если вы начинающий пользователь Linux, и вам пока не удается эффективно работать, используя исключительно текстовые команды терминала, то вы можете установить файловый менеджер. Например, можно установить Midnight Commander. Данный файловый менеджер работает непосредственно в терминале Linux и обеспечивает классический двухоконный интерфейс для работы с файлами и каталогами.

Ниже мы приводим команды, необходимые для установки Midnight Commander.

После установки программу Midnight Commander можно запускать при помощи короткой команды «mc».

Интерфейс программы Midnight Commander выглядит следующим образом:

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

С помощью клавиш F1-F10 в Midnight Commander можно выполнять такие команды как:

  • F1 – Help – Помощь.
  • F2 – Menu – Меню программы.
  • F3 – View – Просмотр.
  • F4 – Edit – Редактирование.
  • F5 – Copy – Копирование.
  • F6 – RenMov – Переименование и перемещение.
  • F7 – MkDir – Создание папок.
  • F8 – Delete – Удаление.
  • F9 – PullDn – Работа с выпадающим меню.
  • F10 – Quit – Выход.

Источник

Основы Linux от основателя Gentoo. Часть 2 (2/5): Назначения папок, поиск файлов

В данном отрывке рассказано о стандарте иерархии файловой системы (FHS), почему директории так называются и для чего они нужны. Упомянута переменная окружения PATH и разобраны основные команды для поиска файлов в системе, такие как whereis, find и locate (slocate).

Навигация по основам Linux от основателя Gentoo:
Часть I
  1. BASH: основы навигации (вступление)
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки (итоги и ссылки)

Часть II

FHS и поиск файлов

Стандарт иерархии файловой системы

Стандарт иерархии файловой системы (Filesystem Hierarchy Standard или сокр. FHS) — это документ который определяет схему директорий в Linux-системах. FHS разработан чтобы представить общую схему для упрощения независимой от дистрибутива разработки программного обеспечения, поскольку так все необходимое располагается одинаково в большинстве дистрибутивов. FHS определяет следующее дерево директорий (взято непосредственно из спецификации):

  • / (корневая директория)
  • /boot (статичные файлы загрузчика)
  • /dev (файлы устройств)
  • /etc (специфические для хоста конфигурационные файлы)
  • /lib (основные разделяемые библиотеки и модули ядра)
  • /mnt (точка монтирования для временных нужд)
  • /opt (дополнительные пакеты ПО)
  • /sbin (основные системные программы)
  • /tmp (временные файлы)
  • /usr (вторичная иерархия)
  • /var (изменяемые данные)

Две независимые классификации в FHS

Спецификация FHS основывается на идее существования двух независимых классификаций файлов: разделяемые и неразделяемые, а также изменяемые и статичные. Разделяемые данные могут распределятся на несколько хостов; неразделяемые специфичны для конкретного хоста (как, например, конфигурационные файлы). Изменяемые данные могут изменяться; статичные не изменяются (за исключением установки и обслуживания системы).

Читайте также:  Создать контроллер домена windows 2019

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

Вторичная иерархия в /usr

Внутри /usr вы обнаружите вторичную иерархию, которая выглядит очень похоже на корневую файловую систему. Для /usr не критично существование во время включения машины, она может быть общим сетевым ресурсом (разделяема) или примонтирована с CD-ROM (статична). Большинство конфигурация Linux не используют «разделяемость» /usr, но ценно понимать полезность отличия между основной иерархией в корневой директории и вторичной иерархией в /usr.

Это все, что мы расскажем о стандарте иерархии файловой системы. Сам по себе документ довольно читабелен и вам стоит на него взглянуть. После его прочтения вы будете гораздо лучше понимать файловую систему Linux. Найти спецификацию можно здесь: http://www.pathname.com/fhs/.

Поиск файлов

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

Когда вы запускаете программу из командной строки, bash начинает просматривать список директорий в поисках программы которую вы указали. Например, когда вы вводите ls, bash в действительности не знает, что программа ls находится в /usr/bin. Вместо этого, он ссылается на переменную окружения называемую PATH, которая содержит список директорий разделенных двоеточием. Мы можем проверить значение PATH:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin.

С таким значением PATH (у вас оно может быть другим) bash сначала проверит директорию /usr/local/bin, затем /usr/bin в поисках программы ls. Скорее всего, ls находится в /usr/bin, тогда на этой директории bash прекратит поиск.

Изменение PATH

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

/bin
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/home/agriffis/bin

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

/bin
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/agriffis/bin

Чтобы сделать ваши изменения PATH доступными для процессов, которые будут запускаться в командной оболочке, необходимо «экспортировать» их используя команду export:

О команде «which»

Вы можете проверить, есть ли конкретная программа в вашем PATH используя which. В следующем примере мы видим, в каталогах PATH нашей системы, программы с названием sense нет:

$ which sense
which: no sense in (/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin)

В этом примере, ls успешно находится:

which -a

Наконец, вы должны знать о флаге -a, который укажет which показать вам все экземпляры программы в PATH:

whereis

Если вам необходимо больше информации о программе, чем просто ее расположение, вы можете воспользоваться командой whereis:

$ whereis ls
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz

Здесь мы видим что ls находится в двух каталогах с общими исполняемыми файлами, /bin и /usr/bin. Кроме того, нам сообщили что есть документация, которая находится в /usr/share/man. Это man-страница которую вы увидите, если введете man ls.

Программа whereis может использоваться для поиска расположения исходников и нестандартного поиска (имеется ввиду возможность искать файлы для которых отсутствуют маны, исходники или бинарники — прим. пер.). Также ей можно указать альтернативные пути для поиска. Обратитесь к man-странице для получения дополнительной информации.

Команда find это другой удобный инструмент в вашем арсенале. Используя find вы не ограничены лишь поиском программ; вы можете искать любые типы файлов, используя различные критерии поиска. Например, поищем в директории /usr/share/doc, файл который называется README:

$ find /usr/share/doc -name README
/usr/share/doc/ion-20010523/README
/usr/share/doc/bind-9.1.3-r6/dhcp-dynamic-dns-examples/README
/usr/share/doc/sane-1.0.5/README

find и шаблоны

Вы можете использовать glob-шаблоны для аргументов -name, при условии что вы экранируете их кавычками или обратным слешем (таким образом они будут переданы команде в нетронутом виде, иначе они сначала будут развернуты bash’ем и уже после переданы команде). Давайте поищем все файлы README с расширением:

$ find /usr/share/doc -name README\*
/usr/share/doc/iproute2-2.4.7/README.gz
/usr/share/doc/iproute2-2.4.7/README.iproute2+tc.gz
/usr/share/doc/iproute2-2.4.7/README.decnet.gz
/usr/share/doc/iproute2-2.4.7/examples/diffserv/README.gz
/usr/share/doc/pilot-link-0.9.6-r2/README.gz
/usr/share/doc/gnome-pilot-conduits-0.8/README.gz
/usr/share/doc/gimp-1.2.2/README.i18n.gz
/usr/share/doc/gimp-1.2.2/README.win32.gz
/usr/share/doc/gimp-1.2.2/README.gz
/usr/share/doc/gimp-1.2.2/README.perl.gz
[еще 578 строк опущено]

Игнорирование регистра в find

Конечно, вы можете игнорировать регистр при поиске:

$ find /usr/share/doc -name ‘[Rr][Ee][Aa][Dd][Mm][Ee]*’

Или, намного проще:

$ find /usr/share/doc -iname readme\*

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

find и регулярные выражения

Если вы знакомы с регулярными выражениями, вы можете использовать опцию -regex для поиска файлов с именами соответствующими шаблону. А также опцию похожую на -iname, которая называется -iregex и заставляет find игнорировать регистр в шаблоне. Пример:

$ find /etc -iregex ‘.*xt.*’
/etc/X11/xkb/types/extra
/etc/X11/xkb/semantics/xtest
/etc/X11/xkb/compat/xtest
/etc/X11/app-defaults/XTerm
/etc/X11/app-defaults/XTerm-color

Однако в отличии от большинства программ, find требует чтобы регулярное выражение указывалось для всего пути, а не только его части. По этой причине, стоит в начале и конце шаблона ставить .*; простого использования xt в качестве шаблона будет недостаточно.

Читайте также:  Блок схема установки windows

find и типы файлов

Опция -type позволяет искать в файловой системе файлы определенного типа. Возможные аргументы для -type это: b (блочное устройство), c (символьное устройство), d (директория), p (именованый канал), f (обычный файл), l (символическая ссылка), и s (сокет). Например, поиск символической ссылки в /usr/bin, которая содержит в своем имени строку vim:

$ find /usr/bin -name ‘*vim*’ -type l
/usr/bin/rvim
/usr/bin/vimdiff
/usr/bin/gvimdiff

find и mtimes

Опция -mtime позволяет вам искать файлы основываясь на дате их последней модификации. Аргументом mtime является количество 24-часовых периодов, и наиболее полезным будет указывать перед аргументом плюс (означает «после») или минус (означает «перед»). Например, рассмотрим следующий сценарий:

$ date
Tue Jan 7 18:14:52 EST 2003

Вы можете найти файлы, которые были модифицированы за последние 24 часа:

Или файлы которые были изменены до текущего 24-часового периода:

Опция -daystart

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

Опция -size

Опция -size позваляет искать файлы по их размеру. По-умолчанию, аргумент -size это количество 512-байтных блоков, но добавляя к опции суффикс, можно сделать вывод более понятным. Доступные суффиксы: b (512-байтные блоки), c (байт), k (килобайт), и w (2-байтные слова). Дополнительно, перед аргументом можно указать плюс («больше чем») или минус («меньше чем»).

Например, для поиска обычного файла в /usr/bin размер которого меньше 50 байт:

$ find /usr/bin -type f -size -50c
/usr/bin/krdb
/usr/bin/run-nautilus
/usr/bin/sgmlwhich
/usr/bin/muttbug

Работа с найдеными файлами

Вы даже не представляете, что можно делать с найденными файлами! Итак, find может производить любые действия над файлами используя опцию -exec. Эта опция принимает строку команд для выполнения, которая оканчивается на ;, и заменяет все вхождения <> именем файла. Это проще всего понять на примере:

Как видите, find это очень мощная команда. Она «выросла» за годы разработки UNIX и Linux. У find существует много других полезных опций. Вы можете прочитать о них в man-страничке.

locate

Мы уже рассмотрели which, whereis и find. Как вы уже наверно заметили, выполнение find может занять некоторое время, т.к. ей необходимо прочитать каждую директорию в которой выполняется поиск. Оказывается, что команда locate может ускорить процесс использую внешнюю базу данных, генерируемую updatedb (updatedb мы рассмотрим ниже).

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

$ locate bin/ls
/var/ftp/bin/ls
/bin/ls
/sbin/lsmod
/sbin/lspci
/usr/bin/lsattr
/usr/bin/lspgpot
/usr/sbin/lsof

Использование updatedb

Во многих Linux системах есть «cron job» для периодического обновления базы. В случае если вызов locate вернул нижеописанную ошибку, вам необходимо запустить updatedb от root’а для генерации поисковой базы:

$ locate bin/ls
locate: /var/spool/locate/locatedb: No such file or directory
$ su —
Password:
# updatedb

Работа программы updatedb может занять некоторое время. Если у вас шумный жесткий диск, вы услышите как он шуршит индексируя файловую систему. 🙂

slocate

Во многих Linux дистрибутивах, утилита locate была заменена на slocate. Как правило существует также ссылка на locate, так что вам не нужно запоминать, что именно имеется в системе. slocate означает «безопасный locate» (от англ. secure locate — прим. пер.). Он сохраняет информацию о правах доступа в поисковой базе, так что, обычные пользователи не смогут увидеть директории, которые они и так не смогли бы видеть. Используется slocate точно также как locate, но вывод программы может быть различными в зависимости от пользователя ее запустившего.

Перевод выполнил Dmitry Minsky (Dmitry.Minsky@gmail.com)

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Источник

Оцените статью