Hãy đọc toàn bộ câu trả lời trước khi cố gắng chạy với sudo
Cố gắng chạy sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Lệnh sudo thực thi các lệnh mà theo nó với 'superuser' hoặc ưu đãi 'root'. Điều này sẽ cho phép bạn thực hiện hầu hết mọi thứ từ dòng lệnh. Điều đó nói rằng, KHÔNG LÀM NÀY! Nếu bạn đang chạy một kịch bản trên máy tính của bạn và không cần nó để truy cập các thành phần cốt lõi của hệ điều hành của bạn (tôi đoán bạn không phải vì bạn đang gọi kịch bản trên một cái gì đó bên trong thư mục chính của bạn (~ /)) , sau đó nó phải được chạy từ thư mục home của bạn, ví dụ:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Move nó tới ~/hoặc một thư mục phụ và thực hiện từ đó. Bạn sẽ không bao giờ có các vấn đề về quyền ở đó và sẽ không có nguy cơ truy cập hoặc sửa đổi bất kỳ điều gì quan trọng đối với HĐH của bạn.
Nếu bạn vẫn gặp sự cố, bạn có thể kiểm tra quyền trên tệp bằng cách chạy ls -l
trong khi ở cùng thư mục với tập lệnh ruby. Bạn sẽ nhận được một cái gì đó như thế này:
$ ls -l
total 13
drwxr-xr-x 4 or019268 Administ 12288 Apr 10 18:14 TestWizard
drwxr-xr-x 4 or019268 Administ 4096 Aug 27 12:41 Wizard.Controls
drwxr-xr-x 5 or019268 Administ 8192 Sep 5 00:03 Wizard.UI
-rw-r--r-- 1 or019268 Administ 1375 Sep 5 00:03 readme.txt
Bạn sẽ nhận thấy rằng readme.tập tin txt nói -rw-r--r--
ở bên trái. Điều này cho thấy các quyền cho tệp đó. 9 ký tự từ bên phải có thể được chia thành các nhóm gồm 3 ký tự 'rwx' (đọc, viết, thực thi). Nếu tôi muốn thêm quyền thực thi cho tệp này, tôi sẽ thực hiện chmod 755 readme.txt
và phần quyền đó sẽ trở thành rwxr-xr-x
. Bây giờ tôi có thể thực thi tệp này nếu tôi muốn bằng cách chạy ./readme.txt
(./ yêu cầu bash nhìn vào thư mục hiện tại cho lệnh dự định thay vì tìm kiếm biến $ PATH).
schluchc ám chỉ xem trang người đàn ông cho chmod, thực hiện việc này bằng cách chạy man chmod
. Đây là cách tốt nhất để nhận tài liệu về một lệnh nhất định, man <command>
Nguồn
2012-09-05 07:34:53
Cảm ơn! Nhưng đâu là thư mục chính (~ /)? Nó có nghĩa là máy tính để bàn? –
Shell có thể cho bạn biết rằng với 'echo ~', thường là '/ Users/$ USER'. Desktop chỉ là một thư mục bên dưới. Unix GUIs ẩn thư mục chủ từ xem, nhưng nó vẫn còn đó. –
Bạn có thể lấy đường dẫn đến thư mục chính bằng cách chạy 'echo $ HOME'. Nó có thể trông giống như/Users/ hoặc có thể/Users/ –