Unix & Linux

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

7
ถือว่าเป็นแนวปฏิบัติที่ดีที่สุดที่จะไม่ใช้อักษรตัวใหญ่ในการตั้งชื่อไฟล์หรือไม่?
มีคนบอกว่าคุณไม่ควรใช้ช่องว่างในการตั้งชื่อไฟล์ Unix มีเหตุผลที่ดีที่จะไม่ใช้อักษรตัวพิมพ์ใหญ่ในชื่อไฟล์ (เช่นFile_Name.txtvs. file_name.txt) หรือนี่เป็นเพียงเรื่องของการตั้งค่าส่วนตัว?
28 filenames 

2
เส้นประ `- 'ก่อนหน้า' ทุบตี 'บนข้อผิดพลาด' ไม่พบคำสั่ง 'หมายความว่าอย่างไร
เมื่อคุณป้อนคำสั่งที่ไม่ถูกต้องที่ bash prompt คุณจะได้รับข้อความ -bash: {command}: command not found อะไร-ที่มีความหมายว่าจุดเริ่มต้นมาก?
28 bash 

4
ทำไม tar ไม่สามารถแยกไฟล์. zip ได้ [ปิด]
ฉันพยายามที่เสียงข้างมากของรูปแบบ (gzip ฯลฯ ) เพื่อดึงไฟล์ซิปด้วยtarและเมื่อฉันกลายเป็นความผิดหวังพอที่จะ Google สำหรับมันฉันพบวิธีที่จะดึงไฟล์ซิปที่ไม่มีtarและคำแนะนำเฉพาะกับการใช้หรือzip unzipตามความเป็นจริงแล้วระบบลีนุกซ์ของฉันไม่มีแม้กระทั่งzipยูทิลิตี้ แต่มีเพียงunzip(ทำให้ฉันสงสัยว่าทำไมนี่เป็นตัวเลือกหลักที่แนะนำ) แน่นอนunzipการทำงานการแก้ปัญหาของฉัน แต่ทำไมไม่สามารถtarดึงซิปไฟล์? บางทีฉันควรถามแทนความแตกต่างระหว่าง zip และวิธีการบีบอัดที่สนับสนุนtarคืออะไร
28 tar  zip 

2
คัดลอกภาพจากคลิปบอร์ดไปยังไฟล์
เป็นไปได้ไหมที่จะนำภาพจากคลิปบอร์ดและส่งออกไปยังไฟล์ (ใช้ X)? ฉันสามารถทำสิ่งนี้ด้วยข้อความได้อย่างง่ายดาย: $ xclip -selection c -o > file.text แต่เมื่อฉันลองด้านบนด้วยภาพไม่มีอะไรเขียน เหตุผลที่ฉันต้องการทำสิ่งนี้คือฉันไม่ได้ติดตั้งโปรแกรมแก้ไขภาพและฉันคิดว่าฉันสามารถทำได้โดยไม่ติดตั้ง


6
วิธีเพิ่มการขึ้นบรรทัดใหม่ก่อนขึ้นบรรทัดใหม่ทุกครั้ง
ฉันมีไฟล์ที่ใช้\nสำหรับบรรทัดใหม่เท่านั้น แต่ฉันต้องการให้มี\r\nสำหรับแต่ละบรรทัดใหม่ ฉันจะทำสิ่งนี้ได้อย่างไร ตัวอย่างเช่นฉันแก้ไขในการใช้ Vim :%s/\n/\r\n/gแต่ฉันต้องการใช้สคริปต์หรือแอปพลิเคชันบรรทัดคำสั่ง ข้อเสนอแนะใด ๆ ฉันพยายามค้นหาสิ่งนี้ด้วยsedหรือgrepแต่ฉันสับสนทันทีโดยวิธีแก้ปัญหาลำดับหนี (ฉันเป็นสีเขียวเล็กน้อยด้วยคำสั่งเหล่านี้) หากสนใจแอปพลิเคชันจะเกี่ยวข้องกับคำถาม / คำตอบของฉันที่นี่
28 sed  grep  newlines 

1
ไดเร็กทอรี / home ปรากฏที่จุดใด
เริ่มแรกใน Unix /usrใช้สำหรับไดเรกทอรีผู้ใช้ (โฮม) ดังนั้นถ้าผมมีผู้ใช้ที่ชื่อไดเรกทอรีบ้านของฉันจะเป็นalex /usr/alex(น่าสนใจPlan 9ผู้สืบทอดของ Unix ยังคงมีไดเรกทอรีผู้ใช้อยู่/usr) /homeปัจจุบันแน่นอนเราเก็บไดเรกทอรีบ้านใน (อย่างน้อยใน GNU / Linux ฉันไม่รู้เกี่ยวกับ Unices อื่น ๆ แต่ OS X ไม่นับ) สิ่งนี้กลายเป็นมาตรฐานการปฏิบัติในจุดใด มันมีรสชาติของ Unix อะไรบ้าง? Unices อื่น ๆ ใช้เวลานานเท่าใด ได้/homeรับการรับรองโดยทุกคนหรือไม่ ฉันค้นหาอะไรบางอย่างที่นี่ แต่ไม่มีอะไรเกิดขึ้น

6
ทำไม initrd ของฉันมีเพียงไดเรกทอรีเดียวนั่นคือ 'เคอร์เนล'
ฉันใช้ debian live-build เพื่อทำงานบนระบบที่สามารถบูตได้ ในตอนท้ายของกระบวนการฉันได้รับไฟล์ทั่วไปที่ใช้ในการบูตระบบจริง: ไฟล์ squashfs, โมดูล GRUB และไฟล์ config บางไฟล์และไฟล์ initrd.img ฉันสามารถบู๊ตได้ดีโดยใช้ไฟล์เหล่านั้นส่งผ่าน initrd ไปยังเคอร์เนลผ่าน initrd=/path/to/my/initrd.img บนบรรทัดคำสั่ง bootloader แต่เมื่อฉันพยายามตรวจสอบเนื้อหาของภาพเริ่มต้นของฉันเช่น: $file initrd.img initrd.img: ASCII cpio archive (SVR4 with no CRC) $mkdir initTree && cd initTree $cpio -idv < ../initrd.img ต้นไม้ไฟล์ฉันได้รับเช่นนี้: $tree --charset=ASCII . `-- kernel `-- x86 `-- microcode `-- …
28 linux  debian  initrd  cpio 

4
วิธีทำให้รหัสผ่านผู้ใช้แสดงเป็นข้อความธรรมดาใน Linux
เรารู้ว่ารหัสผ่านของผู้ใช้จะถูกบันทึกไว้/etc/passwdแต่ในวิธีการเข้ารหัสดังนั้นแม้รากไม่สามารถมองเห็นพวกเขา: jane:x:501:501::/home/jane:/bin/bash fred:x:502:502::/home/fred:/bin/bash ดังที่แสดงด้านบน:x:แสดงถึงรหัสผ่าน มีวิธี (การกำหนดค่าที่เป็นไปได้) ในการบันทึกรหัสผ่านใน/etc/passwdข้อความที่ชัดเจนและรูทสามารถมองเห็นได้หรือไม่?
28 password 

6
ตรวจสอบสถิติ ping โดยไม่หยุด
มีวิธีบอกpingให้แสดงสถิติการเลิกจ้างตามปกติโดยไม่หยุดการทำงานหรือไม่? ตัวอย่างเช่นฉันต้องการดูอย่างรวดเร็ว: --- 8.8.8.8 ping statistics --- 2410 packets transmitted, 2274 received, +27 errors, 5% packet loss, time 2412839ms rtt min/avg/max/mdev = 26.103/48.917/639.493/52.093 ms, pipe 3 โดยไม่ต้องหยุดโปรแกรมทำให้สูญเสียข้อมูลสะสม
28 linux  command-line  gnu  ping 

1
ใช้ชื่อผู้ใช้ที่แตกต่างกันตามค่าเริ่มต้นสำหรับโฮสต์ที่เฉพาะเจาะจง
ฉันมีชื่อผู้ใช้อื่น (ที่ได้รับมอบหมายไม่สามารถเปลี่ยนได้) บนหนึ่งในเซิร์ฟเวอร์ที่ฉันเข้าสู่ระบบเป็นประจำและฉันต้องการหลีกเลี่ยงการเขียนลงทุกครั้ง ฉันสามารถสร้างเส้นเหล่านี้ได้ไหม [tohecz@localhost ~]$ ssh myserver.cz [tohecz@localhost ~]$ ssh anotherserver.cz ประพฤติปฏิบัติดังนี้ [tohecz@localhost ~]$ ssh tohecz@myserver.cz [tohecz@localhost ~]$ ssh anotheruser@anotherserver.cz
28 ssh  users 

3
ไฟล์โฮสต์: มันไม่ถูกต้องที่จะมีที่อยู่ IP เดียวกันในหลายบรรทัด?
ฉันฟอร์แมตไฟล์โฮสต์ของฉันมาระยะหนึ่งแล้ว สังเกตเห็น ip เดียวกันบนสองบรรทัด: e.f.g.h foo.mydevsite.com e.f.g.h foo.myOtherDevSite.com ฉันอ่านเมื่อเร็ว ๆ นี้ว่าควรมีการรวมชื่อแทนในหนึ่งบรรทัด: e.f.g.h foo.mydevsite.com foo.myOtherDevSite.com อย่างไรก็ตามฉันไม่ชอบวิธีนี้เพราะคุณไม่สามารถออกความเห็นนามแฝงบางอย่างหรือเพิ่มความคิดเห็นไปยังนามแฝงเฉพาะเช่นนี้: a.b.c.d foo.mydevsite.com # myDevSite on box 1 # a.b.c.d foo.myOtherSite.com # myOtherSite on box 1 a.b.c.d ubuntuBox e.f.g.h foo.myOtherSite.com # myOtherSite testing environment จนถึงตอนนี้ก็ทำงานได้ดี; มีปัญหากับสิ่งนี้หรือไม่?
28 hosts 

4
ผลลัพธ์ของ diff สองไฟล์ที่มีสวิตช์สลับบอกว่าไม่มีบรรทัดเดียวกันสองครั้ง
ฉันพยายามที่จะเข้าใจคำสั่ง linux diff ในสองไฟล์ที่บรรทัดมีการเรียงสับเปลี่ยนกัน แต่ไม่สามารถติดตามผลลัพธ์ที่สร้างขึ้นได้ พิจารณาสามคำสั่งด้านล่าง: [myPrompt]$ cat file1 apples oranges [myPrompt]$ cat file2 oranges apples [myPrompt]$ diff file1 file2 1d0 < apples 2a2 > apples บางคนสามารถอธิบายเอาต์พุตที่เป็นความลับดังกล่าวจาก diff ทำไมไม่มีการกล่าวถึง "ส้ม" เลยในเอาต์พุต อะไร1d0และ2a2หมายความว่าอย่างไร ฉันเข้าใจ จากคำตอบนี้ว่า: "<" หมายถึงบรรทัดนั้นหายไปใน file2 และ ">" หมายถึงบรรทัดนั้นขาดหายไปใน file1 แต่นั่นไม่ได้อธิบายว่าทำไมส้มจึงหายไปในผลลัพธ์
28 diff 

4
สคริปต์ทุบตีตรวจพบได้อย่างไรว่าสคริปต์นั้นทำงานในพื้นหลัง
มีวิธีที่สคริปต์ทุบตีจะรู้ว่ามันทำงานในเบื้องหน้าหรือพื้นหลังและเพื่อให้สามารถทำงานแตกต่างกันเล็กน้อยในแต่ละกรณี?
28 bash  shell 

10
เรียกใช้สองคำสั่งในอาร์กิวเมนต์เดียว (โดยไม่มีสคริปต์)
ฉันจะดำเนินการสองคำสั่งในอินพุตเดียวโดยไม่ต้องพิมพ์อินพุตนั้นสองครั้งได้อย่างไร ตัวอย่างเช่นคำสั่ง stat บอกจำนวนมากเกี่ยวกับไฟล์ แต่ไม่ได้ระบุประเภทไฟล์: stat fileName คำสั่ง file บอกประเภทของไฟล์: file fileName คุณสามารถทำได้ในหนึ่งบรรทัดด้วยวิธีนี้: stat fileName ; file fileName อย่างไรก็ตามคุณต้องพิมพ์ชื่อไฟล์สองครั้ง คุณจะรันคำสั่งทั้งสองในอินพุตเดียวกันได้อย่างไร (โดยไม่ต้องพิมพ์อินพุตหรือตัวแปรของอินพุตสองครั้ง) ใน Linux ฉันรู้วิธีไพพ์เอาต์พุต แต่คุณไพพ์อินพุตได้อย่างไร?

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