Unix & Linux

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

2
systemd ใช้สคริปต์ /etc/init.d อย่างไร
ฉันเพียงแค่เปลี่ยนไปเดเบียน jessie wdmและสิ่งที่มากที่สุดทำงานโอเครวมทั้งผู้จัดการการแสดงผลกราฟิกของฉัน สิ่งนี้คือฉันไม่เข้าใจว่ามันทำงานอย่างไร เห็นได้ชัดว่า/etc/init.d/wdmสคริปต์ของฉันถูกเรียกเพราะเมื่อฉันใส่ไว้exitในนั้น wdm จะไม่เริ่ม แต่เมื่อฉันเปลี่ยนชื่อไดเรกทอรี /etc/rc3.d อีกทางหนึ่ง (runlevel เริ่มต้นของฉันเคยเป็น 3) แล้ว wdm ก็ยังคงเริ่มทำงาน ฉันไม่สามารถหาวิธีที่ systemd ค้นหาสคริปต์นี้และฉันไม่เข้าใจว่ามันทำอะไรกับสคริปต์ init.d อื่น ๆ ทั้งหมด systemd รัน init.d scrips เมื่อใดและอย่างไร ในระยะยาวฉันควรกำจัดสคริปต์ init.d ทั้งหมดหรือไม่


4
วิธีทำให้เครื่องสามารถเข้าถึงได้จาก LAN โดยใช้ชื่อโฮสต์
นี่คือรายละเอียดของเครื่องที่ฉันต้องการเข้าถึงโดยใช้ชื่อโฮสต์: $ hostname hostname $ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 hostname.company.local hostname มันเป็นค่าเริ่มต้นของ Debian 6 (Squeeze) ที่ติดตั้งดังนั้นฉันยังไม่ได้ทำอะไรเลย นี่คือสิ่งที่ฉันได้รับจากเครื่อง (เรียกใช้ Debian Unstable) พยายามเข้าถึงเครื่องด้านบน: $ ping hostname ping: unknown host hostname $ ping hostname.company.local ping: unknown host hostname.company.local $ cat /etc/resolv.conf nameserver 192.168.2.21 nameserver 192.168.2.51 search company.local
120 networking 

8
วิธีใดที่ปลอดภัยที่สุดในการรับสิทธิ์รูท: sudo, su หรือ login
ฉันต้องการให้บัญชีรูทมีความปลอดภัยแม้ว่าผู้ใช้ที่ไม่มีสิทธิ์ของฉันจะถูกบุกรุก บน Ubuntu คุณสามารถใช้ sudo ได้เฉพาะ "เหตุผลด้านความปลอดภัย" เท่านั้น อย่างไรก็ตามฉันไม่แน่ใจว่ามันปลอดภัยกว่าแค่ใช้ล็อกอินบนคอนโซลโหมดข้อความ มีหลายสิ่งหลายอย่างที่อาจผิดปกติได้หากผู้โจมตีสามารถเรียกใช้รหัสในฐานะผู้ใช้ปกติของฉันได้ ตัวอย่างเช่นการเพิ่มชื่อแทนการเพิ่มสิ่งต่างๆลงใน PATH ของฉันการตั้งค่าคีย์ล็อกเกอร์ LD_PRELOAD และ X11 เพื่อพูดถึงบางอย่าง ข้อได้เปรียบเดียวที่ฉันเห็นคือหมดเวลาดังนั้นฉันจึงไม่ลืมที่จะออกจากระบบ ฉันมีข้อสงสัยเหมือนกันเกี่ยวกับ su แต่มันไม่มีเวลา จำกัด การดำเนินการบางอย่าง (โดยเฉพาะการเปลี่ยนเส้นทาง IO) มีความมั่นใจมากขึ้นกับ su แต่การรักษาความปลอดภัยที่ชาญฉลาดน่าจะแย่กว่านี้ การลงชื่อเข้าใช้บนคอนโซลโหมดข้อความนั้นปลอดภัยที่สุด เนื่องจากมันเริ่มต้นโดย init หากผู้โจมตีสามารถควบคุม PATH หรือ LD_PRELOAD ได้ กิจกรรม keypress ไม่สามารถดักจับโดยโปรแกรมที่ทำงานบน X ฉันไม่รู้ว่าโปรแกรมที่ทำงานบน X สามารถดักจับ [ctrl] + [alt] + [f1] (และเปิดหน้าต่างเต็มหน้าจอที่ดูเหมือนคอนโซล) หรือ …
120 security  sudo  login  su  privileges 

