Điểm:-1

Tệp đã biến mất trên lệnh mv:

lá cờ us

tôi đã cố gắng để di chuyển tập tin.py vào thư mục hiện có Mô-đun ...

wm@my-laptop:~/Desktop/1linuxandpython$ mv Modules_and_packages.py /Modules_and_packages_Game

nó nói quyền bị từ chối, vì vậy tôi đã làm điều này:

wm@my-laptop:~/Desktop/1linuxandpython$ sudo mv Modules_and_packages.py /Modules_and_packages_Game

sau đó nó biến mất, tôi đã tìm kiếm câu trả lời và thấy rằng tên của tệp là /Modules_and_packages_Game bây giờ nhưng không thể tìm thấy nó ở bất cứ đâu. Và làm thế nào có thể cho .py được đặt tên như tên thư mục?

chỉnh sửa:

nhập mô tả hình ảnh ở đây

ls -l hiển thị tên thư mục và khi tôi thực thi nó, nó sẽ mở ra dưới dạng tập tin.py biết rằng trước khi thực hiện lệnh:

$ sudo mv Modules_and_packages.py /Modules_and_packages_Game

tôi chắc chắn rằng thư mục Modules_and_packages_Game có ở đó không?

Artur Meinild avatar
lá cờ vn
Nó có xuất hiện nếu bạn gõ `ls /` không?
guiverc avatar
lá cờ cn
Bạn đã sử dụng `mv` để di chuyển và đổi tên tệp; lệnh được thực thi chính xác như những gì bạn yêu cầu, ngay cả khi đó không phải là ý định của bạn. Nó nằm trong thư mục `/` như bạn đã báo cáo
Điểm:10
lá cờ in

mục tiêu của bạn mv lệnh là /Modules_and_packages_Game. Đó là một con đường tuyệt đối.

  • Nếu đường dẫn tồn tại và là một thư mục, mv sẽ di chuyển các tệp nguồn vào thư mục đó.
  • Nếu đường dẫn KHÔNG tồn tại, tệp nguồn sẽ được đổi tên thành tên đích.

So sánh người đàn ông và xem ba hình thức thực hiện có thể mv:

TÓM TẮT
  mv [TÙY CHỌN]... [-T] NGUỒN ĐÍCH
  mv [OPTION]... NGUỒN... DIRECTORY
  mv [TÙY CHỌN]... -t NGUỒN THƯ MỤC...
SỰ MIÊU TẢ
  Đổi tên NGUỒN thành DEST hoặc di chuyển (các) NGUỒN thành DIRECTORY.

Rất có thể, bạn đã sử dụng biểu mẫu đầu tiên (đổi tên NGUỒN thành ĐÍCH) trong khi bạn muốn biểu mẫu thứ hai (di chuyển NGUỒN thành THƯ MỤC).
Tệp của bạn bây giờ là một tệp trong / (gốc của hệ thống tập tin của bạn) được đặt tên Mô-đun_và_gói_Trò chơi.

Kiểm tra bằng cách sử dụng ls -l /Modules_and_packages_Game.

Để di chuyển trở lại, hãy chạy:

sudo mv /Modules_and_packages_Game Modules_and_packages.py

Bây giờ làm điều đó một cách chính xác. Tôi giả sử thư mục đích của bạn là đường dẫn tương đối Mô-đun_và_gói_Trò chơi, và không phải là đường dẫn tuyệt đối /Modules_and_packages_Game.

Hoặc (sử dụng mẫu thứ hai):

mv Modules_and_packages.py Modules_and_packages_Game

hoặc (sử dụng mẫu thứ ba):

mv -t Modules_and_packages_Game Modules_and_packages.py

Cái sau an toàn hơn, vì nó sẽ báo lỗi nếu thư mục đích không tồn tại.

