Unix & Linux

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

6
มีเชลล์สคริปต์ IDE ที่รู้จักและใช้กันดีสำหรับ Un * x หรือไม่?
มี IDE ใด ๆ ที่กำหนดเป้าหมายที่เชลล์สคริปต์โดยเฉพาะสคริปต์ทุบตีและ zsh หรือไม่ นี่หมายถึงการมีการเน้นไวยากรณ์สำหรับเชลล์สคริปต์และสภาพแวดล้อมการดีบักที่สำคัญกว่าด้วยคุณสมบัติเช่นเบรกพอยต์การตรวจสอบตัวแปรและการปรับเปลี่ยน ฯลฯ เช่นเดียวกับที่มีให้สำหรับภาษาการเขียนโปรแกรมทั่วไปเช่น Python, Java และ C ยกตัวอย่างเช่น Microsft ของ Windows Powershellมี IDEs เช่น Powershell พลัสและPowerGUI Googling สร้างการรวมกันของShellEdซึ่งเป็นปลั๊กอิน Eclipse สำหรับการแก้ไขเชลล์สคริปต์และ BashEclipseซึ่งเป็นดีบักเกอร์ Bash ที่ทำงานกับ ShellEd; ฉันยังไม่ได้ลองเลย มีเชลล์สคริปต์ IDE อื่น ๆ สำหรับ Un * x คล้ายกับคอมโบนี้หรือไม่? ใครบ้างมีประสบการณ์กับพวกเขาบ้างไหม?
23 bash-script  ide 

2
ทำไม sshd ต้องใช้พา ธ สัมบูรณ์
เหตุใดจึงsshdต้องใช้พา ธ สัมบูรณ์เมื่อรีสตาร์ทเช่น/usr/sbin/sshdแทนที่จะเป็นsshd มีผลกระทบด้านความปลอดภัยหรือไม่? ป.ล. ข้อผิดพลาด: # sshd sshd re-exec requires execution with an absolute path

4
Apache2 ไม่ทำงานบนพอร์ต IPv4 tcp
ฉันต้องการรัน Apache2 บนเซิร์ฟเวอร์ Debian 7 ของฉัน แต่จะรันเฉพาะบนพอร์ต tcpv6 ไม่ใช่บนพอร์ต tcpv4 ฉันติดตั้งมันด้วย apt-get install หากฉันไปที่ localhost หรือ 127.0.0.1 หรือที่อยู่ IPv4 เซิร์ฟเวอร์ของฉันจะไม่แสดงเว็บไซต์ใด ๆ ของฉัน/etc/apache2/ports.conf: # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This …

2
ใช่ $ (ใช่ใช่) ทำอะไร?
สงสัยว่าใช้yesคำสั่งใดฉันอาจสะดุดความคิดเห็นนี้และพยายามที่จะดำเนินการ yes $(yes yes) จากสิ่งที่ฉันเข้าใจนี่ควรพิมพ์ลำดับที่ไม่มีที่สิ้นสุดyesแต่กลับไม่มีอะไรออกมาและทำให้จอเทอร์มินัลกราฟิกของฉันล้มเหลวหลังจากนั้นไม่กี่วินาที (ถ้าฉันรันบน tty1 ฉันจะเห็นพร้อมต์ล็อกอินหลังจากผ่านไประยะหนึ่ง) เกิดอะไรขึ้นที่นี่
23 command 

3
วิธีการตั้งค่าอุปกรณ์ลูปแบ็คที่เติบโตได้?
ฉันรู้ว่าฉันสามารถสร้างและใช้อุปกรณ์วนรอบดังนี้: # Create the file truncate disk.img --size 2G # Create a filesystem mkfs.ext4 disk.img # Mount to use mount disk.img /mnt # Clean up umount /mnt อย่างไรก็ตามในกรณีนี้ภาพดิสก์ได้รับการแก้ไขที่ 2GB เป็น 2GB เมื่อว่างเปล่าและ 2GB เมื่อเต็ม มันจะไม่เติบโต มีอุปกรณ์ลูปแบ็คที่สามารถขยายขนาดได้หรือไม่? หรือว่ามีอุปกรณ์ลูปแบ็คที่ต้องการพื้นที่มากเท่าที่เก็บไว้

