it-swarm-vi.com

CHOWN: "id -u" đại diện cho cái gì

Tôi đang làm việc để Mongodb chạy trên cài đặt máy chủ Ubuntu. Khi xem xét hướng dẫn Tôi cần tạo thư mục "\ data\db" trong ổ đĩa gốc. Tại thời điểm đó tôi cần thay đổi chủ sở hữu bằng lệnh CHOWN như sau:

Sudo chown `id -u` /data/db

Khi tôi phát lệnh đó khi nó xuất hiện trong hướng dẫn bắt đầu nhanh, tôi nhận được

chown: invalid user: 'id -u'

Tôi chưa quen với Linux, vì vậy điều tôi không hiểu là 'id -u' nghĩa là gì. Khi tôi thay thế bằng tên người dùng của mình, lệnh sẽ hoàn thành tốt và mongo chạy. Ai đó có thể giúp tôi hiểu những gì mà 'id -u' tay ngắn sẽ truyền đạt cho người dùng Linux chuyên nghiệp mà nó không làm với tôi không?

6
JPrescottSanders

Lệnh id -u in ra "ID người dùng số" của bạn (viết tắt: UID); như bạn đã nhận thấy, nó giống như đánh vần đầy đủ tên người dùng của bạn trên dòng lệnh chown. Thật vậy, tất cả các lệnh sau đây đều có cùng tác dụng:

Sudo chown `id -u` /data/db
Sudo chown $USER /data/db

Lý do tại sao nó không hoạt động như mong đợi có thể có liên quan đến dấu ngoặc kép: chúng phải là backquotes (ASCII char 0x60), trong khi chown thông báo lỗi cho thấy rằng bạn đã sử dụng dấu ngoặc đơn (ASCII char 0x27).

Bạn có thể tìm thấy một lời giải thích rất kỹ lưỡng về trích dẫn UNIX Shell tại đây .

13
Riccardo Murri

Nó trả về id người dùng của bạn. Chạy man id để biết thêm thông tin.

0
Tommy Brunn

id -u in id người dùng của bạn trên hệ thống. Để thay thế, bạn chỉ có thể chạy lệnh này:

Sudo chown <user> /data/db thay thế <user> bằng tên người dùng của bạn trên hệ thống.

0
Marco Ceppi