Unix & Linux

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



6
อะไรคือความแตกต่างระหว่าง / opt และ / usr / local
ตามที่ระบบแฟ้มลำดับชั้นมาตรฐาน , /optสำหรับ "การติดตั้ง Add-on แพคเกจซอฟต์แวร์ประยุกต์" /usr/localคือ "ใช้โดยผู้ดูแลระบบเมื่อติดตั้งซอฟต์แวร์ในเครื่อง" กรณีใช้งานเหล่านี้ดูคล้ายกันมาก ซอฟต์แวร์ที่ไม่รวมอยู่ในการแจกแจงมักจะมีการกำหนดค่าตามค่าเริ่มต้นเพื่อติดตั้งใน/usr/localหรือ/optไม่สัมผัสหรือเหตุผลที่พวกเขาเลือก มีอะไรบ้างที่ฉันขาดไปหรือทั้งสองทำสิ่งเดียวกัน แต่มีอยู่ด้วยเหตุผลทางประวัติศาสตร์?

9
เมื่อใดที่ฉันไม่ควรฆ่ากระบวนการ -9
ฉันมักจะลังเลที่จะวิ่งkill -9แต่ฉันเห็นผู้ดูแลคนอื่นทำเกือบเป็นประจำ ฉันคิดว่าอาจมีพื้นกลางที่เหมาะสมดังนั้น: ควรkill -9ใช้เมื่อใดและเพราะเหตุใด เมื่อใดและเพราะเหตุใด สิ่งที่ควรลองก่อนทำ การดีบักกระบวนการ "หยุด" ชนิดใดที่อาจทำให้เกิดปัญหาเพิ่มเติม

13
ปิดการบัฟเฟอร์ในท่อ
ฉันมีสคริปต์ที่เรียกสองคำสั่ง: long_running_command | print_progress long_running_commandพิมพ์ความคืบหน้า แต่ฉันไม่มีความสุขกับมัน ฉันใช้print_progressเพื่อทำให้ดีขึ้น (กล่าวคือฉันพิมพ์ความคืบหน้าในบรรทัดเดียว) ปัญหา: การเชื่อมต่อไปยัง stdout ยังเปิดใช้งานบัฟเฟอร์ 4K เพื่อโปรแกรมการพิมพ์ที่ดีไม่ได้รับอะไรเลย ... ไม่มีอะไร ... ไม่มีอะไร ... ทั้งนั้น ... :) ฉันจะปิดการใช้งานบัฟเฟอร์ 4K สำหรับlong_running_command(ไม่ฉันไม่มีแหล่งที่มา)
395 shell  pipe  buffer 

5
ค้นหา PID ของกระบวนการโดยใช้พอร์ตเฉพาะหรือไม่
ฉันกำลังติดตั้ง hadoop บนระบบ Ubuntu ของฉัน เมื่อฉันเริ่มมันรายงานว่าพอร์ต 9000 ไม่ว่าง ฉันใช้: netstat -nlp|grep 9000 เพื่อดูว่ามีพอร์ตดังกล่าวอยู่หรือไม่และฉันได้รับสิ่งนี้: tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN แต่ฉันจะรับ PID ของกระบวนการที่กำลังถืออยู่ได้อย่างไร
391 linux  process  ip  netstat 

