คำถามติดแท็ก linux

คำถามเกี่ยวกับลินุกซ์จะต้องมีการเขียนโปรแกรมที่เกี่ยวข้อง ใช้แท็กนี้เฉพาะเมื่อคำถามของคุณเกี่ยวข้องกับการเขียนโปรแกรมโดยใช้ Linux API หรือพฤติกรรมเฉพาะของ Linux ไม่ใช่เพียงเพราะคุณใช้งานโค้ดของคุณบน Linux เท่านั้น หากคุณต้องการการสนับสนุน Linux คุณสามารถลอง https://unix.stackexchange.com หรือเว็บไซต์ Stack Exchange ของ Linux ที่เผยแพร่เฉพาะเช่น https://askubuntu.com หรือ https://elementaryos.stackexchange.com/

4
การประมวลผลสคริปต์ Bash มีจำนวนคำสั่งที่ จำกัด ในแบบคู่ขนาน
ฉันมีสคริปต์ทุบตีที่มีลักษณะเช่นนี้: #!/bin/bash wget LINK1 >/dev/null 2>&1 wget LINK2 >/dev/null 2>&1 wget LINK3 >/dev/null 2>&1 wget LINK4 >/dev/null 2>&1 # .. # .. wget LINK4000 >/dev/null 2>&1 แต่การประมวลผลแต่ละบรรทัดจนกว่าคำสั่งจะเสร็จสิ้นจากนั้นการย้ายไปยังบรรทัดถัดไปนั้นใช้เวลานานมากฉันต้องการประมวลผลอินสแตนซ์ 20 บรรทัดในครั้งเดียวแล้วเมื่อประมวลผลเสร็จแล้วอีก 20 บรรทัด ฉันคิดว่าwget LINK1 >/dev/null 2>&1 &จะส่งคำสั่งไปที่พื้นหลังและดำเนินการต่อ แต่มี 4000 บรรทัดนี่หมายความว่าฉันจะมีปัญหาด้านประสิทธิภาพไม่พูดถึงการถูก จำกัด ในจำนวนกระบวนการที่ฉันควรเริ่มในเวลาเดียวกันดังนั้นจึงไม่ดี ความคิด ทางออกหนึ่งที่ฉันคิดในตอนนี้คือการตรวจสอบว่าหนึ่งในคำสั่งยังคงทำงานอยู่หรือไม่ตัวอย่างเช่นหลังจาก 20 บรรทัดฉันสามารถเพิ่มลูปนี้: while [ $(ps -ef | …
196 linux  bash  shell 


12
จะระบุช่องว่างเพิ่มเติมสำหรับตัวคั่นโดยใช้การตัดได้อย่างไร
มีวิธีใดที่จะระบุตัวคั่นฟิลด์สำหรับช่องว่างเพิ่มเติมด้วยคำสั่ง cut หรือไม่? (เช่น "" +)? ตัวอย่างเช่น: ในสตริงต่อไปนี้ฉันต้องการเข้าถึงค่า '3744' ตัวคั่นฟิลด์ใดที่ฉันควรพูด $ps axu | grep jboss jboss 2574 0.0 0.0 3744 1092 ? S Aug17 0:00 /bin/sh /usr/java/jboss/bin/run.sh -c example.com -b 0.0.0.0 cut -d' 'ไม่ใช่สิ่งที่ฉันต้องการเพราะมันมีเพียงพื้นที่เดียวเท่านั้น awkไม่ใช่สิ่งที่ฉันกำลังมองหา แต่จะทำอย่างไรกับ 'ตัด'? ขอบคุณ
196 linux  delimiter  cut 

9
ใช้ grep เพื่อค้นหาสตริงที่มีจุดอยู่ในนั้น
ฉันพยายามค้นหาสตริง0.49(ด้วยจุด) โดยใช้คำสั่ง grep -r "0.49" * แต่สิ่งที่เกิดขึ้นก็คือว่านอกจากนี้ผมยังได้รับผลที่ไม่พึงประสงค์ซึ่งมีสตริงเช่น0449, 0949ฯลฯ ,. สิ่งนั้นคือ linux โดยพิจารณาจุด (.) เป็นตัวอักษรใด ๆ และแสดงผลลัพธ์ทั้งหมด แต่ฉันต้องการได้ผลลัพธ์สำหรับ "0.49" เท่านั้น
196 linux  grep 

