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

คำถามเหล่านี้เกี่ยวกับ Linux โดยทั่วไป - ไม่เฉพาะเจาะจงสำหรับการแจกจ่ายเฉพาะ หากคำถามเกิดขึ้นในสภาวะแวดล้อม Linux โปรดระบุการกระจาย Linux ของคุณในเนื้อความของคำถามของคุณ แต่อย่าใช้แท็ก / linux

4
ใช้ Valgrind ที่คอมไพล์แล้ว
ฉันได้ดาวน์โหลดแหล่งข้อมูลจากลำต้นของ Valgrind และสร้างขึ้นเพื่อใช้กับระบบ Linux ในตัว (Montavista Linux) ที่ขับเคลื่อนโดย ARM926 (สถาปัตยกรรม ARMv5t) ทุกอย่างเป็นไปด้วยดีจนกระทั่งฉันพยายามเรียกใช้เพื่อตรวจสอบแอปพลิเคชันที่ฉันทำ Valgrind บอกฉัน: "valgrind: ไม่สามารถเริ่มเครื่องมือ 'memcheck' สำหรับแพลตฟอร์ม 'arm-linux': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" การพยายามเรียกใช้เครื่องมืออื่น ๆ จะให้ข้อความเดียวกัน สำหรับการติดตั้งฉันใช้ตัวเลือก --prefix ซึ่งชี้ไปที่ระบบไฟล์ของระบบฝังตัวซึ่งติดตั้งผ่าน NFS (เช่น --prefix = / home / NFS_mounted / opt / valgrind) ฉันตรวจสอบตำแหน่งการติดตั้งและไดเรกทอรีlib ที่นั่นมีเครื่องมือที่เหมาะสม ฉันได้ตรวจสอบไฟล์ pkgconfig ที่เกี่ยวข้องสำหรับ Valgrind แล้วและดูเหมือนว่าจะโอเคฉันเลยไม่รู้จะทำอะไรผิดไป 2 คำถาม: ถูกต้องหรือไม่ที่จะใช้ / ติดตั้ง …


2
ทำไมฉันถึงสูญเสียข้อมูลโดยใช้การสร้างท่อ bash นี้
ฉันกำลังพยายามรวมโปรแกรมบางโปรแกรมเช่นนั้น (โปรดละเว้นการรวมพิเศษใด ๆ นี่เป็นงานที่กำลังดำเนินการอยู่): pv -q -l -L 1 < input.csv | ./repeat <(nc "host" 1234) แหล่งที่มาของโปรแกรมซ้ำมีลักษณะดังนี้: #include <fcntl.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/epoll.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> #include <iostream> #include <string> inline std::string readline(int fd, const size_t len, const char delim = …

3
กระบวนการ superuser สามารถเปลี่ยน ID ผู้ใช้จริงและ ID กลุ่มของกระบวนการไม่ตรงกับในไฟล์รหัสผ่าน?
จาก APUE ID ผู้ใช้จริงและ ID กลุ่มจริงของกระบวนการระบุว่าเราเป็นใคร ทั้งสองฟิลด์นี้นำมาจากรายการของเราในรหัสผ่านเมื่อเราเข้าสู่ระบบโดยปกติค่าเหล่านี้จะไม่เปลี่ยนแปลงในระหว่างการเข้าสู่ระบบแม้ว่าจะมีวิธีสำหรับ กระบวนการ superuser ในการเปลี่ยน กระบวนการ superuser สามารถเปลี่ยน ID ผู้ใช้จริงและ ID กลุ่มจริงของกระบวนการดังนั้นความสัมพันธ์ระหว่าง ID ผู้ใช้จริงและ ID กลุ่มจริงไม่ตรงกับที่อยู่ในไฟล์รหัสผ่านหรือไม่ ตัวอย่างเช่นหากผู้ใช้Timไม่ได้เป็นสมาชิกของกลุ่มoceanต่อไฟล์รหัสผ่านกระบวนการ superuser สามารถเปลี่ยน ID ผู้ใช้จริงและ ID กลุ่มจริงของกระบวนการเป็นTimและoceanตามลำดับได้หรือไม่?
11 linux  users  group 

