Unix & Linux

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

1
ฉันจะตั้งค่าผู้ใช้ของ php-fpm เป็น php-user แทนที่จะเป็น www-data ได้อย่างไร
ฉันใช้ php-fpm กับเดเบียนกับ nginx สำหรับการสนับสนุน php5 ฉันต้องการให้ php-fpm เป็นผู้ใช้ & กลุ่ม php-user แทน www-data ฉันคิดว่าสคริปต์ init.d จะให้ผู้ใช้พูดถึงหรือใช้ไฟล์ที่มี www-data เขียนอยู่ แต่ฉันไม่เห็นมัน ฉันจะวางกระบวนการนี้ให้อยู่ภายใต้ผู้ใช้ php-user: php-user ได้อย่างไร นี่คือสคริปต์ init.d php5-fpm บนเซิร์ฟเวอร์ของฉัน ฉันลองดูที่หน้า man-start-daemon แต่ไม่เห็น ฉันแน่ใจว่ามันง่าย แต่ฉันไม่รู้จะทำอย่างไร #!/bin/sh ### BEGIN INIT INFO # Provides: php-fpm php5-fpm # Required-Start: $remote_fs $network # Required-Stop: $remote_fs $network …
27 users  init.d 

2
ทำไมถึงมี `/ lib` และ` / lib64 'แต่มีเพียง `/ bin'?
ในแล็ปท็อปของฉัน: $ cat /etc/issue Ubuntu 18.04 LTS \n \l มีสองโฟลเดอร์ที่แตกต่างกันสำหรับไลบรารีx86และx86_64: ~$ ls -1 / bin lib lib64 sbin ... ทำไมไบนารีจึงมีเพียงไดเรกทอรีเดียว? ป.ล. ฉันสนใจ Android ด้วย แต่ฉันหวังว่าคำตอบนั้นควรเหมือนกัน

3
การเปลี่ยนเส้นทาง stdout และ stderr ไปยังไฟล์เดียวกันนั้นปลอดภัยหรือไม่โดยไม่มีการคัดลอกไฟล์ descriptor?
ฉันเริ่มต้นในไดเรกทอรีว่างเปล่า $ touch aFile $ ls aFile จากนั้นฉันก็lsโต้เถียงกันสองข้อข้อหนึ่งข้อหนึ่งไม่ได้อยู่ในไดเรกทอรีนี้ outputฉันเปลี่ยนเส้นทางทั้งลำธารส่งออกไปยังไฟล์ชื่อ ฉันใช้>>เพื่อหลีกเลี่ยงการเขียนพร้อมกัน $ ls aFile not_exist >>output 2>>output $ cat output ls: cannot access 'not_exist': No such file or directory aFile ซึ่งดูเหมือนว่าจะทำงาน มีอันตรายกับวิธีนี้หรือไม่?

3
Linux: เป็นไปได้ไหมที่จะเห็นเฉพาะเธรด / กระบวนการของพื้นที่เคอร์เนล
ฉันรู้ว่ามีสอง "ระดับ" ของโปรแกรม: พื้นที่ผู้ใช้และพื้นที่เคอร์เนล คำถามของฉันคือ: ฉันต้องการเห็นเฉพาะโปรแกรมเคอร์เนลหรือดีกว่า: โปรแกรมบนพื้นที่เคอร์เนล วิธีนี้ถูกต้องหรือไม่ ps -ef|grep "\[" root 1 0 0 20:23 ? 00:00:00 init [4] root 2 0 0 20:23 ? 00:00:00 [kthreadd] root 3 2 0 20:23 ? 00:00:00 [ksoftirqd/0] root 5 2 0 20:23 ? 00:00:00 [kworker/0:0H] root 7 2 0 20:23 ? …

1
วิธีการปิดการใช้งาน Ctrl-in ใน terminal อย่างถาวร?
จากที่นี่ผมเข้าใจว่าจะปิดการใช้งานCtrl+ คำสั่งสามารถใช้และการทำงาน แต่ทันทีที่ฉันปิดสถานีและเปิดอีกฉันต้องป้อนคำสั่ง Sstty -ixon หากต้องการปิดการใช้งานอย่างถาวรCtrl+ Sฉันได้ทำคำสั่งstartup.shนั้นที่มีstty -ixonคำสั่งและเรียกใช้ด้วยcrontabat @rebootแต่ไม่สามารถใช้งานได้ ดังนั้นสิ่งที่จะเป็นวิธีการปิดการใช้งานถาวรCtrl+ S?

