Unix & Linux

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

6
มีเครื่องมือในการรับบรรทัดในไฟล์ที่ไม่ได้อยู่ในไฟล์อื่นหรือไม่?
มีเครื่องมือใดบ้างที่สามารถรับบรรทัดที่ไฟล์ A มี แต่ไฟล์ B ไม่มี? ฉันสามารถสร้างสคริปต์ง่าย ๆ ด้วยเช่น perl แต่ถ้ามีอะไรทำนองนี้มีอยู่แล้วฉันจะประหยัดเวลานับจากนี้
110 command-line 

1
ฆ่าเซสชันที่ไม่ตอบสนองโดยไม่ต้องปิดเทอร์มินัล
มีวิธีตัดการเชื่อมต่อจากเซสชัน SSH ที่ไม่ตอบสนองโดยไม่ต้องฆ่าทั้งเครื่องหรือไม่? โดยเฉพาะฉันใช้ konsole และเครื่องที่ฉันทำงานด้วยบางครั้งก็ค้าง แต่จริงๆแล้วก็ไม่ตาย ดังนั้น SSH ก็แค่แฮงค์และฉันต้องปิดเทอร์มินัลแล้วเปิดใหม่เพื่อลองกลับเข้าไปใหม่หรือทำอย่างอื่น มีวิธีการ ctrl + c จากเซสชัน ssh อย่างมีประสิทธิภาพหรือไม่
110 ssh  terminal 

3
ฉันจะค้นหาโฟลเดอร์ที่อยู่ในอุปกรณ์ทางกายภาพได้อย่างไร
โดยเฉพาะ: ฉันทำsudo mkdir /workและต้องการตรวจสอบว่าอยู่ในฮาร์ดไดรฟ์ของฉันจริงและไม่ได้แมปกับไดรฟ์อื่น ฉันจะตรวจสอบว่าโฟลเดอร์นี้อยู่ที่ใดได้อย่างไร
110 filesystems 

11
ลบบรรทัดแรกของไฟล์
ฉันจะลบบรรทัดแรกของไฟล์และเก็บการเปลี่ยนแปลงได้อย่างไร ฉันลองมัน แต่มันจะลบเนื้อหาทั้งหมดของไฟล์ $sed 1d file.txt > file.txt
110 shell-script  sed  ksh 

5
การใช้เส้นประ (-) แทนชื่อไฟล์
สำหรับคำสั่งหากใช้-เป็นอาร์กิวเมนต์แทนชื่อไฟล์จะหมายถึง STDIN หรือ STDOUT แต่ในตัวอย่างนี้มันจะสร้างไฟล์ที่มีชื่อ-: echo hello > - ฉันจะทำ-ในตัวอย่างนี้หมายถึง STDOUT ได้อย่างไร ในทางกลับกันฉันจะทำให้-ชื่อไฟล์เป็น-ตัวอย่างได้อย่างไร: cat -

6
ทำไมเคอร์เนล Linux มีโค้ดมากกว่า 15 ล้านเส้น? [ปิด]
อะไรคือเนื้อหาของฐานรหัสเสาหินนี้? ฉันเข้าใจการสนับสนุนสถาปัตยกรรมโปรเซสเซอร์ความปลอดภัยและการจำลองเสมือน แต่ฉันไม่สามารถจินตนาการได้ว่ามีมากกว่า 600,000 บรรทัดหรือมากกว่านั้น อะไรคือเหตุผลในอดีตและปัจจุบันไดรเวอร์จะรวมอยู่ในฐานรหัสเคอร์เนล? 15 ล้านเส้นเหล่านั้นรวมถึงไดรเวอร์ทุกตัวสำหรับฮาร์ดแวร์ทุกชิ้นหรือไม่? ถ้าเป็นเช่นนั้นก็จะเกิดคำถามทำไมจึงมีไดรเวอร์ฝังอยู่ในเคอร์เนลและไม่แยกแพคเกจที่ตรวจพบโดยอัตโนมัติและติดตั้งจาก ID ฮาร์ดแวร์ ขนาดของรหัสฐานเป็นปัญหาสำหรับอุปกรณ์ที่จัดเก็บข้อมูลหรือ จำกัด หน่วยความจำหรือไม่? ดูเหมือนว่ามันจะขยายขนาดเคอร์เนลสำหรับอุปกรณ์ ARM ที่ จำกัด พื้นที่หากสิ่งที่ฝังอยู่ มีบรรทัดจำนวนมากที่ถูกเลือกโดยตัวประมวลผลล่วงหน้าหรือไม่? โทรหาฉันบ้า แต่ฉันนึกภาพไม่ออกว่าเครื่องจักรต้องการตรรกะมากมายในการทำงานสิ่งที่ฉันเข้าใจคือบทบาทของเคอร์เนล มีหลักฐานว่าขนาดจะเป็นปัญหาใน 50 ปีขึ้นไปเนื่องจากมันดูเหมือนธรรมชาติที่เคยเติบโต? การรวมไดรเวอร์หมายความว่ามันจะเติบโตขึ้นเมื่อฮาร์ดแวร์ทำขึ้น แก้ไข : สำหรับผู้ที่คิดว่านี่คือลักษณะของเมล็ดหลังจากการวิจัยบางอย่างฉันรู้ว่ามันไม่ได้เป็นเสมอ เคอร์เนลไม่จำเป็นต้องมีขนาดใหญ่เท่านี้เนื่องจากmicrokernel Mach ของ Carnegie Mellon ถูกระบุว่าเป็นตัวอย่าง 'มักจะต่ำกว่า 10,000 บรรทัดของโค้ด'
109 linux-kernel 

