Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

7
คุณจะใช้ตัวอธิบายไฟล์เพิ่มเติมเมื่อใด
ฉันรู้ว่าคุณสามารถสร้างไฟล์ descriptor และเปลี่ยนเส้นทางไปยังมัน เช่น exec 3<> /tmp/foo # open fd 3. echo a >&3 # write to it exec 3>&- # close fd 3. แต่คุณสามารถทำสิ่งเดียวกันโดยไม่มีไฟล์ descriptor: FILE=/tmp/foo echo a > "$FILE" ฉันกำลังมองหาตัวอย่างที่ดีเมื่อคุณจะต้องใช้ตัวอธิบายไฟล์เพิ่มเติม

3
ฉันจะรันโปรแกรม 32- บิตบน Debian / Ubuntu 64 บิตได้อย่างไร
ฉันมีการติดตั้ง Debian หรือ Ubuntu 64-bit (amd64 aka x86_64) ฉันจำเป็นต้องเรียกใช้โปรแกรม 32 บิต (i386 / i686) เป็นครั้งคราวหรือเพื่อรวบรวมโปรแกรมสำหรับระบบ 32 บิต ฉันจะทำสิ่งนี้ด้วยความยุ่งยากน้อยที่สุดได้อย่างไร โบนัส: จะเป็นอย่างไรถ้าฉันต้องการเรียกใช้หรือทดสอบด้วยการเผยแพร่รุ่นเก่าหรือใหม่กว่า

4
ไปป์ที่แตกต่างไม่ได้หรือ
ฉันต้องการที่จะฉลาดและเปรียบเทียบไฟล์ระยะไกลกับไฟล์ในเครื่องโดยไม่ต้องทำการดาวน์โหลดด้วยตนเองก่อน ฉันสามารถรับเนื้อหาของไฟล์ระยะไกลได้ ssh user@remote-host "cat path/file.name" อย่างไรก็ตามท่อที่ไป diff ssh user@remote-host "cat path/file.name" | diff path/file.name ให้ฉันนี้: diff: missing operand after `path/file.nae' diff: Try `diff --help' for more information. ฉันได้ตั้งค่าคีย์ ssh แล้วดังนั้นจึงไม่ได้แจ้งรหัสผ่านให้ฉัน วิธีแก้ปัญหาสำหรับสิ่งนี้คืออะไร?

2
`find` ด้วยหลาย` -name 'และ `-exec` รันเฉพาะการจับคู่สุดท้ายของ` -name'
เมื่อฉันใช้ find . -type f -name "*.htm*" -o -name "*.js*" -o -name "*.txt" พบไฟล์ทุกประเภท แต่เมื่อฉันเพิ่ม-execในตอนท้าย: find . -type f -name "*.htm*" -o -name "*.js*" -o -name "*.txt" -exec sh -c 'echo "$0"' {} \; ดูเหมือนว่าจะพิมพ์.txtไฟล์เท่านั้น ผมทำอะไรผิดหรือเปล่า? หมายเหตุ: ใช้ MINGW (Git Bash)
74 find 


11
ssh_exchange_identification: การเชื่อมต่อถูกปิดโดยโฮสต์ระยะไกล (ไม่ได้ใช้ hosts.deny)
ฉันไม่ได้ใช้hosts.allowหรือhosts.denyยิ่งกว่านั้น SSH ยังทำงานได้จากเครื่อง windows ของฉัน (แล็ปท็อปเดียวกันฮาร์ดไดรฟ์อื่น) แต่ไม่ใช่เครื่อง Linux ของฉัน ssh -vvv root@host -p port ให้: OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 20: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to host [host] port <port>. debug1: Connection established. debug1: identity …


6
ฉันสามารถไปป์ stdout บนเซิร์ฟเวอร์หนึ่งเพื่อ stdin บนเซิร์ฟเวอร์อื่นได้หรือไม่
stdoutบนเซิร์ฟเวอร์ CentOS หนึ่งเซิร์ฟเวอร์ต้องถูกไพพ์ไปstdinยังเซิร์ฟเวอร์ CentOS อื่น เป็นไปได้ไหม ปรับปรุง ScottPack, MikeyB และ jofel ล้วนมีคำตอบที่ถูกต้อง ฉันได้รับคำตอบให้กับสกอตต์เพราะแม้ว่าคำถามของฉันไม่ได้ระบุความปลอดภัยเป็นข้อกำหนด แต่ก็ดีที่จะปลอดภัย อย่างไรก็ตามคำแนะนำของเพื่อนอีกสองคนนั้นก็ใช้ได้เช่นกัน
74 pipe  stdout  stdin 



