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

บรรทัดคำสั่งคือสตริงที่กำหนดให้กับล่ามคำสั่งที่บอกให้ดำเนินการเช่นใช้โปรแกรมหรือคัดลอกไฟล์ ล่ามประมวลผลบรรทัดคำสั่งด้วยการหลบหนีและการแทนที่

4
ธง Perl -pe, -pi, -p, -w, -d, -i, -t?
ฉันได้เห็นหลายวิธีในการเรียกใช้รหัสหรือสคริปต์ Perl ด้วยแฟล็กที่แตกต่างกัน อย่างไรก็ตามเมื่อฉันพยายาม google เพื่อดูความหมายของการตั้งค่าสถานะแต่ละรายการส่วนใหญ่ฉันจะได้รับผลลัพธ์ไปยังไซต์ Perl ทั่วไปและไม่พบข้อมูลเฉพาะเกี่ยวกับแฟล็กหรือการใช้งานที่นั่น ด้านล่างนี้คือค่าสถานะที่ฉันพบบ่อยที่สุดและฉันไม่รู้ว่าหมายถึงอะไร: perl -pe perl -pi perl -p Perl -w perl -d perl -i perl -t ฉันจะขอบคุณมากถ้าคุณบอกฉันว่าแต่ละความหมายและบางกรณีใช้สำหรับพวกเขาหรืออย่างน้อยก็บอกวิธีการค้นหาความหมายของพวกเขา
107 perl  command-line  flags 

15
ฉันจะได้รับคำสั่ง find เพื่อพิมพ์ขนาดไฟล์พร้อมชื่อไฟล์ได้อย่างไร
ถ้าฉันออกคำสั่ง find ดังต่อไปนี้: $ find . -name *.ear มันพิมพ์ออกมา: ./dir1/dir2/earFile1.ear ./dir1/dir2/earFile2.ear ./dir1/dir3/earFile1.ear สิ่งที่ฉันต้องการ 'พิมพ์' ในบรรทัดคำสั่งคือชื่อและขนาด: ./dir1/dir2/earFile1.ear 5000 KB ./dir1/dir2/earFile2.ear 5400 KB ./dir1/dir3/earFile1.ear 5400 KB

6
เพิ่มนามสกุลไฟล์ซ้ำ ๆ ในไฟล์ทั้งหมด
ฉันมีไดเร็กทอรีและไดเร็กทอรีย่อยสองสามรายการที่มีไฟล์ที่ไม่มีนามสกุลไฟล์ ฉันต้องการเพิ่มลง.jpgในไฟล์ทั้งหมดที่อยู่ในไดเร็กทอรีเหล่านี้ ฉันเคยเห็นสคริปต์ทุบตีสำหรับการเปลี่ยนนามสกุลไฟล์ แต่ไม่ใช่แค่การเพิ่ม ยังต้องเรียกซ้ำใครช่วยได้ไหม

8
ฉันจะตรวจสอบใน bash ได้อย่างไรว่าไฟล์ถูกสร้างขึ้นนานกว่า x ครั้งก่อนหรือไม่
ฉันต้องการตรวจสอบใน linux bash ว่ามีการสร้างไฟล์เกิน x ครั้งที่แล้วหรือไม่ สมมติว่าไฟล์นี้เรียกว่า text.txt และเวลาคือ 2 ชั่วโมง if [ what? ] then echo "old enough" fi
106 linux  bash  command-line 

6
ฉันจะส่งอาร์กิวเมนต์บรรทัดคำสั่งไปยังแอปพลิเคชัน WinForms ได้อย่างไร
ฉันมีแอปพลิเคชัน WinForms สองแอปพลิเคชัน AppA & AppB ทั้งสองกำลังเรียกใช้. NET 2.0 ใน AppA ฉันต้องการเปิด AppB แต่ฉันต้องส่งอาร์กิวเมนต์บรรทัดคำสั่งไป ฉันจะใช้อาร์กิวเมนต์ที่ฉันส่งผ่านในบรรทัดคำสั่งได้อย่างไร นี่เป็นวิธีหลักในปัจจุบันของฉันใน AppB แต่ฉันไม่คิดว่าคุณจะเปลี่ยนได้ไหม static void main() { }

13
จะตรวจสอบได้อย่างไรว่า CMD ทำงานในฐานะผู้ดูแลระบบ / มีการยกระดับสิทธิ์หรือไม่?
จากภายในไฟล์แบตช์ฉันต้องการทดสอบว่าฉันใช้งานด้วยสิทธิ์ระดับผู้ดูแลระบบ / ระดับสูงหรือไม่ ชื่อผู้ใช้จะไม่เปลี่ยนแปลงเมื่อเลือก "Run as Administrator" ดังนั้นจึงไม่ได้ผล หากมีคำสั่งที่ใช้ได้ทั่วไปซึ่งไม่มีผล แต่ต้องใช้สิทธิ์ระดับผู้ดูแลระบบฉันสามารถเรียกใช้และตรวจสอบรหัสข้อผิดพลาดเพื่อทดสอบสิทธิ์ได้ จนถึงตอนนี้ฉันยังไม่พบคำสั่งดังกล่าว คำสั่งที่ฉันพบดูเหมือนจะส่งคืนรหัสข้อผิดพลาดเดียวที่ไม่เฉพาะเจาะจงซึ่งอาจบ่งชี้อะไรก็ได้และมักจะล้มเหลวด้วยเหตุผลหลายประการ ฉันสนใจเฉพาะ Windows 7 เท่านั้นแม้ว่าการสนับสนุนระบบปฏิบัติการรุ่นก่อนหน้าจะดี

