Unix & Linux

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

1
วิธีสร้าง USB ที่สามารถบู๊ตได้ของ FreeBSD 10
ขณะนี้ฉันกำลังใช้ Linux Mint 17 และฉันต้องการบูตดูอัลบูต FreeBSD และ Linux Mint 17 ฉันจะสร้าง Bootable USB สำหรับ FreeBSD 10 ได้อย่างไร ฉันพยายามUNetbootin , นักเขียนภาพและPowerISOแต่มันไม่ทำงาน
15 boot  freebsd  live-usb 

2
นี่เป็นวิธีที่ดีในการสร้างแพตช์หรือไม่?
ฉันต้องการสร้างแพทช์จากgccสาขาที่เฉพาะเจาะจงเปรียบเทียบกับการวางจำหน่ายอย่างเป็นทางการ ดังนั้นเมื่อฉันนำ tarball ออกจากการวางจำหน่ายที่เสถียรฉันสามารถใช้ตัวแก้ไขและรับสิ่งที่เทียบเท่าในสาขานั้น นี่เป็นครั้งแรกที่ฉันต้องสร้างแพตช์ดังนั้นมันเป็นครั้งแรกที่ฉันทำสิ่งนี้และสิ่งที่ฉันกังวลหลักคือการหาตัวเลือกและการแยกวิเคราะห์ที่ถูกต้องเนื่องจากเรากำลังพูดถึงซอฟต์แวร์ที่สำคัญอย่างยิ่ง diff -crB GccStable GccGit > /tmp/fromStabletoBranch.patch นี่เป็นวิธีที่ดีที่สุดและเพียงพอหรือไม่
15 diff  patch 

8
sed - ลบการเกิดขึ้นครั้งสุดท้ายของสตริง (เครื่องหมายจุลภาค) ในไฟล์หรือไม่
ฉันมีไฟล์ csv ที่มีขนาดใหญ่มาก คุณจะลบส่วนสุดท้าย,ด้วย sed (หรือคล้ายกัน) ได้อย่างไร ... [11911,0,"BUILDER","2014-10-15","BUILDER",0,0], [11912,0,"BUILDER","2014-10-15","BUILDER",0,0], [11913,0,"BUILDER","2014-10-15","BUILDER",0,0], ] ผลลัพธ์ที่ต้องการ ... [11911,0,"BUILDER","2014-10-15","BUILDER",0,0], [11912,0,"BUILDER","2014-10-15","BUILDER",0,0], [11913,0,"BUILDER","2014-10-15","BUILDER",0,0] ] คำสั่ง sed ต่อไปนี้จะลบการเกิดขึ้นครั้งสุดท้ายต่อบรรทัด แต่ฉันต้องการต่อไฟล์ sed -e 's/,$//' foo.csv ไม่ทำงานนี้ sed '$s/,//' foo.csv
15 sed 

5
ฉันจะลบช่องว่างออกจากตัวแปรเชลล์ได้อย่างไร
ฉันทำต่อไปนี้ที่บรรทัดคำสั่ง: $ text="name with space" $ echo $text name with space ฉันพยายามที่จะใช้tr -d ' 'เพื่อลบช่องว่างและมีผลมาจาก: namewithspace ฉันพยายามทำบางสิ่งเช่น: text=echo $text | tr -d ' ' ไม่มีโชคดีหวังว่าคุณจะสามารถช่วยชาวพื้นบ้านที่ยอดเยี่ยม
15 shell  command-line  tr 

1
ตีความชื่อเธรด kworker ได้อย่างไร
บน Linux 3.11.0-13-generic ที่ใช้งานบนซ็อกเก็ตคู่ Xeon X5650 hexa core board htopจะแสดงเธรด kworker ที่แตกต่างกัน จัดเรียงตามชื่อ (ฉัน tweaked ผลลัพธ์ที่ฉันแสดงที่นี่เล็กน้อยเพื่อให้เธรดใน core 2 ก่อนที่จะอยู่ใน core 10) นี่คือผลลัพธ์: kworker/0:0H kworker/0:1 kworker/0:2 kworker/1:0 kworker/1:0H kworker/1:1 kworker/2:0 kworker/2:0H kworker/2:1 ..... kworker/11:0 kworker/11:0H kworker/11:1 kworker/u48:0 kworker/u49:4 kworker/u49:5 kworker/u50:1 kworker/u50:2 ....... เธรดที่ชื่อขึ้นต้นด้วยตัวเลขจะถูกตรึงไว้กับคอร์ด้วยหมายเลขเดียวกัน ดังนั้นหมายเลขแรกคือแกนที่ใช้เธรดและฉันสงสัยว่าสัญลักษณ์หลังจาก:( 0หรือ0Hหรือ1) สำหรับเธรดเหล่านี้คืออะไร? ฉันยังสงสัยว่าความหมายของuXX:Yสัญลักษณ์คืออะไร? ฉันมีความรู้ที่คลุมเครือในสิ่งที่เธรด kworker ทำ: พวกเขาจัดการเหตุการณ์แบบอะซิงโครนัสที่เกิดจากการเรียกของระบบที่ดำเนินการ …