3
ทำไม swappiness ถูกตั้งค่าเป็น 60 โดยปริยาย?
ฉันเพิ่งอ่านบางอย่างเกี่ยวกับความว่องไวบน Linux ฉันไม่เข้าใจว่าทำไมค่าเริ่มต้นถูกตั้งค่าเป็น 60 ตามที่ฉันพารามิเตอร์นี้ควรตั้งค่าเป็น 10 เพื่อลดการแลกเปลี่ยน Swap อยู่บนฮาร์ดไดรฟ์ของฉันดังนั้นเราจึงช้ากว่าหน่วยความจำของฉันมาก ทำไมพวกเขาถึงกำหนดค่าเคอร์เนลแบบนั้น?
109 linux  kernel  swap 

10
Bash FOR Loop
ฉันพยายามขนานสคริปต์ต่อไปนี้โดยเฉพาะอย่างยิ่งสำหรับอินสแตนซ์วนรอบทั้งสามของ FOR โดยใช้ GNU Parallel แต่ไม่สามารถทำได้ คำสั่ง 4 คำสั่งที่อยู่ในการวนซ้ำแบบ FOR ทำงานเป็นลำดับแต่ละลูปใช้เวลาประมาณ 10 นาที #!/bin/bash kar='KAR5' runList='run2 run3 run4' mkdir normFunc for run in $runList do fsl5.0-flirt -in $kar"deformed.nii.gz" -ref normtemp.nii.gz -omat $run".norm1.mat" -bins 256 -cost corratio -searchrx -90 90 -searchry -90 90 -searchrz -90 90 -dof 12 fsl5.0-flirt -in $run".poststats.nii.gz" …

4
ส่งคืนเฉพาะส่วนของบรรทัดหลังจากรูปแบบการจับคู่
ดังนั้นการดึงเปิดไฟล์ด้วยcatและจากนั้นใช้grepในการรับสายการจับคู่เพียงทำให้ฉันได้รับเมื่อฉันทำงานกับชุดบันทึกเฉพาะที่ฉันจัดการกับ มันต้องการวิธีการจับคู่ลายเส้นกับรูปแบบ แต่เพื่อคืนส่วนของเส้นหลังการจับคู่เท่านั้น ส่วนก่อนและหลังการแข่งขันจะแตกต่างกันอย่างสม่ำเสมอ ฉันได้เล่นโดยใช้sedหรือawkแต่ไม่สามารถหาวิธีกรองบรรทัดเพื่อลบส่วนหนึ่งก่อนการแข่งขันหรือเพียงแค่คืนส่วนหลังการแข่งขันทั้งคู่จะทำงาน นี่คือตัวอย่างของบรรทัดที่ฉันต้องการกรอง: 2011-11-07T05:37:43-08:00 <0.4> isi-udb5-ash4-1(id1) /boot/kernel.amd64/kernel: [gmp_info.c:1758](pid 40370="kt: gmp-drive-updat")(tid=100872) new group: <15,1773>: { 1:0-25,27-34,37-38, 2:0-33,35-36, 3:0-35, 4:0-9,11-14,16-32,34-38, 5:0-35, 6:0-15,17-36, 7:0-16,18-36, 8:0-14,16-32,34-36, 9:0-10,12-36, 10-11:0-35, 12:0-5,7-30,32-35, 13-19:0-35, 20:0,2-35, down: 8:15, soft_failed: 1:27, 8:15, stalled: 12:6,31, 20:1 } ส่วนที่ฉันต้องการคือทุกอย่างหลังจาก "จนตรอก" เบื้องหลังที่อยู่เบื้องหลังคือฉันสามารถค้นหาได้ว่ามีบางสิ่งที่แผงลอย: cat messages | grep stalled | wc -l …

