Unix & Linux

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

9
ใช้ sftp เพื่อถ่ายโอนไดเรกทอรีหรือไม่
เมื่อฉันพยายามใช้ sftp เพื่อถ่ายโอนไดเรกทอรีที่มีไฟล์ฉันได้รับข้อความแสดงข้อผิดพลาด: skipping non-regular file directory_name ไดเรกทอรีประกอบด้วยไฟล์จำนวนหนึ่งและสองไดเรกทอรีย่อย ผมทำอะไรผิดหรือเปล่า?

5
วิธีการส่งออกของคำสั่งหนึ่งเป็นอาร์กิวเมนต์บรรทัดคำสั่งไปยังอีก?
ดังนั้นฉันมีสคริปต์ที่เมื่อให้สองที่อยู่มันจะค้นหาลิงก์ HTML สองอัน: echo "http://maps.google.be/maps?saddr\=$1\&daddr\=$2" | sed 's/ /%/g' ฉันต้องการที่จะส่งข้อมูลนี้ให้แล้วบันทึกการส่งออกในไฟล์ที่เรียกว่าwget temp.htmlฉันลองสิ่งนี้ แต่มันไม่ทำงาน มีใครช่วยอธิบายสาเหตุและ / หรือให้ทางแก้ปัญหาแก่ฉันได้ไหม #!/bin/bash url = echo "http://maps.google.be/maps?saddr\=$1\&daddr\=$2" | sed 's/ /%/g' wget $url

5
ข้อแตกต่างระหว่างเคอร์เนล Makefile ต่อไปนี้คืออะไร: vmLinux, vmlinuz, vmlinux.bin, zimage & bzimage?
ในขณะที่สืบค้น Kernel Makefiles ฉันพบคำศัพท์เหล่านี้ ดังนั้นผมจึงอยากจะรู้ว่าอะไรคือความแตกต่างระหว่างvmlinux, vmlinuz, vmlinux.bin, zimageและbzimage?

3
วิธีการใช้คำสั่ง watch กับสายโซ่ของคำสั่ง / โปรแกรม
ฉันมักจะใช้watchยูทิลิตี้ linux เพื่อดูผลลัพธ์ของคำสั่งซ้ำ ๆ ทุก ๆ n วินาทีเช่นในwatch df -h /some_volume/ แต่ฉันดูเหมือนจะไม่สามารถใช้watchกับชุดคำสั่ง piped เช่น: $ watch ls -ltr|tail -n 1 ถ้าฉันทำอย่างนั้นwatchจริง ๆ กำลังดูls -ltrและกำลังส่งผ่านไปtail -n 1ซึ่งไม่แสดงผลอะไร ถ้าฉันลองทำสิ่งนี้: $ watch (ls -ltr|tail -n 1) ฉันเข้าใจ $ watch: syntax error near unexpected token `ls' และข้อใดข้อหนึ่งต่อไปนี้ล้มเหลวด้วยเหตุผลบางประการ: $ watch <(ls -ltr|tail -n 1) $ …
50 linux  bash  pipe  watch 

5
ฉันจะออกจากสคริปต์ในคำสั่งแบบมีเงื่อนไขได้อย่างไร
ฉันกำลังเขียนสคริปต์ทุบตีที่ฉันต้องการออกหากผู้ใช้ไม่ได้รูท เงื่อนไขทำงานได้ดี แต่สคริปต์ไม่ออก [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) ฉันลองใช้&&แทนที่จะใช้;แต่ไม่ได้ผล

2
ทำไม egrep [wW] [oO] [rR] [dD] เร็วกว่าคำว่า grep -i?
ฉันใช้grep -iบ่อยขึ้นและฉันพบว่ามันช้ากว่าของegrepที่ฉันเปรียบเทียบกับตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก: $ time grep -iq "thats" testfile real 0m0.041s user 0m0.038s sys 0m0.003s $ time egrep -q "[tT][hH][aA][tT][sS]" testfile real 0m0.010s user 0m0.003s sys 0m0.006s ไม่grep -iทำแบบทดสอบเพิ่มเติมที่egrepไม่?
49 grep  performance 

4
netcat จะรู้ได้อย่างไรว่าพอร์ต UDP เปิดอยู่?
ดังนั้นฉันสามารถใช้คำสั่ง netcat นี้เพื่อตรวจสอบว่าพอร์ต UDP เปิดอยู่หรือไม่: $ nc -vz -u 10.1.0.100 53 Connection to 10.1.0.100 53 port [udp/domain] succeeded! ซึ่งแตกต่างจาก TCP, UDP คือการเชื่อมต่อ (ไฟและลืม) ดังนั้นในระดับสูงไม่มีใครรู้ว่า netcat รู้พอร์ต UDP เปิดอย่างไร มันขอคำตอบหรืออะไรแบบนั้น?
49 netcat  udp 

1
เมื่อใดและอย่างไร double-dash (-) ถูกนำมาใช้เป็นจุดสิ้นสุดของตัวเลือกตัวคั่นใน Unix / Linux
ฉันไม่คิดว่าเปลือก / สาธารณูปโภคในประวัติศาสตร์ Unix หรือในสิ่งที่เป็น "ล่าสุด" เป็น4.4BSDสนับสนุนการใช้สองเส้นประ (หรือสองยัติภังค์ติดต่อกัน) ในฐานะที่เป็นส่วนท้ายของตัวเลือกตัวคั่น ด้วยFreeBSDคุณสามารถดูตัวอย่างข้อความที่แนะนำในrm manpagesด้วย2.2.1 รีลีส (1997) แต่นี่เป็นเพียงเอกสารประกอบสำหรับคำสั่งเดียว ดูGNU fileutils changelog ที่เก่าแก่ที่สุดที่ฉันสามารถหาได้ฉันเห็นสิ่งนี้1 (เปลี่ยนแปลงเล็กน้อย): Tue Aug 28 18:05:24 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * touch.c (main): Don't interpret first non-option arg as a <--- time if `--' is given (POSIX-required kludge). * touch.c: …
49 history  posix  gnu  arguments 

