Unix & Linux

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

8
Linux เป็น Unix หรือไม่
ดังนั้นจึงมี Unix หลายรุ่นที่แตกต่างกันออกไปนั่นคือ HP-UX, AIX, BSD, และอื่น ๆ Linux ถือว่าเป็น Unix clone แทนที่จะใช้ Unix Unices "ที่แท้จริง" ของลูกหลานที่แท้จริงของต้นฉบับทั้งหมดหรือไม่ ถ้าไม่แยก Linux ออกจาก Unix อะไร?
190 linux  unix  history 

20
วิธีการเพิ่มบรรทัดใหม่ในตอนท้ายของไฟล์?
No newline at end of fileโดยใช้ระบบการควบคุมรุ่นที่ฉันได้รับรำคาญที่เสียงเมื่อต่างกล่าวว่า ดังนั้นฉันสงสัยว่า: วิธีเพิ่มบรรทัดใหม่ที่ท้ายไฟล์เพื่อกำจัดข้อความเหล่านั้นได้อย่างไร

8
ค้นหาว่ามีการใช้ไอโหนดใด
ดังนั้นฉันจึงได้รับคำเตือนจากระบบตรวจสอบของเราบนกล่องใดกล่องหนึ่งของเราที่จำนวนของ inodes ฟรีในระบบไฟล์มีน้อย df -i เอาท์พุทแสดงสิ่งนี้: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda1 524288 422613 101675 81% / อย่างที่คุณเห็นพาร์ติชั่นรูทนั้นใช้ไอโหนด 81% ฉันสงสัยว่ามันถูกใช้งานทั้งหมดในไดเรกทอรีเดียว แต่ฉันจะหาที่ที่อยู่ได้อย่างไร
189 filesystems  inode 

6
rsync สามารถทำงานต่อหลังจากถูกขัดจังหวะหรือไม่
ฉันเคยrsyncคัดลอกไฟล์จำนวนมาก แต่ระบบปฏิบัติการ (Ubuntu) ของฉันรีสตาร์ทโดยไม่คาดหมาย หลังจากรีบูตฉันวิ่งrsyncอีกครั้ง แต่จากผลลัพธ์บนเทอร์มินัลฉันพบว่าrsyncยังคงคัดลอกรายการที่คัดลอกมาก่อนหน้านี้แล้ว แต่ฉันได้ยินว่าrsyncสามารถค้นหาความแตกต่างระหว่างต้นทางและปลายทางได้ดังนั้นจึงคัดลอกความแตกต่าง ดังนั้นฉันสงสัยในกรณีของฉันหากrsyncสามารถดำเนินการต่อสิ่งที่ถูกทิ้งไว้ครั้งสุดท้าย?
188 rsync 

9
อะไรคือสิ่งที่ยืนหยัดเพื่อ?
โฟลเดอร์ "etc" ในไดเรกทอรีรากมีไว้เพื่ออะไร ฉันคิดว่าการรู้สิ่งนี้จะช่วยให้ฉันจำได้ว่ามีไฟล์อยู่ที่ไหนบ้าง ปรับปรุง : อาจจะมีประโยชน์สำหรับคนอื่น ๆ โฟลเดอร์ที่ใช้สำหรับ "เจ้าภาพแฟ้มการกำหนดค่าที่เฉพาะเจาะจง" - อ้างอิง

3
เหตุใด 'ls' จึงตัดรายการด้วยช่องว่างในเครื่องหมายคำพูดเดี่ยว
ฉันเพิ่งสังเกตเห็นว่าในหนึ่งในเครื่องของฉัน (เรียกใช้ Debian Sid) เมื่อใดก็ตามที่ฉันพิมพ์lsชื่อไฟล์ใด ๆ ที่มีช่องว่างมีคำพูดเดียวรอบมัน ฉันตรวจสอบชื่อแทนของฉันทันทีเพื่อค้นหาพวกเขาเหมือนเดิม wyatt@debian630:~/testdir$ ls 'test 1.txt' test1.txt wyatt@debian630:~/testdir$ alias alias ls='ls --color=auto' alias wget='wget --content-disposition' wyatt@debian630:~/testdir$ (ภาพ) การทดสอบอื่นด้วยไฟล์ที่มีเครื่องหมายคำพูดเดี่ยวในชื่อของพวกเขา (เช่นการตอบคำขอโดย jimmij): wyatt@debian630:~/testdir$ ls 'test 1.txt' test1.txt 'thishasasinglequotehere'\''.txt' wyatt@debian630:~/testdir$ touch "'test 1.txt'" wyatt@debian630:~/testdir$ ls ''\''test 1.txt'\''' test1.txt 'test 1.txt' 'thishasasinglequotehere'\''.txt' (ภาพ) อัพเดตด้วยเอาต์พุต coreutils-8.26 ใหม่ (ซึ่งเป็นที่ยอมรับน้อยกว่าความสับสน แต่ยังคงเกิดการระคายเคืองตามค่าเริ่มต้น) …