8
สร้างหน้าต่าง cmd.exe ใหม่จากในพรอมต์ cmd.exe อื่น
ฉันอยู่ระหว่างการตั้งค่า CruiseControl.NET ปัญหาที่ฉันพบคือฉันกำลังเรียกใช้ CC เป็นแอปพลิเคชันคอนโซลและเมื่อบิวด์ของฉันเสร็จสมบูรณ์และดำเนินการ (โดยใช้ exec) มันจะเปิดใช้งานภายในพรอมต์ CruiseControl DOS ฉันแค่ใช้ไฟล์แบตช์ธรรมดาเพื่อเปิดแอพของฉัน แต่การที่มันทำงานภายในพรอมต์เดียวกับ CC ทำให้ CC คิดว่าการสร้างจะดำเนินต่อไปตราบเท่าที่แอพของฉันทำงาน มีพารามิเตอร์บรรทัดคำสั่งcmd.exeที่จะสร้างหน้าต่างพรอมต์แยกต่างหากหรือไม่?


6
วิธีที่สะอาดในการเปิดเว็บเบราว์เซอร์จากเชลล์สคริปต์?
ในสคริปต์ทุบตีฉันต้องเปิดเว็บเบราว์เซอร์ของผู้ใช้ ดูเหมือนจะมีหลายวิธีในการทำสิ่งนี้: $BROWSER xdg-open gnome-open บน GNOME www-browser x-www-browser ... มีวิธีที่เป็นมาตรฐานมากกว่าวิธีอื่นในการทำเช่นนี้ที่ใช้ได้กับแพลตฟอร์มส่วนใหญ่หรือไม่หรือฉันควรทำสิ่งนี้: #/usr/bin/env bash if [ -n $BROWSER ]; then $BROWSER 'http://wwww.google.com' elif which xdg-open > /dev/null; then xdg-open 'http://wwww.google.com' elif which gnome-open > /dev/null; then gnome-open 'http://wwww.google.com' # elif bla bla bla... else echo "Could not detect the web browser …

4
การแทนที่สตริงในไฟล์แบตช์
เราสามารถแทนที่สตริงในไฟล์แบตช์โดยใช้คำสั่งต่อไปนี้ set str="jump over the chair" set str=%str:chair=table% เส้นเหล่านี้ใช้ได้ดีและเปลี่ยนสตริง "กระโดดข้ามเก้าอี้" เป็น "กระโดดข้ามโต๊ะ" ตอนนี้ฉันต้องการแทนที่คำว่า "เก้าอี้" ในสตริงด้วยตัวแปรบางตัวและฉันไม่รู้ว่าจะทำอย่างไร set word=table set str="jump over the chair" ?? ความคิดใด ๆ ?

