คำถามติดแท็ก command-line

คำถามเกี่ยวกับการใช้อินเตอร์เฟสบรรทัดคำสั่ง (CLI)

2
ความแตกต่างในการใช้งานระหว่าง pwd และ $ PWD
หากต้องการพิมพ์ตัวแปรสภาวะแวดล้อม ไดเร็กทอรีการทำงานปัจจุบัน / ปัจจุบัน$PWDและคำสั่ง pwdจะพร้อมใช้งาน ดังนั้นการใช้ทั้งสองอย่างแตกต่างกันอย่างไร หรือสิ่งที่ควรเลือกเพื่อวัตถุประสงค์เฉพาะ?

4
คำสั่ง Linux Touch Directory
คำสั่ง 'สัมผัส' เมื่อนำไปใช้กับไดเรกทอรีคืออะไร? $ mkdir test $ ls -l test drwxrwxr-x 2 dragos dragos 4096 Oct 27 18:08 test $ touch test $ ls -l drwxrwxr-x 2 dragos dragos 4096 Oct 27 18:08 test

1
ตัวแปรเส้นทางได้รับการรีเซ็ตเสมอ จะแก้ไขได้อย่างไร?
เมื่อไม่นานมานี้ฉันพบว่าฉันสามารถสร้างคำสั่งที่กำหนดเองพร้อมกับขยายตัวแปรเส้นทาง น่าเสียดายที่มันได้รับการตั้งค่าใหม่เสมอเมื่อฉันปิดเครื่องและเปิดอีกครั้ง คุณรู้วิธีแก้ไขปัญหานี้หรือไม่? เพราะเมื่อฉันต้องการเริ่มต้นสคริปต์บางคำสั่งด้วยคำสั่งเทอร์มินัลฉันไม่ต้องการขยายตัวแปร PATH ทุกครั้งก่อน ...

1
กด GIT รายชั่วโมง
เป็นไปได้ไหมที่ฉันจะใช้Gitพุชแบบอัตโนมัติทุกชั่วโมงผ่านสคริปต์แบทช์ ฉันมักจะพิมพ์สิ่งนี้: git add * git commit -m "latest update" git push https://username:password@github.com/username/repository.git master ฉันจะทำให้สิ่งนี้เป็นแบบอัตโนมัติได้อย่างไร

3
ฉันจะทำให้เส้นทางปัจจุบันของ bash prompt สั้นลงเหลือหนึ่งตัวอักษรต่อไดเรกทอรีได้อย่างไร
ฉันจำไม่ได้ว่าที่ไหน แต่ฉันเห็นเส้นทางปัจจุบันของ bash prompt สั้นลงในวิธีที่น่าสนใจ: ทุกไดเรกทอรีที่อยู่ในเส้นทาง (ยกเว้นอันสุดท้าย) จะถูกแทนที่ด้วยอักษรตัวแรกเท่านั้น ยกตัวอย่างเช่น: จะลงไปpath/to/some/directoryp/t/s/directory ฉันจะสร้างพฤติกรรมดังกล่าวได้อย่างไร

4
ฉันจะนำเข้าผลลัพธ์จากคำสั่งเป็นคำสั่งใน Bash ได้อย่างไร
ระบบ Linux hosek 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ปัญหา ฉันต้องการเอาท์พุทเป็นคำสั่งในสคริปต์ bash เพื่อเก็บตัวแปร ตัวอย่าง sed -n '/# Main configuration./,/# Websites./p' webcheck-$category.cfg | sed '1,1d' | sed '$ d' คำสั่งนี้ส่งคืนบรรทัดเหล่านี้: email_sender='some@email.com' email_recipients='another@email.com' ฉันจะอ่าน / เรียกใช้เอาต์พุต / บรรทัดเหล่านี้เป็นคำสั่งในสคริปต์ได้อย่างไร การเก็บเอาต์พุตนี้ไปยังไฟล์จากนั้นอ่านโดยใช้sourceคำสั่งวิธีเดียว? ฉันพยายาม| sourceที่ส่วนท้ายของคำสั่ง แต่อ่านได้จากไฟล์เท่านั้น ฉันลองechoตอนต้น แต่ก็ไม่มีผล ขอบคุณ