Marinos TBH avatar
lá cờ us
Trên thực tế, tệp bây giờ là một thư mục . khi tôi : ls hoặc ls -l , nó sẽ xuất hiện thư mục màu xanh và để truy cập nó, tôi chỉ cần /Modules_and_packages_Game để nó biên dịch ./file.py
pLumo avatar
lá cờ in
Một tệp không thể là một thư mục sau `mv`. Sau đó, thư mục đã tồn tại trước đó và bạn đã chuyển tệp của mình vào thư mục đó.
Marinos TBH avatar
lá cờ us
Vui lòng xem ảnh chụp màn hình bên dưới.
pLumo avatar
lá cờ in
Bạn nhầm rồi, bạn thực thi tệp đã di chuyển bằng `/Modules_and_packages_Game`. Nó chính xác như tôi đã nói. Những gì bạn thấy (thư mục màu xanh lam) là đường dẫn tương đối `Modules_and_packages_Game` **không giống** với `/Modules_and_packages_Game` .
Điểm:1
lá cờ jp

Khi những người khác đang chỉ vào bạn, bạn đang bối rối liên quan đến con đường so với tuyệt đối những con đường. Hãy ghi nhớ những cân nhắc sau:

  1. Một nhát chém đơn độc /thư mục gốc. Hãy nghĩ về nó như một thư mục nằm trên tất cả các thư mục khác, nghĩa là mọi thư mục và tệp trong hệ thống của bạn đều ở đâu đó bên trong / danh mục.
  2. Một đường dẫn tuyệt đối là đường dẫn từ thư mục gốc đến tệp hoặc thư mục. Vì vậy, nó luôn bắt đầu với /, là thư mục gốc và kết thúc bằng tệp hoặc thư mục bạn muốn truy cập. Một ví dụ về đường dẫn tuyệt đối cho tệp sẽ là:
/home/username/Desktop/myFile.txt
  1. dấu ngã ~ là một phím tắt đại diện cho thư mục nhà của bạn. Do đó, một tệp ở đâu đó trong thư mục nhà của bạn có thể được truy cập bằng cách sử dụng phím tắt này và ví dụ trên có thể là:
~/Desktop/myFile.txt
  1. Các thư mục hiện tại hoặc thư mục làm việc là một trong những bạn hiện đang làm việc trên. Nó thường được hiển thị trên dấu nhắc Bash màu xanh lam, giữa dấu chấm phẩy : và ký hiệu đô la $. Ví dụ: nếu bạn hiện đang làm việc trên máy tính để bàn thư mục, dấu nhắc Bash trên Terminal sẽ như thế này:
tên người dùng @ tên máy chủ:~/Máy tính để bàn$
  1. Một đường dẫn tương đối có thể được sử dụng khi tệp hoặc thư mục bạn muốn truy cập nằm trong thư mục làm việc hiện tại của bạn. Trong trường hợp đó, bạn không được bắt đầu đường dẫn với /, bởi vì điều đó thể hiện rằng đường dẫn là một đường dẫn tuyệt đối bắt đầu trong thư mục gốc. Ví dụ: nếu bạn đang làm việc trên máy tính để bàn thư mục, bạn có thể đọc nội dung của myFile.txt tập tin bằng cách chỉ cần gõ tên của nó.
username@hostname:~/Desktop$ cat myFile.txt
  1. Các thư mục hiện tại có thể được đại diện bởi một dấu chấm duy nhất .. Vì vậy, để tránh nhầm lẫn và đảm bảo rằng bạn đang tham chiếu một đường dẫn tương đối, bạn có thể bắt đầu các đường dẫn tương đối với ./ để đại diện cho một cái gì đó bên trong thư mục hiện tại, ví dụ.:
username@hostname:~/Desktop$ cat ./myFile.txt
  1. Các thư mục phía trên thư mục làm việc của bạn được biểu thị bằng hai dấu chấm ... Do đó, nếu bạn đang ở trong thư mục Tải xuống nhưng muốn truy cập tệp của mình trên Màn hình nền, bạn có thể sử dụng đường dẫn tương đối sau:
