เปลี่ยนตัวเลือกคำสั่งเริ่มต้น


15

เมื่อฉันป้อนคำสั่ง

ls

ฉันเห็นรายการไฟล์และไดเรกทอรีในไดเรกทอรีปัจจุบันรายการที่แสดงค่อนข้างน่ารำคาญ

ค่อนข้างฉันต้องการรันคำสั่ง ls ด้วย -1 ตัวเลือกเช่น

ls -1

คำถามของฉันคือวิธีการเปลี่ยนพฤติกรรมเริ่มต้นของคำสั่ง ls ซึ่งมันจะดำเนินการกับตัวเลือก -1 เช่นวิธีการแสดงไฟล์และไดเรกทอรีในหนึ่งคอลัมน์ด้วยคำสั่ง ls

ขอบคุณ

คำตอบ:


14

วิธีหนึ่งคือการสร้างนามแฝงใน~/.bashrcไฟล์ของคุณ:

alias l1='ls -1'

แล้วโดยการพิมพ์l1, ls -1จะถูกดำเนินการ


คุณหาไฟล์ ~ / .bashrc ได้อย่างไร ฉันพบแอปพลิเคชัน "ทุบตี" ใน Computer \ bin แต่ไม่ใช่ไฟล์ข้อความที่มีชื่อที่คุณพูดถึง
AlainD

@AlainD ไฟล์. bashrc มีอยู่ในโฮมไดเรกทอรีของคุณไม่ใช่ใน / bin เครื่องหมาย ~ ขยายไปยังโฮมไดเร็กตอรี่ของคุณใน bash, ดังนั้นพา ธ จะอ่านบางอย่างเช่น /home/user/.bashrc
Jishnu

ฉันใช้ alias lsl = "ls -l" เนื่องจากฉันไม่ต้องย้ายจากแถวบ้านเพื่อป้อน
dvnkiss

4

ในไดเรกทอรีบ้านของคุณไฟล์ .bashrc เปิดในการแก้ไขและเพิ่มนามแฝง LS = 'LS -1'

ขั้นแรกให้เปิดเทอร์มินัล (กดControlAltT) ป้อนgedit ./.bashrcเพื่อเปิดไฟล์. bashrc ของคุณในเครื่องมือแก้ไข

ค้นหาส่วนที่มีชื่อแทนสำหรับ ls ในเหมือง (หุ้น 11.10) ดูเหมือนว่า:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

เพิ่มบรรทัดต่อไปนี้หลังจากนามแฝง ls:

alias ls='ls -1'

บันทึกไฟล์ออกจาก gedit และเทอร์มินัลแล้วรีบูต ตอนนี้คำสั่ง ls ควรดำเนินการ ls -1 โดยค่าเริ่มต้น


1
นิยามใหม่นี้ "ls" ถึงตอนนี้ทำงานเป็น "ls -1" โดยค่าเริ่มต้นสำหรับผู้ใช้นี้ หากคุณต้องการใช้คำสั่งใหม่คำตอบ @zetah จะครอบคลุมสิ่งนั้น
James

ในไดเรกทอรี Home ของฉันบน uBuntu 14.04 LTS ฉันเห็นเฉพาะโฟลเดอร์หลาย ๆ ไฟล์และไม่มีไฟล์. bashrc
AlainD

1

คำตอบของ zetahดีที่สุด ทำอย่างละเอียด:

นามแฝงจะใช้ดีที่สุดสำหรับการแก้ไขแบบสั้นง่าย ๆ และมักจะใช้พารามิเตอร์คำสั่งเริ่มต้น พวกเขาจะถูกเก็บไว้ในหน่วยความจำ (หลังจากถูกอ่านจากไฟล์ต้นฉบับ) เพื่อประสิทธิภาพที่ดีขึ้นหรือการใช้ซ้ำ

ฟังก์ชั่นเหมาะสำหรับกิจกรรมที่ซับซ้อนมากขึ้นซึ่งมักจะใช้และถูกเก็บไว้ในหน่วยความจำ

สคริปต์เหมาะสมสำหรับคำสั่งที่ซับซ้อนและใช้บ่อยที่สุด

ดูคำถามและคำตอบเกี่ยวกับ unix stackexchange - อธิบายความแตกต่างในการใช้ระหว่างนามแฝง, ฟังก์ชั่นและสคริปต์ที่ดีที่สุด


1

เพียงชี้แจงบางสิ่งเพื่อ @RobDavenport คำตอบ คุณไม่สามารถใช้ฟังก์ชันเพื่อแทนที่คำสั่งที่มีชื่อเหมือนกันได้

เช่นเพื่อเพิ่มพารามิเตอร์เริ่มต้นให้กับlsคำสั่งที่คุณสามารถทำได้:

alias ls='ls -1 $@'

สิ่งนี้จะเพิ่มนามแฝงใหม่ที่เรียกว่าlsดังนั้นจึงจะถูกเรียกแทนคำสั่งเดิม มันจะเพิ่ม-1ตัวเลือกและส่งต่อทุกพารามิเตอร์$@ให้กับlsคำสั่งเดิม

คุณสามารถทำได้

function ls_column () {
  ls -1 $@
}

มันจะมีผลเหมือนกัน แต่คุณต้องใช้ชื่ออื่นสำหรับฟังก์ชั่นของคุณ มิฉะนั้นจะเรียกตัวเองอีกครั้งและอีกครั้ง

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