7
มีซอฟต์แวร์รู้จำเสียงที่ดีสำหรับ Linux หรือไม่?
คำถามสั้น ๆ : ฉันกำลังมองหาซอฟต์แวร์รู้จำเสียงพูดที่ทำงานบน Linux และมีความแม่นยำและการใช้งานที่เหมาะสม ใบอนุญาตและราคาใด ๆ ก็ดี ไม่ควร จำกัด คำสั่งเสียงเนื่องจากฉันต้องการให้สามารถกำหนดข้อความได้ รายละเอียดเพิ่มเติม: ฉันได้ลองทำอย่างต่อไปนี้แล้ว: CMU Sphinx CVoiceControl หู จูเลียส Kaldi (เช่นเซิร์ฟเวอร์ Kaldi GStreamer ) IBM ViaVoice (เคยทำงานบน Linux แต่ถูกยกเลิกเมื่อหลายปีก่อน) NICO ANN Toolkit OpenMindSpeech RWTH ASR เสียงร้อง silvius (สร้างขึ้นบนชุดเครื่องมือรู้จำเสียง Kaldi) Simon ฟัง ViaVoice / Xvoice ไวน์ + มังกร NaturallySpeaking + NatLink …

5
เหตุใดเคอร์เนลจึงปล่อยแพ็กเก็ต
ฉันถูกขัดจังหวะtcpdumpด้วยCtrl+ Cและได้รับบทสรุปทั้งหมดนี้: 579204 packets captured 579346 packets received by filter 142 packets dropped by kernel "แพ็คเก็ตที่ถูกลดลงโดยเคอร์เนล" คืออะไร? ทำไมถึงเกิดขึ้น?
49 kernel  tcpdump 

3
การปิดไฟล์ descriptor,> & - vs <& -
ในการกวดวิชาทุบตีฉันอ่านมันบอกว่าถ้าคุณเปิดไฟล์อธิบายสำหรับการอ่านคือ exec 3&lt; echolist จากนั้นคุณต้องปิดมันแบบนี้ exec 3&lt;&amp;- อย่างไรก็ตามหากคุณเปิดไฟล์ descriptor เพื่อทำการเขียนจะต้องปิดดังนี้: exec 3&gt;&amp;- แต่เมื่อฉันดูบนอินเทอร์เน็ตฉันเห็นผู้คนกำลังเปิดไฟล์แล้วปิดด้วย: exec 3&gt;&amp;- หมายเหตุ:exec 3&lt;&amp;1เมื่อตามกวดวิชาที่พวกเขาควรจะใช้ ดังนั้นคำถามของฉันคือตัวอธิบายไฟล์ทั้งหมดสามารถปิดได้โดยexec n&gt;&amp;-ที่ n คือหมายเลขตัวอธิบายไฟล์หรือไม่ ไม่ว่าจะเปิดอ่านหนังสือเขียนหรือทั้งสองอย่าง