9
มีตัวเลือกใด ๆ ที่มีคำสั่ง 'ls' ที่ฉันเห็นเฉพาะไดเรกทอรีหรือไม่?
บางครั้งฉันต้องตรวจสอบเฉพาะไดเรกทอรีไม่ใช่ไฟล์ มีตัวเลือกใด ๆ กับคำสั่ง ls หรือไม่? หรือมีประโยชน์สำหรับการทำเช่นนั้น? แก้ไข : ฉันใช้ Mac OS X และls -dให้ฉัน.แม้ว่าฉันจะมีไดเรกทอรี
74 ls  utilities 


7
ฉันมีกระสุนจำนวนเท่าไร
ปัญหา : ค้นหาว่าฉันมีกระสุนจำนวนเท่าไร รายละเอียด : ฉันเปิดเปลือกจากกลุ่มมาก สร้างและเรียกใช้และออกจาก บางครั้งฉันลืมและเปิดเสียงเรียกเข้าภายในจากนั้นก็อีกเปลือก :( ฉันอยากรู้ว่าฉันอยู่ลึกเท่าไรในเปลือกหอยฉันอาจจะมีมันบนหน้าจอเชลล์ของฉันตลอดเวลา (ฉันสามารถจัดการส่วนนั้น) โซลูชันของฉัน : แยกแผนผังกระบวนการและมองหา vim และ bash / zsh และค้นหาความลึกของกระบวนการปัจจุบันที่อยู่ภายใน มีบางอย่างเช่นนั้นที่มีอยู่แล้วหรือไม่? ฉันหาอะไรไม่เจอ
73 bash  shell-script  shell  vim  zsh 

3
ผู้ดูแลเซิร์ฟเวอร์ส่งรหัสส่วนตัวให้ฉันใช้ ทำไม?
ฉันควรจะเข้าถึงเซิร์ฟเวอร์เพื่อเชื่อมโยงเซิร์ฟเวอร์ชั่วคราวและเซิร์ฟเวอร์สดเข้ากับการปรับใช้ของเรา ผู้ดูแลระบบทางด้านข้างของพวกเขาตั้งค่าอินสแตนซ์ที่สองและสร้างผู้ใช้บนเซิร์ฟเวอร์สำหรับเราเพื่อ SSH ในเป็น เท่านี้ฉันชินกับ ในใจของฉันตอนนี้สิ่งที่จะเกิดขึ้นคือฉันจะส่งกุญแจสาธารณะของพวกเขาซึ่งสามารถวางไว้ในโฟลเดอร์กุญแจที่ได้รับอนุญาต แต่พวกเขาส่งชื่อไฟล์ให้ฉันid_rsaซึ่งมีไฟล์-----BEGIN RSA PRIVATE KEY-----อยู่ในอีเมล เป็นเรื่องปกติหรือไม่ ฉันมองไปรอบ ๆ และสามารถค้นหาทรัพยากรมากมายในการสร้างและตั้งค่าคีย์ของฉันเองตั้งแต่ต้น แต่ไม่มีอะไรเกี่ยวกับการเริ่มต้นจากไพรเวตคีย์ของเซิร์ฟเวอร์ ฉันควรใช้สิ่งนี้เพื่อสร้างกุญแจสำหรับตัวเองหรือ? ฉันจะขอให้ผู้ดูแลระบบโดยตรง แต่ไม่ต้องการที่จะปรากฏคนงี่เง่าและเสียทุกคนในระหว่างเวลาของเรา ฉันควรเพิกเฉยกุญแจที่เขาส่งมาให้ฉันและขอให้พวกเขาใส่กุญแจสาธารณะของฉันไว้ในโฟลเดอร์ที่ได้รับอนุญาตหรือไม่

7
กด space เพื่อดำเนินการต่อ
ฉันจะหยุดสคริปต์ทุบตีจนกว่าผู้ใช้จะกดได้Spaceอย่างไร ฉันต้องการมีคำถามในสคริปต์ของฉัน กด space เพื่อดำเนินการต่อหรือCTRL+ Cเพื่อออก จากนั้นสคริปต์ควรหยุดและรอจนกว่าจะกด Space

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