1
ฉันจะแสดงรายการชื่อสีที่มีอยู่ได้อย่างไร
ฉันกำลังพยายามเพิ่มสีลงในการตั้งค่า git ของฉันและฉันต้องการทราบว่าชื่อสีใดบ้างที่มีอยู่ในเครื่อง ฉันต้องการใช้สีตามชื่อเพื่อให้ผู้อื่นเข้าใจได้ง่ายขึ้น ฉันไม่ต้องการเพิ่มสีใหม่ - ฉันแค่ต้องการเลือกจากชื่อที่กำหนดไว้ล่วงหน้า ฉันต้องการโซลูชันที่ใช้งานได้กับทุก distros แต่ส่วนใหญ่ Debian มันคงจะดีถ้าได้เห็นสีที่ชื่อบ่งบอก การอ้างอิงออนไลน์จำนวนมากมักพูดถึงชื่อสีที่ไม่ได้กำหนดไว้ในระบบของฉันดังนั้นฉันจึงต้องการวิธีดูตัวเลือกเริ่มต้นของฉัน
23 terminal  colors 

3
ฉันสามารถใช้เครื่องมือใดในการดมปริมาณข้อมูล HTTP / HTTPS
ฉันกำลังมองหาเครื่องมือบรรทัดคำสั่งที่สามารถสกัดกั้นคำขอ HTTP / HTTPS แยกข้อมูลเช่น: (เนื้อหาปลายทาง ฯลฯ ) ดำเนินการวิเคราะห์ต่าง ๆ และสุดท้ายกำหนดว่าคำขอควรจะลดลงหรือไม่ คำขอทางกฎหมายจะต้องถูกส่งต่อไปยังแอปพลิเคชัน เครื่องมือที่มีลักษณะคล้ายกันtcpdump, WiresharkหรือSnortแต่ดำเนินการในระดับของ HTTP อ้างอิง สกัดกั้นคำขอ HTTP บน Linux

4
อะไรคือความแตกต่างระหว่าง echo `date ', echo“` date'” และ echo '' date ''?
ความแตกต่างระหว่างสามคำสั่งเหล่านี้คืออะไร? echo `date` echo "`date`" echo '`date`' ฉันสับสนในความแตกต่างจริง ๆ ฉันคิดว่าเมื่อ 'อยู่ใกล้ก็หมายความว่ามันเป็นสตริงดังนั้นเสียงก้องจะออกสตริงdateแทนที่จะแสดงวันที่?
23 shell  quoting  echo 

4
ตัวเลือกการสร้างเคอร์เนลปัจจุบันเก็บอยู่ที่ไหน
มีวิธีทราบหรือไม่ว่าเคอร์เนลถูกคอมไพล์ด้วยตัวเลือกบางตัวที่เปิดใช้งาน (เช่นCONFIG_PROC_EVENTS=y) โดยไม่ต้องดึงแพ็กเกจซอร์สเคอร์เนลออกและค้นหาในไฟล์ปรับแต่งหรือไม่?

7
เป็นเรื่องปกติหรือไม่ที่จะแบ่งสคริปต์ขนาดใหญ่ออกเป็นหลาย ๆ สคริปต์และส่งมาที่สคริปต์หลัก
ในขณะนี้ฉันกำลังพัฒนาสคริปต์ Bash ที่มีขนาดใหญ่ขึ้น (มันเป็นโครงการโอเพ่นซอร์สของฉัน) และมันเริ่มเป็นระเบียบ ฉันแบ่งลอจิกเป็นฟังก์ชันใช้ตัวแปรท้องที่ที่ฉันสามารถและได้ประกาศตัวแปรระดับโลกเพียงเล็กน้อยเท่านั้น ถึงกระนั้นมันก็ค่อนข้างยากที่จะรักษา ฉันคิดถึงการแบ่งสคริปต์ออกเป็นหลาย ๆ สคริปต์และส่งมาที่สคริปต์หลักของฉัน (คล้ายกับการนำเข้าในภาษาอื่น) แต่ฉันสงสัยว่านี่เป็นวิธีที่เป็นไปได้หรือไม่ อย่างแรกการจัดหาหลายสคริปต์อาจทำให้เวลาในการประมวลผลของสคริปต์ช้าลงและอย่างที่สองคือทำให้การกระจายยากขึ้น นี่เป็นวิธีการที่ดีหรือไม่และโครงการอื่น ๆ (Open Source) ทำเช่นเดียวกันหรือไม่
23 bash 