2
ข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด `('
เมื่อฉันใช้รหัสด้านล่างใน terminal SSH สำหรับ CentOS มันทำงานได้ดี: paste <(printf "%s\n" "TOP") แต่ถ้าฉันวางโค้ดบรรทัดเดียวกันในเชลล์สคริปต์ (test.sh) และรันเชลล์สคริปต์จากเทอร์มินัลมันจะพ่นข้อผิดพลาดเช่นนี้ ./test.sh: line 30: syntax error near unexpected token (' ./test.sh: line 30: paste <(printf "%s\n" "TOP") ฉันจะแก้ไขปัญหานี้ได้อย่างไร
15 shell 

2
Bash -c พร้อมพารามิเตอร์ตำแหน่ง
โดยปกติ$0ในสคริปต์จะตั้งชื่อของสคริปต์หรือสิ่งที่มันถูกเรียกว่า (รวมถึงเส้นทาง) อย่างไรก็ตามถ้าฉันใช้bashกับ-cตัวเลือกให้$0ตั้งค่าเป็นอาร์กิวเมนต์แรกที่ส่งผ่านหลังจากสตริงคำสั่ง: bash -c 'echo $0 ' foo bar # foo ผลดูเหมือนว่าพารามิเตอร์ตำแหน่งได้รับการเลื่อน $0แต่รวมถึง อย่างไรก็ตามshiftในสตริงคำสั่งจะไม่ส่งผลกระทบ$0(ตามปกติ): bash -c 'echo $0; shift; echo $0 ' foo bar # foo # foo เหตุใดจึงมีพฤติกรรมแปลก ๆ สำหรับสตริงคำสั่ง โปรดทราบว่าฉันกำลังมองหาเหตุผลเหตุผลที่อยู่เบื้องหลังการใช้พฤติกรรมแปลก ๆ หนึ่งสามารถคาดเดาได้ว่าสตริงคำสั่งดังกล่าวไม่จำเป็นต้องใช้$0พารามิเตอร์ตามปกติที่กำหนดไว้ดังนั้นสำหรับการประหยัดก็ยังใช้สำหรับอาร์กิวเมนต์ปกติ อย่างไรก็ตามในกรณีนั้นพฤติกรรมของshiftคี่ ความเป็นไปได้อีกอย่างหนึ่ง$0คือใช้เพื่อกำหนดพฤติกรรมของโปรแกรม (a la bashเรียกว่าshหรือvimเรียกว่า as vi) แต่ไม่สามารถทำได้เนื่องจาก$0ที่นี่จะเห็นได้เฉพาะในสตริงคำสั่งเท่านั้นและไม่ใช่โดยโปรแกรมที่เรียกว่าภายใน ฉันไม่สามารถคิดถึงการใช้งานอื่น ๆ$0ได้ดังนั้นฉันจึงสูญเสียที่จะอธิบายเรื่องนี้
15 bash 


2
มีความแตกต่างระหว่างการเชื่อมโยงกับ cp -l หรือ ln หรือไม่?
ฉันใช้รูปแบบการสำรองข้อมูลโดยใช้ rsync และ hardlinks ฉันรู้ว่าฉันสามารถใช้ link-dest กับ rsync เพื่อทำลิงก์ได้ แต่ฉันเห็นการใช้ "cp -l" ก่อนหน้า "link-dest" ถูกใช้ใน rsync อีกวิธีในการเชื่อมโยงที่ฉันรู้จักคือ "ln" ดังนั้นคำถามของฉันคือจากความอยากรู้: มีความแตกต่างในการทำลิงก์โดยใช้ "cp -l" เมื่อเทียบกับการใช้ "ln" หรือไม่?
15 cp  hard-link  ln 

2
เหตุใด 'find -delete' จึงลบไฟล์ทั้งหมดในไดเรกทอรีซ้ำ
ดังนั้นพฤติกรรมของยูนิกซ์ต่อไปนี้จึงทำให้ฉันเสียค่าใช้จ่ายอย่างมาก: > touch foo > touch bar > ls bar foo > find . -name '*oo' -delete > ls bar > touch baz > ls bar baz > find . -delete -name '*ar' > ls > #WHAAAT? มันสมเหตุสมผลขนาดไหน?
15 files  find 

4
ตั้งค่าการหมดเวลาสำหรับการตอบกลับหน้าเว็บด้วย curl
ฉันใช้เครื่องมือเพื่อตรวจสอบว่าเว็บเพจกำลังทำงานอยู่หรือไม่ เครื่องมือใช้curlคำสั่งภายในเพื่อดึงเอาท์พุท อย่างไรก็ตามเมื่อหน้าเว็บใช้เวลาในการตอบสนองนานขึ้นผลลัพธ์ก็จะกลับมาพร้อมกับTIMEOUTข้อผิดพลาด ไม่มีวิธีที่ฉันสามารถเพิ่มการหมดเวลาจากเครื่องมือ มีวิธีใดบ้างที่จะตั้งค่า / แก้ไขระยะเวลาการหมดเวลาสำหรับการตอบกลับจากหน้าเว็บ มีตัวแปรใดบ้างที่สามารถแก้ไขได้?
15 curl  timeout 

8
นับจำนวนไฟล์ในไดเรกทอรีตามนามสกุล
เพื่อวัตถุประสงค์ในการทดสอบฉันต้องการนับจำนวนไฟล์ภาพที่อยู่ในไดเรกทอรีโดยแยกไฟล์ภาพแต่ละประเภทตามนามสกุลไฟล์ (jpg = "ใช่" เพราะในภายหลังจะมีประโยชน์สำหรับสคริปต์อื่นที่จะเรียกใช้การกระทำ ในแต่ละไฟล์นามสกุล) ฉันสามารถใช้สิ่งต่อไปนี้สำหรับไฟล์ JPEG เท่านั้น jpg="" count=`ls -1 *.jpg 2>/dev/null | wc -l` if [ $count != 0 ] then echo jpg files found: $count ; jpg="yes" fi พิจารณานามสกุลไฟล์ jpg, png, bmp, raw และอื่น ๆ ฉันควรใช้whileวงจรเพื่อทำสิ่งนี้หรือไม่?

2
ความแตกต่างที่แปลกประหลาดระหว่าง pwd และ / bin / pwd
ฉันเพิ่ม symlink ln -s . aaไปยังไดเรกทอรีปัจจุบันด้วย ถ้าผมดำเนินการcd aaและหลังจากที่ผมดำเนินการตอบสนองคือpwd/home/sim/aa แต่ถ้าฉันรัน/bin/pwdมันจะพิมพ์/home/sim(ไดเรกทอรีปัจจุบันไม่เปลี่ยนแปลง) ความแตกต่างนี้มาจากไหน?
15 shell  symlink  pwd 

3
ลบบรรทัดทั้งหมดในไฟล์ A ซึ่งมีสตริงในไฟล์ B
ฉันมีไฟล์ CSV users.csvพร้อมรายชื่อผู้ใช้ชื่อผู้ใช้และข้อมูลอื่น ๆ : username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "Paul McCartny", 30923833, "left", "black" "Ringo Starr", 77392318, "right", "blue" "George Harrison", 72349482, "left", "green" ในไฟล์อื่นtoremove.txtฉันมีรายการหมายเลขผู้ใช้: 30923833 77392318 มีวิธีที่ฉลาดและมีประสิทธิภาพในการลบแถวทั้งหมดออกจากusers.csvไฟล์ที่มีรหัสtoremove.txtหรือไม่ ฉันได้เขียนแอพ Python อย่างง่ายเพื่อแยกไฟล์สองไฟล์และเขียนลงในไฟล์ใหม่เฉพาะบรรทัดที่ไม่พบtoremove.txtแต่มันช้ามากเป็นพิเศษ บางทีเวทมนตร์sedหรือบางอย่างawkอาจช่วยได้ที่นี่ นี่คือผลลัพธ์ที่ต้องการโดยพิจารณาจากตัวอย่างด้านบน: username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "George Harrison", 72349482, …

4
การดาวน์โหลดไฟล์โดยใช้ wget
ฉันพยายามดาวน์โหลดไฟล์จากเว็บไซต์นี้ URL คือ: http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file เมื่อฉันใช้คำสั่งนี้: wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file ฉันได้รับindex.html?acc=GSE48191ซึ่งเป็นรูปแบบไบนารีบางอย่างเท่านั้น ฉันจะดาวน์โหลดไฟล์จากเว็บไซต์ HTTP นี้ได้อย่างไร
15 wget 

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