Sự khác biệt giữa các lệnh của cd cd cd và trực tiếp trong các thiết bị đầu cuối của Ubuntu là gì?


10

Khi cho cd \, tôi nhận được >biểu tượng trong khi cd /thay đổi ~dấu hiệu trong thư mục của tôi thành /.

Ngoài ra lslệnh hiển thị cho tôi các thư mục như dev, root, usrtrong trường hợp cd /.

Câu trả lời:


15

Trong Bash, shell của bạn, \(dấu gạch chéo ngược) biểu thị một ký tự thoát. Điều này nên được sử dụng trong trường hợp bạn muốn thoát các ký tự như dấu cách, dấu ngoặc kép và các ký tự khác có ý nghĩa với cú pháp shell, nhưng bạn muốn nó được truyền dưới dạng dữ liệu cho lệnh bạn đang chạy. Bằng cách coi đây là ký tự cuối cùng trên dòng bạn đang thoát khỏi dòng mới và Bash đang chờ thêm đầu vào (nhiều dòng).

/chỉ là một dấu gạch chéo về phía trước (có nghĩa là dấu phân cách thư mục ). Chỉ với /điều này có nghĩa là root, vì vậy, ví dụ ls /liệt kê nội dung của root. Bằng cách thay đổi thư mục làm việc thành /, chỉ báo trong trình bao của bạn cũng thay đổi từ ~(viết tắt của thư mục chính, vd /home/gert/) sang thư mục bạn đang ở sau đó ( /).


Bản giới thiệu

$ 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

Ôi không, ý định của tôi là tạo một tập tin với tên a filename with spaces. Vì vậy, ở đây chúng tôi sử dụng \để thoát khỏi không gian. Điều này ngăn shell cung cấp bốn đối số touch, nhưng thay vào đó cung cấp một đối số duy nhất với các khoảng trắng được bao gồm.

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

Tất nhiên, bằng cách sử dụng dấu ngoặc kép ( touch "a filename with spaces") người ta có thể đạt được điều tương tự.

Nó cũng được sử dụng để khai báo các ký tự đặc biệt như dòng mới:

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

Chúng tôi cần -etùy chọn ở đây echo, vì như trang chủ đặt nó : -e enable interpretation of backslash escapes.


Để làm rõ thêm: Trong ví dụ của OP, cd \ thoát khỏi dòng cuối (phím Trả về). Điều này có nghĩa là thiết bị đầu cuối vẫn đang chờ phần còn lại của lệnh. Lời nhắc >cho thấy nó đang chờ. Dấu nhắc thông thường hiển thị thư mục hiện tại, đó là lý do tại sao nó hiển thị /sau khi sử dụng cd /. Đây ~là viết tắt của thư mục chính của bạn, đó là lý do tại sao nó hiển thị ~thay vì /home/user.
Paddy Landau

1

Nếu bạn nhập dấu gạch chéo ngược, bạn có thể nhập comand trên nhiều dòng. Đây là những gì tiền tố '>' là viết tắt của.


1

Các >phương tiện dấu hiệu cho thấy dấu nhắc đang chờ bạn nhập hơn, bởi vì các lệnh trước đó là không đầy đủ. Bạn có thể tái tạo điều này với bất cứ điều gì, không chỉ cd. Chỉ cần gõ whateveryouwant\, và bạn sẽ nhận được >.

Phần mà bạn thấy ~biểu thị thư mục làm việc hiện tại. Để thay đổi thư mục làm việc, bạn sử dụng lệnh cd, có nghĩa là thay đổi thư mục (thư mục). Vì vậy, nếu bạn làm cd /, nó thay đổi thư mục thành /. Nếu bạn làm cd /usr/bin, nó sẽ thay đổi /usr/bin, và như vậy.

lslà một lệnh để liệt kê những gì trong thư mục / thư mục hiện tại. Vì vậy, nếu bạn làm cd /(có nghĩa là bạn đã thay đổi thư mục thành /), lssẽ liệt kê bất kỳ tệp và thư mục nào trong đó. Nếu bạn làm cd /etc/và sau đó ls, nó sẽ liệt kê bất kỳ tập tin và thư mục nào trong đó /etc/, v.v.


CẢM ƠN BẠN RẤT NHIỀU :-) vì bạn bè giúp đỡ ngay lập tức này ...
ShailyGarg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.