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


Как перейти в другой каталог в Linux?

Как перейти в другой каталог в командной строке? Для этого есть команда cd - одна из самых важных команд, так как при помощи её вы сможете перемещаться по каталогам Linux.  Как пользоваться командой cd?

По умолчанию строка приглашения при первом открытии окна программы Терминал будет выглядеть примерно так:

user@computer:~$

В рассматриваемом примере (user) — test, а имя компьютера (computer) —Linux, поэтому отображается следующее приглашение:

test@Linux:~$

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

Теперь давайте рассмотрим некоторые команды, начиная с команды cd, которая применяется для смены каталога (или папки). В простейшем случае вы просто вводите следующее:

cd /home

Эта команда делает папку home текущей рабочей папкой. Введите приведенный текст и нажмите клавишу или, и приглашение программы Терминал (Terminal) изменится на следующее:

user@computer:/home$

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

cd /home pwd

Linux должна сообщить, что сейчас вы находитесь в папке home, отобразив следующее:

/home user@computer:/home$

Вы можете попробовать подняться на уровень вверх в каталог /, введя следующую команду:

cd ..

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

cd ~

У меня нет способа узнать ваше имя пользователя, а у Linux есть, и когда вы применяете символ ~, он заменяется именем вашей домашней папки. Итак, введите следующую команду, чтобы узнать, какая папка теперь стала рабочим каталогом:

pwd

Вот такая команда cd и вот так её можно использовать при работе в терминале. Понять, как работает команда cd так же важно, как купить солнцезащитные очки ray ban в Харькове перед поездкой в Ялту или Крым.

Опубликовано 27 Июн 2013 11:54 © Просто Linux | Всё про Линукс, Android и Windows.

prostolinux.ru

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

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

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

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

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

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

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

home

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

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

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

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

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

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

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

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

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

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

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

