คำถามติดแท็ก io-redirection

15
ฉันจะใช้ sudo เพื่อเปลี่ยนเส้นทางผลลัพธ์ไปยังตำแหน่งที่ฉันไม่ได้รับอนุญาตให้เขียนได้อย่างไร
ฉันได้รับสิทธิ์เข้าถึง sudo บนหนึ่งในกล่อง RedHat linux ที่พัฒนาของเราและดูเหมือนว่าฉันมักจะพบว่าตัวเองต้องเปลี่ยนเส้นทางไปยังตำแหน่งที่ปกติแล้วฉันไม่มีสิทธิ์เข้าถึงเพื่อเขียน ปัญหาคือตัวอย่างที่วางแผนไว้นี้ไม่ทำงาน: sudo ls -hal /root/ > /root/test.out ฉันเพิ่งได้รับคำตอบ: -bash: /root/test.out: Permission denied ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร

13
ค้นหาและแทนที่ไฟล์และไฟล์เขียนทับไม่ทำงาน แต่จะลบไฟล์
ฉันต้องการเรียกใช้ค้นหาและแทนที่ไฟล์ HTML ผ่านบรรทัดคำสั่ง คำสั่งของฉันมีลักษณะเช่นนี้: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html เมื่อฉันเรียกใช้และดูไฟล์ในภายหลังมันว่างเปล่า มันลบเนื้อหาของไฟล์ของฉัน เมื่อฉันเรียกใช้หลังจากเรียกคืนไฟล์อีกครั้ง: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html stdoutเป็นเนื้อหาของแฟ้มและค้นหาและแทนที่ได้รับการดำเนินการ ทำไมสิ่งนี้จึงเกิดขึ้น

16
จะส่งรหัสผ่านไปที่ scp ได้อย่างไร
ฉันรู้ว่าไม่แนะนำ แต่เป็นไปได้หรือไม่ที่จะส่งรหัสผ่านของผู้ใช้ไปยัง scp? ฉันต้องการคัดลอกไฟล์ผ่าน scp ซึ่งเป็นส่วนหนึ่งของงานแบ็ตช์และแน่นอนเซิร์ฟเวอร์ที่รับต้องใช้รหัสผ่านและไม่ฉันไม่สามารถเปลี่ยนการรับรองความถูกต้องด้วยคีย์ได้อย่างง่ายดาย

7
/ dev / null 2> & 1 คืออะไร
ฉันพบรหัสชิ้นนี้ใน /etc/cron.daily/apf #!/bin/bash /etc/apf/apf -f >> /dev/null 2>&1 /etc/apf/apf -s >> /dev/null 2>&1 มันล้างและโหลดไฟร์วอลล์อีกครั้ง ฉันไม่เข้าใจ>> /dev/null 2>&1ส่วนนั้น จุดประสงค์ของการมีสิ่งนี้ใน cron คืออะไร? มันกำลังเอาชนะกฎไฟร์วอลล์ของฉัน ฉันสามารถลบงาน cron นี้ได้อย่างปลอดภัยหรือไม่

6
ส่งสตริงไปยัง stdin
มีวิธีในการทำเช่นนี้อย่างมีประสิทธิภาพในทุบตี: /my/bash/script < echo 'This string will be sent to stdin.' ฉันรู้ว่าฉันสามารถส่งออกท่อจากเสียงสะท้อนเช่นนี้: echo 'This string will be piped to stdin.' | /my/bash/script

10
การเปลี่ยนเส้นทางเอาต์พุตจากภายในไฟล์ Batch
ฉันกำลังสร้างไฟล์แบตช์ด้วยคำสั่งง่ายๆเพื่อรวบรวมข้อมูลจากระบบ ไฟล์แบตช์มีคำสั่งเพื่อรับข้อมูลเวลาข้อมูล IP ผู้ใช้ ฯลฯ ฉันรวบรวมคำสั่งทั้งหมดในไฟล์แบตช์และมันทำงาน แต่ฉันต้องการไฟล์แบตช์เมื่อรันเพื่อส่งผลลัพธ์ไปยังไฟล์ข้อความ (บันทึก) มีคำสั่งที่ฉันสามารถเพิ่มลงในแบตช์ที่จะทำได้หรือไม่? โปรดทราบว่าฉันไม่ต้องการเรียกใช้ชุดงานจาก cmd จากนั้นเปลี่ยนเส้นทางเอาต์พุต ฉันต้องการเปลี่ยนเส้นทางเอาต์พุตจากภายในชุดงานหากเป็นไปได้

7
ฉันจะเปลี่ยนทิศทางผลลัพธ์ของคำสั่ง“ เวลา” ได้อย่างไร
ฉันพยายามเปลี่ยนทิศทางผลลัพธ์ของคำสั่งเวลา แต่ไม่สามารถ: $time ls > filename real 0m0.000s user 0m0.000s sys 0m0.000s ในไฟล์ฉันเห็นผลลัพธ์ของlsคำสั่งไม่ใช่ของtime. โปรดอธิบายว่าทำไมฉันถึงทำไม่ได้และทำอย่างไร

1
3> & 1 หมายถึง 4> & 3 5> & 3 ฯลฯ หรือไม่
ฉันคาดหวัง echo foo | tee /proc/self/fd/{3..6} 3>&1 ล้มเหลวด้วยข้อผิดพลาดเช่น/ proc / self / fd / 4: ไม่มีไฟล์หรือไดเร็กตอรี่อื่น ๆ , แต่ด้วยความประหลาดใจของฉัน, มันแสดงผลออกมา foo foo foo foo foo มันเป็น3>&1สาเหตุทำให้ตัวบอกรายละเอียดทั้งหมดต่อไปนี้ถูกเปลี่ยนเส้นทางไปยัง stdout ยกเว้นว่าจะไม่ทำงานหากฉันเปลี่ยน3เป็นอย่างอื่นเช่น $ echo foo | tee /proc/self/fd/{3..6} 4>&1 tee: /proc/self/fd/3: No such file or directory tee: /proc/self/fd/5: No such file or directory tee: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.