ตัวเลือกที่เทียบเท่าสำหรับ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 เพื่อออก