Unix & Linux

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

1
เราจะระบุรูปแบบการเพิกเฉยหลายรูปแบบสำหรับคำสั่ง 'tree' ได้อย่างไร
ฉันต้องการพิมพ์โครงสร้างไดเรกทอรีของระบบการผลิตของเราและฉันต้องการลบบางไดเรกทอรีออกจากต้นไม้หรือไม่ เราจะระบุรูปแบบการเพิกเฉยหลายtreeคำสั่งได้อย่างไร

2
วิธีการเปลี่ยนเส้นทางการส่งออกไปยังไฟล์จากภายใน cron?
ฉันมีสคริปต์การสำรองข้อมูลที่ฉันจำเป็นต้องใช้ในเวลาใดเวลาของวันเพื่อให้ฉันใช้cronสำหรับงานนี้และจากภายใน cron logfileกำลังยังพยายามที่จะเปลี่ยนเส้นทางการส่งออกของสคริปต์การสำรองข้อมูลไปยัง crontab -e */1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log ในรายการ cron ด้านบนฉันกำลังเปลี่ยนเส้นทางทั้งสองstderr and stdoutไปยังไฟล์บันทึก งาน cron ด้านบนดำเนินการได้ดีตามsyslog และทำงานที่กล่าวถึงในbackup.shไฟล์ แต่ไม่ได้เขียนอะไรลงในไฟล์บันทึก /var/log/syslog Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log) เมื่อฉันเรียกใช้สคริปต์จาก cli มันทำงานได้ตามต้องการและเอาท์พุทจะถูกเขียนลงในล็อกไฟล์ ranveer@ranveer:~$ ./backup.sh &>> backup.log ranveer@ranveer:~$ cat backup.log Fri Oct 19 20:28:01 IST 2012 …

5
วิธีแยกไฟล์เฉพาะจาก tar.gz
เราจะแยกไฟล์เฉพาะจากไฟล์ tar.gz ขนาดใหญ่ได้อย่างไร ฉันพบกระบวนการแตกไฟล์จาก tar ในคำถามนี้แต่เมื่อฉันลองคำสั่งที่กล่าวถึงที่นั่นฉันได้รับข้อผิดพลาด: $ tar --extract --file={test.tar.gz} {extract11} tar: {test.tar.gz}: Cannot open: No such file or directory tar: Error is not recoverable: exiting now ฉันจะแตกไฟล์ได้tar.gzอย่างไร
105 tar 


9
แสดงรายการแพ็กเกจบนระบบที่ใช้ apt ตามวันที่ติดตั้ง
ฉันจะแสดงรายการแพ็คเกจที่ติดตั้งภายในวันที่ติดตั้งได้อย่างไร ฉันต้องทำสิ่งนี้บนเดเบียน / อูบุนตู คำตอบสำหรับการแจกแจงอื่น ๆ ก็ดีเช่นกัน ฉันติดตั้งสิ่งต่าง ๆ จำนวนมากเพื่อรวบรวมรหัสบางส่วนและฉันต้องการได้รับรายการแพ็คเกจที่ฉันต้องติดตั้ง

11
วิธีการค้นหาจากบันทึกสิ่งที่ทำให้เกิดการปิดระบบ?
เช่นฉันเห็นสิ่งนี้ใน/var/log/messages: Mar 01 23:12:34 hostname shutdown: shutting down for system halt มีวิธีหาสาเหตุที่ทำให้เกิดการปิดระบบหรือไม่ เช่นมีการเรียกใช้จากคอนโซลหรือมีคนกดปุ่มเปิด / ปิด ฯลฯ ?
104 logs  shutdown 

2
ฉันจะรีสตาร์ท SSH daemon บน Ubuntu ได้อย่างไร
เมื่อฉันพิมพ์service sshd restartฉันได้รับsshd: unrecognized serviceข้อผิดพลาด ฉันมีใน/etc/ssh/ไฟล์sshd_configที่ฉันใช้เพื่อตั้งค่า ฉันยังสามารถฉาบลงในกล่อง Ubuntu (มันเป็นระยะไกล) เมื่อฉันพิมพ์/etc/init.d/sshd restartฉันจะได้รับNo such file or directory ภายใต้/usr/sbin/มีไฟล์ sshd แต่มันเป็นไบนารี มีบางอย่างผิดปกติกับ sshd ของฉันหรือไม่ ฉันต้องทำอย่างไรเพื่อแก้ไขปัญหานี้ เพื่อให้ชัดเจนฉันต้องการที่จะพิมพ์service sshd restart(เหมือนที่ tuturials ออนไลน์พูด) เพื่อให้สามารถเริ่มต้น sshd ของฉันได้ดี เพื่อให้การเปลี่ยนแปลงพอร์ตของฉันมีผล
104 ubuntu  services  sshd  upstart 