2
วิธีรับสตริงย่อยจากคำสั่ง bash
กำหนดสตริงย่อยต่อไปนี้ที่ได้รับจากคำสั่งdf /dev/sdb1 | tail -n 1: /dev/sdb1 1952971772 1441131032 511840740 74% /media/kaiman/ShareData ฉันต้องการแยก1952971772และ74%จากสตริงนั้นเพื่อใช้ในสคริปต์ทุบตี ฉันรู้ว่าฉันสามารถใช้คำสั่งตัดบางอย่างหรือบางอย่าง แต่มันจะไม่ทำงานอีกต่อไปหากมีการเปลี่ยนแปลงขนาดเช่น ฉันยังมีความคิดเกี่ยวกับการใช้ regex หรือบางสิ่งบางอย่าง แต่ฉันต้องการมีแนวทางที่แนะนำมากที่สุด ขอบคุณล่วงหน้า!

1
ฉันจะควบคุมได้อย่างไรเมื่อ bash auto-completion แสดง paged list ของความสำเร็จ
ในการติดตั้ง linux ก่อนหน้าของฉันการทุบตีการเติมข้อมูลอัตโนมัติจะทำงานได้อย่างไม่มีปัญหา ถ้าฉันต้องการจะทำทุกอย่างกับไฟล์ให้คำนำหน้าชื่อไฟล์และกด tabulator แสดงรายการทั้งหมดที่ตรงกับคำนำหน้า แต่มันก็ทำซ้ำพรอมต์ด้านล่างด้วยคำสั่งและคำนำหน้าของฉันเพื่อให้ฉันสามารถพิมพ์ต่อไปได้ทันที ตอนนี้ฉันได้อัปเดตระบบเป็น kubuntu 18.04 และระบบเติมข้อความอัตโนมัติไม่ทำงานอีกต่อไปอย่างคล่องแคล่ว แม้กระทั่งคนแปลกหน้าพฤติกรรมแบบนี้คาดเดาไม่ได้เหมือนมันขึ้นอยู่กับ konsole หากคำสั่งคือlessมันทำงานได้อย่างถูกต้องเสมอ (ตามที่อธิบายไว้ข้างต้น) แต่ถ้าคำสั่งเป็นcpหรือmvพฤติกรรมที่แตกต่างกันไป บางครั้งมันทำงานได้อย่างถูกต้อง แต่บ่อยครั้งมันแสดงรายการของไฟล์ที่ตรงกันด้วยเพิ่มเติม (ซ่อนการแจ้งของฉัน) และฉันต้องพิมพ์qเพื่อออกมากขึ้นและสามารถดำเนินการต่อได้ สิ่งเล็ก ๆ แต่น่ารำคาญเนื่องจากต้องใช้การพิมพ์พิเศษ ฉันเห็นการ.bashrcโทรนั้น/usr/share/bash-completion/bash_completion แต่ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ คำถาม: อะไรทำให้เกิดพฤติกรรมที่คาดเดาไม่ได้? ฉันจะแก้ไขได้อย่างไร

4
SSH สามารถทำงานกับเงื่อนไข if ได้อย่างไร?
ฉันมีifคำสั่งให้คำนวณไฟล์และลบทั้งหมดยกเว้นไฟล์สามไฟล์ล่าสุด แต่ฉันต้องการเรียกใช้คำสั่งนี้จากระยะไกล ฉันจะรวมsshกับifเงื่อนไขได้อย่างไร ฉันลองสิ่งนี้ แต่ไม่ประสบความสำเร็จ #!/bin/bash ssh -t test@192.168.94.139 "cd /var/www/test.com/backup ; if [ $(ls | wc -l) -lt 3 ] then echo "Less" else [ $(ls -t *.tgz|awk 'NR >3'|xargs rm -f) ] echo "deleted" fi" ข้อผิดพลาดที่ฉันได้รับ: ls: ไม่สามารถเข้าถึง * .tgz: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

