มีปัญหาอย่างน้อยสองประเด็นที่นี่:
- อ่านไฟล์. gz อย่างไม่เจ็บปวด
- สิทธิ์ในไดเรกทอรี
- (ไม่บังคับสำหรับไฟล์ tex)
สำหรับ# 1มีแอปพลิเคชั่นจำนวนมากที่จัดการกับไฟล์ gzipped ได้อย่างราบรื่น คู่รักที่คุณสามารถใช้เป็นless
และvim
.
less README.gz
vim -R README.Debian.gz
view Important.bits.gz
view
เป็นนามแฝงvim -R
ซึ่งเพิ่งบอกว่าจะเปิดไฟล์อ่านอย่างเดียว
ในสมัยก่อนที่ติดตั้งน้อยลงในระบบของฉันฉันจะใช้gzcat
และท่อส่งออกไปยังยูทิลิตี้อื่น เห็นได้ชัดว่ามันถูกเรียกzcat
ตอนนี้บน Ubuntu เท่านั้น แต่คุณจะใช้มันในลักษณะนี้เช่น:
/usr/share/doc/xpdf$ zcat changelog.Debian.gz | more
zcat ยังคงใช้งานได้และการใช้เพื่ออัดเนื้อหาที่บีบอัดบางแห่งอาจมีประโยชน์ในบางกรณี (สำหรับสถานการณ์ที่มีไฟล์. bz2 bzcat
จะพร้อมใช้งาน)
สำหรับ# 2ไฟล์ทั้งหมดที่ฉันเห็นภายใต้ / usr / share / doc อยู่ในไดเรกทอรีที่มีสิทธิ์ + rx อื่น ๆ ซึ่งหมายความว่าผู้ใช้ทุกคนสามารถค้นหาไดเรกทอรี (เช่นรายการเนื้อหา) และอ่านไฟล์ภายใน สิ่งที่คุณไม่สามารถทำได้ (เนื่องจากรูทเท่านั้นที่มีสิทธิ์เขียนโดยค่าเริ่มต้น) คือการสร้างไฟล์ เนื่องจากคุณพยายามที่จะคลายซิปลงในไดเรกทอรีนั้นฉันคิดว่ามันให้สิทธิ์แก่คุณที่ถูกปฏิเสธเพราะคุณได้อ่าน แต่ไม่ได้เขียนการอนุญาตตามค่าเริ่มต้น
สำหรับ # 3 ฉันเดาว่าคุณใช้ไฟล์. tex มากกว่าที่คิด แต่นี่เป็นวิธีหนึ่งในการจัดการกับพวกเขาโดยไม่ต้องคัดลอกไปที่บ้านหรือไฟล์ชั่วคราว สำหรับสิ่งนี้คุณจะสร้างไปป์ที่มีชื่อ แต่คุณสามารถนำกลับมาใช้ใหม่ได้สำหรับความต้องการการส่งและการประมวลผล tex อื่น ๆ ของคุณ มันควรเป็นแบบนี้:
- zcat หรือ gzcat ข้อความ
- ... และไพพ์ไปยังโปรเซสเซอร์ TeX ของคุณ
- ... และส่งมันไปที่ Named Pipe ของคุณ (ที่นี่ฉันจะเรียกเขาว่า
pipey
)
- ... และจากนั้นในหน้าจอแยกคว้าผลลัพธ์ของคุณจาก pipey
- ... และส่งไปยังกระบวนการแสดงผล dvi
คุณสามารถแก้ไขขั้นตอนเหล่านี้ได้อย่างชัดเจนหากคุณใช้ยูทิลิตีอื่นหรือดีกว่าที่นี่
ตัวอย่างของฉันจะใช้mkfifo
ยูทิลิตีเพื่อสร้างไพพ์ที่มีชื่อ, pipey
. /usr/share/doc/gdb/refcard.tex.gz
แฟ้มเป้าหมายที่จะดำเนินการคือ คุณจะต้องมีสองบรรทัดคำสั่งเชลล์ (ผ่านเทอร์มินัล, Alt + F2 หรืออย่างไรก็ตาม)
คุณจะพิมพ์เทอร์มินัลหนึ่ง:
mkfifo pipey
ตอนนี้คุณมีไพพ์ที่มีชื่อถาวร คุณสามารถใช้ls -l
มองมัน
zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey
โปรดสังเกตว่าคำสั่งนี้จะไม่ส่งคืนจนกว่าคุณจะทำอะไรกับผลลัพธ์ที่ไปยังไพพ์ที่มีชื่อ
ในเทอร์มินัลสองคุณจะพิมพ์: tex pipey | xdvi
และมันก็ใช้งานได้ดี กระบวนการสามารถปรับแต่งให้ได้ผลลัพธ์ที่สวยกว่า แต่ถ้าคุณกำลังมองหาที่รวดเร็วและไม่ยุ่งเหยิงนั่นเป็นวิธีหนึ่งที่ทำได้