우분투 터미널에서 "cd \"와 "cd /"명령의 차이점은 무엇입니까?


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


추가 설명을 위해 : OP의 예에서 cd ​​\는 줄 끝 (Return 키)을 이스케이프합니다. 이것은 터미널이 여전히 나머지 명령을 기다리고 있음을 의미합니다. 프롬프트 >는 대기 중임을 나타냅니다. 일반적인 프롬프트에는 현재 디렉토리가 표시 /되므로을 사용한 후에 표시됩니다 cd /. 는 ~이 있기에 홈 디렉토리에 대한 짧은 손으로 ~대신 /home/user.
Paddy Landau

1

백 슬래시를 입력하면 여러 줄에 쉼표를 입력 할 수 있습니다. 이것이 접두사 '>'의 약자입니다.


1

>이전 명령이 불완전하기 때문에 메시지가 더 입력 당신을 기다리고 서명을 의미합니다. 이뿐 만 아니라 무엇이든 이것을 재현 할 수 있습니다 cd. 그냥 입력 whateveryouwant\하면 얻을 수 >있습니다.

표시되는 부분 ~은 현재 작업 디렉토리를 나타냅니다. 작업 디렉토리를 변경하려면 명령을 사용합니다 cd. 이는 디렉토리 변경 (폴더)을 의미합니다. 따라서 그렇게하면 cd /디렉토리가로 변경됩니다 /. 당신이 경우에 cd /usr/bin, 그것은 변경됩니다 /usr/bin등등합니다.

ls현재 디렉토리 / 폴더에있는 내용을 나열하는 명령입니다. 따라서 그렇게하면 cd /(디렉토리를로 변경했다는 의미 /) ls파일과 폴더가 무엇이든 나열됩니다. 당신이 경우에 cd /etc/다음 ls, 그것은 어떤 파일에있는 폴더 목록 것 /etc/, 등등을.


대단히 감사합니다 :-)이 즉각적인 도움이 친구를 위해 ...
ShailyGarg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.