6
มีวิธีง่าย ๆ ในการระบุว่าสแกน PDF หรือไม่?
ฉันมีเอกสารหลายพันฉบับและสแกนบางส่วนแล้ว ดังนั้นฉันต้องการสคริปต์เพื่อทดสอบไฟล์ PDF ทั้งหมดที่เป็นของไดเรกทอรี มีวิธีง่าย ๆ ในการทำเช่นนั้น? PDF ส่วนใหญ่เป็นรายงาน ดังนั้นพวกเขามีข้อความจำนวนมาก พวกเขาแตกต่างกันมาก แต่คนที่สแกนตามที่ระบุไว้ด้านล่างหนึ่งสามารถค้นหาข้อความเนื่องจากกระบวนการ OCR ล่อแหลมคู่กับการสแกน NotScanned Scanned1 Scanned2 ข้อเสนอเนื่องจาก Sudodus ในความคิดเห็นด้านล่างดูเหมือนจะน่าสนใจมาก ดูความแตกต่างระหว่างการสแกนเป็น PDF ที่ไม่ได้สแกน: สแกน: grep --color -a 'Image' AR-G1002.pdf <</BitsPerComponent 8/ColorSpace/DeviceRGB/Filter[/DCTDecode]/Height 2197/Length 340615/Name/Obj13/Subtype/Image/Type/XObject/Width 1698>>stream <</BitsPerComponent 1/ColorSpace/DeviceGray/DecodeParms<</Columns 1698/K -1>>/Filter/CCITTFaxDecode/Height 2197/Length 40452/Name/Obj18/Subtype/Image/Type/XObject/Width 1698>>stream <</BitsPerComponent 1/ColorSpace/DeviceGray/DecodeParms<</Columns 1698/K -1>>/Filter/CCITTFaxDecode/Height 2197/Length 41680/Name/Obj23/Subtype/Image/Type/XObject/Width 1698>>stream <</BitsPerComponent 1/ColorSpace/DeviceGray/DecodeParms<</Columns …

1
คำสั่งหรือสคริปต์ของเชลล์เพื่อคลายซิปเพิ่มไฟล์ข้อความและเปิดเครื่องอีกครั้ง
ฉันสร้างไฟล์ zip 200 ไฟล์เพื่อการทำงาน แต่ฉันรู้ว่าฉันลืมเพิ่ม. txt ให้กับไฟล์แต่ละไฟล์ แทนที่จะใช้เวลาทำซ้ำงานนี้ฉันขอขอบคุณความช่วยเหลือใด ๆ มีวิธีที่ทุกคนรู้จักการใช้ bash ที่จะทำการ unzip เพิ่มไฟล์. txt และทำการ rezip ใหม่ทั้งหมด 200 ไฟล์? ชื่อของไฟล์. txt จะไม่เปลี่ยนเฉพาะไฟล์. zip ขอบคุณ.

2
ข้อผิดพลาดในการเรียกใช้แอปโปรตอน Steam ผ่านทางบรรทัดคำสั่ง
ฉันต้องการเปิดแอปโปรตอนที่ติดตั้งผ่านไอน้ำ แต่ไม่ใช้ไอน้ำ จุดที่ฉันสามารถทำให้ตัวเรียกบรรทัดคำสั่งของฉันเองและผ่านพารามิเตอร์ ฯลฯ ... ตั้งแต่ฉันใหม่ทั้งหมดฉันไม่ทราบว่าเขาจะคว้าวัวตัวไหน ฉันจะสามารถเรียนผ่าน lib ของ steam หรือฉันจะถูกบังคับให้ติดตั้งโปรตอนเวอร์ชันแยกต่างหากหรือไม่? นี่คือข้อมูลระบบที่รวบรวมจากระบบของฉัน: Computer Information: Manufacturer: Unknown Model: Unknown Form Factor: Desktop No Touch Input Detected Processor Information: CPU Vendor: GenuineIntel CPU Brand: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz CPU Family: 0x6 CPU Model: 0x2d CPU Stepping: 0x7 CPU Type: 0x0 …


2
วิธีค้นหาและแสดงไฟล์
ฉันต้องการค้นหาและแสดงภาพ มีวิธีใดบ้างในการใช้ pipe หรือ ... ฉันต้องการค้นหาภาพXฉันทำlocate Xและเส้นทางจะปรากฏขึ้น แต่ฉันไม่สามารถส่งออกไปยัง xdg-open

2
สร้างชื่อแทนเชลล์หลายรายการพร้อมกัน
ฉันต้องการแทรกนามแฝงในรูปแบบที่แตกต่างกันของการสะกดคำเช่นcatคำสั่ง ฉันสามารถใช้สัญลักษณ์สำหรับ 'หรือ' หรือควรจะอยู่ในบรรทัดใหม่ได้หรือไม่? alias at|cart|cst '/bin/cat'

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