ฉันจะล้างถังขยะโดยใช้เทอร์มินัลได้อย่างไร


241

ฉันไม่สามารถค้นหาถังขยะได้ทุกที่ คุณช่วยบอกคำสั่งหรืออะไรทำนองนั้นเพื่อล้างถังขยะโดยใช้เทอร์มินัลได้ไหม


2
โพสต์นี้เมื่อ 3 ปีก่อน เราต้องการบางสิ่งที่สะกดสิ่งนี้รวมถึงรุ่นที่ใช้งานได้ที่นี่ในปี 2560
SDsolar

คำตอบ:


313

คุณสามารถใช้คำสั่งˋrmˋ:

 rm -rf ~/.local/share/Trash/*

คำสั่ง rm จะลบ (ลบ) ไฟล์หรือไดเร็กทอรี

-f, --force     Ignore nonexistant files, and never prompt before removing.
-r, -R, --recursive     Remove directories and their contents recursively.

โฟลเดอร์ถังขยะพบได้ที่: $HOME/.local/share/Trash

ระวังวิธีการใช้rmคำสั่ง - ไฟล์ที่ไม่ได้ส่งไปยังถังขยะสามารถที่คุณสามารถยกเลิกการลบได้ดังนั้นจึงไม่สามารถยกเลิกได้อย่างง่ายดาย


10
สิ่งนี้จะไม่ทำงานหากถังขยะอยู่ที่อื่น
Braiam

1
@ hellodear2 ขอให้สังเกตว่า~เป็นเพียงสิ่งเฉพาะเชลล์ซึ่งขยายไปยังพา ธ โฮมไดเร็กทอรีของคุณ การใช้เช่น"~/some/path"จะไม่ขยายเนื่องจากการอ้างอิง ตัวจัดการไฟล์บางตัวอาจไม่เข้าใจ~หากคุณป้อนลงในแถบที่อยู่
Ruslan

11
ไม่สามารถลบโฟลเดอร์และไฟล์ระบบที่ละเอียดอ่อนได้หากไม่มีสิทธิ์และrmไม่สามารถลบโฟลเดอร์ได้เลยยกเว้นว่าคุณจะให้-rตัวเลือก (หรือเทียบเท่า) อย่างไรก็ตามการใช้rmโดยไม่ได้รับการดูแลอย่างเหมาะสมอาจทำให้สูญเสียไฟล์ส่วนบุคคลที่สำคัญโดยเฉพาะหากใช้กับอาร์กิวเมนต์ตัวแทน
Marc van Leeuwen

1
@ hellodear2 เห็นสิ่งนี้และคำถามนี้เป็นตัวอย่างเมื่อตัวหนอนไม่ทำงาน (สิ่งเหล่านี้เกี่ยวกับการทุบตี) ฉันไม่รู้จริงๆว่าเชลล์เฉพาะเจาะจงใดที่ไม่สนับสนุน แต่คุณควรเข้าใจว่ามีการใช้เครื่องหมายตัวหนอนไม่ใช่ในระดับระบบไฟล์ แต่ในระดับแอปพลิเคชัน XFE เป็นตัวอย่างของตัวจัดการไฟล์ที่ไม่เข้าใจ~ในแถบที่อยู่
Ruslan

4
ทำไมมันดูประมาณนี้ เร็วกว่าการคลิกถังขยะ "ว่างเปล่า" 100 เท่าในเบราว์เซอร์ไฟล์ใด ๆ
Blauhirn

131

เมื่อtrash-cliติดตั้งแล้วคุณสามารถทำได้

trash-empty

รายละเอียดที่น่าสนใจเกี่ยวกับการจัดการขยะ: ที่นี่


6
ที่จะไม่ทำงานออกจากกล่องแม้ว่าและต้องติดตั้งถังขยะ CLI
skarz

19
ใช่ แต่มันเป็นคำตอบที่ถูกต้อง หากคุณมีอุปกรณ์ USB ติดตั้งไฟล์ที่คุณทิ้งในนั้นจะถูกซ่อนไว้ในไดเรกทอรีที่ซ่อนอยู่ในรูทของอุปกรณ์ (อย่างน้อยก็เกิดขึ้นเมื่อฉันตรวจสอบครั้งล่าสุด) .Trash-$UIDดังนั้นในกรณีนี้ถังขยะจะอยู่ในรูปแบบทางกายภาพ สถานที่ที่แตกต่างกันสองแห่ง ...
Rmano

น่าเศร้าที่คุณต้องติดตั้งแพ็คเกจเพื่อล้างถังขยะ การนับขยะกับพื้นที่ดิสก์เป็นหนึ่งในคุณสมบัติที่น่ารำคาญที่สุดของ Ubuntu
ไมเคิล

3
@Michael "Trash" เป็นคุณสมบัติที่มีให้โดยผู้จัดการเดสก์ท็อปซึ่งเป็นเลเยอร์เหนือสิ่งที่คุณมักจะใช้ในบรรทัดคำสั่ง จริงๆแล้วทั้งหมดมันคือการย้ายไฟล์ไปยังโฟลเดอร์ที่ซ่อนอยู่ในอุปกรณ์เดียวกันและเก็บข้อมูลเมตาบางส่วนเพื่อให้พวกเขาสามารถใส่กลับเข้าไปในสถานที่หากผู้ใช้ต้องการ คุณไม่ได้เรียกคืนพื้นที่ใด ๆ จนกว่าคุณจะ "ล้าง" ถังขยะซึ่งเป็นเวลาที่ไฟล์ถูกลบจริง
Seamus Connor

3
ควรสังเกตว่าคำสั่งนี้เฉพาะผู้ใช้ ฉันติดตั้งและเกาหัวของฉันว่าทำไมมันไม่ทำงานจนกว่าฉันจะรู้ว่าไฟล์อยู่ในถังขยะของผู้ใช้รายอื่น
billynoah

52

คุณกำลังมองหา$XDG_DATA_HOME/Trashไดเรกทอรี ไดเรกทอรีถังขยะถูกกำหนดไว้ใน "ถังขยะสก์ท็อปสามารถเป" ของเว็บไซต์ freedesktop ตัวแปรนี้เป็นปกติไม่สามารถใช้ได้ใน Windows Terminal trash-emptyเพราะฉะนั้นคุณจะต้องสำหรับ คำสั่งนี้ทำตามข้อกำหนดทั้งหมดของ Freedesktop.org และมันฉลาดพอที่จะค้นหาว่าถังขยะอยู่ที่ไหน คุณจะต้องติดตั้งก่อน

มีเครื่องมืออื่น ๆ สำหรับสิ่งนี้เช่นเดียวกับgvfs-trash --emptyที่สามารถส่งรายการไปที่ถังขยะ


+1 $XDG_DATA_HOMEสำหรับ คุณได้รับสิ่งนั้นอย่างไร
jobin

4
@Jobin อยู่ในรายละเอียดทั้งหมด ramendik.ru/docs/trashspec.html
Braiam

@Braiam คุณช่วยอธิบายเพิ่มเติมได้ไหม? ฉันจะใช้มันได้อย่างไร ฉันไม่เข้าใจวิธีที่จะแก้ไขวัตถุประสงค์ของฉัน กรุณาอธิบายเล็กน้อย และฉันไม่ต้องการที่จะถังขยะรายการฉันต้องการที่จะล้างถังขยะ
hellodear

2
@ hellodear2 เปล่าถังขยะtrash-empty คุณจะต้องเรียกใช้ ไบนารีอยู่ในtrash-cliแพ็คเกจ เหมือนกับ jhort solution ที่ฉันอธิบายว่ามาจากไหนและเสนอเครื่องมืออื่น
Braiam

gio trash --emptyอย่างน้อยตอนนี้บน Ubuntu 18.10 / Gnome 3
JB Rainsberger


1

ฉันมีปัญหากับ

rm -rf ~/.local/share/Trash/*

ดังนั้นฉันต้องทำ:

sudo -s
cd ~/.local/share/Trash/  

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

rm -fr *

แล้วทุกอย่างก็หายไป ...


ทำไม sudo และทำไม rm -rf มันไม่จำเป็น
mikewhething

1
@mikewhething - ทำไมsudoล่ะ เนื่องจากฉันได้ลบบางสิ่งในฐานะผู้ใช้ระดับสูงและเพื่อล้างข้อมูลTrashฉันจึงต้องทำsudoเพื่อให้มีสิทธิ์นั้น ใช้sudo rm -rf /fullabsolutepathงานได้ในคำสั่งเดียว
ฮาร์วีย์

trash-empty และ rm -rf ~ / .local / share / Trash / * ไม่ทำงานถ้าคุณลบออกจากโฟลเดอร์ root @ คำตอบของ Cisum ทำงานได้ดีที่สุดสำหรับฉัน
เรนเนอร์

wtf คืออะไร? ฉันลองสิ่งนี้แล้วทุกอย่างก็หายไป ข้อมูลทั้งหมดหายไปจากระบบของฉัน
Rajneesh071

2
ฉันสงสัยว่าใครโหวตขึ้นสิ่งนี้? นี่เป็นคำแนะนำ / ชุดคำสั่งที่แย่มากและอันตรายมากถ้าบางคนใช้เลเซอร์rm -fr *ในโฟลเดอร์ที่ไม่ถูกต้อง โปรดแก้ไขคำตอบของคุณและอย่างน้อยก็ใช้เส้นทางแบบเต็ม ...
Tanasis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.