1
การอ้างอิงสองครั้งจำเป็นเมื่อใด
คำแนะนำเก่าที่ใช้ในการอ้างอิงสองครั้งนิพจน์ใด ๆ ที่เกี่ยวข้องกับ a $VARIABLE, อย่างน้อยถ้าใครอยากให้มันถูกตีความโดยเชลล์เป็นหนึ่งรายการเดียวมิฉะนั้นช่องว่างใด ๆ ในเนื้อหาของ$VARIABLEจะทิ้งเปลือก อย่างไรก็ตามฉันเข้าใจว่าใน shells รุ่นที่ใหม่กว่านั้นการอ้างสองครั้งไม่จำเป็นอีกต่อไป (อย่างน้อยก็เพื่อจุดประสงค์ที่อธิบายไว้ข้างต้น) ตัวอย่างเช่นในbash: % FOO='bar baz' % [ $FOO = 'bar baz' ] && echo OK bash: [: too many arguments % [[ $FOO = 'bar baz' ]] && echo OK OK % touch 'bar baz' % ls $FOO ls: …

3
ค้นหาและลบไฟล์ขนาดใหญ่ที่เปิดอยู่ แต่ถูกลบไปแล้ว
จะพบไฟล์ขนาดใหญ่ที่ถูกลบ แต่ยังคงเปิดอยู่ในแอปพลิเคชั่นได้อย่างไร? เราจะลบไฟล์นั้นออกได้อย่างไรแม้ว่ากระบวนการจะเปิดขึ้นมาก็ตาม สถานการณ์คือเรากำลังเรียกใช้กระบวนการที่เติมไฟล์บันทึกในอัตราที่ยอดเยี่ยม ฉันรู้เหตุผลและฉันสามารถแก้ไขได้ ก่อนหน้านี้ฉันต้องการ rm หรือล้างไฟล์บันทึกโดยไม่ต้องปิดกระบวนการ เพียงแค่ทำการrm output.logลบการอ้างอิงไปยังไฟล์เท่านั้น แต่จะยังคงใช้พื้นที่บนดิสก์ต่อไปจนกว่ากระบวนการจะสิ้นสุดลง แย่ลง: หลังจากrmวันนี้ฉันไม่มีทางที่จะค้นหาไฟล์หรือว่ามันใหญ่แค่ไหน! มีวิธีใดในการค้นหาไฟล์และอาจทำให้มันว่างเปล่าแม้ว่ามันจะยังคงเปิดอยู่ในกระบวนการอื่นหรือไม่? ฉันอ้างถึงระบบปฏิบัติการบน Linux เป็นพิเศษเช่น Debian หรือ RHEL

5
อะไรคือความแตกต่างระหว่าง "sort -u" และ "sort | UNIQ”?
ทุกที่ที่ฉันเห็นคนที่ต้องการเรียงลำดับรายการที่ไม่ซ้ำใครพวกเขาจะไปถึงsort | uniqเสมอ ฉันไม่เคยเห็นตัวอย่างที่มีคนใช้sort -uแทน ทำไมจะไม่ล่ะ? ความแตกต่างคืออะไรและทำไมการใช้ uniq จึงดีกว่าการจัดเรียงค่าสถานะเฉพาะ
120 bash  sort  uniq 

7
จะรันคำสั่งโดยไม่กดปุ่ม Enter ได้อย่างไร
บังเอิญผมแมปEnterผ่านไปxkbsetPointer_button2 ตอนนี้ทุกครั้งที่ฉันกดEnterข้อความที่พูดพล่อยๆจะปรากฏขึ้น ฉันคิดถึงวิธีแก้ปัญหาที่เกี่ยวข้องกับการแมปใหม่อีกครั้ง แต่นั่นหมายความว่าฉันจะต้องเรียกใช้คำสั่งxmodmap -e "keycode 135 = Pointer_Button2"(หรือรหัสอื่นใดนอกจากนั้นEnter) แต่ฉันไม่สามารถที่จะเรียกใช้คำสั่งนี้ใน terminal, Enterไม่ต้องกดปุ่ม ฉันจะทำเช่นนั้นได้อย่างไร ฉันใช้ Ubuntu 12.04

4
คุณถอดหน้าจอที่ 2 ออกจากภายในหน้าจออื่นได้อย่างไร
ฉันได้แนบกับหน้าจอ GNU ครั้งที่ 2 โดยไม่ตั้งใจจากภายในหน้าจอที่มีอยู่และไม่สามารถแยกหรือออกคำสั่งไปยังหน้าจอด้านใน ฉันจำได้ว่าหาวิธีที่จะทำก่อน แต่ลืมอย่างสมบูรณ์และต้องการที่จะเก็บไว้เป็นข้อมูลอ้างอิง วิธีหนึ่งคือแยกหน้าจอด้านในออกจากการทำscreen -drเชลล์ แต่คีย์ผสมจะทำอะไรจากหน้าจอภายใน?
119 gnu-screen 

30
การนำทางไดเรกทอรีอย่างรวดเร็วใน bash shell
ผมอยากจะบ่อยสลับไปมาระหว่างไดเรกทอรีที่อยู่ในเส้นทางที่ไม่เกี่ยวข้องกันโดยสิ้นเชิงเช่นและ/Project/Warnest/docs/~/Dropbox/Projects/ds/test/ แต่ฉันไม่ต้องการพิมพ์cd /[full-path]/ตลอดเวลา มีคำสั่งทางลัดเพื่อสลับไปยังไดเรกทอรีที่ใช้งานได้ก่อนหน้า ทางออกหนึ่งที่ฉันคิดได้คือการเพิ่มตัวแปรสภาพแวดล้อมให้bash .profileกับไดเรกทอรีที่ใช้บ่อยและcdเพื่อให้พวกเขาใช้ตัวแปรเหล่านั้น แต่มีวิธีอื่นในการนี้หรือไม่?

6
ฉันสามารถกำหนดค่าระบบ Linux สำหรับการแคชระบบไฟล์ที่เข้มงวดยิ่งขึ้นได้หรือไม่?
ฉันไม่กังวลเกี่ยวกับการใช้ RAM (เท่าที่ฉันมีเพียงพอ) หรือเกี่ยวกับการสูญเสียข้อมูลในกรณีที่มีการปิดเครื่องโดยไม่ตั้งใจ (เนื่องจากพลังงานของฉันได้รับการสนับสนุนระบบมีความน่าเชื่อถือและข้อมูลไม่สำคัญ) แต่ฉันทำการประมวลผลไฟล์จำนวนมากและสามารถใช้การเพิ่มประสิทธิภาพบางอย่างได้ นั่นเป็นเหตุผลที่ฉันต้องการตั้งค่าระบบให้ใช้ RAM เพิ่มเติมสำหรับระบบไฟล์อ่านและเขียนแคชเพื่อดึงไฟล์อย่างจริงจัง (เช่นอ่านล่วงหน้าทั้งไฟล์ที่เข้าถึงโดยแอปพลิเคชันในกรณีที่ไฟล์มีขนาดสติหรืออย่างน้อย อ่านล่วงหน้าก้อนใหญ่ของมันเป็นอย่างอื่น) และเพื่อล้างบัฟเฟอร์การเขียนน้อยลง ทำอย่างไรจึงจะบรรลุผล (อาจเป็นไปได้) ฉันใช้ระบบไฟล์ ext3 และ ntfs (ฉันใช้ ntfs มาก!) กับ XUbuntu 11.10 x86

2
วิธีการวางสายปัจจุบันที่ด้านบน / กลาง / ด้านล่างของหน้าจอเป็นกลุ่ม?
เคล็ดลับการนำทางที่เร็วขึ้นเพื่อวางบรรทัดที่เคอร์เซอร์อยู่ในขณะนั้นไปยัง ด้านบนของหน้าจอ? ศูนย์กลางของหน้าจอ? ด้านล่างของหน้าจอ?

4
ฉันจะลบคำย้อนหลังที่บรรทัดคำสั่ง (bash และ zsh) ได้อย่างไร
ฉันจะลบคำย้อนหลังที่บรรทัดคำสั่งได้อย่างไร ฉันเคยชินกับบรรณาธิการบางคนที่ลบ 'word' ล่าสุดโดยใช้Ctrl+ Backspaceและฉันต้องการฟังก์ชันการทำงานที่บรรทัดคำสั่งด้วย ฉันใช้ทุบตีในขณะนี้และแม้ว่าฉันสามารถกระโดดย้อนกลับคำแล้วลบไปข้างหน้าคำที่ฉันอยากจะมีนี้เป็นอย่างรวดเร็วที่สำคัญหรือเหตุการณ์เป็น+CtrlBackspace ทำสิ่งนี้ได้อย่างไร

2
backticks (เช่น `cmd`) ในกระสุน sh ถูกเลิกใช้แล้วหรือยัง?
ฉันเคยเห็นความคิดเห็นนี้หลายครั้งใน Unix & Linux เช่นเดียวกับเว็บไซต์อื่น ๆ ที่ใช้วลี "backticks ได้รับการคัดค้าน" ด้วยความเคารพต่อเชลล์เช่น Bash & Zsh คำสั่งนี้เป็นจริงหรือเท็จ?

7
.d หมายถึงอะไรในชื่อไดเรกทอรี
ฉันรู้หลายไดเรกทอรีด้วย. d ในชื่อของพวกเขา: init.d yum.repos.d conf.d มันหมายถึงไดเรกทอรีหรือไม่ ถ้าใช่สิ่งนี้ทำให้เกิดความเข้าใจผิด? UPDATE:ฉันมีคำตอบที่น่าสนใจมากมายเกี่ยวกับความ.dหมาย แต่ชื่อคำถามของฉันไม่ได้เลือกอย่างดี ฉันเปลี่ยน "mean" เป็น "stand for"
118 directory  fhs 

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