1
พฤติกรรมการเยื้องที่ไม่คาดคิดเมื่อฉันตั้งค่าเทอร์มินัลเป็นโหมดดิบ - เหตุใดจึงเป็นเช่นนี้
ขึ้นอยู่กับสิ่งที่ฉันได้อ่านเมื่อเทอร์มินัลอยู่ในโหมด raw ตัวละครจะไม่ได้รับการประมวลผลโดยไดรเวอร์เทอร์มินัล แต่จะถูกส่งตรง ฉันตั้งค่าเทอร์มินัลในโหมด raw โดยใช้คำสั่งstty rawและสังเกตว่าเอาต์พุตถูกเยื้องไปทางขวาในแต่ละครั้งจนกว่าจะไม่มีที่ว่างอีกต่อไป นี่คือสิ่งที่ฉันหมายถึง: เหตุใดพฤติกรรมนี้จึงเกิดขึ้น!
27 linux  shell  terminal 

3
จะกำจัดคำเตือน“ ไม่พบนาโน” โดยไม่ต้องติดตั้งนาโนได้อย่างไร
ติดตั้ง Debian Stretch (9.3) ติดตั้ง Vim และ Remove Nano เป็นกลุ่มที่ถูกเลือกเป็นตัวแก้ไขเริ่มต้น ทุกครั้งที่ฉันวิ่งcrontab -eฉันจะได้รับคำเตือนเหล่านี้: root@franklin:~# crontab -e no crontab for root - using an empty one /usr/bin/sensible-editor: 25: /usr/bin/sensible-editor: /bin/nano: not found /usr/bin/sensible-editor: 28: /usr/bin/sensible-editor: nano: not found /usr/bin/sensible-editor: 31: /usr/bin/sensible-editor: nano-tiny: not found No modification made ฉันพยายามกำหนดค่าsensible-utilsแพ็กเกจใหม่แล้ว แต่ไม่ให้ข้อมูลใด ๆ (ระบุความสำเร็จเมื่อทำสิ่งใด) แต่คำเตือนยังคงปรากฏขึ้น …
27 debian  vim  nano 

1
เหตุใด Chromium จึงไม่แคช DNS นานกว่าหนึ่งนาที
ฉันใช้ Chromium และมีปัญหากับ DNS ที่ไม่ถูกแคชในเวลาที่ฉันคาดไว้ จดโดเมน example.com ตามการตั้งค่า DNS โดเมนนี้ควรถูกแคชอีก 26151 วินาที: $ dig example.com ;; ANSWER SECTION: example.com. 26151 IN A 93.184.216.34 อย่างไรก็ตามเมื่อฉันเปิด example.com ใน Chromium และฉันเปิด chrome: // net-internals / # dns IP จะถูกลืมภายในหนึ่งนาที! ทำไม Chromium ไม่ยึดติดกับการตั้งค่า DNS ของโดเมน ฉันจะบังคับให้แคชข้อมูล DNS จนกว่าจะหมดอายุได้อย่างไร
27 dns  chrome  cache 

3
“ ในขณะที่:;” หมายถึงอะไร
ฉันรู้ว่าwhileวงคืออะไร อย่างไรก็ตามฉันเพิ่งเห็นว่าทำงานกับ: while [condition] while ![condition] while TRUE (infinite loop) ในกรณีที่คำสั่งหลังจากที่whileจะต้องมีอย่างใดอย่างหนึ่งหรือTRUEFALSE มีคำสั่งเชลล์ builtin :ชื่อเป็น มันอธิบายเป็นคำสั่งหุ่นทำอะไร แต่ผมไม่ทราบว่ามันจะเหมือนกันที่นี่แม้ว่าจะสามารถหรือTRUE FALSEอาจจะเป็นสิ่งที่แตกต่างกัน แต่อะไรนะ?

4
วิธีรันคำสั่งไลบรารี่จากเชลล์?
ฉันต้องการคำนวณความยาวของสตริง (นั่นคือค่าแฮช) ดังนั้นฉันเปิดเทอร์มินัลและทำสิ่งนี้: $ apropos length ที่ส่งคืนฉันด้วยพวงของคำสั่ง / ฟังก์ชั่นที่มี(3)หรือ(3ssl)ผนวกท้ายของพวกเขา ตอนนี้ผู้ชายคนให้ข้อมูลเกี่ยวกับความsection numbersหมายเหล่านี้ให้เรา 3 Library calls (functions within program libraries) ด้วยความอยากรู้ฉันเพิ่งลองใช้คำสั่งเหล่านี้ทั้งหมด (หวังว่าอย่างน้อยจะใช้ได้) strcspn (3) - get length of a prefix substring strlen (3) - calculate the length of a string strnlen (3) - determine the length of a fixed-size string strspn (3) …
27 shell  libraries 

