ค้นหาเว็บไซต์

คำสั่งที่มีประโยชน์ในการสร้างเซิร์ฟเวอร์แชทบรรทัดคำสั่งและลบแพ็คเกจที่ไม่ต้องการใน Linux


เรามาถึงส่วนถัดไปของเคล็ดลับและเทคนิคบรรทัดคำสั่ง Linux หากคุณพลาดโพสต์ก่อนหน้าของเราเกี่ยวกับ Linux Tricks คุณจะพบได้ที่นี่

  1. 5 เคล็ดลับบรรทัดคำสั่ง Linux

ในโพสต์นี้ เราจะมาแนะนำ เคล็ดลับบรรทัดคำสั่ง 6 ข้อ ได้แก่ การสร้างแชทบรรทัดคำสั่ง Linux โดยใช้คำสั่ง Netcat เพิ่มคอลัมน์ได้ทันทีจากเอาต์พุตของคำสั่ง ลบแพ็คเกจเด็กกำพร้าออกจาก Debian และ CentOS รับ IP ภายในและระยะไกลจากบรรทัดคำสั่ง รับเอาต์พุตสีในเทอร์มินัลและถอดรหัสรหัสสีต่าง ๆ และสุดท้าย แต่ไม่ใช่การติดตั้งแฮชแท็กน้อยที่สุดในบรรทัดคำสั่ง Linux มาตรวจสอบกันทีละรายการ

1. สร้างเซิร์ฟเวอร์แชท Linux Commandline

เราทุกคนใช้บริการแชทมาเป็นเวลานาน เราคุ้นเคยกับการแชทของ Google, แฮงเอาท์, แชทบน Facebook, Whatsapp, Hike และแอปพลิเคชันอื่น ๆ อีกมากมายและบริการแชทแบบรวม คุณรู้ไหมว่าคำสั่ง Linux nc สามารถทำให้กล่อง Linux ของคุณเป็นเซิร์ฟเวอร์แชทได้ด้วยคำสั่งเพียงบรรทัดเดียว

คำสั่ง nc ใน Linux คืออะไรและทำหน้าที่อะไร?

nc คือค่าเสื่อมราคาของคำสั่ง Linux netcat ยูทิลิตี้ nc มักเรียกกันว่ามีดทหารสวิส โดยพิจารณาจากจำนวนความสามารถในตัว ใช้เป็นเครื่องมือแก้ไขจุดบกพร่อง เครื่องมือตรวจสอบ การอ่านและเขียนการเชื่อมต่อเครือข่ายโดยใช้ TCP/UDP การตรวจสอบ DNS ไปข้างหน้า/ย้อนกลับ

ถูกใช้อย่างเด่นชัดสำหรับการสแกนพอร์ต การถ่ายโอนไฟล์ แบ็คดอร์ และการฟังพอร์ต nc มีความสามารถในการใช้พอร์ตที่ไม่ได้ใช้ในพื้นที่และที่อยู่ต้นทางของเครือข่ายท้องถิ่น

ใช้คำสั่ง nc (บนเซิร์ฟเวอร์ที่มีที่อยู่ IP: 192.168.0.7) เพื่อสร้างเซิร์ฟเวอร์ข้อความบรรทัดคำสั่งทันที

nc -l -vv -p 11119

คำอธิบายของสวิตช์คำสั่งข้างต้น

  1. -v : หมายถึง รายละเอียด
  2. -vv : มีรายละเอียดมากขึ้น
  3. -p : หมายเลขพอร์ตภายในเครื่อง

คุณสามารถแทนที่ 11119 ด้วยหมายเลขพอร์ตภายในเครื่องอื่นๆ ได้

ถัดไปบนเครื่องไคลเอนต์ (ที่อยู่ IP: 192.168.0.15) ให้รันคำสั่งต่อไปนี้เพื่อเริ่มต้นเซสชันการแชทไปยังเครื่อง (ที่เซิร์ฟเวอร์ข้อความกำลังทำงานอยู่)

nc 192.168.0.7 11119

หมายเหตุ: คุณสามารถยุติเซสชันการแชทได้โดยการกดปุ่ม ctrl+c และการแชท nc ก็เป็นบริการแบบตัวต่อตัว

2. วิธีรวมค่าในคอลัมน์ใน Linux

วิธีรวมค่าตัวเลขของคอลัมน์ที่สร้างขึ้นเป็นเอาต์พุตของคำสั่งได้ทันทีในเทอร์มินัล

ผลลัพธ์ของคำสั่ง 'ls -l'

ls -l