13
ลบอักขระตัวสุดท้ายของสตริงโดยใช้การจัดการสตริงในเชลล์สคริปต์
ฉันต้องการลบอักขระตัวสุดท้ายของสตริงฉันลองใช้สคริปต์ตัวน้อยนี้: #! /bin/sh t="lkj" t=${t:-2} echo $t แต่มันพิมพ์ "lkj" สิ่งที่ฉันทำผิด?

8
ฉันจะส่ง stdout ไปยังหลายคำสั่งได้อย่างไร
มีคำสั่งบางตัวที่กรองหรือดำเนินการกับอินพุตจากนั้นส่งผ่านไปตามเอาต์พุตฉันคิดว่าปกติแล้วstdout- แต่คำสั่งบางอย่างจะใช้stdinและทำสิ่งที่พวกเขาทำกับมัน ฉันคุ้นเคยกับ OS X มากที่สุดและมีอยู่สองอย่างที่นึกขึ้นมาทันทีpbcopyและpbpaste- ซึ่งหมายถึงการเข้าถึงคลิปบอร์ดของระบบ อย่างไรก็ตามฉันรู้ว่าถ้าฉันต้องการ stdout และคายเอาท์พุทเพื่อไปที่ทั้งสองstdoutและไฟล์จากนั้นฉันสามารถใช้teeคำสั่ง และฉันรู้เรื่องเล็กน้อยxargsแต่ฉันไม่คิดว่านั่นคือสิ่งที่ฉันกำลังมองหา ฉันต้องการทราบว่าฉันสามารถแยกstdoutคำสั่งระหว่างสองคำสั่ง (หรือมากกว่า) ได้อย่างไร ตัวอย่างเช่น: cat file.txt | stdout-split -c1 pbcopy -c2 grep -i errors อาจมีตัวอย่างที่ดีกว่าตัวอย่างนั้น แต่ฉันสนใจที่จะรู้ว่าฉันสามารถส่ง stdout ไปยังคำสั่งที่ไม่ส่งสัญญาณได้อย่างไรและในขณะที่ไม่stdoutถูก "ปิดเสียง" - ฉันไม่ได้ถามเกี่ยวกับcatไฟล์และgrepส่วนหนึ่งของมันและคัดลอกไปยังคลิปบอร์ด - คำสั่งเฉพาะนั้นไม่สำคัญ นอกจากนี้ - ฉันไม่ได้ถามว่าจะส่งไฟล์นี้ไปยังไฟล์ได้อย่างไรstdout- อาจเป็นคำถามที่ "ซ้ำกัน" (ขออภัย) แต่ฉันได้ลองดูแล้วจะพบคนที่คล้ายกันที่ถามถึงวิธีการแยกระหว่าง stdout และไฟล์ - และคำตอบสำหรับคำถามเหล่านั้นดูเหมือนจะเป็นteeซึ่งฉันไม่คิดว่าจะทำงานให้ฉันได้ สุดท้ายคุณอาจถามว่า "ทำไมไม่ทำให้ pbcopy เป็นสิ่งสุดท้ายในห่วงโซ่ท่อ" และการตอบสนองของฉันคือ …

