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

แท็กนี้เป็นเอกสิทธิ์สำหรับคำถามการเขียนโปรแกรมที่เกี่ยวข้องโดยตรงกับ Unix; ปัญหาซอฟต์แวร์ทั่วไปควรถูกนำไปยังไซต์ Unix & Linux Stack Exchange หรือไปยัง Super User ระบบปฏิบัติการ Unix เป็นระบบปฏิบัติการอเนกประสงค์ที่พัฒนาโดย Bell Labs ในช่วงปลายทศวรรษ 1960 และปัจจุบันมีอยู่ในหลายเวอร์ชั่น

11
เชลล์สคริปต์“ for” ไวยากรณ์วนซ้ำ
ฉันได้งานต่อไปนี้แล้ว: for i in {2..10} do echo "output: $i" done มันผลิตเส้นจำนวนoutput: 2มากoutput: 3และอื่น ๆ อย่างไรก็ตามพยายามที่จะเรียกใช้ต่อไปนี้: max=10 for i in {2..$max} do echo "$i" done ผลิตดังต่อไปนี้: output: {2..10} ฉันจะให้คอมไพเลอร์รู้ได้อย่างไรว่ามันควรจะให้ $ max เป็นส่วนท้ายของอาร์เรย์และไม่ใช่ส่วนหนึ่งของสตริง
191 unix  syntax  shell 

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 


8
การเรียกระบบ brk () ทำหน้าที่อะไร?
ตามคู่มือโปรแกรมเมอร์ Linux: brk () และ sbrk () เปลี่ยนตำแหน่งของตัวแบ่งโปรแกรมซึ่งกำหนดจุดสิ้นสุดของส่วนข้อมูลของกระบวนการ ส่วนข้อมูลหมายถึงอะไรที่นี่ เป็นเพียงส่วนข้อมูลหรือข้อมูล BSS และฮีปรวมกันหรือไม่ ตามวิกิ: บางครั้งข้อมูลพื้นที่ BSS และกองรวมเรียกว่า "ส่วนข้อมูล" ฉันไม่เห็นเหตุผลที่จะเปลี่ยนขนาดของกลุ่มข้อมูล ถ้าเป็นข้อมูลBSSและกองรวมกันมันก็สมเหตุสมผลแล้วเพราะกองจะได้พื้นที่มากขึ้น ซึ่งนำฉันไปที่คำถามที่สองของฉัน ในบทความทั้งหมดที่ฉันอ่านจนถึงตอนนี้ผู้เขียนบอกว่ากองเติบโตขึ้นและกองทับลง แต่สิ่งที่พวกเขาไม่อธิบายก็คือจะเกิดอะไรขึ้นเมื่อฮีปใช้พื้นที่ทั้งหมดระหว่างฮีปกับสแต็ค
184 c  linux  unix  memory-management  brk 

5
เมื่อใดจึงควรใส่เครื่องหมายคำพูดล้อมรอบตัวแปรเชลล์
มีใครบางคนบอกฉันว่าฉันควรจะใส่เครื่องหมายคำพูดล้อมรอบตัวแปรในเชลล์สคริปต์หรือไม่ ตัวอย่างเช่นแก้ไขต่อไปนี้: xdg-open $URL [ $? -eq 2 ] หรือ xdg-open "$URL" [ "$?" -eq "2" ] และถ้าเป็นเช่นนั้นทำไม
184 linux  bash  shell  unix  quotes 

10
การเรียงลำดับไฟล์ที่คั่นด้วยแท็บ
ฉันมีข้อมูลในรูปแบบต่อไปนี้: foo<tab>1.00<space>1.33<space>2.00<tab>3 ตอนนี้ฉันพยายามเรียงลำดับไฟล์ตามฟิลด์สุดท้ายลดลง ฉันลองคำสั่งต่อไปนี้ แต่มันไม่ได้เรียงตามที่เราคาดไว้ $ sort -k3nr file.txt # apparently this sort by space as delimiter $ sort -t"\t" -k3nr file.txt sort: multi-character tab `\\t' $ sort -t "`/bin/echo '\t'`" -k3,3nr file.txt sort: multi-character tab `\\t' วิธีที่ถูกต้องในการทำคืออะไร? นี่คือข้อมูลตัวอย่าง

5
ฉันจะ จำกัด จำนวนผลลัพธ์ที่ส่งคืนจาก grep ได้อย่างไร
ฉันต้องการพูดสูงสุด 10 บรรทัดจาก grep ฉันไม่ต้องการให้คอมพิวเตอร์ทำงานหนัก ฉันต้องการให้มันหยุดหลังจาก 10 ผลลัพธ์ที่พบโดย grep เป็นไปได้ไหม?
180 linux  bash  unix  sh 

9
วิธีใช้คำสั่ง find เพื่อค้นหาไฟล์ทั้งหมดที่มีนามสกุลจากรายการ
ฉันต้องการค้นหาไฟล์รูปภาพทั้งหมดจากไดเรกทอรี (gif, png, jpg, jpeg) find /path/to/ -name "*.jpg" > log จะแก้ไขสตริงนี้เพื่อค้นหาไฟล์. jpg ได้อย่างไร?
179 unix  shell  find 