1
Bash มีปัญหาประสิทธิภาพการทำงานโดยใช้รายการอาร์กิวเมนต์?
แก้ไขในทุบตี 5.0 พื้นหลัง สำหรับพื้นหลัง (และความเข้าใจ (และพยายามหลีกเลี่ยง downvotes คำถามนี้ดูเหมือนจะดึงดูด)) ฉันจะอธิบายเส้นทางที่พาฉันไปที่ปัญหานี้ (ดีที่สุดที่ฉันจำได้ในสองเดือนต่อมา) สมมติว่าคุณทำการทดสอบเชลล์สำหรับรายการอักขระ Unicode: printf "$(printf '\\U%x ' {33..200})" และมีอักขระ Unicode มากกว่า 1 ล้านตัวการทดสอบ 20,000 ตัวนั้นดูเหมือนจะไม่มาก นอกจากนี้สมมติว่าคุณตั้งค่าอักขระเป็นอาร์กิวเมนต์ตำแหน่ง: set -- $(printf "$(printf '\\U%x ' {33..20000})") ด้วยความตั้งใจที่จะส่งผ่านตัวละครไปยังแต่ละฟังก์ชั่นเพื่อประมวลผลพวกเขาในรูปแบบที่แตกต่างกัน ดังนั้นฟังก์ชั่นควรมีรูปแบบtest1 "$@"หรือคล้ายกัน ตอนนี้ฉันรู้แล้วว่าความคิดนี้เลวร้ายแค่ไหน ทีนี้สมมติว่าจำเป็นต้องใช้เวลา (n = 1,000) แต่ละวิธีแก้ปัญหาเพื่อค้นหาว่าดีกว่าภายใต้เงื่อนไขเช่นนี้คุณจะจบลงด้วยโครงสร้างที่คล้ายกับ: #!/bin/bash -- TIMEFORMAT='real: %R' # '%R %U %S' set …
11 linux  bash  time 

3
ทำไมฉันไม่สามารถสร้างฮาร์ดลิงก์จากไฟล์อุปกรณ์ในไดเรกทอรีอื่นที่ไม่ใช่ / dev
เมื่อฉันต้องการสร้างการเชื่อมโยงอย่างหนักใน/homeไดเรกทอรีของฉันในโหมดราก , Linux แสดงข้อความข้อผิดพลาดต่อไปนี้: ln: failed to create hard link ‘my_sdb’ => ‘/dev/sda1’: Invalid cross-device link ข้อความแสดงข้อผิดพลาดด้านบนแสดงอยู่ด้านล่าง: # cd /home/user/ # ln /dev/sda1 my_sdb แต่ฉันสามารถสร้างฮาร์ดลิงก์ใน/devไดเรกทอรีและเป็นไปไม่ได้ในไดเรกทอรีอื่น ตอนนี้ฉันต้องการทราบวิธีสร้างฮาร์ดลิงก์จากไฟล์อุปกรณ์ที่มีอยู่ (เช่นsdb1) ใน/homeไดเรกทอรี (หรือไดเรกทอรีอื่น ๆ ) หรือไม่
11 linux  hard-link  ln 

3
รันเชลล์สคริปต์เมื่อ“ / bin / sh” ชี้ไปที่“ / bin / bash”
ฉันได้อ่านสิ่งต่อไปนี้ในคำถามนี้: bash รองรับสวิตช์ --posix ซึ่งทำให้รองรับ POSIX ได้มากขึ้น นอกจากนี้ยังพยายามที่จะเลียนแบบ POSIX ถ้าเรียกว่าเป็นการดวลจุดโทษ อ้างข้างต้นสันนิษฐานว่าคือการเชื่อมโยงที่ชี้ไปยัง/bin/sh/bin/bash แต่ผมไม่เข้าใจสิ่งที่หมายโดย"เรียกว่าเป็นการดวลจุดโทษ" บอกว่าฉันมีสคริปต์ต่อไปนี้ซึ่งเรียกว่า "script.sh": #!/bin/bash echo "Hello World" โปรดบอกฉันในแต่ละกรณีต่อไปนี้ว่าสคริปต์จะทำงานในbashโหมดปกติหรือในโหมด POSIX (สมมติว่าฉันได้ดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลที่กำลังทำงานอยู่bash): sh script.sh bash script.sh ./script.sh ตอนนี้บอกว่าฉันมีสคริปต์ต่อไปนี้ซึ่งเรียกว่า "script.sh" (ซึ่งเป็นเหมือนสคริปต์ด้านบน แต่ไม่มี Shebang): echo "Hello World" โปรดบอกฉันในแต่ละกรณีต่อไปนี้ว่าสคริปต์จะทำงานในbashโหมดปกติหรือในโหมด POSIX (สมมติว่าฉันได้ดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลที่กำลังทำงานอยู่bash): sh script2.sh bash script2.sh ./script2.sh
11 linux  bash  shell 