9
grep ทำให้อะไรที่พิจารณาว่าเป็นไฟล์ไบนารี่?
ฉันมีฐานข้อมูลบางส่วนจากระบบ Windows บนกล่องของฉัน พวกเขาเป็นไฟล์ข้อความ ฉันใช้ cygwin เพื่อ grep ผ่านพวกเขา ดูเหมือนว่าจะเป็นไฟล์ข้อความธรรมดา ฉันเปิดพวกมันด้วยโปรแกรมแก้ไขข้อความเช่น notepad และ wordpad และพวกมันดูเข้าใจง่าย แต่เมื่อผมทำงาน grep binary file foo.txt matchesกับพวกเขาก็จะบอกว่า ฉันสังเกตว่าไฟล์มีNULอักขระASCII บางตัวซึ่งฉันเชื่อว่าเป็นสิ่งประดิษฐ์จากดัมพ์ของฐานข้อมูล ดังนั้นอะไรทำให้ grep พิจารณาว่าไฟล์เหล่านี้เป็นไบนารี NULตัวละคร? มีการตั้งค่าสถานะบนระบบแฟ้มหรือไม่? ฉันต้องเปลี่ยนอะไรเพื่อให้ grep แสดงบรรทัดที่ตรงกัน
185 grep 

7
วิธีการแสดง meminfo เป็นเมกะไบต์ด้านบน?
บางครั้งไม่สะดวกที่จะเห็น meminfo เป็นกิโลไบต์เมื่อคุณมี RAM หลายกิกะไบต์ ใน Linux ดูเหมือนว่า: และนี่คือลักษณะที่ปรากฏใน Mac OS X: มีวิธีการแสดง meminfo ในลีนุกซ์ชั้นนำในเทราไบต์, กิกะไบต์และเมกะไบต์หรือไม่?
184 linux  memory  top  meminfo 

8
อนุญาตให้ setuid บนเชลล์สคริปต์
setuidบิตได้รับอนุญาตบอกลินุกซ์ที่จะเรียกใช้โปรแกรมที่มีรหัสผู้ใช้ที่มีประสิทธิภาพของการใช้แทนการปฏิบัติการที่: > cat setuid-test.c #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } > gcc -o setuid-test setuid-test.c > ./setuid-test 1000 > sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test > ./setuid-test 65534 อย่างไรก็ตามสิ่งนี้ใช้กับไฟล์ที่เรียกทำงานได้เท่านั้น เชลล์สคริปต์ละเว้นบิต setuid: > cat setuid-test2 #!/bin/bash id -u > ./setuid-test2 …

27
ข้อผิดพลาดในการสร้างอุโมงค์ SSH:“ ช่อง 1: เปิดล้มเหลว: ไม่อนุญาตให้ดำเนินการ: เปิดล้มเหลว”
เมื่อฉันเปิดอุโมงค์ SSH นี้: ssh -nXNT -p 22 localhost -L 0.0.0.0:8984:remote:8983 ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามเข้าถึงเซิร์ฟเวอร์ HTTP ที่ทำงานบน localhost: 8984: channel 1: open failed: administratively prohibited: open failed ข้อผิดพลาดนี้หมายถึงอะไรและเครื่องใดที่คุณสามารถแก้ไขปัญหาได้

6
รายการเซสชัน SSH ที่เชื่อมต่อทั้งหมดหรือไม่
ฉันเพิ่งจะรูท SSH และจากนั้น SSH ก็จะรูทบนเครื่องเดียวกันอีกครั้ง ดังนั้นฉันจึงเปิดหน้าต่างสองบานทั้งสอง SSH ลงในรูทเครื่องของฉัน จากเปลือกฉันจะดูรายการของสองช่วงนี้ได้อย่างไร?
184 ssh  terminal 

6
ข้อดี / ข้อเสียของการพุ่งพรวดและ systemd คืออะไร?
มันจะปรากฏsystemdเป็นร้อนใหม่initระบบในบล็อกเดียวกับพุ่งพรวดเป็นไม่กี่ปีที่ผ่านมา ข้อดี / ข้อเสียของแต่ละข้อคืออะไร? นอกจากนี้แต่ละระบบยังเปรียบเทียบกับระบบเริ่มต้นอื่น ๆ ได้อย่างไร
183 init  upstart  systemd 

11
ฉันจะแปลงเวลาประทับของยุคเป็นรูปแบบที่มนุษย์อ่านได้บน cli ได้อย่างไร
ฉันจะแปลงเวลาประทับของยุคเป็นรูปแบบที่มนุษย์อ่านได้บน cli ได้อย่างไร ฉันคิดว่ามีวิธีที่จะทำกับวันที่ แต่ไวยากรณ์ฉันพ้น (วิธีอื่น ๆ ยินดีต้อนรับ)
183 command-line  shell  date 

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