username@hostname:~/Downloads$ cat ../Desktop/myFile.txt

Như một ví dụ khác, nếu myFile.txt là bên trong một số thư mục thư mục trên Màn hình của bạn, thì bạn có thể đọc nội dung của nó bằng cách sử dụng:

  • Một đường dẫn tương đối (không có dấu gạch chéo ở đầu):
username@hostname:~/Desktop$ cat someFolder/myFile.txt
  • Một đường dẫn tương đối với dấu chấm, để tránh nhầm lẫn:
username@hostname:~/Desktop$ cat ./someFolder/myFile.txt
  • Đường dẫn tuyệt đối (có dấu gạch chéo ở đầu):
username@hostname:~/Desktop$ cat /home/username/Desktop/someFolder/myFile.txt
  • Đường dẫn tuyệt đối với lối tắt thư mục chính:
username@hostname:~/Desktop$ cat ~/Desktop/someFolder/myFile.txt

Xin vui lòng, thực hiện một số thực hành với điều này, sau đó quay lại và bạn sẽ hiểu các câu trả lời khác.

Nói tóm lại, tệp của bạn hiện nằm trong thư mục gốc và tên của nó giống với tên của thư mục mà bạn đang cố đặt nó vào. Do đó, đường dẫn tuyệt đối đến tệp bây giờ là /Modules_and_packages_Game (nó vẫn là một tệp python, nó chỉ thiếu .py phần mở rộng do bạn vô tình thay đổi tên của nó). Thư mục này khác với thư mục bạn có trong ~/Desktop/1 bước linux và python/Modules_and_packages_Game. Để đặt tệp python vào thư mục đó và đổi lại tên của nó, hãy sử dụng:

mv /Modules_and_packages_Game "~/Desktop/1 bước linux và python/Modules_and_packages_Game/Modules_and_packages.py"

(Lưu ý dấu ngoặc kép " cần thiết vì bạn có khoảng trắng trong đường dẫn.)

Marinos TBH avatar
lá cờ us
Biết ơn vì câu trả lời như vậy, tôi hoàn toàn hiểu cách hoạt động của điều hướng thư mục. Nếu không thì tôi đã nhận được điều này: mw@my-laptop:~$ mv /Modules_and_packages_Game "~/Desktop/1 bước linux và python/Modules_and_packages_Game/Modules_and_packages.py" mv: không thể di chuyển '/Modules_and_packages_Game' sang '~/Desktop/1 bước linux và python/Modules_and_packages_Game/Modules_and_packages.py': Không có tệp hoặc thư mục như vậy
Alejandro avatar
lá cờ jp
Kiểm tra kỹ cả hai đường dẫn tuyệt đối để xem đường dẫn nào không chính xác và điều chỉnh theo nhu cầu của bạn. Bạn có thể cần sử dụng `sudo` trước `mv`. hoặc sử dụng `cp` thay vì `mv`. Có thể thư mục là `1linuxandpython` chứ không phải `"1 bước linux và python"`, có cả hai trong câu hỏi của bạn. Bạn có thể kiểm tra bằng `ls` và tự động hoàn thành các đường dẫn hợp lệ trong Terminal bằng lệnh Chuyển hướng Chìa khóa.
Marinos TBH avatar
lá cờ us
OK cuối cùng nó đã làm việc (tôi đã xóa dấu ngoặc kép và biến nó thành '1 bước linux và python' và sử dụng sudo ) sudo mv /Modules_and_packages_Game ~/Desktop/'1 bước linux và python'/Modules_and_packages_Game/Modules_and_packages.py. Modules_and_packages.py ở đó và /Modules_and_packages_Game không còn thực thi được nữa. Cảm ơn sự giúp đỡ có thể mọi người tìm thấy những lời giải thích như vậy.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.