8
จะเปลี่ยนชื่อโฮสต์บน CentOS 6.5 ได้อย่างไร
ฉันไม่สามารถเปลี่ยนชื่อโฮสต์บนโฮสต์ CentOS 6.5 ของฉันได้ ฉันทำตามคำแนะนำที่พบที่นี่: http://www.rackspace.com/knowledge_center/article/centos-hostname-change ฉันตั้งค่าของฉัน/etc/hostsดังนั้น ... [root@mig-dev-006 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.32.128 ost-dev-00.domain.com ost-dev-00 192.168.32.129 ost-dev-01.domain.com ost-dev-01 ... จากนั้นฉันก็ทำ/etc/sysconfig/networkไฟล์ของฉันเป็นเช่นนั้น ... [root@mig-dev-006 ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=ost-dev-00.domain.com NTPSERVERARGS=iburst ... จากนั้นฉันก็วิ่งไปhostnameเรื่อย ๆ ... [root@mig-dev-006 ~]# hostname ost-dev-00.domain.com ... และจากนั้นฉันก็ทุบตีและดูเหมือนว่าจะดี ... [root@mig-dev-006 ~]# bash ... แต่เมื่อฉันรีสตาร์ทเครือข่ายชื่อโฮสต์เก่าจะกลับมา: [root@ost-dev-00 ~]# /etc/init.d/network …
49 centos  hostname 

4
ตรวจสอบว่าอุปกรณ์อยู่ในไดเรกทอรีใด
ถ้าฉันทำ # cd / # ln -s /home test # cd test # mount --bind $PWD /mnt รายการใน/proc/mountsคือ /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 ซึ่งเป็นอุปกรณ์ที่ติดตั้งไป/homeและไม่ได้เป็น deducible จากได้อย่างง่ายดายซึ่งเป็น$PWD /testฉันจะทราบได้อย่างไรว่าอุปกรณ์ใด (เช่น / dev / sda2) จะแสดง/proc/mountsโดยทั่วไปเนื่องจาก bind mount นั้นอาจจะอยู่ในไดเรคทอรี / ไฟล์ที่อาจ "บดบัง" โดย symlinks, bind mount อื่น ๆ ฯลฯ ?

3
แปลง Amazon .pem key เป็น Putty .ppk key Linux
ฉันสร้างและดาวน์โหลด.pemรหัสส่วนตัวจาก AWS แล้ว อย่างไรก็ตามในการใช้งาน Putty เพื่อเชื่อมต่อกับเครื่องเสมือนฉันต้องมีรหัสนั้นใน.ppkรูปแบบ กระบวนการของการแปลงมีรายละเอียดในประมาณ 20 บรรทัดที่นี่: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html#prepare-for-putty ฉันใช้ Linux Mint (Ubuntu distro) และฉันรู้ว่าฉันสามารถใช้ puttygen ในเทอร์มินัล อย่างไรก็ตามฉันไม่ทราบวิธีใช้เครื่องมือนี้หรือวิธีกำหนดค่าพารามิเตอร์ที่จำเป็น เมื่อฉันพิมพ์ puttygen - ช่วยฉันได้ PuTTYgen unidentified build, Aug 7 2013 12:24:58 Usage: puttygen ( keyfile | -t type [ -b bits ] ) [ -C comment ] [ -P ] [ …

9
ค้นหาเฉพาะในไฟล์ที่ตรงกับรูปแบบที่มี ack
สามารถ ack ค้นหาเฉพาะไฟล์ที่ตรงกับรูปแบบ 'glob' ที่เฉพาะเจาะจงเท่านั้น (เช่น: ค้นหา foo ในไฟล์ทั้งหมดที่ชื่อ "bar * .c") คำสั่ง ack foo "bar*.c" ใช้งานได้เฉพาะในไดเรกทอรีปัจจุบัน หมายเหตุ: ฉันรู้ว่ามันเป็นไปได้ด้วย find -exec: find . -name "bar*.c" -type f -exec ack foo {} + แต่ฉันต้องการคำสั่ง ack ขนาดเล็กและเรียบง่ายเพราะ find ไม่ข้ามไดเรกทอรีควบคุมเวอร์ชัน
49 ack 

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