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

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

10
C ++: ฉันควรใช้ไลบรารี regex อะไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำงานกับโปรเจ็กต์ C ++ เชิงพาณิชย์ (ไม่ใช่โอเพ่นซอร์ส) ที่ทำงานบนระบบที่ใช้ลินุกซ์ ฉันต้องทำ regex ภายในโค้ด C ++ (ฉันรู้ว่าตอนนี้ฉันมีปัญหา 2 อย่าง) คำถาม: ไลบรารีใดที่ผู้ที่ใช้ regex จาก C / C ++ เป็นประจำแนะนำให้ฉันดู การค้นหาอย่างรวดเร็วทำให้ฉันสนใจสิ่งต่อไปนี้: 1) Boost.Regex (ฉันต้องไปอ่าน Boost Software License แต่คำถามนี้ไม่เกี่ยวกับลิขสิทธิ์ซอฟต์แวร์) 2) C (ไม่ใช่ C ++) POSIX regex (#include <regex.h>, …
107 c++  regex  linux 

5
การพัฒนา C # บน Linux
ฉันต้องการทราบว่ามีเครื่องมือโอเพนซอร์สที่มีประสิทธิภาพสำหรับพัฒนาแอปพลิเคชัน C # บน Linux (Ubuntu) หรือไม่ โดยเฉพาะอย่างยิ่งฉันต้องพัฒนาแอปพลิเคชัน Windows Forms ฉันรู้เกี่ยวกับโครงการMonoแต่ไม่เคยใช้ เครื่องมือใดที่ดีที่สุด (IDE คอมไพเลอร์ ฯลฯ ) ในการตั้งค่าสภาพแวดล้อมการพัฒนา. NET บน Ubuntu ซอฟต์แวร์ที่พัฒนาบน Linux สามารถรันบน Windows ได้หรือไม่ มีพฤติกรรมที่แตกต่างกันหรือเข้ากันไม่ได้?
107 c#  .net  linux  winforms  ide 

2
เหตุใดจึงควรหลีกเลี่ยงการประเมินใน Bash และฉันควรใช้อะไรแทน
ครั้งแล้วครั้งเล่าที่ฉันเห็นคำตอบของ Bash ใน Stack Overflow โดยใช้evalและคำตอบได้รับการเจาะรูโดยตั้งใจสำหรับการใช้โครงสร้าง "ชั่วร้าย" ดังกล่าว ทำไมevalชั่วจัง ถ้าevalใช้ไม่ได้อย่างปลอดภัยควรใช้อะไรแทน?
107 linux  bash  unix  eval 

5
Linux ค้นหาชื่อไฟล์ด้วยสตริงที่กำหนด
ฉันใช้ Ubuntu และฉันต้องการค้นหาไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันและไดเร็กทอรีย่อยที่ชื่อมีสตริง "John" ฉันรู้ว่าgrepสามารถจับคู่เนื้อหาในไฟล์ได้ แต่ฉันไม่รู้ว่าจะใช้กับชื่อไฟล์อย่างไร ความช่วยเหลือใด ๆ จะได้รับการชื่นชม
107 linux  string  find 

7
จะเกิดอะไรขึ้นกับตัวจัดการไฟล์แบบเปิดบน Linux หากไฟล์ปลายแหลมถูกย้ายหรือถูกลบ
จะเกิดอะไรขึ้นกับตัวจัดการไฟล์ที่เปิดอยู่บน Linux หากไฟล์ปลายแหลมได้รับ: ย้ายออกไป -> ที่จับไฟล์ยังคงใช้ได้หรือไม่ ลบ -> สิ่งนี้นำไปสู่ ​​EBADF ซึ่งบ่งชี้ว่าไฟล์จัดการไม่ถูกต้องหรือไม่? แทนที่ด้วยไฟล์ใหม่ -> จัดการไฟล์ที่ชี้ไปที่ไฟล์ใหม่นี้หรือไม่ แทนที่ด้วยฮาร์ดลิงก์ไปยังไฟล์ใหม่ -> ไฟล์ของฉันจัดการ "ตาม" ลิงก์นี้หรือไม่ แทนที่ด้วยซอฟต์ลิงก์ไปยังไฟล์ใหม่ -> ไฟล์ของฉันจัดการกับไฟล์ซอฟต์ลิงก์นี้หรือไม่ ทำไมฉันถึงถามคำถามเช่นนี้: ฉันใช้ฮาร์ดแวร์แบบเสียบปลั๊กไฟ (เช่นอุปกรณ์ USB เป็นต้น) อาจเกิดขึ้นได้ที่อุปกรณ์ (รวมถึง / dev / file) ได้รับการแนบซ้ำโดยผู้ใช้หรือ Gremlin อื่น แนวทางปฏิบัติที่ดีที่สุดในการจัดการกับสิ่งนี้คืออะไร?

6
ตั้งค่าเบรกพอยต์ในโค้ด C หรือ C ++ โดยทางโปรแกรมสำหรับ gdb บน Linux
ฉันจะตั้งค่าเบรกพอยต์ในโค้ด C หรือ C ++ โดยทางโปรแกรมที่จะทำงานกับ gdb บน Linux ได้อย่างไร ได้แก่ : int main(int argc, char** argv) { /* set breakpoint here! */ int a = 3; a++; /* In gdb> print a; expect result to be 3 */ return 0; }
107 c++  c  linux  gdb 

2
Unix / Linux: ความแตกต่างระหว่าง ID ผู้ใช้จริง ID ผู้ใช้ที่มีประสิทธิภาพและ ID ผู้ใช้ที่บันทึกไว้
ฉันรับรู้รหัสผู้ใช้จริงแล้ว เป็นหมายเลขเฉพาะสำหรับผู้ใช้ในระบบ ในระบบของฉัน My uidis $ echo $UID 1014 $ อีกสอง ID ย่อมาจากอะไร? และการใช้ID ผู้ใช้ที่มีประสิทธิภาพและID ผู้ใช้ที่บันทึกไว้คืออะไรและเราใช้ที่ใดในระบบ?
107 linux  unix  posix 

6
วิธีการเข้ารหัส base64 ภาพใน linux bash / shell
ฉันพยายามที่จะเข้ารหัส base64 ภาพในเชลล์สคริปต์และใส่ลงในตัวแปร: test="$(printf DSC_0251.JPG | base64)" echo $test RFNDXzAyNTEuSlBH ฉันได้ลองทำสิ่งนี้ด้วย: test=\`echo -ne DSC_0251.JPG | base64\` แต่ก็ยังไม่ประสบความสำเร็จ ฉันต้องการทำสิ่งนี้: curl -v -X POST -d '{"image":$IMAGE_BASE64,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' http://192.168.1.1/upload ฉันพบสิ่งนี้http://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html แต่ก็ยังไม่ประสบความสำเร็จ
107 linux  image  shell  variables  base64 

2
วิธีรักษาตัวแบ่งบรรทัดเมื่อจัดเก็บเอาต์พุตคำสั่งไปยังตัวแปร
ฉันใช้ bash shell บน Linux ฉันมีสคริปต์ง่ายๆนี้ ... #!/bin/bash TEMP=`sed -n '/'"Starting deployment of"'/,/'"Failed to start context"'/p' "/usr/java/jboss/standalone/log/server.log" | tac | awk '/'"Starting deployment of"'/ {print;exit} 1' | tac` echo $TEMP อย่างไรก็ตามเมื่อฉันเรียกใช้สคริปต์นี้ ./temp.sh ผลลัพธ์ทั้งหมดจะถูกพิมพ์โดยไม่มีการคืนแคร่ / ขึ้นบรรทัดใหม่ ไม่แน่ใจว่าเป็นวิธีที่ฉันจัดเก็บผลลัพธ์ไว้ที่ $ TEMP หรือคำสั่ง echo เอง ฉันจะจัดเก็บเอาต์พุตของคำสั่งไปยังตัวแปรและรักษาการแบ่งบรรทัด / การส่งคืนค่าขนส่งได้อย่างไร
107 linux  bash  shell  line-breaks 

5
จะคัดลอกคอมมิตจากที่เก็บ Git หนึ่งไปยังอีกที่หนึ่งได้อย่างไร
เมื่อสัปดาห์ที่แล้วฉันสร้าง Github repo และลืมเลือกใบอนุญาตสำหรับ repo ตอนนี้มีการคอมมิชชันขนาดใหญ่แล้ว 3 รายการ ฉันถามผู้ร่วมให้ข้อมูลทั้ง 3 คนว่าใช้ได้หรือไม่ถ้าฉันลบ repo แล้วสร้างอีกครั้งโดยใช้ชื่อเดียวกันและคราวนี้เลือกใบอนุญาตเมื่อสร้าง repo และพวกเขาก็ทำได้ดี คำถาม มีวิธีใดบ้างที่ฉันนำคอมมิตไปสู่ ​​repo ใหม่ (ครั้งนี้คอมมิตแรกคือไฟล์ LICENSE) และยังคงเก็บข้อมูลเมตาการคอมมิตไว้หรือไม่
107 linux  git  github 

5
ดีบักเกอร์ Linux C / C ++ ใดที่ดีที่สุด (หรือ front-end to gdb) เพื่อช่วยสอนการเขียนโปรแกรม [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันสอนหลักสูตรการเขียนโปรแกรม C ++ แบบ "lite" ให้กับมือใหม่ ("lite" หมายถึงไม่มีพอยน์เตอร์ไม่มีคลาสเป็น C แบบเก่าธรรมดารวมถึงการอ้างอิงและสตริง STL และเวกเตอร์) นักเรียนไม่มีประสบการณ์ในการเขียนโปรแกรมมาก่อนดังนั้นฉันเชื่อว่าการใช้ดีบักเกอร์แบบโต้ตอบจะช่วยให้พวกเขาเข้าใจโฟลว์โปรแกรมตัวแปรและการเรียกซ้ำ หลักสูตรนี้สอนใน Linux การสอนให้ใช้ gdb เป็นเพียงการใช้งานมากเกินไป (จะไม่ใช้หรือไม่เข้าใจคุณสมบัติส่วนใหญ่) ฉันต้องการสิ่งที่เรียบง่าย แต่ใช้งานง่าย: เพื่อดูว่าตอนนี้โปรแกรมอยู่ที่บรรทัดใดสิ่งที่อยู่ในสแต็ก (ตัวแปรท้องถิ่นการเรียกก่อนหน้า ฯลฯ ) ฉันดูคล้ายกับตัวดีบักเกอร์ของ Turbo Pascal หรือ Turbo C ++ Borland หรือตัวแก้ไขข้อบกพร่อง Visual Studio ขอบคุณ,
106 c++  linux  debugging 

8
ความหมายของ tilde ใน Linux bash (ไม่ใช่โฮมไดเร็กทอรี)
ก่อนอื่นฉันรู้ว่านั่น~/คือโฮมไดเร็กทอรี กำลังซีดี~หรือ~/พาฉันไปที่โฮมไดเร็กทอรี อย่างไรก็ตามcd ~Xพาฉันไปที่พิเศษซึ่งXดูเหมือนจะเป็นอะไรก็ได้ ในทุบตีถ้าผมตี " cd ~" และแท็บตีก็แสดงให้เห็นพวงของการที่เป็นไปได้~Xตัวเลือกเช่น~mailและและ~postgres ~sshไปที่โฟลเดอร์เหล่านั้นและpwdแสดงให้ฉันเห็นว่าโฟลเดอร์เหล่านี้ไม่ได้อยู่ในโฮมไดเร็กทอรี พวกเขาอยู่ทั่วทุกแห่ง พวกเขาไม่ใช่นามแฝง ฉันตรวจสอบแล้ว พวกเขาไม่ใช่env.ตัวแปรหรืออื่น ๆ ที่พวกเขาต้องการ$. การตั้งค่าลิงก์เหล่านี้คืออะไรและฉันจะหาได้จากที่ใด


5
Linux: มีการอ่านหรือรับข้อมูลจากซ็อกเก็ตที่หมดเวลาหรือไม่?
ฉันจะพยายามอ่านข้อมูลจากซ็อกเก็ตแบบหมดเวลาได้อย่างไร ฉันรู้ว่าเลือกเลือกแบบสำรวจมีฟิลด์หมดเวลา แต่การใช้พวกเขาปิดใช้งาน "tcp fast-path" ใน tcp reno stack ความคิดเดียวที่ฉันมีคือใช้ recv (fd, ... , MSG_DONTWAIT) ในวง
106 c  linux  sockets  tcp 

8
ฉันจะตรวจสอบใน bash ได้อย่างไรว่าไฟล์ถูกสร้างขึ้นนานกว่า x ครั้งก่อนหรือไม่
ฉันต้องการตรวจสอบใน linux bash ว่ามีการสร้างไฟล์เกิน x ครั้งที่แล้วหรือไม่ สมมติว่าไฟล์นี้เรียกว่า text.txt และเวลาคือ 2 ชั่วโมง if [ what? ] then echo "old enough" fi
106 linux  bash  command-line 

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