โปรดสังเกตว่าคอลัมน์ที่สองเป็นตัวเลขซึ่งแสดงถึงจำนวนลิงก์สัญลักษณ์และคอลัมน์ ที่ห้า เป็นตัวเลขซึ่งแสดงถึงขนาดของไฟล์ สมมติว่าเราต้องรวมค่าของคอลัมน์ที่ห้าทันที

แสดงรายการเนื้อหาของคอลัมน์ ที่ 5 โดยไม่ต้องพิมพ์อย่างอื่น เราจะใช้คำสั่ง 'awk' เพื่อทำสิ่งนี้ '$5' หมายถึงคอลัมน์ ที่ 5

ls -l | awk '{print $5}'

ตอนนี้ใช้ awk เพื่อพิมพ์ผลรวมของเอาต์พุตของคอลัมน์ ที่ 5 โดยไปป์ไลน์

ls -l | awk '{print $5}' | awk '{total = total + $1}END{print total}'

จะลบแพ็คเกจ Orphan ใน Linux ได้อย่างไร

แพ็คเกจ Orphan คือแพ็คเกจที่ได้รับการติดตั้งโดยขึ้นอยู่กับแพ็คเกจอื่น และไม่จำเป็นอีกต่อไปเมื่อแพ็คเกจดั้งเดิมถูกลบออก

สมมติว่าเราติดตั้งแพ็คเกจ gtprogram ซึ่งขึ้นอยู่กับ gtdependency เราไม่สามารถติดตั้ง gtprogram ได้ เว้นแต่จะติดตั้ง gtdependency

เมื่อเราลบ gtprogram มันจะไม่ลบ gtdependency ตามค่าเริ่มต้น และหากเราไม่ลบ gtdependency มันจะยังคงเป็นแพ็คเกจ Orpahn โดยไม่มีการเชื่อมต่อกับแพ็คเกจอื่นใด

yum autoremove                [On RedHat Systems]

apt-get autoremove                [On Debian Systems]

คุณควรลบ Orphan Package เสมอเพื่อให้กล่อง Linux เต็มไปด้วยสิ่งที่จำเป็นและไม่มีอะไรอื่นอีก

4. วิธีรับที่อยู่ IP ท้องถิ่นและสาธารณะของเซิร์ฟเวอร์ Linux

เพื่อให้ได้ที่อยู่ IP ในเครื่องของคุณให้รันสคริปต์ซับด้านล่าง

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

คุณต้องติดตั้ง ifconfig หากไม่ได้ติดตั้ง apt หรือ yum แพ็คเกจที่จำเป็น ที่นี่เราจะไพพ์ไลน์เอาต์พุตของ ifconfig ด้วยคำสั่ง grep เพื่อค้นหาสตริง “intel addr:

เรารู้ว่าคำสั่ง ifconfig นั้นเพียงพอที่จะส่งออกที่อยู่ IP ในเครื่อง แต่ ifconfig สร้างเอาต์พุตอื่นๆ มากมาย และเรากังวลที่นี่คือการสร้างเฉพาะที่อยู่ IP ในเครื่องเท่านั้นและไม่มีอะไรอื่นอีก

ifconfig | grep "inet addr:"

แม้ว่าผลลัพธ์จะกำหนดเองมากขึ้นในตอนนี้ แต่เราจำเป็นต้องกรองที่อยู่ IP ในเครื่องของเราเท่านั้นและไม่มีอะไรอื่นอีก สำหรับสิ่งนี้ เราจะใช้ awk เพื่อพิมพ์คอลัมน์ที่สองโดยการวางท่อด้วยสคริปต์ด้านบนเท่านั้น

ifconfig | grep “inet addr:” | awk '{print $2}'

ชัดเจนจากภาพด้านบนว่าเราปรับแต่งเอาท์พุตไว้มาก แต่ก็ยังไม่ได้สิ่งที่เราต้องการ ที่อยู่ย้อนกลับ 127.0.0.1 ยังคงอยู่ในผลลัพธ์

เราใช้แฟล็ก -v กับ grep ที่จะพิมพ์เฉพาะบรรทัดที่ไม่ตรงกับบรรทัดที่ระบุในอาร์กิวเมนต์ ทุกเครื่องมี ที่อยู่ย้อนกลับ 127.0.0.1 เหมือนกัน ดังนั้นให้ใช้ grep -v เพื่อพิมพ์บรรทัดที่ไม่มีสตริงนี้ โดยไปป์ไลน์ด้วยเอาต์พุตด้านบน

ifconfig | grep "inet addr" | awk '{print $2}' | grep -v '127.0.0.1'

