ฉันเป็นคนหนึ่งที่ใช้เวลามาก สถานีปลายทาง (คอนโซลทุบตีเชลล์สิ่งที่คุณต้องการเรียกมัน) ด้วยเหตุผล X หรือ Y ฉันต้องเปลี่ยนไดเรกทอรีอยู่ตลอดเวลาและดำเนินการแก้ไข
ในกรณีส่วนใหญ่การเปลี่ยนไดเรกทอรี (ตัวอย่างเช่น: cd / opt /) และฉันก็อยากรู้ว่ามีอะไรอยู่ในไดเร็กทอรีนั้นเพื่อให้รู้ว่าวินาทีนี้ฉันใช้อะไร ls.
นั่นคือมันจะเป็นดังนี้:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
nessus
ฉันเคยพูดหลายครั้งแล้ว…ฉันค่อนข้างขี้เกียจฉันชอบทำขั้นตอนเทอร์มินัลน้อยที่สุดนั่นเป็นเหตุผลว่าทำไมหลังจากทดลองมาหลายครั้งฉันก็ทำได้ในสิ่งที่ฉันต้องการ
ดูสิ่งต่อไปนี้ซึ่งไม่มีอะไรมากไปกว่าที่ฉันป้อน / เลือก / ด้วยคำสั่งง่ายๆ cd / opt /:
อย่างที่คุณเห็นในขั้นตอนเดียว (cd / opt /) ฉันเข้าสู่ไดเร็กทอรีและยังแสดงรายการเนื้อหาของไดเร็กทอรีนั้นด้วย และ... หากยังไม่เพียงพอ มันจะแสดงให้ฉันดูเป็นสี
นี่คือตัวอย่างของฉันที่เข้าถึง / etc / กับ cd / ฯลฯ/:
สีเข้าใจง่าย:
ไม่มีสี = ไฟล์
สีฟ้า = โฟลเดอร์
สีเขียว = ไฟล์ที่มีสิทธิ์ดำเนินการ
แต่เรามาดูเรื่องหลักกันดีกว่า ... ฉันจะใช้แค่ cd เพื่อแสดงรายการไดเรกทอรีที่ฉันเข้าถึงโดยอัตโนมัติได้อย่างไร
ที่เก็บถาวรของเรา .bashrc (อยู่ในบ้านหรือโฟลเดอร์ส่วนตัวของเรา) จะช่วยให้เราทำสิ่งนี้ก่อนอื่นเราต้องประกาศฟังก์ชันซึ่งเราจะเรียกใช้ ซีดีแอลเอส:
ฟังก์ชั่น cdls {cd "$ 1"; ls –color;}
เราวางเส้นนี้ไว้ที่ด้านใดด้านหนึ่งของ .bashrc ... นี่คือคำสั่งที่ต้องทำ:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
คุณไม่จำเป็นต้องทำด้วยคำสั่งนี้เป้าหมายคือไฟล์ .bashrc มีบรรทัดนี้ดังนั้นเพียงแก้ไขไฟล์นี้ด้วยโปรแกรมแก้ไขข้อความที่คุณต้องการ (mousepad, kate, gedit, nano, vi ฯลฯ) และเพิ่ม
พวกเขาบันทึกการเปลี่ยนแปลงปิดเทอร์มินัลที่เปิดไว้และเปิดใหม่
ในนั้นเราจะเขียนสิ่งต่อไปนี้และกด [ป้อน]:
cdls $HOME
นี่น่าจะเพียงพอสำหรับการเข้าถึงโฟลเดอร์ส่วนตัวของเราในเทอร์มินัลนั้นและจะแสดงรายการเนื้อหาด้วย (พร้อมสีและทุกอย่าง)
ฉันหมายถึงอะไร ซีดีแอลเอส มันทำในสิ่งที่เราต้องการอยู่แล้ว ... ตอนนี้เราทำได้เพียงอย่างเดียว แต่ด้วย cd
สำหรับสิ่งนี้เราเพิ่มในไฟล์ .bashrc บรรทัดต่อไปนี้:
alias cd='cdls'
สิ่งนี้จะทำให้เมื่อเราเขียน cd …การกระทำที่เรากำหนดจะถูกดำเนินการจริง ซีดีแอลเอส
ฉันออกจากคำสั่งที่จะใส่บรรทัดก่อนหน้านี้โดยอัตโนมัติ:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
แต่อย่างที่ฉันได้กล่าวไปก่อนหน้านี้เป้าหมายคือการเพิ่มบรรทัดอื่น ๆ ลงในไฟล์เดียวกันคุณสามารถใช้โปรแกรมแก้ไขข้อความที่คุณเลือกได้
เมื่อเสร็จแล้วให้ปิดเทอร์มินัลแล้วเปิดใหม่ ... ในนั้นเขียนต่อไปนี้แล้วกด [ป้อน]:
cd /etc/
และพวกเขาจะเข้าสู่บิงโก / ฯลฯ/ และเนื้อหาของโฟลเดอร์นี้จะถูกแสดงรายการด้วยและมีสี (เหมือนกับในรูปภาพที่แล้ว)
มันมีประโยชน์อะไร?
สำหรับคนที่อยากรู้อยากเห็นที่สงสัยว่าฟังก์ชั่นนี้หมายถึงอะไร? …ฉันให้คำอธิบายง่ายๆแก่คุณ:
ฟังก์ชั่น cdls = ที่นี่เรากำหนดว่าเรากำลังสร้างฟังก์ชันใหม่และจะเรียกว่า cdls
cd "$ 1" = และสิ่งที่ฟังก์ชั่นนี้จะทำ (จะทำทุกครั้งที่เราเรียกใช้หรือเรียกใช้งาน) คือการสร้าง cd (enter) ต่อพารามิเตอร์ที่ 1 นั่นคือ ... - »« cd / home / », « $ 1 »หมายถึง«สิ่งที่เราเขียนหลัง cd "ในตัวอย่างนี้พารามิเตอร์ที่ 1 คือ" / home / "
; = ซึ่งหมายความว่าคำสั่งนั้นสิ้นสุดที่นั่นหรือการดำเนินการที่จะดำเนินการ ... แต่ฟังก์ชันสามารถมีการดำเนินการเพิ่มเติมได้และเราจะกำหนดคำสั่งที่สองทันที
ls - สี; = หมายความว่านอกเหนือจากการกระทำใด ๆ ที่ประกาศไว้ก่อนหน้านี้แล้วยังทำให้ "ls" เป็นที่ที่เราอยู่ด้วยและ "ls" จะทำด้วยสี (–color)
สิ่งสุดท้าย ... ที่ฉลาดที่สุดพวกเขาจะรู้ว่าตรรกะนี้ (การใช้ฟังก์ชันและกำหนดค่าให้ดำเนินการหลายอย่าง) มีศักยภาพมากมายเช่น ... ถ้าฉันต้องการเข้าโฟลเดอร์และด้วย ลบอื่นนั่นคือฉันต้องการเข้าสู่ /บ้าน/ และยังลบ / opt / temp / ฟังก์ชั่นนี้จะเป็น:
function asdasd { cd "$1"; rm -Rv "$2"; }
และพิมพ์ในเทอร์มินัล asdasd / home / / opt / test / มันจะเป็นเพราะมันจะเข้าสู่พารามิเตอร์ที่ 1 (/บ้าน/) และลบวินาที (/ opt / temp /).
อย่างไรก็ตามสิ่งนี้มีศักยภาพมากมายฮิฮิมันขึ้นอยู่กับคุณที่จะใช้ประโยชน์จากมันให้มากที่สุด
หากคุณมีข้อสงสัย คำถาม ข้อร้องเรียน หรือข้อเสนอแนะ ฉันยินดีที่จะช่วยเหลือคุณ ฉันไม่ใช่ผู้เชี่ยวชาญจากระยะไกลด้วยซ้ำ แต่อย่างน้อยฉันก็อยากช่วยเหลือ
ความนับถือ