Unix & Linux

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

6
วิธีการดัมพ์ไฟล์ไบนารีเป็นสตริงตัวอักษร C / C ++?
ฉันมีไฟล์ไบนารีที่ฉันต้องการรวมไว้ในซอร์สโค้ด C ของฉัน (เป็นการชั่วคราวเพื่อการทดสอบ) ดังนั้นฉันต้องการได้รับเนื้อหาไฟล์เป็นสตริง C เช่นนี้: \x01\x02\x03\x04 เป็นไปได้นี้อาจโดยใช้odหรือhexdumpสาธารณูปโภค? ในขณะที่ไม่จำเป็นถ้าสตริงสามารถตัดบรรทัดถัดไปทุก 16 อินพุตไบต์และรวมเครื่องหมายคำพูดคู่ที่จุดเริ่มต้นและจุดสิ้นสุดของแต่ละบรรทัดนั่นจะยิ่งดีกว่า! ฉันทราบว่าสตริงจะมีค่า null ที่ฝังอยู่ ( \x00) ดังนั้นฉันจะต้องระบุความยาวของสตริงในโค้ดเพื่อป้องกันไบต์เหล่านี้จากการยกเลิกสตริงก่อน
39 c  hexdump  xxd 

1
การปิดใช้งานจำเป็นต้องมีหรือไม่
ฉันพยายามตั้งค่าสคริปต์การปรับใช้โดยใช้Capistrano ในขั้นตอนcap deploy:setupสคริปต์กำลังเชื่อมต่อกับเซิร์ฟเวอร์ของฉันและพยายามเรียกใช้คำสั่งที่สร้างไดเรกทอรี จากนั้นฉันเห็นข้อผิดพลาด:msudo: sorry, you must have a tty to run sudo มีวิธีแก้ไขปัญหาที่แนะนำให้ปิดใช้งาน requiretty บนเซิร์ฟเวอร์ของฉัน https://unix.stackexchange.com/a/49078/26271 ฉันสงสัยว่าจะปลอดภัยหรือไม่
39 security  sudo  tty 

3
แปลงอาร์เรย์เป็นอาร์กิวเมนต์ของคำสั่งหรือไม่?
ฉันมีอาร์เรย์ของ "ตัวเลือก" ของคำสั่ง my_array=(option1 option2 option3) ฉันต้องการเรียกคำสั่งนี้ในสคริปต์ทุบตีโดยใช้ค่าจากอาร์เรย์เป็นตัวเลือก ดังนั้นcommand $(some magic here with my_array) "$1"กลายเป็น: command -option1 -option2 -option3 "$1" ฉันจะทำมันได้อย่างไร เป็นไปได้ไหม?
39 bash  parameter  array 

4
การแก้ไขที่อยู่ MAC จากที่อยู่ IP ใน Linux
ฉันต้องเขียนสคริปต์ทุบตีซึ่งฉันต้องสร้างไฟล์ที่เก็บรายละเอียดของที่อยู่ IP ของโฮสต์และการจับคู่กับที่อยู่ MAC ที่สอดคล้องกัน มีวิธีใดที่เป็นไปได้ที่ฉันสามารถค้นหาที่อยู่ MAC ของโฮสต์ (ระยะไกล) ใด ๆ เมื่อมีที่อยู่ IP ของโฮสต์อยู่

1
“ ไฟล์แปลก” คืออะไร?
แอปพลิเคชันที่ฉันใช้จะไม่เริ่มต้นด้วยข้อความผู้ใช้นี้: [Errno 13] Permission denied: '/home/sleblanc/.config/app/.config เมื่อฉันใช้lsไฟล์จะปรากฏขึ้นเช่น: ?--------- 1 root root 0 Dec 31 1969 .config การเรียกใช้สถิติในไฟล์ให้สิ่งนี้กับฉัน: % stat .config File: .config Size: 0 Blocks: 0 IO Block: 4096 weird file Device: 2dh/45d Inode: 9799944 Links: 1 Access: (0666/?rw-rw-rw-) Uid: ( 1000/ sleblanc) Gid: ( 1000/ sleblanc) Access: 1969-12-31 19:00:00.000000000 …
38 filesystems  stat 