7
ทดแทนสองและสามในทุบตีและ zsh
ติดตามส่วนพื้นหลังในคำถามนี้ ในbashที่ฉันสามารถใช้เพื่อทดแทนคู่ใน${!FOO} zsh ${(P)FOO}ทั้งในโรงเรียนเก่า (แฮ็ค - y) eval \$$FOOทำงาน ดังนั้นสิ่งที่ฉลาดและสมเหตุสมผลที่สุดสำหรับฉันคือ${${FOO}}, ${${${FOO}}}…การทดแทนสอง / สาม / n เหตุใดจึงไม่ทำงานตามที่คาดไว้ ประการที่สอง: สิ่งที่\ทำในevalคำสั่ง? ฉันคิดว่ามันเป็นการหลบหนีทำให้บางอย่างeval \$$$FOOเป็นไปไม่ได้ จะทำการทดแทนแบบสาม / n ด้วยสิ่งนั้นได้อย่างไรในทุกเชลล์?

4
โปรแกรม userspace อยู่ที่ไหนควรบันทึกบันทึกของพวกเขา?
ฉันกำลังเขียนสคริปต์ที่ฉันต้องการเรียกใช้โดยไม่มีสิทธิ์พิเศษ ฉันต้องการข้อผิดพลาดที่สคริปต์พบเพื่อเข้าสู่ระบบไฟล์บันทึก /var/logผมไม่ได้มีสิทธิพิเศษในการเขียนที่หนึ่งไปยัง และฉันไม่ต้องการที่จะมีหนึ่งในไดเรกทอรีบ้านของฉัน มีตำแหน่งที่สคริปต์ userspace อาจบันทึกข้อมูลรันไทม์หรือไม่ แนวปฏิบัติที่ดีที่สุดในการให้ข้อมูลบันทึกสคริปต์ของฉันคืออะไร/var/logโดยไม่สร้างปัญหาด้านความปลอดภัยที่อาจเกิดขึ้น ฉันลังเลที่จะตั้ง uid / gid ในสคริปต์

4
ส่งไฟล์โดยโปรโตคอล xmodem หรือ kermit ด้วยหน้าจอ GNU
ผมทำงานกับอุปกรณ์ RS-232 ผ่าน screenGNU $ screen /dev/ttyUSB0 115200 ในบางจุดฉันจำเป็นต้องส่งไฟล์โลคัลไปยังอุปกรณ์โดยใช้โปรโตคอลxmodemหรือ kermitใน Windows ฉันใช้ TeraTerm ซึ่งมีรายการเมนูที่เกี่ยวข้อง ฉันจะบรรลุสิ่งนี้ในหน้าจอ GNU ได้อย่างไร

3
bash - ฉันสามารถทำได้: ค้นหา ... - ทำสิ่งนี้ && ได้ไหม?
มีวิธีการรวมคำสั่งเชลล์สองคำสั่งที่เรียกใช้กับfind - execหรือไม่? เช่นการพิมพ์ไฟล์. csvทั้งหมดที่มีสตริง foo พร้อมกับการเกิดขึ้นของมันฉันต้องการจะทำ: find . -iname \*.csv -exec grep foo {} && echo {} \; แต่ทุบตีบ่นกับ "อาร์กิวเมนต์ที่หายไปเป็น '-exec'"
23 bash  find 

2
เป็นไปได้หรือไม่ที่ nohup จะเขียนเอาต์พุตทั้งสองไปยังไฟล์ nohup.out AND ไปยังหน้าจอ / เทอร์มินัล?
ฉันกำลังใช้bashเปลือก ฉันใช้เป็นประจำnohupเพื่อให้แน่ใจว่ากระบวนการของฉันจะไม่หยุดทำงานเมื่อฉันปิดเชลล์ / เทอร์มินัลที่สตาร์ท ฉันใช้ไวยากรณ์เช่น: nohup myprocess เมื่อเริ่มต้นnohupให้ข้อความ: nohup: ignoring input and appending output to 'nohup.out' จากนั้นnohupไม่ให้เอาต์พุตไปที่หน้าจออีกต่อไป; nohup.outมันเป็นสิ่งที่เขียนไป อย่างไรก็ตามบ่อยครั้งที่ฉันต้องการติดตามความคืบหน้าของการคำนวณของฉัน ฉันสามารถทำได้โดยการอ่านnohup.outโดยใช้viหรือtailแต่อาจใช้เวลานานในการทำมากโดยเฉพาะเมื่อการคำนวณของฉันใช้เวลาหลายชั่วโมง มีวิธีใดบ้างที่ฉันสามารถพิมพ์เอาต์พุตไปยังทั้งสองอย่าง nohup.out (ในกรณีที่ฉันขาดการเชื่อมต่ออินเทอร์เน็ตและเทอร์มินัลที่เริ่มกระบวนการปิด) และหน้าจอ? ขอบคุณที่สละเวลา.
23 bash  shell  nohup 

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