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

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

7
วิธีที่เร็วที่สุดที่จะบอกได้ว่าสองไฟล์มีเนื้อหาเหมือนกันใน Unix / Linux หรือไม่?
ฉันมีเชลล์สคริปต์ที่ฉันต้องตรวจสอบว่าไฟล์สองไฟล์มีข้อมูลเดียวกันหรือไม่ ฉันทำสิ่งนี้เพื่อไฟล์จำนวนมากและในสคริปต์ของฉันdiffดูเหมือนว่าคำสั่งจะเป็นคอขวดของประสิทธิภาพ นี่คือบรรทัด: diff -q $dst $new > /dev/null if ($status) then ... มีวิธีที่เร็วกว่าในการเปรียบเทียบไฟล์บางทีอัลกอริทึมแบบกำหนดเองแทนที่จะเป็นค่าเริ่มต้นdiffหรือไม่
231 linux  file  unix  diff 

1
ความแตกต่างระหว่างไฟล์ไลบรารี. so, .la และ. a คืออะไร
ฉันรู้ว่า.soไฟล์เป็นไลบรารีแบบไดนามิก (หลายเธรดสามารถแชร์ไลบรารีดังกล่าวได้ดังนั้นจึงไม่จำเป็นต้องมีมากกว่าหนึ่งสำเนาในหน่วยความจำ) แต่อะไรคือความแตกต่างระหว่าง.aและ.la? ไลบรารีสแตติกเหล่านี้ทั้งหมดหรือไม่ หาก libs แบบไดนามิกมีข้อได้เปรียบใหญ่กว่าแบบคงที่ทำไมทำไมยังคงมีห้องสมุดแบบคงที่มากมาย? ฉันต้องการทราบกลไกพื้นฐานในการโหลดไลบรารี่ (ทั้งสองชนิด) และวิธีการเรียกใช้โค้ดใน lib เมื่อมันถูกนำไปใช้ที่ไหนสักแห่ง ฉันควรศึกษาส่วนใดของเคอร์เนล และฉันควรรู้คำสั่ง / ยูทิลิตี้ที่เกี่ยวข้องกับ Linux เพื่อที่จะรู้ว่ากระบวนการทำงานอย่างไร? (ตอนนี้ฉันรู้เพียงldคำสั่งเท่านั้น) เมื่อฉันควรพยายามที่จะสร้างรหัสลง.soหรือ.a? อันไหนดีกว่า? [mirror@home ins_openvpn]$ ls lib/openvpn/plugins/ -l total 96 -rw-r--r-- 1 mirror mirror 22892 Sep 2 23:25 openvpn-plugin-auth-pam.a -rwxr-xr-x 1 mirror mirror 931 Sep 2 23:25 openvpn-plugin-auth-pam.la -rwxr-xr-x 1 mirror mirror …

10
สับสนเกี่ยวกับ stdin, stdout และ stderr หรือไม่
ฉันค่อนข้างสับสนกับวัตถุประสงค์ของไฟล์ทั้งสามนี้ หากความเข้าใจของฉันถูกต้องstdinเป็นไฟล์ที่โปรแกรมเขียนลงในคำร้องขอเพื่อเรียกใช้งานในกระบวนการstdoutเป็นไฟล์ที่เคอร์เนลเขียนเอาต์พุตและกระบวนการที่ร้องขอให้เข้าถึงข้อมูลจากและstderrเป็นไฟล์ที่เข้าสู่ ซึ่งข้อยกเว้นทั้งหมดจะถูกป้อน เมื่อเปิดไฟล์เหล่านี้เพื่อตรวจสอบว่าสิ่งเหล่านี้เกิดขึ้นจริงหรือไม่ฉันไม่พบสิ่งใดเลยที่จะแนะนำ! สิ่งที่ฉันอยากรู้คือจุดประสงค์ของไฟล์เหล่านี้คืออะไรตอบคำถามด้วยศัพท์แสงทางเทคโนโลยีน้อยมาก!
230 linux  stdout  stdin  stderr 

