การลบเนื้อหาของไดเรกทอรีซ้ำ [ปิด]


-2

ฉันต้องการลบเนื้อหาของโฟลเดอร์โดยไม่ลบโฟลเดอร์: ไฟล์ทั้งหมดและโฟลเดอร์ย่อยทั้งหมดที่มีไฟล์ย่อย สิ่งนี้จะไม่ลบอะไรเลย

sudo rm -rf /folder1/*

ทำไมจะไม่ล่ะ? จะทำให้มันใช้งานได้อย่างไร


3
คุณหมายถึงอะไรนี่ไม่ได้ลบอะไรเลย ? มันให้ข้อผิดพลาดหรือไม่?
Am_I_Helpful

@Am_I_Helpful เดาว่านั่นหมายถึงอะไร
ราชา

1
ฉันรู้สึกถึงปัญหา XY ที่นี่ ทำไมคุณต้องการสิ่งนี้ สิ่งใดที่คุณจริงพยายามที่จะบรรลุ? ทำไมไม่เพียงแค่ลบโฟลเดอร์แล้วสร้างโฟลเดอร์ว่างที่มีชื่อเดียวกัน
mikky

1
ผู้ใช้สามารถเรียกใช้คำสั่ง (ก่อน sudo) แสดงรายการไดเรกทอรีได้หรือไม่
Javier

คำตอบ:


2

นี่คือfolder1รากโดยตรงจริงๆ/เหรอ? คุณต้องใช้เส้นทางสัมพัทธ์หรือเส้นทางสัมบูรณ์:

sudo rm -rf folder1/*
sudo rm -rf /full/path/to/folder1/*

จากนั้นคุณต้องจำไว้ว่าตัวแทนจะถูกจัดการก่อน sudoหากผู้ใช้ไม่มีสิทธิ์ในการอ่านเนื้อหาของfolder1wildcard จะไม่ส่งคืนอะไรเลย คุณสามารถทดสอบด้วย

sudo echo folder1/*

ในกรณีนั้นคุณอาจ

sudo bash
rm -rf folder1/*

0

คุณบอกว่า sudo "rm -rf / folder1 / *"ไม่ทำงานสำหรับคุณมันเกิดขึ้นถ้าคุณมีไฟล์หลายพันไฟล์ในไดเรกทอรีไม่ว่าจะนานเกินไปหรือกระบวนการนั้นจะพูดว่ารายการอาร์กิวเมนต์ยาวเกินไปในกรณีนี้คุณสามารถลองได้ คำสั่งด้านล่าง

cd แรกไปยังไดเรกทอรีที่คุณต้องการลบไฟล์cd / โฟลเดอร์ /

/ bin / ls -A | xargs rm -rf

ซึ่งจะลบไฟล์และไดเรกทอรีทั้งหมดแม้แต่ไฟล์ที่ซ่อนอยู่ที่ขึ้นต้นด้วยจุดยกเว้นไฟล์พิเศษ และ .. ไดเรกทอรี คุณไม่ต้องการลบ และ .. (เป็นไดเรกทอรีปัจจุบันและไดเรกทอรีหลักตามลำดับ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.