8
มีวิธีการ 'uniq' โดยคอลัมน์หรือไม่
ฉันมีไฟล์. csv เช่นนี้: stack2@example.com,2009-11-27 01:05:47.893000000,example.net,127.0.0.1 overflow@example.com,2009-11-27 00:58:29.793000000,example.net,255.255.255.0 overflow@example.com,2009-11-27 00:58:29.646465785,example.net,256.255.255.0 ... ฉันต้องลบอีเมลที่ซ้ำกัน (ทั้งบรรทัด) จากไฟล์ (เช่นหนึ่งในบรรทัดที่มีoverflow@example.comในตัวอย่างข้างต้น) ฉันจะใช้งานuniqในฟิลด์ 1 เท่านั้น (คั่นด้วยเครื่องหมายจุลภาค) ได้อย่างไร ตามman, uniqไม่ได้มีตัวเลือกสำหรับคอลัมน์ ฉันลองบางอย่างด้วยsort | uniqแต่ใช้งานไม่ได้
195 linux  shell  sorting  uniq 


30
ฉันจะรวมตัวเลขทั้งหมดในไฟล์ได้อย่างรวดเร็วได้อย่างไร
ฉันมีไฟล์ที่มีหลายพันตัวเลขโดยแต่ละไฟล์เป็นของตัวเอง: 34 42 11 6 2 99 ... ฉันต้องการเขียนสคริปต์ซึ่งจะพิมพ์ผลรวมของตัวเลขทั้งหมดในไฟล์ ฉันมีวิธีแก้ปัญหาแล้ว แต่มันก็ไม่ได้มีประสิทธิภาพมากนัก (ใช้เวลาหลายนาทีในการทำงาน) ฉันกำลังมองหาโซลูชันที่มีประสิทธิภาพมากขึ้น ข้อเสนอแนะใด ๆ
195 linux  perl  bash  shell  awk 

4
ฉันจะเปลี่ยนจำนวนไฟล์ที่ จำกัด การเปิดใน Linux ได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ too many files openเมื่อเรียกใช้โปรแกรมประยุกต์ของฉันบางครั้งผมได้รับข้อผิดพลาดเกี่ยวกับ การเรียกใช้ulimit -aรายงานว่าขีด จำกัด คือ 1024 ฉันจะเพิ่มขีด จำกัด ที่สูงกว่า 1024 ได้อย่างไร แก้ไข ulimit -n 2048ผลลัพธ์ในข้อผิดพลาดการอนุญาต
194 linux 

19
ป้อนรหัสผ่าน SSH โดยอัตโนมัติด้วยสคริปต์
ฉันต้องสร้างสคริปต์ที่ป้อนรหัสผ่านโดยอัตโนมัติไปยังsshไคลเอนต์OpenSSH สมมติว่าฉันต้อง SSH เข้ากับรหัสผ่านmyname@somehosta1234b ฉันได้ลองแล้ว ... #~/bin/myssh.sh ssh myname@somehost a1234b ... แต่นี่ใช้ไม่ได้ ฉันจะนำฟังก์ชันนี้มาใช้เป็นสคริปต์ได้อย่างไร
194 linux  shell  ssh  openssh 


11
วิธีลบไดเรกทอรี. svn ทั้งหมดออกจากไดเรกทอรีแอปพลิเคชันของฉัน
หนึ่งในภารกิจของเครื่องมือส่งออกที่ฉันมีในแอปพลิเคชันของฉันคือการล้าง.svnไดเรกทอรีทั้งหมดจากแผนผังไดเรกทอรีแอปพลิเคชันของฉัน ฉันกำลังมองหาคำสั่งแบบเรียกซ้ำในเชลล์ลินุกซ์ที่จะสำรวจทรีทั้งต้นและลบ.svnไฟล์ ฉันไม่ได้ใช้การส่งออกเนื่องจากสคริปต์นี้จะใช้กับชื่อไฟล์ / ไดเรกทอรีอื่นซึ่งไม่เกี่ยวข้องกับ SVN ฉันลองทำสิ่งที่ชอบ: find . -name .svn | rm -fr มันไม่ทำงาน ...
192 linux  shell 