1
ทำไม“ -” ใน“ #! / bin / sh -” shebang?
#! / bin / sh - (หรืออย่างน้อยเป็น) มักจะแนะนำshebang/bin/shจะมีสคริปต์ตีความโดย ทำไมไม่เพียง#! /bin/shหรือ#!/bin/sh? มีอะไรที่-หา?

3
`: w! sudo tee %` ทำงานอย่างไร
หากคุณเปิดไฟล์ที่คุณไม่ได้รับอนุญาตให้เขียนเป็นกลุ่มแล้วตัดสินใจว่าคุณจำเป็นต้องเปลี่ยนไฟล์คุณสามารถเขียนการเปลี่ยนแปลงของคุณได้โดยไม่ต้องออกจาก vim โดยที่:w !sudo tee % ฉันไม่เข้าใจวิธีการทำงานนี้ คุณช่วยกรุณาตัดออกได้ไหม ฉันเข้าใจ:wส่วนมันเขียนบัฟเฟอร์ปัจจุบันไปยังดิสก์โดยสมมติว่ามีชื่อไฟล์ที่เชื่อมโยงอยู่ใช่ไหม ฉันยังเข้าใจ!ว่าsudo teeคำสั่งใดที่เรียกใช้งานและ%แสดงถึงเนื้อหาบัฟเฟอร์ปัจจุบันใช่ไหม แต่ก็ยังไม่เข้าใจว่ามันใช้งานได้อย่างไร
27 vim  sudo  tee 

2
ข้อผิดพลาดในการทดสอบวงเล็บของเชลล์เมื่อสตริงเป็นวงเล็บซ้าย
ฉันเคยมีความมั่นใจเกี่ยวกับความจริงที่ว่าการอ้างถึงสตริงนั้นเป็นวิธีปฏิบัติที่ดีเสมอเพื่อหลีกเลี่ยงการแยกเชลล์ จากนั้นฉันก็เจอสิ่งนี้: $ x='(' $ [ "$x" = '1' -a "$y" = '1' ] bash: [: `)' expected, found 1 พยายามที่จะแยกปัญหาได้รับข้อผิดพลาดเดียวกัน: $ [ '(' = '1' -a '1' = '1' ] bash: [: `)' expected, found 1 ฉันแก้ไขปัญหาเช่นนี้: [ "$x" = '1' ] && [ "$y" = '1' ] ยังฉันต้องรู้ว่าเกิดอะไรขึ้นที่นี่
27 shell  test 

4
ถ้ามีอย่างอื่นคำสั่งเทียบเท่ากับตรรกะและ && หรือ || และฉันจะเลือกอันไหนดีกว่ากัน
ฉันเรียนรู้เกี่ยวกับโครงสร้างการตัดสินใจและฉันเจอรหัสเหล่านี้: if [ -f ./myfile ] then cat ./myfile else cat /home/user/myfile fi [ -f ./myfile ] && cat ./myfile || cat /home/user/myfile พวกเขาทั้งสองทำงานเหมือนกัน มีข้อได้เปรียบอะไรบ้างในการใช้งานจากอีกทางหนึ่ง?

2
ความแตกต่างระหว่าง 'ls' และ 'echo $ (ls)'
พิจารณาตัวอย่างเปลือกสองอัน $ ls myDoc.html SomeDirectory someDoc.txt และ $ echo $(ls) myDoc.html SomeDirectory someDoc.txt ครั้งแรกที่ดำเนินการlsตามที่ฉันเข้าใจผนวกเนื้อหาของไดเรกทอรีการทำงานปัจจุบันไปยังstdoutไฟล์ (ซึ่งเป็นสิ่งที่ terminal แสดง) ถูกต้องหรือไม่ ที่สองใช้ค่าของlsคำสั่ง (ซึ่งหมายความว่าเป็นเนื้อหาของไดเรกทอรีการทำงานปัจจุบัน) และพิมพ์ไปยังstdoutไฟล์ ถูกต้องหรือไม่ ทำไมทั้งสองคำสั่งจึงให้เอาต์พุตที่ต่างกัน?
27 shell 

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