คำถามติดแท็ก command-line

บรรทัดคำสั่งเป็นอินเทอร์เฟซแบบโต้ตอบกับเชลล์ของคุณ

5
การรวมไฟล์จำนวนมากเข้าด้วยกัน
ฉันมีไฟล์± 10,000 ไฟล์ ( res.1- res.10000) ทั้งหมดประกอบด้วยหนึ่งคอลัมน์และจำนวนแถวเท่ากัน สิ่งที่ฉันต้องการคือโดยพื้นฐานแล้วเรียบง่าย final.resรวมไฟล์ทุกคอลัมน์ที่ชาญฉลาดในไฟล์ใหม่ ฉันได้ลองใช้: paste res.* อย่างไรก็ตาม (ถึงแม้ว่าสิ่งนี้ดูเหมือนว่าจะทำงานกับไฟล์ย่อยเล็ก ๆ ของไฟล์ผลลัพธ์ แต่ก็ให้ข้อผิดพลาดต่อไปนี้เมื่อดำเนินการกับทั้งชุด: Too many open files. จะต้องมีวิธี 'ง่าย' ในการทำสิ่งนี้ แต่น่าเสียดายที่ฉันค่อนข้างใหม่กับยูนิกซ์ ขอบคุณล่วงหน้า! PS: เพื่อให้คุณมีความคิดเกี่ยวกับสิ่งที่ (หนึ่งใน) ของฉัน datafile (s) ดูเหมือนว่า: 0.5 0.5 0.03825 0.5 10211.0457 10227.8469 -5102.5228 0.0742 3.0944 ...


1
เริ่มกระบวนการพื้นหลังจากสคริปต์และจัดการเมื่อสคริปต์สิ้นสุด
ฉันต้องการเรียกใช้และกำหนดค่ากระบวนการคล้ายกับ daemon จากสคริปต์ shell ของฉันคือ zsh emulated ภายใต้ Cygwin และ daemon คือSFKซึ่งเป็นเซิร์ฟเวอร์ FTP พื้นฐาน สำหรับสิ่งที่สำคัญที่นี่สคริปต์startserv.shสามารถถูกร่างได้ดังนี้: #!/bin/sh read -s -p "Enter Password: " pw user=testuser share=/fshare cmd="sfk ftpserv -user=$user -pw=$pw -usedir $share=$share" $cmd & หลังจากเรียกใช้สคริปต์สคริปต์startserv.shจะหยุด (จบลง?) โดยไม่แสดงพรอมต์ใด ๆ จากนั้น: CTRL+ Cจบทั้งสคริปต์และกระบวนการทำงานเบื้องหลัง การกดปุ่มEnterสคริปต์จะสิ้นสุดกระบวนการจะยังคงอยู่ในพื้นหลัง อย่างไรก็ตามผมสามารถดูได้ผ่านทางpsและไม่ได้jobsดังนั้นเมื่อฉันต้องการที่จะปิดการที่ผมต้องส่งโหดร้ายkill -9สัญญาณซึ่งเป็นสิ่งที่ผมอยากจะหลีกเลี่ยงในความโปรดปรานของ +CTRLC ทางเลือกอื่น จะเรียกใช้สคริปต์ทั้งหมดในพื้นหลัง 'จะ' แต่คำสั่งไม่สามารถได้รับข้อมูลผู้ใช้ถ้าสคริปต์ทำงานเป็นreadstartserv.sh & โปรดทราบว่าฉันต้องการเซิร์ฟเวอร์ชั่วคราวไม่ใช่ภูตจริง: …

5
ฉันจะลบช่องว่างออกจากตัวแปรเชลล์ได้อย่างไร
ฉันทำต่อไปนี้ที่บรรทัดคำสั่ง: $ text="name with space" $ echo $text name with space ฉันพยายามที่จะใช้tr -d ' 'เพื่อลบช่องว่างและมีผลมาจาก: namewithspace ฉันพยายามทำบางสิ่งเช่น: text=echo $text | tr -d ' ' ไม่มีโชคดีหวังว่าคุณจะสามารถช่วยชาวพื้นบ้านที่ยอดเยี่ยม
15 shell  command-line  tr 

3
ลบบรรทัดทั้งหมดในไฟล์ A ซึ่งมีสตริงในไฟล์ B
ฉันมีไฟล์ CSV users.csvพร้อมรายชื่อผู้ใช้ชื่อผู้ใช้และข้อมูลอื่น ๆ : username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "Paul McCartny", 30923833, "left", "black" "Ringo Starr", 77392318, "right", "blue" "George Harrison", 72349482, "left", "green" ในไฟล์อื่นtoremove.txtฉันมีรายการหมายเลขผู้ใช้: 30923833 77392318 มีวิธีที่ฉลาดและมีประสิทธิภาพในการลบแถวทั้งหมดออกจากusers.csvไฟล์ที่มีรหัสtoremove.txtหรือไม่ ฉันได้เขียนแอพ Python อย่างง่ายเพื่อแยกไฟล์สองไฟล์และเขียนลงในไฟล์ใหม่เฉพาะบรรทัดที่ไม่พบtoremove.txtแต่มันช้ามากเป็นพิเศษ บางทีเวทมนตร์sedหรือบางอย่างawkอาจช่วยได้ที่นี่ นี่คือผลลัพธ์ที่ต้องการโดยพิจารณาจากตัวอย่างด้านบน: username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "George Harrison", 72349482, …

1
มีวิธีการค้นหา manpages สำหรับสถานการณ์การใช้งานทั่วไปหรือไม่?
ฉันมีสมองที่ค่อนข้างเล็กดังนั้นจึงมีข้อ จำกัด เกี่ยวกับสิ่งที่ฉันสามารถเก็บไว้ที่นั่นได้ ฉันใช้ Linux semi-pro-amateur มาสองสามปีแล้วและฉันก็ยังรู้สึกประหลาดใจกับคำสั่งที่ฉันรู้เพียงเล็กน้อย สิ่งที่เรียบง่ายเช่น "ฉันจะแสดงรายการพาร์ติชั่นทั้งหมดในเทอร์มินัล" ได้อย่างไรจะเปิดตัว DuckDuckGo-Hunt 15 นาที ฉันกำลังยืน! มันสิ้นสุดลงวันนี้! ดังนั้นมีวิธีการค้นหา manpages สำหรับสิ่งต่าง ๆ เช่น "list partitions" และรับสิ่งที่ชอบ: $ man-search list partitions Results for "list partitions" ----------------------------- df - list drives with size or something du - list directory usage ฉันคิดว่าฉันรู้คำตอบอยู่แล้ว แต่ ... บางทีคุณอาจแนะนำวิธีที่รวดเร็วกว่าในการค้นหายูทิลิตี้ที่ฉันต้องการเมื่อฉันต้องการมัน ขอบคุณ!


2
วิธีง่ายๆในการจัดกำหนดการเหตุการณ์เดียวที่จะเกิดขึ้นในอนาคต
บ่อยครั้งที่ฉันต้องการให้คอมพิวเตอร์ทำภารกิจเดียว แต่ไม่ใช่ตอนนี้ ตัวอย่างเช่นฉันสามารถแจ้งให้ฉันทราบภายใน 30 นาทีว่าถึงเวลาออกจากงานแล้ว หรือบางทีฉันต้องการให้ทำการทดสอบที่ซับซ้อน 2 ชั่วโมงต่อจากนี้เมื่อฉันแน่ใจว่าคนส่วนใหญ่จะหายไปจากสำนักงาน ฉันรู้ว่าฉันสามารถสร้างงาน cron เพื่อให้ทำงานในเวลาที่กำหนดของวัน แต่ดูเหมือนว่างานจำนวนมากเมื่อทั้งหมดที่ฉันต้องการคือสิ่งที่ง่ายเช่น "รันสคริปต์นี้ใน 10 นาที" นอกจากนี้ฉันจะต้องคิดออก ตอนนี้เวลาเท่าไรจะเป็น X นาที / ชั่วโมง / วันจากนั้นลบงาน cron เมื่อเสร็จแล้ว แน่นอนฉันสามารถเขียนสคริปต์นี้และเรียกใช้ในพื้นหลัง: sleep X do_task แต่นั่นก็ดูเหมือนว่าจะเป็นเรื่องไร้สาระ: ฉันต้องการสคริปต์ใหม่สำหรับแต่ละงานหรือฉันต้องเขียนและบำรุงรักษาสคริปต์ทั่วไปพอที่จะทำสิ่งที่ฉันต้องการไม่ต้องพูดถึงว่าฉันต้องคิดออกว่ากี่วินาทีในไม่กี่นาที ชั่วโมงหรือวันที่ฉันต้องการ ไม่มีวิธีแก้ไขปัญหานี้ที่สร้างไว้แล้วหรือไม่?

2
จะแทนที่ลิงก์สัญลักษณ์ด้วยสำเนาของไฟล์ที่ลิงก์ไปยังได้อย่างไร
มี symlink (ระบบเดียวที่ไม่ต้องประมวลผลระบบแบตช์) สิ่งที่บรรทัดคำสั่งที่จะใช้เพื่อแทนที่ด้วยสำเนาของไฟล์ที่ลิงก์ไปยัง?

2
lsof สำหรับกระบวนการเฉพาะหรือไม่
มีbzip2กระบวนการทำงานอยู่เบื้องหลังและฉันไม่รู้ว่ามันมาจากไหน มันกินทรัพยากรมากมาย ฉันสามารถย้อนกลับlsofเพื่อดูว่ากระบวนการนี้เข้าถึงไฟล์ใดได้หรือไม่ ฉันหยุดกระบวนการชั่วคราวไปแล้ว

2
อักขระขึ้นบรรทัดใหม่ที่หายไปจากการทดแทนคำสั่งของฉันอยู่ที่ไหน
รหัสต่อไปนี้อธิบายสถานการณ์ได้ดีที่สุด เหตุใดบรรทัดสุดท้ายจึงไม่แสดงเอาต์พุตอักขระขึ้นบรรทัดใหม่ เอาต์พุตของแต่ละบรรทัดจะแสดงในความคิดเห็น ฉันใช้GNU bash เวอร์ชัน 4.1.5 echo -n $'a\nb\n' | xxd -p # 610a620a x=$'a\nb\n' ; echo -n "$x" | xxd -p # 610a620a echo -ne "a\nb\n" | xxd -p # 610a620a x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # 610a62

7
วันที่: รับช่วงเวลาปัจจุบัน 15 นาที
มีวิธีใดบ้างที่ฉันจะได้รับช่วงเวลา 15 นาทีปัจจุบันโดยใช้คำสั่ง date หรือคล้ายกัน? เช่นบางอย่างเช่นวันที่%Y.%m.%d %H:%M จะให้ฉัน2011.02.22 10:19ฉันต้องการสิ่งที่อัตราผลตอบแทน2011.02.22 10:15ในช่วงเวลาจากไป10:1510:29

5
มีการรวมกันที่ดีของเบราว์เซอร์บรรทัดคำสั่งและไฟล์กราฟิก?
มีวิธีแก้ปัญหาที่เป็นไปได้มากกว่าการรวมข้อดีของ command-line และเบราว์เซอร์ไฟล์กราฟิกหรือไม่? ตัวอย่างเช่นบรรทัดคำสั่งเป็นสิ่งที่ดีในการเปลี่ยนไดเรกทอรีและเรียกใช้คำสั่ง แต่ไม่สามารถแสดงภาพขนาดย่อและไฟล์เบราว์เซอร์นั้นใช้งานง่ายให้ภาพรวมที่ดีว่าคุณอยู่ที่ไหนในต้นไม้ แต่คุณไม่สามารถ "คุย" กับ คอมพิวเตอร์เหมือนในบรรทัดคำสั่ง แก้ไข: สำหรับฉันในฐานะผู้ใช้บรรทัดคำสั่งมันต้องการมากกว่าบรรทัดคำสั่งที่มีความสามารถของเบราว์เซอร์ไฟล์เพิ่มเติมมากกว่าการมีเบราว์เซอร์ไฟล์ที่มีคุณสมบัติบรรทัดคำสั่งบางอย่าง

2
มีวิธีดักจับการสื่อสารระหว่างกระบวนการใน Unix / Linux หรือไม่?
สำหรับ intercepting / การวิเคราะห์เครือข่ายการจราจรเรามียูทิลิตี้ที่เรียกว่าWireshark เรามียูทิลิตีที่คล้ายกันเพื่อสกัดกั้นการสื่อสารระหว่างกระบวนการทั้งหมดระหว่างสองกระบวนการใน Unix / Linux หรือไม่? ฉันได้สร้างกระบวนการบางอย่างในหน่วยความจำและฉันต้องการโปรไฟล์ว่าพวกเขาสื่อสารกันอย่างไร

2
วิธีการเรียกใช้แมโคร Openoffice จากบรรทัดคำสั่ง Linux
ฉันมีมาโคร OpenOfice ที่ฉันต้องการใช้เพื่อประมวลผลเนื้อหาของไฟล์ OpenOffice ฉันสามารถทำได้โดยเปิดไฟล์ด้วย OpenOffice แล้วเรียกใช้แมโคร ฉันจะเรียกใช้แมโครจากบรรทัดคำสั่ง Linux ได้อย่างไรโดยไม่ต้องใช้ GUI สิ่งที่ต้องการ: $ oowriter -headless -o MyDocument.odt -RUNMACRO MyLittleMacro

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