1
วิธีสร้างเว็บไซต์ darknet / Tor ใน Linux
ฉันได้ยินมาบ่อยเกี่ยวกับการสร้างเว็บไซต์darknetเมื่อเร็ว ๆ นี้ ฉันยังใช้เบราว์เซอร์ของ Torบ่อยครั้ง torบริการทำงานในเซิร์ฟเวอร์ Debian ที่บ้านของฉันและมันถูกติดตั้งด้วย: sudo apt-get install tor ฉันมีความคิดวิธีการทองานเครือข่ายและใช้torifyครั้งในขณะที่ใน Linux และ MacOS สำหรับทำแบบทดสอบบางคนที่มีsshและwgetผ่านเครือข่าย Tor ฉันสังเกตเห็นสิ่งต่อไปนี้ /etc/tor/torrc #HiddenServiceDir /var/lib/tor/hidden_service/ #HiddenServicePort 80 127.0.0.1:80 อย่างไรก็ตามจะไปจากที่นั่นได้อย่างไร มีการ.onionสร้างเว็บไซต์ / ชื่ออย่างไร พื้นฐานเกี่ยวกับการตั้งค่าบริการดังกล่าวใน Linux คืออะไร?
38 debian  security  tor 

7
Linux เทียบเท่ากับการควบคุมระยะไกลแบบหนึ่งต่อหลายของ PowerShell
มาจากการดูแลของ Windows ฉันต้องการขุดลึกลงไปใน Linux (Debian) หนึ่งในคำถามที่กำลังลุกไหม้ของฉันที่ฉันไม่สามารถหาคำตอบในการค้นหาเว็บ (ไม่พบมัน) คือ: ฉันจะบรรลุการ remoting "หนึ่งต่อหลาย" ที่เรียกว่าเช่นใน PowerShell สำหรับ Windows ได้อย่างไร หากต้องการทำลายข้อมูลพื้นฐานฉันจะพูดว่า: มุมมองของฉันบน Linux: ฉันสามารถ ssh ลงในเซิร์ฟเวอร์และพิมพ์คำสั่งของฉัน ฉันได้รับผลลัพธ์ สำหรับสภาพแวดล้อมของเซิร์ฟเวอร์ 10 แห่งฉันจะต้องเขียนสคริปต์ (perl / python?) เพื่อส่งคำสั่งสำหรับแต่ละเซิร์ฟเวอร์หรือไม่ ประสบการณ์ของฉันจาก Windows: ฉันพิมพ์คำสั่งของฉันและด้วยคำสั่ง "เรียกใช้คำสั่ง" ฉันสามารถ "ส่ง" สิ่งนี้ไปยังเซิร์ฟเวอร์จำนวนมาก (อาจมาจากไฟล์ข้อความ) เพื่อดำเนินการพร้อมกันและรับผลลัพธ์กลับมา (เป็นวัตถุสำหรับการทำงานต่อไป) ฉันยังสามารถสร้างหลายเซสชันการเชื่อมต่อถูกเก็บไว้ในพื้นหลังและเลือกส่งคำสั่งไปยังเซสชันเหล่านี้และรีโมทเข้าและออกอย่างที่ฉันต้องการ (ฉันเคยได้ยินพ่อครัวหุ่นเชิดและอื่น ๆ นี่เป็นอย่างนั้นเหรอ?) Update 2019: หลังจากลองมาก - ฉันแนะนำRex (ดูความคิดเห็นด้านล่างนี้ …

3
ทำไมมีนโยบายเคอร์เนลของ Linux ที่จะไม่ทำลายพื้นที่ผู้ใช้?
ฉันเริ่มคิดถึงปัญหานี้ในบริบทของมารยาทในลิสต์การส่งเมลเคอร์เนล ในฐานะที่เป็นโครงการซอฟท์แวร์ฟรีที่เป็นที่รู้จักและประสบความสำเร็จมากที่สุดในโลกลินุกซ์เคอร์เนลจึงได้รับความนิยม และผู้ก่อตั้งและผู้นำโครงการ Linus Torvalds ไม่ต้องการคำแนะนำที่นี่อย่างชัดเจน ไลนัสดึงดูดความขัดแย้งกับเปลวไฟบน LKML เป็นครั้งคราว เปลวไฟเหล่านี้เกิดขึ้นบ่อยครั้งโดยการยอมรับของเขาเองที่เกี่ยวข้องกับการแบ่งพื้นที่ผู้ใช้ ซึ่งนำมาสู่คำถามของฉัน ฉันสามารถมีมุมมองทางประวัติศาสตร์เกี่ยวกับสาเหตุที่ทำให้การแบ่งพื้นที่ผู้ใช้เป็นเรื่องเลวร้ายได้หรือไม่ ตามที่ฉันเข้าใจแล้วการแบ่งพื้นที่ของผู้ใช้จะต้องมีการแก้ไขในระดับแอปพลิเคชัน แต่นี่เป็นสิ่งที่ไม่ดีถ้ามันปรับปรุงรหัสเคอร์เนล ตามที่ฉันเข้าใจแล้วนโยบายที่ระบุไว้ของ Linus คือการไม่ทำลายพื้นที่ของผู้ใช้ทำให้สำคัญกว่าทุกอย่างรวมถึงคุณภาพของรหัส เหตุใดสิ่งนี้จึงสำคัญและข้อดีและข้อเสียของนโยบายดังกล่าวคืออะไร (เห็นได้ชัดว่ามีข้อเสียบางประการเกี่ยวกับนโยบายดังกล่าวซึ่งมีการนำมาใช้อย่างสม่ำเสมอเนื่องจากบางครั้งไลนัสมี "ความไม่เห็นด้วย" กับผู้แทนระดับสูงของ LKML ในหัวข้อนี้อย่างแน่นอนเท่าที่ฉันสามารถบอกได้

4
รวมวิดีโอคลิปสองคลิปเข้าด้วยกันโดยวางไว้ใกล้กัน
ฉันมีสองคลิปวิดีโอ ทั้งสองคือ 640x480 และ 10 นาทีสุดท้าย หนึ่งประกอบด้วยเสียงพื้นหลังส่วนอีกคนหนึ่งเป็นนักแสดงร้องเพลง ฉันต้องการสร้างวิดีโอคลิปความยาว 10 นาทีขนาด 1280x480 (อีกนัยหนึ่งฉันต้องการวางวิดีโอไว้ถัดจากกันและเล่นพร้อมกันโดยผสมเสียงจากคลิปทั้งสอง) ฉันพยายามที่จะคิดออกว่าจะทำอย่างไรกับ ffmpeg / avidemux แต่จนถึงตอนนี้ฉันก็ว่างเปล่า พวกเขาทั้งหมดอ้างถึงการต่อข้อมูลเมื่อฉันค้นหาการรวม คำแนะนำใด ๆ
38 video  ffmpeg  avidemux 

3
ชื่อรหัส Linux Debian
ฉันมีไม่กี่ค่อนข้างโง่คำถามที่ไม่ใช่ด้านเทคนิคเกี่ยวกับการให้codenamesเพื่อDebianเผยแพร่ แต่ละรุ่น Debian มีสมญานามที่เป็นเอกลักษณ์ซึ่งเป็น (ไกล) ชื่อตัวละครจากToy Storyภาพยนตร์โดยพิกซาร์ นี่คือรายการชื่อรหัสที่กำหนดทั้งหมด: รุ่น1.1คือbuzz(Buzz Lightyear) - นักบินอวกาศ ปล่อย1.2เป็นrex- Tyrannosaurus ที่ รุ่น1.3.xคือbo(Bo Peep) - เด็กผู้หญิงที่ดูแลแกะ รุ่น2.0คือhamm- กระปุกออมสิน ปล่อย2.1มีslink(Slinky Dog) - สุนัขของเล่น ปล่อย2.2เป็นpotato- นายมันฝรั่ง, รุ่น3.0คือwoody- คาวบอย รุ่น3.1คือsarge- จ่าทหารกองทัพพลาสติกสีเขียว รุ่น4.0คือetch- กระดานดำของเล่น (Etch-a-Sketch) รุ่น5.0คือlenny- กล้องส่องทางไกลของเล่น ปล่อย6.0คือsqueeze- ชื่อสำหรับคนต่างด้าวสามตา รุ่น7.0คือwheezy- ชื่อของเพนกวินของเล่นยางพร้อมกับโบว์ผูกโบว์สีแดง ปล่อย8.0คือjessie- ชื่อของ Cowgirl yodelling รุ่น9.0คือstretch- ของเล่นปลาหมึกยางสีม่วงที่Sunnyside Daycare (ปัจจุบันมีเสถียรภาพ ) รายชื่อ …

4
ทุบตีเปิดไฟล์ใน O_APPEND เมื่อใช้“ >>” บน linux หรือไม่
ถ้าเราใช้echo 1234 >> some-fileแล้วเอกสารระบุว่าเอาท์พุทจะถูกผนวกเข้า ฉันเดาว่าถ้าไม่มีไฟล์บางไฟล์ O_CREAT จะสร้างไฟล์ใหม่ ถ้า>ใช้แล้ว O_TRUNC จะตัดทอนไฟล์ที่มีอยู่ ในกรณีของ>>: ไฟล์จะถูกเปิดเป็น O_WRONLY (หรือ O_RDWR) และพยายามที่จะจบและเขียนการดำเนินการจำลอง O_APPEND? หรือไฟล์จะถูกเปิดเป็น O_APPEND ปล่อยให้มันอยู่ในเคอร์เนลเพื่อให้แน่ใจว่าการต่อท้ายเกิดขึ้น? ฉันกำลังถามเรื่องนี้เพราะกระบวนการ conserver เขียนทับเครื่องหมายบางตัวที่ใส่โดย echo เมื่อไฟล์เอาต์พุตมาจากจุดเมานต์ของ NFS & เอกสารของ NFS บอกว่า O_APPEND ไม่รองรับเซิร์ฟเวอร์ดังนั้นเคอร์เนลไคลเอ็นต์จะต้องจัดการมัน ฉันเดาว่ากระบวนการ conserver ใช้ O_APPEND แต่ไม่แน่ใจในการทุบตี>>กับ linux ดังนั้นจึงถามคำถามที่นี่
38 linux  files  nfs  glibc 

3
จะเริ่ม grep แบบหลายเธรดในเทอร์มินัลได้อย่างไร?
ฉันมีโฟลเดอร์ที่มี 250 ไฟล์ไฟล์ละ 2 GB ฉันต้องการค้นหาสตริง / รูปแบบในไฟล์เหล่านั้นและส่งออกผลลัพธ์ในoutputไฟล์ ฉันรู้ว่าฉันสามารถเรียกใช้คำสั่งต่อไปนี้ แต่ช้าเกินไป !! grep mypattern * > output ฉันต้องการเพิ่มความเร็ว การเป็นโปรแกรมเมอร์ใน Java ฉันรู้ว่าสามารถใช้มัลติเธรดเพื่อเร่งกระบวนการได้ ฉันติดอยู่กับวิธีการเริ่มต้นgrepใน "โหมดมัลติเธรด" และเขียนผลลัพธ์ลงในoutputไฟล์เดียว
38 grep  parallelism 

2
เหตุใดการใช้ && 75 ครั้งเร็วกว่าถ้า ... fi และวิธีทำให้โค้ดชัดเจนขึ้น
ฉันมีรหัสการทำงานต่อไปนี้: largest_prime=1 for number_under_test in {1..100} do is_prime=true factors='' for ((divider = 2; divider < number_under_test-1; divider++)); do remainder=$(($number_under_test % $divider)) [ $remainder == 0 ] && [ is_prime ] && is_prime=false && factors+=$divider' ' done [ $is_prime == true ] && echo "${number_under_test} is prime!" || echo "${number_under_test} is …

5
ฉันจะทำพล็อตกราฟิกในลำดับของตัวเลขจากอินพุตมาตรฐานได้อย่างไร
หากมีไฟล์ข้อความยาวและฉันต้องการที่จะแสดงทุกบรรทัดที่มีรูปแบบที่กำหนดเกิดขึ้นฉันจะ: grep -n form innsmouth.txt | cut -d : -f1 ตอนนี้ฉันมีลำดับของตัวเลข (หนึ่งหมายเลขต่อบรรทัด) ฉันต้องการสร้างการแสดงกราฟิก 2D ด้วยการเกิดขึ้นบนแกน x และหมายเลขบรรทัดบนแกน y ฉันจะบรรลุสิ่งนี้ได้อย่างไร

4
มีเครื่องมือทุบตีง่ายๆที่สามารถแสดง HTML พื้นฐานได้อย่างรวดเร็ว?
ในบางครั้งฉันต้องทำงานง่ายๆโดยที่ฉันส่ง HTML พื้นฐานไปยังคอนโซล ฉันต้องการให้แสดงผลน้อยที่สุดเพื่อให้อ่านง่ายขึ้น มียูทิลิตี้ที่สามารถจัดการการแสดง HTML ขั้นพื้นฐานในเชลล์ได้หรือไม่ (คิดว่าเป็นการแสดงผลแบบLynx - แต่ไม่ใช่เบราว์เซอร์จริง)? ตัวอย่างเช่นบางครั้งฉันจะใส่watchในmod_statusหน้าของ Apache : watch -n 1 curl http://some-server/server-status ผลลัพธ์ของหน้าคือ HTML ที่มีมาร์กอัปน้อยที่สุดซึ่งแสดงในเชลล์เช่น: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html><head> <title>Apache Status</title> </head><body> <h1>Apache Server Status for localhost</h1> <dl><dt>Server Version: Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.15 with Suhosin-Patch</dt> <dt>Server Built: Jul 22 2014 14:35:25 …

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