8
สร้างรหัสผ่านด้วยตนเองสำหรับ / etc / shadow
ฉันต้องแก้ไขด้วยตนเอง/etc/shadowเพื่อเปลี่ยนรหัสผ่านรูทภายในอิมเมจเครื่องเสมือน มีเครื่องมือบรรทัดคำสั่งที่ใช้รหัสผ่านและสร้าง/etc/shadowแฮรหัสผ่านที่เข้ากันได้กับมาตรฐานหรือไม่
109 linux  password  shadow 

5
วิธีการค้นหาเส้นทางของแอปพลิเคชันจากบรรทัดคำสั่ง?
ตัวอย่างเช่นฉันได้gitติดตั้งบนระบบของฉัน แต่ฉันจำไม่ได้ว่าติดตั้งไว้ที่ใดดังนั้นคำสั่งใดเหมาะสมที่จะค้นหาคำตอบนี้

5
apache2 คำสั่งไม่ถูกต้อง 'SSLEngine'
เมื่อฉันเริ่ม httpd ใหม่ฉันได้รับข้อผิดพลาดดังต่อไปนี้ ฉันพลาดอะไรไป [root@localhost ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 22 of /etc/httpd/conf.d/sites.conf: Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration ฉันติดตั้ง mod_ssl โดยใช้แล้ว yum install mod_ssl openssh Package 1:mod_ssl-2.2.15-15.el6.centos.x86_64 already installed …
108 ssl  apache-httpd 

5
ทำความเข้าใจกับเครื่องหมายอัศเจรีย์ (!) ในทุบตี
ฉันใช้ history | less เพื่อรับบรรทัดคำสั่งก่อนหน้าและจากตัวเลขทางด้านซ้ายมือฉันพบบรรทัดที่ต้องการซ้ำ (เช่น 22) และทำ !22 ที่พรอมต์คำสั่งและทำงานได้ - ดำเนินการชุดคำสั่งบนบรรทัดที่ฉันทำในเวลานั้น ฉันไม่สามารถทราบได้ว่ามีการใช้เครื่องหมายอัศเจรีย์อะไรในแง่ของการกระทำที่ถูกใช้โดยการทุบตีและตำแหน่งที่จะใช้ จากเอกสารฉันไม่เห็นคำอธิบายที่เป็น 'จับต้องได้'

2
ความแตกต่างระหว่าง pts และ tty
ซ้ำได้: ความแตกต่างที่แน่นอนระหว่าง 'terminal', 'shell', 'tty' และ 'console' คืออะไร? ฉันเห็น pts และ tty เสมอเมื่อฉันใช้whoคำสั่ง แต่ฉันไม่เคยเข้าใจว่ามันแตกต่างกันอย่างไร ใครช่วยอธิบายเรื่องนี้หน่อยได้ไหม
108 linux  tty  who 

7
คัดลอกไฟล์เฉพาะประเภทที่รักษาโครงสร้างโฟลเดอร์
ฉันมีโครงสร้างโฟลเดอร์ที่มีไฟล์ * .csv กระจายอยู่ทั่วทั้งโฟลเดอร์ ตอนนี้ฉันต้องการคัดลอกไฟล์ * .csv ทั้งหมดไปยังปลายทางอื่นเพื่อรักษาโครงสร้างโฟลเดอร์ มันทำงานได้โดยทำ: cp --parents *.csv /target cp --parents */*.csv" /target cp --parents */*/*.csv /target cp --parents */*/*/*.csv /target ... และอื่น ๆ แต่ฉันต้องการจะใช้คำสั่งเดียว
108 cp 

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