1
คุณจะกำหนดหนึ่ง IP ต่อผู้ใช้อย่างไร
ฉันกำลังสร้างเซิร์ฟเวอร์เกม Steam ที่ไม่มีหัวซึ่งใช้การสตรีมในบ้านของ Steam เพื่อให้คนสองคนเล่นในเวลาเดียวกัน ส่วนมัลติเซ็ตของการตั้งค่าเสร็จสิ้นและใช้งานได้ แต่การใช้งานไร้สายนั้นค่อนข้างลำบาก Steam ไคลเอ็นต์เดียวเท่านั้นที่สามารถเปิดใช้งานการสตรีมได้ที่บ้าน นี่น่าจะเกิดจากการใช้พอร์ตและที่อยู่ IP เดียวกัน ฉันจะกำหนดที่อยู่ IP ของผู้ใช้แต่ละคนได้อย่างไร การสตรีมจะทำได้จากภายในเครือข่ายภายในบ้านเท่านั้น ตัวเครื่องมี IP อยู่ 3 ตัวในอินเตอร์เฟสเดียว
11 linux  networking  users  ip 


4
แหล่งที่มาของความคิด "รวบรวมด้วยตัวเอง" คืออะไรใน linux [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันใช้ลีนุกซ์เล็กน้อยในวิทยาลัยและคุ้นเคยกับเงื่อนไข ฉันพัฒนาเป็นภาษา. NET เป็นประจำดังนั้นฉันจึงไม่รู้คอมพิวเตอร์ ที่กล่าวว่าฉันไม่สามารถพูดได้จริงๆว่าฉันเข้าใจ "รวบรวมด้วยตัวเอง" [CIY] ความคิดที่มีอยู่ในวงกลม * ระวัง ฉันรู้ว่ามันจะหายไป แต่ก็ยังคงได้ยินมันเป็นครั้งคราว ในฐานะนักพัฒนาฉันรู้ว่าการตั้งค่าคอมไพเลอร์และการพึ่งพาที่จำเป็นนั้นเป็นความเจ็บปวดในก้นฉันจึงรู้สึกว่ากระบวนการทำงานของ CIY ได้ช่วยให้ * ไม่สามารถเข้าถึงได้มากนัก ปัจจัยทางสังคมหรือทางเทคนิคใดที่นำไปสู่การเพิ่มขึ้นของความคิดของ CIY?
11 linux  history 

9
เปลี่ยนลำดับของบรรทัดในไฟล์
ฉันพยายามเปลี่ยนลำดับของเส้นในรูปแบบเฉพาะ การทำงานกับไฟล์ที่มีหลายบรรทัด (เช่น 99 บรรทัด) สำหรับทุกสามบรรทัดฉันต้องการให้บรรทัดที่สองเป็นบรรทัดที่สามและบรรทัดที่สามจะเป็นบรรทัดที่สอง ตัวอย่าง. 1- อินพุต: gi_1234 My cat is blue. I have a cat. gi_5678 My dog is orange. I also have a dog. ... 2- เอาท์พุท: gi_1234 I have a cat. My cat is blue. gi_5678 I also have a dog. My dog is orange. …

2
bash ไม่สามารถเก็บ hexvalue 0x00 ในตัวแปรได้
ฉันพยายามจะเล่นกลกับ dd ฉันคิดว่ามันจะเป็นไปได้ที่จะเก็บ hexvalues ​​บางอย่างในตัวแปรที่เรียกว่า "header" เพื่อไพพ์ลงใน dd ขั้นตอนแรกของฉันที่ไม่มีตัวแปรคือ: $ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex $ hd hex 00000000 36 c9 da 00 b4 |6....| 00000005 หลังจากนั้นฉันลองทำสิ่งนี้: $ header=$(echo -ne "\x36\xc9\xda\x00\xb4") $ echo -n $header | hd 00000000 36 c9 da b4 |6...| 00000004 อย่างที่คุณเห็นฉันสูญเสีย\x00คุณค่าใน$headerตัวแปร ใครบ้างมีคำอธิบายสำหรับพฤติกรรมนี้หรือไม่? นี่ทำให้ฉันบ้า
11 linux  bash  shell-script  dd 

2
คุณลักษณะ“ เขย่าเพื่อค้นหาเคอร์เซอร์”
ฉันสงสัยว่ามีฟีเจอร์ใน linux เช่น OSX "เขย่าเพื่อค้นหาเคอร์เซอร์" หรือไม่ซึ่งทำให้เมาส์ของผู้ใช้หรือเคอร์เซอร์แทร็คแพดใหญ่ขึ้นชั่วคราวเมื่อเขย่าไปมาทำให้ง่ายต่อการค้นหา

2
i3wm: พื้นที่ทำงานมากกว่า 10 ที่มีคีย์ตัวปรับคู่
เมื่อเร็ว ๆ นี้ฉันเริ่มใช้i3wmและตกหลุมรักมัน อย่างไรก็ตามมีสิ่งหนึ่งที่รบกวนจิตใจฉัน: ควบคุมพื้นที่ทำงานมากกว่า 10 แห่ง ในการกำหนดค่าของฉัน$mod+1เพื่อ$mod+9สลับระหว่างพื้นที่ทำงาน 1 ถึง 9 (และ$mod+010) แต่บางครั้ง 10 พื้นที่ทำงานก็ไม่เพียงพอ ในขณะที่ฉันเอื้อมมือออกไปยังพื้นที่ทำงาน 11-20 ที่มี$mod+mod1+1การตีคือ$mod+mod1+0 mod+alt+numberแน่นอนว่ามันใช้งานได้โดยไม่มีปัญหา แต่มันค่อนข้างยุ่งยากในการสลับพื้นที่ทำงานเช่นนั้นเนื่องจากปุ่มไม่ได้กดได้ง่าย นอกจากนี้การย้ายแอปพลิเคชันระหว่างพื้นที่ทำงาน 11 ถึง 20 จำเป็นต้องmod+shift+alt+number-> น่าเกลียด ในVimการโยงของฉัน(ฉันมีปลั๊กอินจำนวนมาก) ฉันเริ่มใช้ทางลัดตัวแก้ไขสองครั้งเช่นmodkey + rปลั๊กอิน 1 และmodkey + modkey + rปลั๊กอิน 2 วิธีนี้ฉันสามารถผูกปุ่มทุกปุ่มสองครั้งและกดปุ่ม mod สองครั้งง่ายและรวดเร็ว ฉันสามารถทำสิ่งที่คล้ายกันได้i3wmหรือไม่ คุณจะใช้ประโยชน์จากพื้นที่ทำงานมากกว่า 10 แห่งได้i3wmอย่างไร ทางออกอื่น ๆ

2
เราจะสร้างส่วนเชื่อมต่อแบบหลายตัวบน Linux ได้อย่างไร
การสร้างอีเธอร์เน็ตปลอมหุ่นอินเตอร์เฟซบนลินุกซ์ครั้งแรกที่เราเริ่มต้นโปรแกรมควบคุมหุ่นอินเตอร์เฟซที่ใช้ด้านล่างคำสั่ง: / sbin / modprobe หุ่น จากนั้นเรากำหนดนามแฝงของ Interface Ethernet ให้กับ Dummy Driver เราเพิ่งเริ่มต้นข้างต้น แต่จะให้ข้อผิดพลาดร้ายแรงต่อไปนี้ที่บอกว่า: FATAL: ไม่พบโมดูลหุ่นจำลอง นอกจากนี้ที่พา ธ cd / sys / อุปกรณ์ / virtual / net #เราจะเห็นว่ามีอินเตอร์เฟสเสมือนที่มีชื่อต่อไปนี้: dummy0 / lo / sit0 / tunl0 / ifconfig -a dummy0: Link encap:Ethernet HWaddr aa:3a:a6:cd:91:2b BROADCAST NOARP MTU:1500 Metric:1 RX packets:0 errors:0 …

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