Bạn có thể thử quá trình thay thế này.
/myuser/downloads/
nhưng, thay vì đầu tiên tạo ra các /myuser/downloads/new/
thư mục, thay vì tạo ra một thư mục trong /myuser/
thư mục, với lệnh mkdir ../new
, sau đó di chuyển tất cả các tập tin trong downloads
để new
, và cuối cùng di chuyển new
vào downloads
. Bạn có thể làm điều này trong một dòng, trong khi trong /myuser/downloads/
đường dẫn, với lệnh:
mkdir ../new && mv * ../new && mv ../new ../downloads
Trong trường hợp này, bạn không phải lo lắng về bất kỳ loại "lọc" các tập tin / thư mục, vì new
là trên cùng cấp của con đường như downloads
, vì vậy bạn chỉ có thể di chuyển mọi thứ trong downloads
để new
, và sau đó di chuyển new
vào downloads`.
Tuy nhiên, nếu bạn đã new
tạo thư mục con được tạo và không muốn tạo một thư mục con khác, đừng lo lắng, điều đó chỉ cần thay đổi mkdir
lệnh ở phía bên trái của lệnh đầu tiên &&
được hiển thị ở trên thành mv
lệnh, đẩy new
lên trong con đường; nói cách khác, trong khi bạn vẫn ở /myuser/downloads/
, bạn có thể đổi mkdir ../new
thành mv new ..
. Sau đó, thư mục con new
[trong đường dẫn /myuser/downloads/new/
] được đẩy lên /myuser/new/
, ở cùng mức với /myuser/downloads/
, và sau đó bạn có thể chạy phần còn lại của lệnh như được hiển thị ở trên. Tất cả cùng nhau, chúng ta có, bắt đầu từ con đường /myuser/downloads/
:
mv new .. && mv * ../new && mv ../new ../downloads
và, vì bạn muốn "di chuyển tất cả các tệp và thư mục / thư mục con trong thư mục tải xuống vào thư mục con [ new
]", bạn đã hoàn tất! Nếu bạn đã muốn di chuyển chỉ file (hoặc chỉ thư mục hoặc [chèn phong trào đối tượng chi tiết hơn]), sau đó bạn sẽ phải sử dụng các lệnh khác mà có thể "lọc" các đối tượng, chẳng hạn như grep
. Các lệnh được viết ở trên là đủ cho mục đích của bạn, mặc dù.
mv * new
Mặc dù, nó sẽ rên rỉ "không thể di chuyển mới để mới" hoặc một cái gì đó tương tự. Có lẽmv -i * new
để bạn ngăn chặn ghi đè.