Яка різниця між командами "cd \" та "cd /" в терміналі ubuntu?


10

Після надання cd \я отримую >символ під час cd /зміни ~знаку в моєму каталозі на /.

Також lsкоманда показує мені каталоги, як dev, root, usrу випадку cd /.

Відповіді:


15

У Bash, ваша оболонка, \(зворотний кут) позначає символ втечі. Це слід використовувати в тих випадках, коли ви хочете уникнути символів, таких як пробіли, лапки та інші символи, що мають значення для синтаксису оболонки, але ви хочете, щоб вони поширювались як дані в команду, яку ви виконуєте. Маючи це як останній символ у рядку, ви уникаєте нового рядка, і Bash чекає подальшого введення (декілька рядків).

/- це просто коса коса риса (тобто роздільник каталогів ). Щойно /це означає корінь, тому, наприклад, ls /перераховується вміст кореня. Змінюючи робочий каталог на /, індикатор у вашій оболонці також змінюється від ~(скорочено домашній каталог, наприклад /home/gert/) до каталогу, у якому ви знаходитесь ( /).


Демо

$ touch a filename with spaces
$ ls -l
total 0
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 a
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 filename
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 spaces
-rw-rw-r-- 1 gert gert 0 Jul  1 02:33 with

О ні, це був мій намір створити один файл з назвою a filename with spaces. Отже, тут ми використовуємо \для втечі з просторів. Це заважає оболонці надати чотири аргументи touch, а натомість надати один єдиний з пробілами.

touch a\ filename\ with\ spaces

$ touch a\ filename\ with\ spaces
$ ls -al
total 24
drwxrwxr-x  2 gert gert  4096 Jul  1 02:35 .
drwxrwxr-x 55 gert gert 20480 Jul  1 02:33 ..
-rw-rw-r--  1 gert gert     0 Jul  1 02:35 a filename with spaces

Звичайно, використовуючи лапки ( touch "a filename with spaces"), можна досягти того самого.

Він також використовується для оголошення спеціальних символів, таких як нові рядки:

$ echo -e "bla\nnewline" # \n means a newline character
bla
newline

Нам потрібен -eваріант тут echo, тому що , як сторінка керівництва поставити його: -e enable interpretation of backslash escapes.


Для подальшого уточнення: У прикладі ОП cd \ виходить з кінця рядка (клавіша Return). Це означає, що термінал ще чекає решти команди. Підказка >показує, що воно чекає. У звичайному запиті відображається поточний каталог, через що він відображається /після використання cd /. ~Це стенографія для Вашого домашнього каталогу, тому він показує ~замість /home/user.
Падді Ландау

1

Якщо ви введете зворотну косу рису, ви можете ввести свою команду в декількох рядках. Ось для чого позначається префікс '>'.


1

В >знак означає , що запрошення чекає вас , щоб ввести більше, тому що попередня команда була неповною. Ви можете відтворити це будь-чим, а не лише cd. Просто наберіть whateveryouwant\, і ви отримаєте >.

Частина, де ви бачите, ~позначає поточний робочий каталог. Щоб змінити робочий каталог, ви використовуєте команду cd, що означає змінити каталог (папку). Тож якщо ви це зробите cd /, він змінює каталог на /. Якщо ви зробите cd /usr/binце, він зміниться на /usr/binтощо.

lsце команда для переліку того, що знаходиться в поточному каталозі / папці. Отже, якщо ви це зробите cd /(мається на увазі, що ви змінили каталог на /), lsперелічіть усі файли та папки в ньому. Якщо ви зробите це, cd /etc/то lsвін перелічить усі файли та папки, що знаходяться /etc/тощо.


ДЯКУЙТЕ ДУЖЕ МНОГО :-) за цю негайну допомогу друзям ...
ShailyGarg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.