3
การเขียนไฟล์เซอร์วิสพื้นฐาน systemd
ฉันกำลังพัฒนาแอปพลิเคชั่น Nodejs ที่ผู้ใช้โต้ตอบผ่าน HTTP บนโลคอลโฮสต์ ในทางปฏิบัติไม่มีพารามิเตอร์ใด ๆ และ daemon แทบไม่มีการพึ่งพาและมันก็แค่ต้องการที่จะขึ้นตามเวลาเข้าสู่ระบบ ฉันต้องการติดตามสำนวนในแต่ละแพลตฟอร์มสำหรับสคริปต์เริ่มต้นและนั่นหมายถึงการพุ่งพรวดบน Ubuntu และ systemd บน Fedora มีแบบฝึกหัดที่ดีสำหรับการเขียนไฟล์ระบบ systemd หรือไม่? มี 'แนวปฏิบัติที่ดีที่สุด' ที่ต้องระวังหรือไม่? ฉันได้พบทรัพยากรเหล่านี้: หน้า Fedora wiki เกี่ยวกับ systemd บล็อกเกี่ยวกับการเขียนไฟล์ระบบ systemd Systemd บนวิกิพีเดีย ฉันส่วนใหญ่กำลังมองหา API ที่แปลกประหลาดเป็นข้อมูลอ้างอิงรวมถึงรูปแบบพื้นฐานที่ต้องติดตาม
103 services  systemd 

3
ฉันสามารถดูความคืบหน้าของการดำเนินการ "ซิงค์" ได้หรือไม่
ฉันได้คัดลอกไฟล์ขนาดใหญ่ไปยังดิสก์ USB ที่ติดตั้งบนระบบ Linux ด้วย async สิ่งนี้จะกลับไปที่พรอมต์คำสั่งอย่างรวดเร็ว แต่เมื่อฉันพิมพ์syncแน่นอนมันต้องไปที่ดิสก์และใช้เวลานาน ฉันเข้าใจว่ามันจะช้า แต่มีที่ไหนที่ฉันสามารถดูตัวนับลงไปที่ศูนย์ได้หรือไม่ การดูbuffersในtopไม่ช่วยอะไรเลย
103 linux  filesystems  io  async 

6
ข้อความ Broken pipe หมายถึงอะไรในเซสชัน SSH
บางครั้งเซสชัน SSH ของฉันยกเลิกการเชื่อมต่อด้วยWrite failed: Broken pipeข้อความ มันหมายความว่าอะไร? และฉันจะเปิดเซสชันของฉันได้อย่างไร ฉันรู้screenแต่นั่นไม่ใช่คำตอบที่ฉันต้องการ ฉันคิดว่านี่เป็นsshdตัวเลือกการกำหนดค่า
103 ssh 

8
ปัญหาการอนุญาตไฟล์ที่มีโฟลเดอร์ที่ใช้ร่วมกันภายใต้ Virtual Box (Ubuntu Guest, Windows Host)
ฉันใช้ Ubuntu บน Virtual Box และฉันมีโฟลเดอร์ที่แชร์ระหว่างโฮสต์ (Windows) และ VM (Ubuntu) เมื่อฉันเปิดไฟล์ใด ๆ ในโฟลเดอร์แชร์ใน Ubuntu ฉันไม่สามารถเปลี่ยนได้เนื่องจากเจ้าของถูกตั้งเป็นรูท ฉันจะเปลี่ยนความเป็นเจ้าของให้เป็นตัวเองได้อย่างไร นี่คือผลลัพธ์ของls -l: -rwxrwxrwx 1 root root 0 2012-10-05 19:17 BuildNotes.txt ผลลัพธ์ของdfคือ: m@m-Linux:~/Desktop/vbox_shared$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 29640780 10209652 17925440 37% / none 509032 260 508772 1% /dev none 513252 …