12
มีวิธีละเว้นบรรทัดส่วนหัวในการจัดเรียง UNIX หรือไม่?
ฉันมีไฟล์ฟิลด์ความกว้างคงที่ซึ่งฉันกำลังพยายามจัดเรียงโดยใช้ยูทิลิตี้การจัดเรียง UNIX (Cygwin ในกรณีของฉัน) ปัญหาคือมีส่วนหัวสองบรรทัดที่ด้านบนของไฟล์ซึ่งจะถูกจัดเรียงไว้ที่ด้านล่างของไฟล์ (เนื่องจากแต่ละบรรทัดส่วนหัวขึ้นต้นด้วยเครื่องหมายจุดคู่) มีวิธีบอก sort หรือไม่ว่า "ส่งสองบรรทัดแรกไปยังไม่เรียงลำดับ" หรือระบุลำดับที่เรียงลำดับบรรทัดโคลอนไปด้านบน - บรรทัดที่เหลือจะเริ่มต้นด้วยตัวเลข 6 หลักเสมอ (ซึ่งจริงๆแล้วคือคีย์ I 'm sorting on) ถ้าช่วยได้ ตัวอย่าง: :0:12345 :1:6:2:3:8:4:2 010005TSTDOG_FOOD01 500123TSTMY_RADAR00 222334NOTALINEOUT01 477821USASHUTTLES21 325611LVEANOTHERS00 ควรจัดเรียงเป็น: :0:12345 :1:6:2:3:8:4:2 010005TSTDOG_FOOD01 222334NOTALINEOUT01 325611LVEANOTHERS00 477821USASHUTTLES21 500123TSTMY_RADAR00

6
ความมหัศจรรย์ของ“ -” (เส้นประ) ในพารามิเตอร์บรรทัดคำสั่งคืออะไร?
ตัวอย่าง: สร้างอิมเมจ ISO และเบิร์นลงซีดีโดยตรง mkisofs -V Photos -r /home/vivek/photos | cdrecord -v dev=/dev/dvdrw - เปลี่ยนเป็นไดเร็กทอรีก่อนหน้า cd - ฟังบนพอร์ต 12345 และส่งข้อมูลที่ไม่ตรงไปยังมัน nc -l -p 12345 | tar xvzf - จุดประสงค์ของเส้นประคืออะไรและฉันจะใช้มันได้อย่างไร?
102 linux  bash  shell  unix  command-line 

7
เรียกใช้สคริปต์ PowerShell จาก C # ด้วย Commandline Arguments
ฉันต้องการเรียกใช้สคริปต์ PowerShell จากภายใน C # สคริปต์ต้องการอาร์กิวเมนต์บรรทัดคำสั่ง นี่คือสิ่งที่ฉันได้ทำไปแล้ว: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(scriptFile); // Execute PowerShell script results = pipeline.Invoke(); scriptFile มีบางอย่างเช่น "C: \ Program Files \ MyProgram \ Whatever.ps1" สคริปต์ใช้อาร์กิวเมนต์บรรทัดคำสั่งเช่น "-key Value" ในขณะที่ Value อาจเป็นบางอย่างเช่นเส้นทางที่อาจมีช่องว่าง ฉันไม่ได้ทำงานนี้ …

9
ใช้แมวอย่างไร้ประโยชน์?
นี่อาจเป็นคำถามที่พบบ่อยหลาย ๆ คำถาม - แทนที่จะใช้: cat file | command (ซึ่งเรียกว่าการใช้แมวอย่างไร้ประโยชน์) วิธีที่ถูกต้องควรจะเป็น: command < file ในวิธีที่ 2 "ถูกต้อง" - OS ไม่จำเป็นต้องสร้างกระบวนการเพิ่มเติม แม้จะรู้อย่างนั้น แต่ฉันก็ยังคงใช้แมวไร้ประโยชน์ต่อไปด้วยเหตุผล 2 ประการ สวยงามมากขึ้น - ฉันชอบเมื่อข้อมูลเคลื่อนจากซ้ายไปขวาอย่างสม่ำเสมอเท่านั้น และง่ายต่อการเปลี่ยนcatกับสิ่งอื่น ( gzcat, echo... ), เพิ่มไฟล์ที่ 2 หรือใส่กรองใหม่ ( pv, mbuffer, grep... ) ฉัน "รู้สึก" ว่ามันอาจเร็วกว่าในบางกรณี เร็วขึ้นเนื่องจากมี 2 กระบวนการขั้นตอนที่ 1 ( cat) ทำการอ่านและกระบวนการที่สองทำอะไรก็ได้ …
101 shell  command-line  cat 

4
git update-index - สมมติว่าไม่มีการเปลี่ยนแปลงในไดเรกทอรี
คอมไพล์ 1.7.12 ฉันต้องการทำเครื่องหมายไฟล์ทั้งหมดด้านล่างไดเร็กทอรีที่กำหนดว่าไม่เปลี่ยนแปลง 1) git update-index --assume-unchaged dir/ให้ "ละเว้นเส้นทาง" 2) git update-index --assume-unchaged dir/*ล้มเหลวอย่างรวดเร็วเนื่องจากจะพบไฟล์ที่ไม่ได้รับการติดตามดังนั้นจึงให้ "fatal: Unable to mark file" และออก 3) ลองสร้างรายการไฟล์เพื่อทำเครื่องหมาย ลงในไดเรกทอรีที่ต้องการแล้ววิ่งcd git ls-files | tr '\n' ' ' | git update-index --assume-unchangedสิ่งนี้ไม่มีข้อความแสดงข้อผิดพลาด แต่ทำเครื่องหมายไฟล์ไม่สำเร็จ ส่วนแรกของคำสั่งgit ls-files | tr '\n' ' 'สร้างรายการที่คั่นด้วยช่องว่างของไฟล์ทั้งหมดที่ฉันต้องการทำเครื่องหมายอย่างถูกต้อง หากฉันคัดลอกและวางผลลัพธ์ของคำสั่งนั้นลงในบรรทัดคำสั่งคำสั่งนั้นจะgit update-indexทำงาน อะไรไม่ทำงานกับท่อ? ไม่เพียงพอสำหรับฉันที่จะเพิ่มdirใน. gitignore ฉันต้องการให้ไฟล์เหล่านี้อยู่ในที่เก็บ แต่การเปลี่ยนแปลงที่ไม่ต้องการจะเกิดขึ้นภายในเครื่องซึ่งจำเป็นต้องละเว้นเพื่อให้ผู้ใช้สามารถดึงได้
101 git  command-line  pipe 

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