5
ฉันจะแสดงชื่อไฟล์หนึ่งชื่อต่อหนึ่งบรรทัดเอาต์พุตใน Linux ได้อย่างไร
ฉันใช้ls -aคำสั่งเพื่อรับชื่อไฟล์ในไดเรกทอรี แต่ผลลัพธ์อยู่ในบรรทัดเดียว แบบนี้: . .. .bash_history .ssh updater_error_log.txt ฉันต้องการทางเลือกในตัวเพื่อรับชื่อไฟล์แต่ละไฟล์ในบรรทัดใหม่เช่นนี้ . .. .bash_history .ssh updater_error_log.txt
229 linux  shell  ls 

3
รับ dirname / ชื่อไฟล์ล่าสุดในอาร์กิวเมนต์พา ธ ของไฟล์ใน Bash
ฉันกำลังพยายามเขียนเบ็ด post-commit สำหรับ SVN ซึ่งโฮสต์บนเซิร์ฟเวอร์การพัฒนาของเรา เป้าหมายของฉันคือพยายามตรวจสอบสำเนาของโปรเจ็กต์ที่กำหนดไปยังไดเร็กทอรีที่โฮสต์บนเซิร์ฟเวอร์โดยอัตโนมัติ อย่างไรก็ตามฉันต้องสามารถอ่านเฉพาะไดเรกทอรีสุดท้ายในสตริงไดเรกทอรีที่ส่งไปยังสคริปต์เพื่อชำระเงินไปยังไดเรกทอรีย่อยเดียวกันที่โฮสต์โครงการของเรา ตัวอย่างเช่นถ้าฉันทำ SVN ส่งมอบโครงการ "ตัวอย่าง" สคริปต์ของฉันจะได้รับ "/ usr / local / svn / repos / example" เป็นอาร์กิวเมนต์แรก ฉันต้องได้รับ "ตัวอย่าง" จากจุดสิ้นสุดของสตริงแล้วต่อกับสตริงอื่นเพื่อให้ฉันสามารถเช็คเอาต์ที่ "/ server / root / example" และดูการเปลี่ยนแปลงที่เกิดขึ้นทันที
228 linux  bash  shell  svn 