8
คำสั่ง Unix แสดงคำสั่ง 'ls' เอาต์พุตเชิงตัวเลขของสิทธิ์ chmod ได้หรือไม่?
เป็นไปได้หรือไม่เมื่อแสดงรายการไดเร็กทอรีเพื่อดูสิทธิ์ unix ที่เป็นตัวเลขเช่น 644 แทนที่จะเป็นสัญลักษณ์เอาต์พุต -rw-rw-r-- ขอบคุณ

11
คำสั่ง Unix เพื่อค้นหาบรรทัดที่พบบ่อยในสองไฟล์
ฉันแน่ใจว่าฉันเคยพบคำสั่ง unix ซึ่งสามารถพิมพ์บรรทัดทั่วไปจากไฟล์สองไฟล์ขึ้นไปไม่มีใครรู้จักชื่อของมัน มันง่ายกว่าdiffมาก
179 unix  shell  command-line 

4
วิธีผสานสองไฟล์ทีละบรรทัดใน Bash
ฉันมีไฟล์ข้อความสองไฟล์แต่ละไฟล์มีข้อมูลตามบรรทัดเช่นนั้น file1.txt file2.txt ---------- --------- linef11 linef21 linef12 linef22 linef13 linef23 . . . . . . ฉันต้องการรวมไฟล์เหล่านี้ทีละบรรทัดโดยใช้สคริปต์ทุบตีเพื่อรับ: fileresult.txt -------------- linef11 linef21 linef12 linef22 linef13 linef23 . . . . . . สิ่งนี้สามารถทำได้ใน Bash
178 bash  unix 

8
วิธีฆ่ากระบวนการเด็กหลังจากหมดเวลาที่กำหนดใน Bash?
ฉันมีสคริปต์ทุบตีที่เปิดใช้กระบวนการเด็กที่ล่ม (อันที่จริงแฮงค์) เป็นครั้งคราวและไม่มีเหตุผลที่ชัดเจน (แหล่งปิดดังนั้นจึงไม่มีอะไรที่ฉันสามารถทำได้) เป็นผลให้ฉันต้องการที่จะเปิดตัวกระบวนการนี้ตามระยะเวลาที่กำหนดและฆ่ามันถ้ามันไม่ได้กลับมาสำเร็จหลังจากระยะเวลาที่กำหนด มีวิธีที่ง่ายและมีประสิทธิภาพเพื่อให้บรรลุโดยใช้ทุบตี? PS: บอกฉันว่าคำถามนี้เหมาะกับ serverfault หรือ superuser หรือไม่
178 linux  bash  unix 

8
ค้นหาไฟล์ทั้งหมดที่มีชื่อมีสตริง
ฉันค้นหาคำสั่งที่จะส่งคืนไฟล์จากไดเรกทอรีปัจจุบันซึ่งมีสตริงอยู่ในชื่อไฟล์ ฉันได้เห็นlocateและfindคำสั่งที่สามารถหาไฟล์ที่เริ่มต้นด้วยบางสิ่งบางอย่างหรือลงท้ายด้วยบางสิ่งบางอย่างfirst_word**.jpg ฉันจะคืนรายการไฟล์ที่มีสตริงในชื่อไฟล์ได้อย่างไร ตัวอย่างเช่นถ้า2012-06-04-touch-multiple-files-in-linux.markdownเป็นไฟล์ในไดเรกทอรีปัจจุบัน ฉันจะคืนไฟล์นี้และผู้อื่นที่มีสตริงได้touchอย่างไร การใช้คำสั่งเช่นfind '/touch/'

2
ฉันจะแปลงตัวชี้ไฟล์ (FILE * fp) เป็น file descriptor (int fd) ได้อย่างไร?
ฉันมีกลับด้วยการโทรไปยังFILE * fopen()ฉันจำเป็นต้องได้รับการอธิบายไฟล์จากมันเพื่อการโทรให้เหมือนfsync(fd)มัน ฟังก์ชั่นในการรับไฟล์ descriptor จากตัวชี้ไฟล์คืออะไร?
174 c  linux  unix  file  posix 

10
วิธีต่อท้ายเนื้อหาของไฟล์หลาย ๆ ไฟล์เป็นไฟล์เดียว
ฉันต้องการคัดลอกเนื้อหาของห้าไฟล์ไปยังหนึ่งไฟล์ตามที่เป็นอยู่ ฉันลองทำโดยใช้ cp สำหรับแต่ละไฟล์ แต่นั่นเขียนทับเนื้อหาที่คัดลอกมาจากไฟล์ก่อนหน้า ฉันก็ลอง paste -d "\n" 1.txt 0.txt และมันไม่ทำงาน ฉันต้องการให้สคริปต์ของฉันเพิ่มบรรทัดใหม่ที่ท้ายไฟล์ข้อความแต่ละไฟล์ เช่น. ไฟล์ 1.txt, 2.txt, 3.txt ใส่เนื้อหาของ 1,2,3 ใน 0.txt ฉันต้องทำอย่างไร ?
174 linux  bash  unix 

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