ตัวเลือกที่เทียบเท่าสำหรับlsคำสั่งเพื่อเปิดใช้งานการแบ่งหน้าเหมือนใน DOS dir /pทำอะไร?
ตัวเลือกที่เทียบเท่าสำหรับlsคำสั่งเพื่อเปิดใช้งานการแบ่งหน้าเหมือนใน DOS dir /pทำอะไร?
คำตอบ:
ไม่มีตัวเทียบเท่าที่ตรงไปตรงมาlsแต่มีlessยูทิลิตี้ซึ่งจะจัดรูปแบบผลลัพธ์ของคำสั่งใด ๆ เป็นหน้าแยก, เลื่อนได้ตามบรรทัดหรือหน้า:
ls -C | less
ตำแหน่งที่-Cทริกเกอร์แสดงคอลัมน์ ใช้lahเป็นข้อโต้แย้ง ( ls -lah) เพื่อให้ได้ลิตรครับโดยการแสดงผลที่สอดคล้องกับไฟล์ LL การแสดง (รวมถึงคนที่ซ่อนอยู่) และเอชอู filesizes อ่าน
หากต้องการให้สีแสดงขึ้นอย่างถูกต้องคุณต้องเพิ่ม--color=alwaysอาร์กิวเมนต์lsและ-Rอาร์กิวเมนต์น้อย *
ls -C --color=always | less -R

สิ่งนี้แสดง 'ls -ah --color = always | น้อยกว่า -R '
ในทางตรงกันข้ามกับmore, lessจะช่วยให้คุณเลื่อนการส่งออก นอกจากนี้ยังเร็วกว่าเล็กน้อยสำหรับรายชื่อที่มีขนาดใหญ่มาก
ท่อทำงานดังนี้:
ทุกโปรแกรมมีอินพุตและเอาต์พุตไพพ์จะเปลี่ยนทิศทางเอาต์พุตของหนึ่งโปรแกรม (ls) ไปยังอินพุตของโปรแกรมอื่น (น้อยกว่า) และคาดว่าอินพุตจะน้อยลงซึ่งมันก็ฟอร์แมต
dos เทียบเท่าโรงเรียนเก่ามากขึ้นจะเป็นpg:
ls | pg
นอกจากนี้คุณยังสามารถ
ls | headหรือls | tailเพื่อแสดงเฉพาะส่วนแรกหรือส่วนสุดท้ายของเอาต์พุตwatch "ls"เพื่อเปิดจอแสดงผลอัพเดตทุก ๆ วินาทีเพื่อดูการเปลี่ยนแปลงbanner $(ls)ถ้าคุณนั่งห่างจากหน้าจอจริงๆ (;หากคุณพบว่านานเกินไปที่จะจำคุณสามารถตั้งค่านามแฝงได้:
เปิด~/.bash_aliasesด้วยโปรแกรมแก้ไขข้อความและเพิ่มสิ่งนี้:
alias lsp="ls -ah --color=always | less -R"
(นี่คือสคริปต์ที่ทำงานทุกครั้งที่เทอร์มินัลเสมือนใหม่เริ่มต้นขึ้นคุณควรตั้งค่านามแฝงถาวรทั้งหมดของคุณที่นั่น)
ตอนนี้คุณสามารถพิมพ์lspหรือชื่ออะไรก็ได้ที่คุณเลือก
หากคุณต้องการส่งต่ออาร์กิวเมนต์ไปยังนามแฝงของคุณเราต้องกำหนดฟังก์ชันแทน:
lsp(){ ls -ah --color=always "$@" | less -R; }
ฟังก์ชั่นอย่างยิ่งมองเช่นนี้name(){ commands; };สามารถยอมรับข้อโต้แย้ง$1, $2, $3และอื่น ๆ $@หมายถึง"อาร์กิวเมนต์ทุกกรณีใด ๆ"
ตอนนี้คุณสามารถเรียกใช้สิ่งที่ชอบlsp *.py, lsp -Cและอื่น ๆ เราแทรกอาร์กิวเมนต์ ณ จุดที่มันถูกส่งผ่านไปยัง ls เราสามารถใส่ $ * ให้น้อยลงถ้ามันเป็นคำสั่งที่สำคัญ คุณสามารถดูอาร์กิวเมนต์ทั้งหมดของ ls ได้ที่man ls(ควรอ่าน)
*: สาเหตุของสิ่งนี้คือเมื่อใดก็ตามที่คุณทำการวางท่อมันจะตรวจจับเทอร์มินัล (อันที่จริงแล้วโปรแกรมอื่น) ไม่สามารถแสดงสีได้ "--color = always" บังคับให้ ls ละเว้นสิ่งนี้ สวิตช์ -R ทำให้หน้าจอมีสีน้อยลงทำให้สีไม่ถูกต้อง
$*และ$@ทำสิ่งเดียวกัน $1 $2 $3 ...พวกเขาขยายตัวออกไป อย่างไรก็ตามอ้างถึง"$@"ขยาย"$1" "$2" "$3" ...ในขณะที่"$*"ขยายไป"$1 $2 $3 ..."(นั่นคือทั้งหมดมีข้อโต้แย้งในสตริงหนึ่งโดยใช้ตัวอักษรตัวแรกของIFSเป็นตัวคั่น) mywiki.wooledge.org/BashGuide/Parameters
ฉันไม่แน่ใจว่ามีบางคำสั่ง ls สำหรับการให้เลขหน้า อย่างไรก็ตามคุณอาจใช้ไพพ์และlessเช่นนี้:
ls | less
และใช้ q เพื่อออก