4
อะไรคือความแตกต่างระหว่าง“ ไฟล์ cat | ./binary” และ“ ./binary <file”
ฉันมีไบนารี่ (ที่ฉันแก้ไขไม่ได้) และฉันสามารถทำได้: ./binary &lt; file ฉันยังสามารถทำได้: ./binary &lt;&lt; EOF &gt; "line 1 of file" &gt; "line 2 of file" ... &gt; "last line of file" &gt; EOF แต่ cat file | ./binary ทำให้ฉันมีข้อผิดพลาด ฉันไม่รู้ว่าทำไมมันไม่ทำงานกับไปป์ ในทั้ง 3 กรณีเนื้อหาของไฟล์ถูกกำหนดให้กับอินพุตมาตรฐานของไบนารี (ในวิธีที่ต่างกัน): bash อ่านไฟล์และมอบ stdin ของไบนารี่ bash อ่านบรรทัดจาก stdin (จนกระทั่ง EOF) และมอบให้ stdin …

11
ซีดีหรือไม่ มีการใช้งาน?
หนึ่งในบทเรียนที่ฉันได้รับการกล่าวสั้น ๆ ว่าcd .ไม่มีประโยชน์ เมื่อพยายามทำซ้ำปัญหาที่แสดงโดย OP ในการเรียกลิงก์สัญลักษณ์ซ้ำ - อะไรทำให้ "รีเซ็ต"? ผมก็พยายามcd .ซึ่งแสดงให้เห็นว่า OP ผลเช่นเดียวกันอธิบาย (การเจริญเติบโต$PWDตัวแปร) cd -Pซึ่งสามารถนำมาโต้กับ นี้ทำให้ฉันสงสัยจะมีกรณีใดที่หนึ่งในความเป็นจริงจะต้องการใช้cd . ?
102 cd-command 

7
ทำให้สคริปต์ทำงานหลังจากเริ่มระบบเครือข่ายหรือไม่
ฉันค่อนข้างใหม่กับ systemd และฉันกำลังเรียนรู้สถาปัตยกรรมของมัน ตอนนี้ฉันกำลังพยายามหาวิธีที่จะทำให้เชลล์สคริปต์ที่กำหนดเองทำงาน สคริปต์นี้ต้องเรียกใช้หลังจากเลเยอร์เครือข่ายเริ่มต้นขึ้น ฉันใช้งาน Arch โดยใช้ systemd เช่นเดียวกับ netctl ip addr list &gt; /tmp/ip.txtในการทดสอบผมเขียนสคริปต์ง่ายที่เพียงรัน ฉันสร้างไฟล์บริการต่อไปนี้สำหรับสคริปต์นี้ (/etc/systemd/system/test.service) [Unit] Description=test service [Service] ExecStart=/root/test.script [Install] WantedBy=multi-user.target ฉันเปิดใช้งานสคริปต์ด้วย systemctl enable test เมื่อรีสตาร์ทสคริปต์จะทำงานจริง ๆ แต่จะทำงานก่อนที่เครือข่ายจะเริ่มต้น กล่าวอีกนัยหนึ่งเอาต์พุตในip.txtไม่แสดงที่อยู่ IPv4 ที่กำหนดให้กับอินเทอร์เฟซหลัก ตามเวลาที่ฉันเข้าสู่ระบบที่อยู่ IPv4 ได้รับการกำหนดแน่นอนและการเชื่อมต่อเครือข่ายขึ้น ฉันคาดเดาว่าฉันสามารถแก้ไขจุดที่สคริปต์ทำงานโดยไปยุ่งกับWantedByพารามิเตอร์ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร ใครช่วยชี้ฉันในทิศทางที่ถูกต้องได้ไหม

11
ฉันจะบอกได้อย่างไรว่าฉันใช้ Linux รุ่นใด
บ่อยครั้งที่ฉันจะเปลี่ยนไปใช้กล่องไคลเอนต์ใหม่เพื่อทำการเปลี่ยนแปลงการกำหนดค่าเว็บไซต์โดยไม่ทราบเกี่ยวกับการกำหนดค่าเซิร์ฟเวอร์มากนัก ฉันเห็นสองสามวิธีในการรับข้อมูลเกี่ยวกับระบบที่คุณกำลังใช้อยู่ แต่มีคำสั่งมาตรฐานบางอย่างที่จะบอกฉันว่าฉันใช้ Unix / Linux รุ่นใดและข้อมูลพื้นฐานของระบบ (เช่นถ้าเป็นระบบ 64 บิต หรือไม่) และสิ่งนั้น โดยทั่วไปถ้าคุณเพิ่งลงชื่อเข้าใช้ในกล่องและไม่รู้อะไรเกี่ยวกับมันคุณจะตรวจสอบสิ่งใดบ้างและคุณใช้คำสั่งใดในการทำสิ่งนั้น

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