9
ฉันจะแปลงช่องว่างเป็นแท็บใน Vim หรือ Linux ได้อย่างไร
ฉันได้ดูคำถามหลายข้อเกี่ยวกับ Stack Overflow สำหรับวิธีการแปลงช่องว่างเป็นแท็บโดยไม่ต้องค้นหาสิ่งที่ฉันต้องการ ดูเหมือนจะมีคำถามเพิ่มเติมเกี่ยวกับวิธีแปลงแท็บเป็นช่องว่าง แต่ฉันพยายามทำตรงกันข้าม ในVimฉันได้ลอง:retabและ:retab!ไม่มีโชค แต่ฉันเชื่อว่าสิ่งเหล่านี้จริง ๆ แล้วจะเปลี่ยนจากแท็บไปยังช่องว่างอย่างไรก็ตาม ฉันลองทั้งสองexpandและunexpandที่พรอมต์คำสั่งโดยไม่มีโชค นี่คือไฟล์ที่มีปัญหา: http://gdata-python-client.googlecode.com/hg-history/a9ed9edefd61a0ba0e18c43e448472051821003a/samples/docs/docs_v3_example.py ฉันจะแปลงช่องว่างนำไปสู่แท็บที่ใช้อย่างใดอย่างหนึ่งVimหรือเปลือก?
192 linux  vim  tabs  spaces 

9
จะใช้“ /” (ตัวคั่นไดเรกทอรี) ใน Linux และ Windows ใน Python ได้อย่างไร
ฉันเขียนโค้ดในไพ ธ อนซึ่งใช้ / เพื่อสร้างไฟล์เฉพาะในโฟลเดอร์ถ้าฉันต้องการใช้รหัสใน windows มันจะไม่ทำงานมีวิธีที่ฉันสามารถใช้รหัสใน Windows และ Linux ในหลามฉันใช้รหัสนี้: pathfile=os.path.dirname(templateFile) rootTree.write(''+pathfile+'/output/log.txt') เมื่อฉันจะใช้รหัสของฉันในกรณีที่เครื่อง windows รหัสของฉันจะไม่ทำงาน ฉันจะใช้ "/" (ตัวคั่นไดเรกทอรี) ใน Linux และ Windows ได้อย่างไร
191 python  linux  windows  unix 

12
การค้นหาเส้นทางของไฟล์เรียกทำงานปัจจุบันโดยไม่มี / proc / self / exe
สำหรับฉันแล้วดูเหมือนว่า Linux สามารถใช้งานได้ง่ายกับ / proc / self / exe แต่ฉันต้องการทราบว่ามีวิธีที่สะดวกในการค้นหาไดเรกทอรีของแอปพลิเคชันปัจจุบันใน C / C ++ พร้อมอินเทอร์เฟซข้ามแพลตฟอร์มหรือไม่ ฉันเคยเห็นบางโครงการล้อเล่นกับ argv [0] แต่ดูเหมือนจะไม่น่าเชื่อถือทั้งหมด หากคุณเคยให้การสนับสนุนพูดว่า Mac OS X ซึ่งไม่มี / proc / คุณจะทำอะไร ใช้ #ifdefs เพื่อแยกรหัสเฉพาะแพลตฟอร์ม (ตัวอย่างเช่น NSBundle) หรือไม่ หรือพยายามที่จะอนุมานเส้นทางของปฏิบัติการจาก argv [0], $ PATH และอะไรก็ตามที่เสี่ยงต่อการหาข้อบกพร่องในกรณีขอบ
190 c++  c  linux  macos  executable 

4
ฉันจะดูรายการฟังก์ชั่นที่ไลบรารีที่แชร์ของ Linux ส่งออกได้อย่างไร
ฉันต้องการดูฟังก์ชั่นที่ส่งออกของห้องสมุดสาธารณะบน Linux คำสั่งอะไรที่อนุญาตให้ฉันทำสิ่งนี้? (ใน Windows ฉันใช้โปรแกรมขึ้นอยู่กับ)

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