19
ฉันจะหา `find 'เพื่อละเว้นไดเรกทอรี. svn ได้อย่างไร
ฉันมักจะใช้findคำสั่งเพื่อค้นหาผ่านซอร์สโค้ดลบไฟล์อะไรก็ตาม น่ารำคาญเพราะการโค่นล้มเก็บข้อมูลที่ซ้ำกันของแต่ละไฟล์ใน.svn/text-base/ไดเรกทอรีการค้นหาที่เรียบง่ายของฉันจบลงด้วยการได้รับผลลัพธ์ซ้ำซ้อนมากมาย ตัวอย่างเช่นฉันต้องการค้นหาแบบซ้ำuintหลายครั้งmessages.hและหลายmessages.cppไฟล์: # find -name 'messages.*' -exec grep -Iw uint {} + ./messages.cpp: Log::verbose << "Discarding out of date message: id " << uint(olderMessage.id) ./messages.cpp: Log::verbose << "Added to send queue: " << *message << ": id " << uint(preparedMessage->id) ./messages.cpp: Log::error << "Received message with invalid SHA-1 hash: …
227 linux  find  bash  grep  svn 

13
วิธีค้นหาเนื้อหาของไฟล์ PDF หลายไฟล์?
ฉันจะค้นหาเนื้อหาของไฟล์ PDF ในไดเรกทอรี / ไดเรกทอรีย่อยได้อย่างไร ฉันกำลังมองหาเครื่องมือบรรทัดคำสั่ง ดูเหมือนว่าgrepไม่สามารถค้นหาไฟล์ PDF

12
จะแสดงไลบรารี่ที่ใช้ร่วมกันทั้งหมดที่ใช้งานโดยเอ็กซีคิ้วท์ใน Linux ได้อย่างไร?
ฉันต้องการทราบว่าไลบรารี่ใดที่ถูกใช้งานบนระบบของฉัน โดยเฉพาะอย่างยิ่งฉันต้องการจัดอันดับห้องสมุดที่มีการใช้งานมากที่สุดพร้อมกับไบนารีที่ใช้พวกเขา ฉันจะทำสิ่งนี้ได้อย่างไร

14
แสดงรายการไฟล์ซ้ำใน Linux CLI พร้อมพา ธ ที่สัมพันธ์กับไดเรกทอรีปัจจุบัน
นี่คล้ายกับคำถามนี้แต่ฉันต้องการรวมเส้นทางที่เกี่ยวข้องกับไดเรกทอรีปัจจุบันในยูนิกซ์ ถ้าฉันทำต่อไปนี้: ls -LR | grep .txt ไม่รวมเส้นทางแบบเต็ม ตัวอย่างเช่นฉันมีโครงสร้างไดเรกทอรีต่อไปนี้: test1/file.txt test2/file1.txt test2/file2.txt รหัสข้างต้นจะกลับมา: file.txt file1.txt file2.txt ฉันจะให้มันรวมเส้นทางที่สัมพันธ์กับไดเรกทอรีปัจจุบันโดยใช้คำสั่ง Unix มาตรฐานได้อย่างไร
224 linux  unix  recursion  ls 

13
โปรแกรม DIFF แบบกราฟิกสำหรับ linux [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันชอบAraxis Merge สำหรับโปรแกรม DIFF แบบกราฟิกสำหรับพีซี ฉันไม่ทราบว่ามีลินุกซ์ให้บริการอะไร เรากำลังเรียกใช้ SUSE linux บนเมนเฟรม z800 ของเรา ฉันจะขอบคุณมากที่สุดหากฉันสามารถชี้ให้คนอื่นเห็นว่ารายการใดที่คนอื่นชอบ

6
ฉันจะให้งาน cron ทำงานทุก ๆ 30 นาทีได้อย่างไร
ฉันต้องการเพิ่มcrontabรายการเพื่อเรียกใช้สคริปต์ทุก ๆ 30 นาทีในชั่วโมงและ 30 นาทีที่ผ่านมาในชั่วโมงหรือบางสิ่งที่ใกล้เคียง ฉันมีสิ่งต่อไปนี้ แต่ดูเหมือนว่าจะไม่ทำงานใน 0 */30 * * * * ฉันต้องใช้สตริงอะไร cron กำลังทำงานบน OSX
224 linux  macos  cron 



4
คงชื่อของหน้าต่างไว้ใน tmux
ฉันใหม่กับ tmux ฉันต้องการให้ชื่อ windows คงที่หลังจากที่ฉันเปลี่ยนชื่อแล้ว แต่หลังจากที่ฉันเปลี่ยนชื่อพวกเขายังคงเปลี่ยนแปลงเมื่อฉันรันคำสั่ง มีวิธีใดบ้างที่ฉันสามารถเก็บไว้ในชื่อคงที่หรือไม่?
223 linux  tmux 

8
วิธีการออกจากถ้าคำสั่งล้มเหลว?
ฉันเป็น noob ในการเขียนสคริปต์เชลล์ ฉันต้องการพิมพ์ข้อความและออกจากสคริปต์หากคำสั่งล้มเหลว ฉันพยายามแล้ว: my_command && (echo 'my_command failed; exit) แต่มันไม่ทำงาน มันยังคงดำเนินการตามคำแนะนำต่อไปนี้บรรทัดในสคริปต์ ฉันใช้ Ubuntu และทุบตี
222 linux  bash  exit  exitstatus 

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