วิธีการลบ. DS_Store จากบรรทัดคำสั่งกรอกข้อมูลอัตโนมัติโดยใช้ cd ได้อย่างไร


16

ฉันเข้าใจว่า.DS_storeไฟล์มีจุดประสงค์ ที่กล่าวว่าพวกเขาเป็นเรื่องน่ารำคาญเมื่อกรอกcdคำสั่งอัตโนมัติ เมื่อฉันพิมพ์cdใน Terminal และกดแท็บสองครั้งมันจะแสดงรายการไดเรกทอรีทั้งหมดในไดเรกทอรีการทำงาน

มีวิธีการลบออก.DS_storeจากรายการไดเรกทอรีอัตโนมัติสมบูรณ์ใน terminal?


เมื่อฉันพิมพ์cdในเทอร์มินัลแล้วแท็บคีย์สองครั้ง: มีการแจ้งก่อนที่จะมีความเป็นไปได้ทั้งหมด (ไม่เพียงไดเรกทอรี) มีการระบุไว้
Graham Perrin

ดูเหมือนว่าพฤติกรรมจะดีกว่า คุณรู้วิธีป้องกันการแสดงรายการของไฟล์เมื่อดับเบิลแท็บหลังจาก cd หรือไม่
Jeromy Anglim

cd */ตามด้วยสองแท็บจะแสดงรายการไดเรกทอรีย่อยทั้งหมดของไดเรกทอรีปัจจุบัน แต่คุณต้อง Backspace เพื่อเลือกหนึ่ง ...
LHF

@ lhf ขอบคุณ มันดีที่มีตัวเลือกนั้น มันจะดีกว่าถ้าcdฉลาดพอที่จะลิสต์ไดเรกทอรีโดยค่าเริ่มต้นเท่านั้น
Jeromy Anglim

คำตอบ:


14

export FIGNORE=DS_Store ทำงานได้สำหรับฉัน

คู่มือ GNU ทุบตีให้ข้อมูลที่กว้างขวางเมื่อเสร็จสิ้นโปรแกรมได้

โดยเฉพาะจากเอกสารเกี่ยวกับตัวแปร bash

FOREORE [คือ] รายการส่วนต่อท้ายที่คั่นด้วยโคลอนเพื่อละเว้นเมื่อดำเนินการเสร็จสิ้นชื่อไฟล์ ชื่อไฟล์ที่คำต่อท้ายตรงกับหนึ่งในรายการใน FIGNORE จะถูกแยกออกจากรายการชื่อไฟล์ที่ตรงกัน ค่าตัวอย่างคือ '.o: ~'

หากคุณกังวลว่าอาจมีคำต่อท้ายที่มีอยู่FIGNOREคุณสามารถใช้:

export FIGNORE=$FIGNORE:DS_Store

ไม่แน่ใจเกี่ยวกับคุณ แต่ต้องใช้$FIGNORE:.DS_Storeกับ mac สำหรับฉัน ไม่ทำงานหากไม่มี "."
typeoneerror

@typeoneerror เหมือนกันสำหรับฉัน บางทีในอดีตมันทำงานเหมือนโพสต์ ขอบคุณสำหรับการให้ฉันรู้ว่า.
LHF

1
ใน macOS Sierra 10.12.5 ใช้ได้กับฉันเฉพาะเมื่อฉันไม่ใช้.

2

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือการเติมแท็บตามบริบทให้สำเร็จสำหรับคำสั่ง Bash ยกตัวอย่างเช่นเป็นไฟล์ปกติไม่ได้เป็นไดเรกทอรีดังนั้นจึงไม่ควรจะแสดงขึ้นเป็นไปได้ที่จะเสร็จสิ้น.DS_Storecd

bash-completionแพคเกจที่จะช่วยแก้ปัญหานี้จะเรียกว่า ฉันใช้เวอร์ชันของ Fink ( fink install bash-completion) และยังมีให้ใน MacPorts ( port install bash-completion) และ Homebrew ( brew install bash-completion)

หลังจากติดตั้งและกำหนดค่าแพคเกจใน. bashrc หรือ. bash_profile ของคุณไฟล์ปกติจะไม่ปรากฏเป็นความสมบูรณ์ของ cd อีกต่อไปและคำสั่ง bash ทั่วไปอื่น ๆ อีกมากมายจะรับรู้บริบทเช่นกัน (เช่นgunzip)


1

ขณะที่คุณถามถึงเพียง. DS_Store ฉันคิดว่าการลบไฟล์ที่ซ่อนอยู่ทั้งหมดจากการเติมข้อความอัตโนมัติจะดีกว่าโดยทั่วไป สิ่งนี้สามารถทำได้โดยคำสั่ง:

ผูก 'set match-hidden-files off'

คุณสามารถเพิ่ม ~ / .bash_profile เพื่อให้มันเรียกใช้ทุกครั้งสำหรับคุณ นี่จะไม่ปิดใช้งานการเติมข้อความอัตโนมัติสำหรับไฟล์ที่ซ่อนอย่างสมบูรณ์คุณยังสามารถพิมพ์ '.' (จุด) และกดแท็บสำหรับมัน


-1

ฉันจะใช้คำสั่งนี้:

zip -r foo.zip foo -x "*.DS_Store"

พบได้ที่นี่: /superuser/198569/compressing-folders-on-a-mac-without-the-ds-store


วิธีนี้แก้ปัญหาการลบ. DS_Store จากการเติมข้อความอัตโนมัติได้อย่างไร
grg

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