เราเกือบจะสร้างผลลัพธ์ที่ต้องการแล้ว เพียงแทนที่สตริง (addr:) จากจุดเริ่มต้น เราจะใช้คำสั่ง cut เพื่อพิมพ์เฉพาะคอลัมน์ที่สอง คอลัมน์ 1 และ คอลัมน์ 2 ไม่ได้คั่นด้วยแท็บ แต่แยกด้วย (:) ดังนั้นเราจึงจำเป็นต้องใช้ตัวคั่น (-d ) โดยการวางท่อเอาต์พุตด้านบน

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

ในที่สุด! ผลลัพธ์ที่ต้องการได้ถูกสร้างขึ้นแล้ว

5. วิธีการระบายสีเทอร์มินัล Linux

คุณอาจเห็นเอาต์พุตสีในเทอร์มินัล นอกจากนี้คุณจะต้องรู้ว่าจะเปิด/ปิดการใช้งานเอาต์พุตสีในเทอร์มินัล ถ้าไม่คุณสามารถทำตามขั้นตอนด้านล่าง

ใน Linux ผู้ใช้ทุกคนมีไฟล์ '.bashrc' ไฟล์นี้ใช้เพื่อจัดการเอาต์พุตเทอร์มินัลของคุณ เปิดและแก้ไขไฟล์นี้ด้วยโปรแกรมแก้ไขที่คุณเลือก โปรดทราบว่าไฟล์นี้ถูกซ่อนอยู่ (จุดขึ้นต้นของไฟล์หมายถึงซ่อนอยู่)

vi /home/$USER/.bashrc

ตรวจสอบให้แน่ใจว่าบรรทัดต่อไปนี้ด้านล่างไม่มีเครื่องหมายข้อคิดเห็น กล่าวคือ ไม่ได้ขึ้นต้นด้วย #

if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dirc$
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

เสร็จแล้ว! บันทึกและออก. หากต้องการทำการเปลี่ยนแปลงให้มีผล ออกจากระบบและเข้าสู่ระบบอีกครั้ง

ตอนนี้คุณจะเห็นไฟล์และโฟลเดอร์แสดงอยู่ในสีต่างๆ ตามประเภทของไฟล์ หากต้องการถอดรหัสรหัสสีให้รันคำสั่งด้านล่าง

dircolors -p

เนื่องจากเอาต์พุตยาวเกินไป ให้ไปป์ไลน์เอาต์พุตโดยใช้คำสั่งน้อยลงเพื่อที่เราจะได้เอาต์พุตทีละหน้าจอ

dircolors -p | less

6. วิธีแฮชแท็กคำสั่งและสคริปต์ Linux

เรากำลังใช้แฮชแท็กบน Twitter, Facebook และ Google Plus (อาจเป็นที่อื่นที่ฉันไม่เคยเห็นมาก่อน) แฮชแท็กเหล่านี้ช่วยให้ผู้อื่นค้นหาแท็กแฮชได้ง่ายขึ้น น้อยคนนักที่จะรู้ว่าเราสามารถใช้แฮชแท็กในบรรทัดคำสั่งของ Linux ได้

เรารู้แล้วว่า # ในไฟล์คอนฟิกูเรชันและภาษาการเขียนโปรแกรมส่วนใหญ่ถือเป็นบรรทัดแสดงความคิดเห็นและแยกออกจากการดำเนินการ

เรียกใช้คำสั่งแล้วสร้างแท็กแฮชของคำสั่งเพื่อให้เราสามารถค้นหาได้ในภายหลัง สมมติว่าเรามีสคริปต์ยาวที่ดำเนินการใน จุดที่ 4 ด้านบน ตอนนี้สร้างแท็กแฮชสำหรับสิ่งนี้ เรารู้ว่า ifconfig สามารถเรียกใช้โดยผู้ใช้ sudo หรือ root จึงทำหน้าที่เป็น root

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: #myip

สคริปต์ด้านบนถูกแท็กแฮชด้วย 'myip' ตอนนี้ให้ค้นหาแท็กแฮชใน reverse-i-serach (กด ctrl+r) ในเทอร์มินัลแล้วพิมพ์ 'myip' คุณสามารถดำเนินการได้จากที่นั่นเช่นกัน

คุณสามารถสร้างแฮชแท็กได้มากเท่าไรสำหรับทุกคำสั่งและค้นหาในภายหลังโดยใช้ reverse-i-search

นั่นคือทั้งหมดที่สำหรับตอนนี้. เราทำงานอย่างหนักเพื่อผลิตเนื้อหาที่น่าสนใจและมีความรู้สำหรับคุณ คุณคิดว่าเรากำลังทำอะไรอยู่? ข้อเสนอแนะใด ๆ ยินดีต้อนรับ คุณสามารถแสดงความคิดเห็นในช่องด้านล่าง เชื่อมต่อต่อไป! ขอชื่นชม