4
เลื่อนด้านในหน้าจอหรือหยุดชั่วคราว
ฉันใช้หน้าจอสำหรับงานบรรทัดคำสั่งของฉันในขณะที่จัดการเซิร์ฟเวอร์ที่ฉันทำงาน ฉันมักจะใช้คำสั่งขนาดเล็ก (ส่วนใหญ่เป็นงานระบบไฟล์) แต่บางครั้งฉันก็ใช้งานที่กว้างขวางมากขึ้น (เช่น DBA) ผลผลิตของงานเหล่านั้นเป็นสิ่งที่สำคัญกับผม เนื่องจากฉันใช้ Ubuntu และ OS X (ทั้ง Terminal Windows) สำหรับงานของฉัน แต่ฉันต้องใช้หน้าจอการเลื่อนจึงไม่สามารถใช้งานได้ดังนั้นผลลัพธ์ที่ยาวนาน (คิดว่าตาราง 500 แถวจากตัวเลือก) มองไม่เห็นสำหรับฉัน ล้อเลื่อนของเมาส์ไม่ตอบคำถาม เมื่อฉันพูดว่า "scroll ไม่ปรากฏสำหรับฉันฉันหมายถึงสิ่งนี้: ฉันกำลังคิดเกี่ยวกับสองตัวเลือก: หยุดชั่วคราว (คิดเลขหน้า ) เอาต์พุตของคำสั่งที่แน่นอน เมื่อเอาต์พุตเริ่มขึ้นฉันจะอ่านว่าเกิดอะไรขึ้นจากนั้นฉันกด "Enter" จากนั้นเอาต์พุตจะดำเนินต่อไปจนกว่าจะไม่มีอะไรแสดงอีก เลื่อนหน้าจอภายใน แต่ฉันไม่รู้ว่ามันเป็นไปได้ไหม แน่นอนผมไม่ทราบว่าตัวเลือกเหล่านั้นเป็นจริงที่เป็นไปได้ หากเป็นเช่นนั้นจะทำให้สำเร็จได้อย่างไร ทางเลือกอื่น ๆ จะได้รับการตอบรับดี

8
ดำเนินการ vs อ่านบิต สิทธิ์ไดเรกทอรีใน Linux ทำงานอย่างไร
ใน CMS ของฉันฉันสังเกตเห็นว่าไดเรกทอรีต้องการบิต executable ( +x) ที่กำหนดไว้เพื่อให้ผู้ใช้เปิดได้ เหตุใดจึงต้องใช้สิทธิ์ดำเนินการเพื่ออ่านไดเรกทอรีและสิทธิ์ไดเรกทอรีใน Linux ทำงานอย่างไร

8
ฉันจะคัดลอกโฟลเดอร์ที่ทำให้เจ้าของและสิทธิ์ยังคงอยู่ได้อย่างไร
ดังนั้นฉันจะสำรองโฟลเดอร์บ้านของฉันโดยคัดลอกไปยังไดรฟ์ภายนอกดังนี้ sudo cp -r /home/my_home /media/backup/my_home root:rootกับผลที่โฟลเดอร์ทั้งหมดในไดรฟ์ภายนอกเป็นเจ้าของในขณะนี้โดย ฉันจะcpรักษาความเป็นเจ้าของและการอนุญาตจากต้นฉบับได้อย่างไร
379 permissions  cp 

8
วิธีการบังคับให้ลูกค้า ssh ใช้รหัสผ่านรับรองความถูกต้องเท่านั้น?
ถ้าฉันใช้ pubkey auth จากเช่น: Ubuntu 11.04 ฉันจะตั้งค่าไคลเอนต์ ssh ให้ใช้รหัสผ่านเฉพาะการรับรองความถูกต้องกับเซิร์ฟเวอร์ได้อย่างไร? (ต้องการเพียงเพราะการทดสอบรหัสผ่านบนเซิร์ฟเวอร์ที่ฉันเริ่มต้นเข้าสู่ระบบด้วยรหัส) ฉันพบวิธี: mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup และตอนนี้ฉันได้รับพร้อมท์สำหรับรหัสผ่าน แต่มีวิธีการที่เป็นทางการหรือไม่?