cp dir/*

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

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

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

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

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

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

ubuntolog.ru

Немного о командах Linux - Школа Linux

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

 

Я хочу начать с команд для работы с файлами и каталогами.

cd

Первая команда, с которой я начну - это cd.

Команда cd предназначена для смены и перехода по каталогам. Чтобы перейти в корневой каталог, необходимо в консоли набрать:

cd /

Чтобы перейти к домашнему каталогу:

cdилиcd ~

Знак тильды здесь заменяет путь к вашему домашнему каталогу, например (/home/user/).

Чтобы подняться на каталог выше:

cd ..

Переход в предыдущий каталог:

cd -

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

cd /var/www/или вот такcd ~/Desktop

Последний пример осуществит переход в папку /home/user/Desktop/

pwd

Команда pwd показывает, в какой директории Вы сейчас находитесь. Причем будет выведен полный путь к этой директории.

pwd

ls

Команда ls предназначена для отображения содержимого папок.

ls

Эта команда покажет содержимое директории, в которой вы сейчас находитесь.

ls /var/www

Здесь отобразится каталог /var/www, не зависимо от Вашего местонахождения.

cp

Команда cp копирует файлы.

cp 1.txt 2.txt

Эта команда копирует файл 1.txt в файл 2.txt не удаляя оригинал, в эту же директорию.

cp index.html /var/www/index.html

Эта команда копирует файл index.html в директорию /var/www/ с именем index.html

mv

Команда mv перемещает файл в указанное место или переименовывает его.

 mv index.html index.tmp

Здесь происходит переименование index.html в index.tmp. Оригинал не сохраняется.

mv index.html /var/www/

Здесь происходит перемещение файла в папку /var/www/ с исходным именем.

rm

Команда rm удаляет файл или каталоги. Например:

rm index.html

Здесь команда rm удалит файл с именем index.html  из данной директории.

По умолчанию команда rm не может удалять директории. Поэтому эту команду необходимо применять с ключом -R.

rm -R /home/user/Desktop/temp

Эта команда удалит каталог temp и все его содержимое, находящийся по адресу /home/user/Desktop/temp.

mkdir

Команда mkdir создает каталоги с заданным именем.

mkdir xxx

Создастся каталог xxx в данном каталоге.

 

В последующих статьях будет продолжен разговор о командах linux.

 

 

 

 

Related news items:

Newer news items:

Older news items:

shkola-linux.ru

Как изменить каталоги в терминале и узнать, в какой директории я? Ubuntu Linux

В вашей сессии ls отображает содержимое текущего каталога (но не скрытые файлы, начинающиеся с точки в имени файла). Перейдите в другой каталог, набрав cd dirname . Здесь вы должны подставить «dirname» по имени каталога, которое хотите изменить. Обычно вы начинаете свой домашний каталог как текущий рабочий каталог. В вашем случае это, скорее всего, /home/christy . Если ls показывает вам каталог под названием «Шаблон», вы можете изменить его на «Шаблон» (= сделать его текущим рабочим каталогом), набрав (вспомните пробел) команду:

cd Templates

вы измените текущую рабочую директорию на «Шаблоны» или напечатаете «Нет такого файла или каталога», если в вашем текущем директиве отсутствует каталог этого имени. Ввод pwd всегда даст вам полный патч для вашего текущего рабочего каталога, включая родителей.

Вы можете предоставить необязательные аргументы для каждой команды. Для cd строка «Шаблоны» была таким необязательным аргументом. Если вы ls -a например, команда ls также распечатает скрытые файлы. Или с помощью ls Templates он будет печатать содержимое каталога Tempaltes вместо текущего содержимого рабочего каталога. Аргументы должны быть разделены хотя бы одним пробелом от имени команды и друг от друга. Недостаток пространства между ними был причиной, по которой ваша команда не работала.

Поскольку символ пространства имеет особое значение, вам нужно будет указать или избежать его, если это часть аргумента. Поэтому, если вы хотите изменить текущий рабочий каталог на «Исходные файлы», вам нужно ввести одну из следующих команд:

cd Source\ Files cd "Source Files"

Верхняя строка «экранирована», а нижняя строка «процитирована».

Если вы хотите узнать больше, лучшим руководством для вас может быть: Введение в Linux ( pdf ) ( html )

Изменить :

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

Поэтому вы хотите установить tex-live из исходного архива, который указан в руководстве «Начало работы», которое вы опубликовали. Для этого сначала необходимо удалить любую существующую установку tex-live. Вы делаете это, открывая терминал:

christy@ubuntu:~$ pwd /home/christy # <---- This is the directory you are working in christy@ubuntu:~$ sudo apt-get remove texlive-* [sudo] password for christy:

На этом этапе вы должны ввести свой пароль и будете вознаграждены несколькими скучными сообщениями, которые я опустил здесь. Затем вам придется загрузить архив с именем install-tl-unx.tar.gz (вы уже это сделали, и вам не нужно его снова загружать, но я покажу вам, как сделать это, тем не менее, на всякий случай):

christy@ubuntu:~$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz --2012-07-09 15:08:23-- http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz Resolving mirror.ctan.org... 80.237.159.15 Connecting to mirror.ctan.org|80.237.159.15|:80... connected. HTTP request sent, awaiting response... 302 Found # ... some more stuff like this ... Saving to: `install-tl-unx.tar.gz' 100%[=====================================>] 2,530,831 --.-K/s in 0.1s 2012-07-09 15:08:23 (17.3 MB/s) - `install-tl-unx.tar.gz' saved [2530831/2530831]

Теперь, когда вы загрузили архив, вы можете распаковать его

christy@ubuntu:~$ tar xvf install-tl-unx.tar.gz install-tl-20120701/ install-tl-20120701/readme-txt.dir/ install-tl-20120701/readme-txt.dir/README.RU-cp1251 # ... bla bla skipping over some more messages like this ... install-tl-20120701/readme-html.dir/readme.sr.html install-tl-20120701/readme-html.dir/readme.ru.html install-tl-20120701/readme-html.dir/readme.de.html

Теперь, когда вы распаковали архив, вы можете перейти в каталог, который был распакован.

christy@ubunut:~$ ls | grep install-tl- # <---- with this line you find out the number install-tl-20120701 # <---- in this case "20120701" install-tl-unx.tar.gz # <---- if just this is present with no number you did something wrong christy@ubuntu:~$ cd install-tl-20120701 # <---- enter this number here christy@ubuntu:~$ pwd /home/christy/install-tl-20120701/ # <--- this is your new working directory

Число «20120701» – это временная метка, в которой указывается, какая версия tex-live у вас есть. Это число может отличаться для вас, но команда ls | grep install-t1- ls | grep install-t1- скажет вам, что использовать вместо этого. Если все это сработает, вы можете запустить скрипт установки:

christy@ubuntu:~$ sudo ./install-tl [sudo] password for jan: Loading http://ftp.univie.ac.at/packages/tex/systems/texlive/tlnet/tlpkg/texlive.tlpdb Installing TeX Live 2012 from: http://ftp.univie.ac.at/packages/tex/systems/texlive/tlnet Platform: x86_64-linux => 'x86_64 with GNU/Linux' # ... bla bla and so on bla ... Actions: <I> start installation to hard disk <H> help <Q> quit Enter command: I # ... and so on ...

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

Резюме (TL; DR)

  • Используйте pwd чтобы узнать, где вы находитесь (или посмотрите между : и $ в подсказке).
  • Используйте cd для изменения каталога в другом месте. В отличие от Windows, cd должен всегда следовать пробелу; такие команды, как cd/ и cd.. не будут работать, но cd / и cd .. будут.

Зная, где вы находитесь

Способ 1: запустить pwd .

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

Чтобы узнать, в какой каталог вы находитесь, запустите:

pwd

Например (из оболочки, которую я сейчас открывал, на моей машине):

ek@Kip:~$ pwd /home/ek

Это говорит мне, что я в каталоге /home/ek . /home (несколько смутно) – каталог, содержащий домашние каталоги пользователей (он не является домашним каталогом пользователя). Пользовательское username пользователя username имеет домашний каталог /home/ username .

У пользователя root нет домашнего каталога в /home . Вместо этого root каталог /root . Это не следует путать с корневым каталогом , который является / .

Способ 2: Изучите ваше приглашение.

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

В примере, который вы показали нам в своем вопросе, ваше приглашение:

christy@ubuntu:~$

christy – ваше имя пользователя. Символ @ отделяет его от ubuntu , имени хоста вашего компьютера. (Если вы используете live CD, его имя-хост будет ubuntu , и некоторые люди выбирают это как имя своего компьютера во время установки тоже).

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

ek@Kip:~$ cd /var/log ek@Kip:/var/log$

(Чтобы завершить то, что каждая часть подсказки означает: для подсказок, которые следуют этому соглашению, появляется либо символ $ либо # . $ , Как в этом случае, означает, что это обычная пользовательская оболочка. Символ # означает, что это root оболочка.)

Изменение, где вы находитесь

Почему ваша команда «cd» не работает.

Чтобы сменить каталог, используйте команду cd .

Вы запустили cd/ . Это не работает, потому что вы фактически не запускали команду cd . В Ubuntu и других Unix-подобных операционных системах (фактически, в оболочках в стиле Unix, таких как bash , используемая вами оболочка), считается, что имя команды заканчивается только в пространстве или в конце строки.

Так что в отличие от командной строки в Windows (где cd\ интерпретируется так же, как cd \ и cd.. интерпретируется как то же, что и cd .. ), в bash (оболочка, которую вы используете в Ubuntu), cd/ is недействительная команда. Вы должны использовать cd / .

cd/ означает «запись в текущем каталоге, чье имя является cd и которое также является каталогом». Независимо от того, существует или нет такой подкаталог, он не может быть запущен как команда, поэтому в любом случае вы получите сообщение об ошибке (хотя какая ошибка у вас будет отличаться):

ek@Kip:~$ cd/ bash: cd/: No such file or directory ek@Kip:~$ mkdir cd ek@Kip:~$ cd/ bash: cd/: Is a directory

Перемещение в ваш домашний каталог

Чтобы перейти в ваш домашний каталог, запустите cd самостоятельно без каких-либо аргументов:

cd

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

cd ~

Но cd сам по себе является достаточным.

Перемещение вверх по одному каталогу

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

cd ..

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

Каждый каталог содержит запись … Они также содержат a . который ссылается на текущий каталог. Это не очень просто запустить cd . хоть. Вы всегда остаетесь там, где находитесь.

Абсолютные и относительные пути

Если вы cd к чему-то, что не начинается с / , то он пытается перейти в этот каталог в текущем каталоге .

Например, если вы побежали

cd var/log

Затем он попытается войти в подкаталог var где вы сейчас находитесь, и в подкаталог журнала. Если оба они не существуют, и в этих местах команда cd не будет работать (и вы останетесь там, где вы были изначально).

Если вы хотите перейти в подкаталог log подкаталога var корневого каталога , запустите его:

cd /var/log

Только если вы в настоящее время находитесь в / cd var/log эквивалентном cd /var/log .

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

Путь ~ является абсолютным, потому что он (по существу) сокращен для $HOME . HOME – это переменная среды , а выражение $HOME расширяется до полного, абсолютного пути к домашнему каталогу текущего пользователя.

~ нотация также может использоваться для представления домашнего каталога другого пользователя. Если вы пишете ~ username , это представляет собой домашний каталог имени пользователя.

Возвращение к тому, где вы были раньше

Каталог, в котором вы сейчас находитесь, хранится в переменной среды PWD . Последний каталог, в котором вы были, хранится в переменной среды OLDPWD . Вы можете просматривать OLDPWD же, как и просматривать любую переменную среды:

echo $OLDPWD

Поскольку эта информация хранится, cd может иметь специальный, быстрый и простой способ вернуться к тому, где вы были раньше. Как говорит pst007x , чтобы перейти в последний каталог, в котором вы были, выполните:

cd -

Если в этой оболочке никогда не было более раннего каталога, тогда OLDPWD среды OLDPWD не была бы установлена, и попытка запустить cd - приведет к ошибке (и вы останетесь там, где находитесь):

ek@Kip:~$ cd - bash: cd: OLDPWD not set

Изменение, где вы, как босс

pushd и popd : стек каталога

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

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

pushd dir

Если вы хотите, чтобы текущий каталог находился в верхней части стека, вы можете использовать его . (который, как объяснялось выше, всегда представляет текущий каталог):

pushd .

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

popd

Это относится к этому каталогу, а также выталкивает его из стека. Теперь стек – один каталог короче. Если это был единственный каталог в стеке, тогда стек теперь пуст.

У вас может быть стек размером больше 1. То есть вы можете использовать отдельные команды pushd чтобы вставить несколько каталогов в стек. Каждая последующая команда popd перейдет в (и выскочит, т. popd из стека ) самый последний нажатый каталог, который еще не выскочил.

Вот пример:

ek@Kip:~$ cd /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ pushd . /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ pushd /home/ek ~ /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:~$ cd /var/log/apt ek@Kip:/var/log/apt$ pushd . /var/log/apt /var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/var/log/apt$ cd ek@Kip:~$ popd /var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/var/log/apt$ popd /etc/apt/sources.list.d /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ cd / ek@Kip:/$ pushd usr /usr / /etc/apt/sources.list.d ek@Kip:/usr$ cd ek@Kip:~$ popd / /etc/apt/sources.list.d ek@Kip:/$ popd /etc/apt/sources.list.d ek@Kip:/etc/apt/sources.list.d$ popd bash: popd: directory stack empty ek@Kip:/etc/apt/sources.list.d$

pushd и popd используются гораздо реже, чем cd . У них также есть другие, более продвинутые способы использования. Запустите help pushd и help popd для получения дополнительной информации.

Дополнительная информация и доступ к документации

cd и pwd имеют более продвинутое использование. Чтобы узнать о них, запустите help cd и man pwd .

Справка для встроенных оболочек . man – для автономных команд – команд, которые выполняются как отдельные процессы и существуют как отдельные исполняемые файлы. Команда type показывает, является ли команда оболочкой встроенной или нет, а если нет, то где находится программа, в которой она выполняется. Например, вы можете запустить type help type type , type type или type man .

ubuntu.fliplinux.com

Перемещение по дереву каталогов | Linux: Введение

Пользователь может работать с файлами не только в своём домашнем каталоге, но и в других каталогах. В этом случае будет удобно сменить текущий каталог, т. е. «переместиться» в другую точку файловой системы. Для смены текущего каталога командной оболочки используется команда cd (от англ. «change directory» — «сменить каталог»). Команда cd принимает один параметр: имя каталога, в который нужно переместиться — сделать текущим. Как обычно, в качестве имени каталога можно использовать полный или относительный путь.

[methody@localhost methody]$ cd /home [methody@localhost home]$ ls methody shogun [methody@localhost home]$ cd methody [methody@localhost methody]$

Пример 7. Смена текущего каталога

Сначала Мефодий решил переместиться в каталог «/home», и посмотреть, что ещё есть в этом каталоге, кроме его домашнего каталога. Он обнаружил ещё один каталог — «shogun», и догадался, что это домашний каталог Гуревича, входное имя которого — «shogun». Кроме того, он заметил, что изменился вид приглашения командной строки (подсказки shell) — слово «methody» заменилось на «home». В приглашении командной строки часто указывается текущий каталог shell — чтобы пользователю легче было ориентироваться, в каком каталоге он «находится» в данный момент.

После этого Мефодий решил вернуться в свой домашний каталог, но в этом случае он использовал уже не полный, а относительный путь — «cd methody». Вводя эту команду, Мефодий не стал целиком набирать имя своего домашнего каталога, а набрал только первые буквы «me» и нажал клавишу Tab, как ему советовал Гуревич. Командная оболочка умеет достраивать имена файлов и каталогов: пользователю достаточно набрать несколько первых символов имени файла или каталога и нажать Tab. Если есть только один вариант завершения имени — оболочка закончит его сама, и пользователю не придётся набирать оставшиеся символы. Достраивание — весьма серьёзное средство экономии усилий и повышения эффективности при работе с командной строкой. Современные командные оболочки умеют достраиват имена файлов и каталогов, а также имена команд. Достраивание наиболее развито в командном интерпретаторе zsh.

Те же самые перемещения — в родительский каталог и обратно — Мефодий мог бы сделать и набирая значительно меньше символов. Для перемещения в родительский каталог («/home») удобно воспользоваться ссылкой «..». Необходимость вернуться в домашний каталог из произвольной точки файловой системы возникает довольно часто, поэтому командная оболочка поддерживает обозначение домашнего каталога при помощи символа «~». Поэтому чтобы перейти в домашний каталог из любого другого, достаточно выполнить команду «cd ~». При исполнении команды символ «~» будет заменён командной оболочкой на полный путь к домашнему каталогу пользователя.

[methody@localhost methody]$ cd .. [methody@localhost home]$ cd ~ [methody@localhost methody]$ cd ~shogun [methody@localhost shogun]$ cd [methody@localhost methody]$

Пример 8. Переход в родительский и в домашний каталог

При помощи символа «~» можно ссылаться и на домашние каталоги других пользователей: «~<em>имя пользователя</em>». В примере Мефодий перешёл в домашний каталог Гуревича командой «cd ~shogun». Команда cd, поданная без параметров, эквивалента команде «cd ~» и делает текущим каталогом домашний каталог пользователя.

www.linuxcookbook.ru

Команда cd Linux | Losst

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

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

Содержание статьи:

Команда cd Linux

Перед тем как мы перейдем к работе с утилитой, давайте рассмотрим ее синтаксис и основные опции. Строго говоря, это вообще никакая не утилита. Ее нет в файловой системе. Это встроенная команда Bash и меняет текущую папку только для оболочки, в которой выполняется. Вот основной синтаксис команды:

$ cd опции папка_назначения

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

  • -P - позволяет следовать по символическим ссылкам перед тем, как будут обработаны все переходы "..";
  • -L - переходит по символическим ссылкам только после того, как были обработаны "..";
  • -e - если папку, в которую нужно перейти не удалось найти - выдает ошибку.

Дальше нужно указать директорию, в которую следует перейти. Если этого не сделать, а вызвать cd без параметров, то рабочей папкой будет выбран ваш домашний каталог. А теперь давайте рассмотрим несколько примеров работы с cd linux.

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

Я не буду здесь описывать какими бывают пути в Linux. Мы рассматривали эту тему в отдельной статье. По умолчанию, в качестве рабочего каталога используется домашняя папка пользователя. Давайте сначала перейдем в одну из подпапок домашней папки:

cd Загрузки/

Домашняя папка обозначается как ~/. Поэтому следующая команда выполнит аналогичное действие:

cd ~/Загрузки/

Правда, здесь есть преимущество. В первой команде используется относительный путь, тогда как вторая правильно выполнится из любой папки. Теперь переместимся в папку /usr/lib относительно корня:

cd /usr/lib/

С помощью символа черты "-" вы можете вернуться в предыдущую папку:

cd -

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

cd ..

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

cd ../../

Как уже говорилось, если не передать папку, в которую нужно перейти, будет открыта домашняя папка:

cd

Аналогичный результат выдаст команда:

cd ~

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

cd /var/w*

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

pushd /var/www/html

Теперь наберите popd, чтобы вернуться в предыдущий каталог:

popd

 

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

Наконец, еще один момент, если вам нужно перейти в каталог, в имени которого есть пробелы, используйте символ экранирования обратный слэш "\" или просто возьмите его имя в скобки:

cd ~/Загрузки/новая\ папка/$ cd "~/Загрузки/новая папка/"

Выводы

Теперь вы знаете зачем нужна команда cd Linux, а также как максимально эффективно ею пользоваться при работе в терминале. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

losst.ru

Простейшие команды Linux | | Рецепты Linux

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

Опции команд Linux обычно начинаются с символа -, после которого можно указать сразу несколько опций. Например, вместо команды ls -l -F можно ввести команду ls -lF.

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

Создание имени пользователя

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

Для создания имени пользователя, следует войти в систему как пользователь root и использовать команду useradd (или adduser).

Вход в систему

Обычно при входе в систему на экране появляется следующее приглашение:

После ввода имени пользователя и нажатия клавишы Enter появится предложение ввести пароль:

localhost login: oleg Password:

После этого следует ввести пароль (набираемые символы на экране не видны). При неверном вводе пароля на экране появится следующее сообщение:

localhost login: oleg Password: Login incorrect   login:

После правильного ввода имени пользователя и пароля происходит вход в систему.

Виртуальная консоль

Консоль системы представляет собой монитор и клавиатуру, непосредственно подключённые к компьютеру. Система Linux, подобно другим версиям системы UNIX, предоставляет доступ к виртуальным консолям, с которых можно осуществлять одновременно несколько сеансов работы в системе.

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

Только что установленная система Linux предоставляет, как правило, доступ к первым шести виртуальным консолям, к которым можно обращаться, используя комбинации клавиш Alt-Fx. Таким образом, уже на начальном этапе пользователь получает мощный инструмент, позволяющий работать в одно и то же время сразу в нескольких сеансах.

Оболочки и команды

Большая часть общения с системой Linux происходит через посредство командных оболочек (shell). Командная оболочка — это программа, воспринимающая команды, вводимые с клавиатуры, и преобразующая их в инструкции операционной системе.

После входа в систему, операционная система запускает командную оболочку, после чего можно вводить команды. Команда — это первое слово в командной строке. Все остальное в командной строке воспринимается в качестве аргументов этой команды. В качестве примера создадим (mkdir) каталог commands:

Выход из системы

Для выхода из системы нужно после приглашения оболочки ввести команду:

exit

Изменение пароля

Для смены пароля нужно ввести команду passwd. Команда предложит ввести старый пароль, а потом — новый. Затем команда попросит ввести новый пароль еще раз для подтверждения:

Файлы и каталоги

В операционной системе Linux используется понятие файла (file). Файл — это некоторый „кусок“ информации, имеющий собственное имя (filename). Следует знать, что на диске информация сохраняется только в виде отдельных файлов.

Имена обычных файлов в Linux могут иметь длину до 255 символов и состоять из любых символов, кроме символа с кодом   и символа / (слэша). Однако имеется еще ряд символов, которые имеют в оболочке shell специальное значение и которые поэтому не рекомендуется включать в имена. Это следующие символы:

! @ # $ & ~ % * ( ) [ ] { } ' " \ : ; ><c ` пробел

Понятие файла тесно связано с понятием каталога (directory). Каталог — это набор файлов. Пользователи Windows называют каталог „папкой“, по аналогии с папкой, в которой содержится много различных листов. Однако эта аналогия неверна, т.к. каталог содержит не собственно файлы, а ссылки на файлы, а также на другие каталоги. Каталогам даются имена, по которым их можно распознавать. Кроме этого, каталоги образуют древовидную структуру; иными словами, существует единственный корневой каталог, содержащий внутри себя все остальные каталоги.

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

$ less /home/oleg/docs/mokshadharma/index.xml

В приведенном примере можно видеть, что имена разделяются символом /. Именно по этой причине они и не могут его содержать.

Дерево каталогов

В большинстве систем Linux используется стандартное расположение файлов, так что местоположение основных системных файлов и программ легко найти. Каталоги образуют структуру в виде дерева, которое начинается с каталога /. Этот каталог называется также корневым каталогом (root directory). Непосредственно к каталогу / примыкают важные подкаталоги /bin, /etc, /dev, /usr и другие.

Текущий каталог

В любой момент времени отдаваемая команда относится к текущему каталогу (current directory). При входе в систему текущим каталогом назначается домашний каталог (в нашем случае /home/oleg). Обращаясь к файлу, можно указывать как полный путь к этому файлу, так и только путь от текущего каталога.

Предыдуший пример при нахождении, например, в каталоге /home/oleg/docs будет выглядеть так:

$ less mokshadharma/index.xml

Если путь к файлу (например, mokshadharma/index.xml) начинается с символа, отличного от /, то это значит, что к файлу обращаются относительно текущего каталога. Такой способ обращения называется относительным путём (relative path).

Если имя файла начинается со знака /, то система интерпретирует это как полный путь (full path), т. е. путь, который ведёт к файлу, начиная с корневого каталога / (/home/oleg/docs/mokshadharma/index.xml). Это ещё называют абсолютным путём (absolute path).

Обращение к  домашнему каталогу

В командной оболочке bash, включаемой почти во все вновь устанавливаемые системы Linux, домашний каталог можно обозначать символом ~. Например, команда:

$ less ~/docs/mokshadharma/index.xml

эквивалентна команде:

$ less /home/oleg/docs/mokshadharma/index.xml

Движение по дереву каталогов

Команда, используемая для  движения по дереву каталогов, называется cd — сокращение от change directory (изменить каталог). В  качестве примера использования команды cd  перейдем в каталог /home/oleg/docs/mokshadharma/:

Теперь из текущего каталога можно обратиться к файлу следующей командой:

Для перехода в ближайший каталог более высокого уровня существует команда:

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

Просмотр содержимого каталогов

Команда ls (сокращение от list) выводит на экран список файлов и каталогов (опция -F позволяет получить более полную инфомацию):

$ ls -F ~/docs/mokshadharma ch/ ch01.html ch02.html ch03.html cron.sh* docbook.xsl index.html index.xml pr01.html pt01.html style/

В листинге видим, что к концу имени подкаталогов приписан символ /, а к концу имени исполняемого файла (executable) приписан символ *.

Создание новых каталогов

Для создания нового каталога используется команда mkdir (сокращение от make directory). Для примера создадим новый каталог и войдем в него:

$ mkdir example $ cd example

Создание новых файлов

Для создания файлов используются команды touch и cat

Командой touch создается пустой файл:

Для создания файла командой cat, предназначенной для перенаправления вывода, на вход ее направляют данные со  стандартного ввода (клавиатуры), а вывод команды — в новый файл:

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

Смена владельца файла или группы файла

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

Для смены владельца используется команда chown:

Для смены группы используется команда chgrp:

# chgrp usergrp file_name

Копирование файлов

Для копирования файлов используется команда cp (сокращение от copy):

$ cp ~/docs/mokshadharma/index.xml ~/example $ cd ~/example $ ls -F index.xml

Для указания текущего каталога может использоваться символ .:

$ cd ~/example $ cp ~/docs/mokshadharma/index.xml . $ ls -F index.xml

Перемещение файлов

Для перемещения файлов используется команда mv (move):

$ mv index.xml index2.xml $ ls -F index2.xml

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

При переносе файлов в другой каталог следует соблюдать осторожность, т.к. если там уже находится файл с таким же именем, то он будет переписан.

Уничтожение файлов и каталогов

Для уничтожения файлов используется команда rm (сокращение от remove):

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

Для уничтожения каталогов используется команда rmdir, которая уничтожает только пустой каталог.

$ cd .. $ rmdir example $ ls -F $

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

Просмотр содержимого файлов

Для просмотра содержимого файлов используются команды more и cat. Команда more выводит содержимое файла частями (по одному экрану за один раз), а команда cat выводит весь файл сразу. Усовершенствованная версия more называется less.

Для просмотра содержимого, выведенного на экран командой less используются клавишы B и Space (можно использовать также Page Up и Page Down).

Экранная документация

Почти все системы семейства UNIX, включая систему Linux, имеют экранную документацию (man pages). Её тексты содержат документацию по системным командам, ресурсам, конфигурационным файлам и т. д. и могут быть выведены на экран в процессе работы.

Для доступа к экранной документации используется команда man (сокращение от manual). Например, для просмотра оций команды ls следует ввести команду:

$ man ls

www.linuxcookbook.ru