Điểm:1

Có phải mv là lệnh duy nhất mà chúng ta có thể sử dụng để di chuyển tệp/thư mục không?

lá cờ de

mv lệnh duy nhất mà chúng tôi có thể sử dụng để di chuyển tệp/thư mục trên Ubuntu 20.04?

David avatar
lá cờ cn
Bạn đang cố gắng làm gì mà mv không đủ tốt?
ByteManager avatar
lá cờ de
Tôi đang học các lệnh Ubuntu/linux. Tôi đang lập danh sách các lệnh theo chức năng chính và phụ của chúng. Trong khi liệt kê, tôi nhận thấy rằng cả hai lệnh `touch` và `>` ** đều có thể** tạo tệp mới (tôi nghe nói rằng có sự khác biệt giữa cách thức hoạt động của hai lệnh này). Vì vậy, tôi muốn biết tất cả các tập lệnh có thể thực hiện chức năng tương tự trong một số điều kiện đặc biệt.
David avatar
lá cờ cn
mv di chuyển các tệp không tạo chúng, sử dụng lệnh man, sau đó là nội dung bạn muốn tìm hiểu trong cửa sổ đầu cuối.
ByteManager avatar
lá cờ de
@David Cảm ơn bạn đã đề xuất lệnh ```man```.
waltinator avatar
lá cờ it
Phân loại thành chức năng "sơ cấp và thứ cấp" là con đường học tập sai lầm. Một chương trình làm những gì nó làm, tất cả các "chức năng" của nó là "chính" tùy thuộc vào công việc hiện tại yêu cầu.
waltinator avatar
lá cờ it
Đọc `man man` - tìm hiểu về `man -k`
PonJar avatar
lá cờ in
Thật tốt khi cố gắng học những thứ này nhưng có thể bạn đang đặt mục tiêu quá cao. Tôi đã ở trong và xung quanh Linux hơn 10 năm và tôi vẫn học được những điều mới mỗi tháng. Chìa khóa của việc này là biết tìm ở đâu để tìm lệnh bạn cần. Một tìm kiếm đơn giản trên google với một cái gì đó như bảng lệnh Linux sẽ cung cấp nhiều danh sách được phân loại theo nhiều cách khác nhau. Bạn sẽ thấy mình sử dụng một số lệnh thường xuyên hơn. Đó là những thứ bạn cần học, đặc biệt là khi có vô số tùy chọn sửa đổi tác dụng của lệnh
Điểm:0
lá cờ in

mv trên các hệ thống tập tin

  • sao chép tệp và xóa tệp gốc.

Đối với các tệp:

mục tiêu nguồn cp && nguồn rm

Đối với các thư mục:

cp -r mục tiêu nguồn && rm -rf nguồn

mv vào cùng một hệ thống tập tin:

  • tạo một liên kết mới đến inode của bạn và xóa liên kết ban đầu.

Vì vậy, bạn có thể bắt chước di chuyển trên cùng một hệ thống tệp với ln && rừm:

ln mục tiêu nguồn && rm nguồn

Tuy nhiên, điều này chỉ hoạt động cho các tập tin.
Để di chuyển một thư mục theo cách đệ quy, bạn có thể tạo một tập lệnh/hàm nhỏ:

#!/bin/bash
lmv()(

  đặt -eu

  s="$1"
  t="$2"

  nếu [ -f "$s" ]; sau đó
    printf '%s -> %s\n' "$s" "$t"
    trong "$s" "$t"
    rm "$s"
  yêu tinh [ -d "$s" ]; sau đó
    printf '%s -> %s\n' "$s" "$t"
    mkdir "$t"
    shopt -s dotglob
    cho e trong "$s"/*; làm
      lmv "$e" "$t/${e##*/}"
    xong
    rmdir "$s"
  khác
    >&2 printf 'Không có tệp hoặc thư mục: %s\n' "$s"
    thoát 1
  fi
)

Cách sử dụng:

mục tiêu nguồn lmv

(Lưu ý: tập lệnh này chỉ là một bằng chứng về khái niệm và còn thiếu nội dung, ví dụ: nhiều nguồn hoặc duy trì chủ sở hữu và quyền, v.v.)

mook765 avatar
lá cờ cn
Có thể sử dụng một chức năng trong định nghĩa của nó không (dòng 19, có vẻ như bạn muốn sử dụng `mv` thay vì `lmv` ở đây)?
pLumo avatar
lá cờ in
Không, tôi muốn sử dụng `lmv`, và vâng, hoàn toàn có thể và cần thiết ở đây để biến nó thành đệ quy.
Điểm:0
lá cờ sa

cách mv công cụ được lập trình để di chuyển một tệp là rời khỏi tệp không thay đổi (trừ khi tệp đang được chuyển sang một hệ thống tệp khác) và giữ nguyên quyền sở hữu và quyền của nó. Các công cụ khác cung cấp các tùy chọn khác nhau. Các cp lệnh, không giống như mv, tạo một đối tượng dữ liệu hoàn toàn mới trong hệ thống tệp của bạn có vị trí inode mới.

Bạn có thể bắt chước một động tác mà không cần mv sử dụng tích hợp cprừm lệnh:

ví dụ cp/foo.
ls -l -G -g --inode
7476869 -rwxrwxr-x. 29545 2 tháng 8 11:58 foo
ví dụ rm/foo

Nguồn: sửa đổi từ Di chuyển tệp trên Linux mà không cần mv

Đă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.