7
ฉันจะค้นหาการนำไปใช้ของการเรียกระบบเคอร์เนล Linux ได้อย่างไร?
ฉันพยายามที่จะเข้าใจว่าฟังก์ชั่นพูดmkdirทำงานได้อย่างไรโดยดูที่เคอร์เนล นี่เป็นความพยายามที่จะเข้าใจเคอร์เนลภายในและนำทางระหว่างฟังก์ชั่นต่าง ๆ ฉันรู้ว่าถูกกำหนดไว้ในmkdir sys/stat.hฉันพบต้นแบบ: /* Create a new directory named PATH, with permission bits MODE. */ extern int mkdir (__const char *__path, __mode_t __mode) __THROW __nonnull ((1)); ตอนนี้ฉันต้องดูว่าไฟล์นี้ใช้ฟังก์ชั่นใดของ C จากไดเรกทอรีแหล่งฉันพยายาม ack "int mkdir" ซึ่งแสดง security/inode.c 103:static int mkdir(struct inode *dir, struct dentry *dentry, int mode) tools/perf/util/util.c 4:int mkdir_p(char *path, …


15
ข้อดีและข้อเสียของ Vim และ Emacs คืออะไร?
คุณจะเปรียบเทียบบรรณาธิการเหล่านี้อย่างไร? ข้อดีและข้อเสียของแต่ละข้อคืออะไร? [ หมายเหตุ ] สิ่งนี้ไม่ได้มีไว้สำหรับผู้ที่ "เกลียดชังและรักอีกคน" หรือผู้ที่ไม่ได้ใช้ทั้งคู่
372 vim  emacs  vi 

3
รีเฟรชเนื้อหาที่เปลี่ยนแปลงของไฟล์ที่เปิดใน vi (m)
ฉันมีไฟล์ config ที่ฉันเปิดไว้เป็นกลุ่ม แต่บางครั้งก็เปลี่ยนบนดิสก์โดยไม่ต้องมีการเปลี่ยนแปลงเหล่านี้ในเทอร์มินัล ฉันสามารถรีเฟรชเนื้อหาบนหน้าจอโดยไม่ปิดและเปิดไฟล์ใหม่ได้หรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร
362 vim 

14
ใน Bash เมื่อนามแฝงเมื่อสคริปต์และเมื่อใดที่จะเขียนฟังก์ชั่น?
ฉันใช้งาน Linux มาเกือบ 10 ปีแล้วเพื่อถามคำถามนี้ มันเป็นการทดลองและข้อผิดพลาดทั้งหมดและการท่องอินเทอร์เน็ตแบบดึกดื่น แต่ผู้คนไม่ควรต้องการ 10 ปีสำหรับเรื่องนี้ ถ้าฉันเพิ่งเริ่มต้นด้วย Linux ฉันต้องการทราบว่าเมื่อใดจะใช้นามแฝงเวลาเขียนสคริปต์และเมื่อใดควรเขียนฟังก์ชัน ฉันใช้นามแฝงสำหรับการดำเนินการที่ง่ายมากที่ไม่มีข้อโต้แย้ง alias houston='cd /home/username/.scripts/' ดูเหมือนว่าชัดเจน แต่บางคนทำสิ่งนี้: alias command="bash bashscriptname" (และเพิ่มลงใน.bashrcไฟล์) มีเหตุผลที่ดีที่จะทำเช่นนั้น? ฉันพยายามอย่างหนักจริง ๆ แต่ฉันไม่สามารถนึกถึงสถานการณ์ใด ๆ ที่ฉันต้องการจะทำอย่างแท้จริง ดังนั้นหากมีกรณีขอบที่จะสร้างความแตกต่างโปรดตอบด้านล่าง เพราะนั่นคือสิ่งที่ฉันจะใส่บางสิ่งใน PATH ของฉันchmod +xซึ่งเป็นอีกสิ่งหนึ่งที่เกิดขึ้นหลังจากการทดลองและข้อผิดพลาดของ Linux มาหลายปี ซึ่งนำฉันไปยังหัวข้อถัดไป ตัวอย่างเช่นฉันเพิ่มโฟลเดอร์ที่ซ่อนอยู่ ( .scripts/) ในโฮมไดเร็กตอรี่ไปที่ PATH ของฉันโดยเพิ่มบรรทัดลงใน.bashrc( PATH=$PATH:/home/username/.scripts/) ของฉันดังนั้นสิ่งใดที่ปฏิบัติการได้ในการเติมข้อความอัตโนมัติโดยอัตโนมัติ ถ้าฉันต้องการ ฉันไม่ต้องการสิ่งนั้นจริง ๆ ใช่ไหม? ฉันจะใช้เฉพาะสำหรับภาษาที่ไม่ใช่เปลือกเช่น Python …

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