คำถามติดแท็ก bash

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU


3
สร้างการกระจายขนาดไฟล์จากพรอมต์คำสั่ง
ฉันมีระบบไฟล์ที่มีไฟล์สองล้านไฟล์และฉันต้องการดูการกระจายขนาดไฟล์แบบเรียกซ้ำในไดเรกทอรีเฉพาะ ฉันรู้สึกว่านี่ใช้ได้กับ bash / awk fu แต่สามารถใช้มือได้ โดยทั่วไปฉันต้องการบางสิ่งบางอย่างดังต่อไปนี้: 1KB: 4123 2KB: 1920 4KB: 112 ... 4MB: 238 8MB: 328 16MB: 29138 Count: 320403345 ฉันรู้สึกว่าสิ่งนี้ไม่ควรเลวร้ายเกินไปถ้ามีลูปและไฟล์บันทึกขนาด log2 ที่มีเงื่อนไขบางอย่าง แต่ฉันไม่สามารถไปถึงที่นั่นได้ คำถามที่เกี่ยวข้อง: ฉันจะค้นหาไฟล์ที่ใหญ่กว่า / เล็กกว่า x ไบต์ได้อย่างไร .

2
ฉันจะล้างสิ่งที่ฉันพิมพ์ลงในพรอมต์ได้อย่างไร
ฉันพิมพ์คำสั่งที่ยาวมาก ๆ ในการทุบตี อ๊ะมันเป็นคำสั่งที่ผิด ณ ตอนนี้สิ่งนี้หมายความว่าฉันผ่านนรกสองแห่ง: การตระหนักถึงคำสั่งของฉันก็ไร้ประโยชน์ ต้องล้างเปลือกของฉันโดยกดค้างไว้Backspaceจนกว่าพรอมต์จะชัดเจน มีวิธีที่เร็วกว่านี้ไหม
16 bash  terminal 

2
กำลังติดตั้งไดรฟ์เครือข่ายใน Windows 10 bash หรือไม่
ในพรอมต์คำสั่ง windows 10 ของฉันเมื่อฉันต้องตั้งค่าไดรฟ์เป็นไดรฟ์ที่ใช้ร่วมกันบนเครือข่ายที่ฉันเพิ่งใช้ net use V: //192.168.xxx.xxx/folder ฉันเพิ่ม Bash บน Ubuntu บน Windows ใน Windows 10 ของฉันและฉันต้องการเข้าถึงไดรฟ์เครือข่ายของฉันจากเทอร์มินัลด้วยดังนั้นฉันจึงลองติดตั้ง sudo mount -t cifs -o username=myusername //192.168.xxx.xxx/folder /mnt/new_folder ที่ฉันสร้างของฉันnew_folderใน/mntโฟลเดอร์ แต่ฉันได้รับข้อผิดพลาด sudo: ไม่พบคอมพิวเตอร์ชื่อคอมพิวเตอร์ COMPUTER NAMEคอมพิวเตอร์ของฉันอยู่ที่ไหนชื่อจริงที่ฉันเห็นใน Explorer ได้เช่นกัน ฉันกำลังทำอะไรผิดและฉันจะติดตั้งไดรฟ์เครือข่ายใน windows bash ของฉันได้อย่างไร แก้ไข: ฉันได้มันไปทำงานบางส่วนโดยเพิ่มชื่อคอมพิวเตอร์ของฉันในไฟล์โฮสต์ etc/hosts 127.0.1.1 COMPUTER NAME แต่ฉันยังคงไม่สามารถเชื่อมต่อไดรฟ์เครือข่ายได้
16 windows-10  bash  mount 


3
ทุบตีบันทึกประวัติโดยไม่ต้องออก
ใน linux ubuntu terminal bash มีวิธีการบันทึกประวัติทุบตีโดยไม่ต้องเขียนออก? ฉันได้ตั้งค่ากำหนดเป็น "HISTCONTROL = erasedups" ซึ่งในความคิดของฉันทำงานได้ดีกว่าการเพิกเฉย อย่างไรก็ตามด้วยเหตุผลบางอย่างมันจะไม่บันทึกคำสั่งสองสามคำสั่งสุดท้ายในเทอร์มินัล bash ยกเว้นว่าฉันพิมพ์ใน "exit" ฉันคุ้นเคยกับการคลิกกากบาทบนหน้าต่างเทอร์มินัลดังนั้นฉันรำคาญเสมอว่าคำสั่งสุดท้ายไม่ได้รับการบันทึกเมื่อฉัน relogin เตือนความจำ: http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/#more-130


4
ฉันจะตรวจสอบตัวอักษรคำต่อคำของสตริงคำสั่ง bash ได้อย่างไร
ฉันมีพฤติกรรมที่แปลกประหลาดนี้เมื่อเช้านี้ในสถานีทุบตี: user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true bash: [: missing «]» user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true true คำสั่งแรกคือ วาง จากสคริปต์ที่แก้ไขด้วย gedit ประการที่สองคือ พิมพ์โดยตรง ในอาคารผู้โดยสาร หลังจากขุดไปแล้วฉันก็พบว่า การลบอักขระที่ 30 (ช่องว่างระหว่าง client.conf และ "]") และแทนที่ด้วยช่องว่างทำให้คำสั่งทำงานอีกครั้ง สมมติฐานของฉันถูกต้อง: อักขระว่างที่ไม่รู้จักเลื่อนลงในคำสั่ง แต่คำถามคือ: ฉันจะเปิดเผยตัวละครเหล่านั้นใน terminal ได้อย่างไร และที่สำคัญกว่า: ฉันจะป้องกันไม่ให้สิ่งนี้เกิดขึ้นอีกได้อย่างไร BTW ฉันใช้ Ubuntu 18.04 / …

1
เมื่อใดที่ฉันควรกำหนดค่าลงใน. bashrc vs ลงใน .bash_profile?
ฉันถูกมองที่questin 9152: ทำไมไม่ปรับปรุงเส้นทางของฉันตอนนี้ ? . ซึ่งการปรับแต่งที่ควรจะไปลงในของฉัน~ / .bashrcไฟล์เทียบกับเข้าของฉัน~ / .bash_profileไฟล์?
15 bash 

3
วิธีการพิมพ์อักขระบรรทัดใหม่ด้วย echo
ผมถ่ายโอนข้อมูลสตริงด้วยเช่นนี้hexdump 2031 3334 2e30 0a32 2032 3331 302e 000aเป็นที่ชัดเจนว่า0x0aเป็นอักขระบรรทัดใหม่ แต่เมื่อฉันพยายามที่จะสะท้อนสตริงนี้ออกมาฉันมักจะได้รับ1 430.2 2 13.0- บรรทัดใหม่จะถูกแทนที่ด้วยช่องว่างแม้ฉันจะใช้-eธง อาจมีปัญหาอะไร? tailing \0ทำลายผลลัพธ์หรือไม่? มีทางเลือกอื่นในการพิมพ์0x0aบรรทัดใหม่หรือไม่? ขอขอบคุณและขอแสดงความนับถือ.

3
“ -” (เครื่องหมายขีดกลาง) สุดท้ายมีความหมายอย่างไรในตัวเลือกของ“ ทุบตี”?
ในบทช่วยสอนนี้เราต้องดำเนินการคำสั่งต่อไปนี้: # curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash - สิ่งสุดท้าย-(ยัติภังค์) bashหมายถึงอะไร ฉันเห็นคำสั่งจำนวนมากด้วยสิ่งนี้และไม่สามารถหาคำอธิบายที่สมเหตุสมผลได้และไม่พบวิธีปรับโครงสร้างการค้นหาของ Google มันเป็นเอาต์พุตของคำสั่ง piped หรือไม่?

1
ฉันเปลี่ยนตัวแปร“ HOME” และไม่สามารถหา“ ~ / .bash_profile” เพื่อเปลี่ยนกลับได้
ฉันยุ่งกับตัวแปรสภาพแวดล้อมบน Mac ของฉันพยายามที่จะเรียนรู้วิธีการใช้และฉันใช้คำสั่งnano ~/.bash_profileที่ฉันเพิ่มบรรทัดHOME=/Users/MyCompName/Desktopเพื่อปรับปรุงตัวแปรบ้านของฉัน การเปลี่ยนแปลงนี้ใช้งานได้และสามารถมองเห็นได้เมื่อฉันใช้printenvเพื่อดูตัวแปรสภาพแวดล้อมทั้งหมด แต่เมื่อฉันเปลี่ยนHOMEกลับฉันไม่พบ~/.bash_profileอีกต่อไป มันไปไหน

4
ไดเร็กทอรี bash Windows ใน Windows อยู่ที่ไหน
ฉันติดตั้ง Windows 10 Anniversary Update บนคอมพิวเตอร์ของฉัน ฉันต้องการทราบว่า/rootไดเรกทอรีใดใน Bash prompt อยู่ใน Windows ฉันต้องการเขียนไฟล์ใน Bash ที่สามารถเข้าถึงได้จาก Windows ด้วย ie- ถ้าฉันทำ: touch /root/foo ฉันจะเข้าใช้งานfooพีซีของฉันได้ที่ไหน


8
ฉันจะจัดคิวไฟล์หลายไฟล์สำหรับการคัดลอกบน Mac ได้อย่างไร
เมื่อฉันคัดลอกหลายไฟล์ใน Mac ระบบจะพยายามคัดลอกไฟล์ทั้งหมดในเวลาเดียวกัน ปัญหาคือสองเท่า ก่อนอื่นเมื่อคุณเลือกหลายไฟล์และคัดลอกไฟล์พวกเขาทั้งหมดจะเข้าสู่กระบวนการเดียวโดยใช้วิธี "all or nothing" ซึ่งไม่เหมือนกับกรดในฐานข้อมูล บ่อยครั้งที่สิ่งนี้ไม่เป็นที่ต้องการ นอกจากนี้เมื่อคุณเพิ่มกระบวนการทำสำเนาอื่น ๆ ระบบจะพยายามทำสำเนาทุกอย่างในเวลาเดียวกัน ตัวอย่างเช่นฉันตัดสินใจคัดลอกไฟล์ขนาดใหญ่Aจากนั้นฉันตัดสินใจคัดลอกไฟล์ขนาดใหญ่Bเช่นกัน ซึ่งส่งผลให้มีการดำเนินการคัดลอกแบบขนานสองครั้งโดยไม่คำนึงว่าหนึ่งใน "ไฟล์ขนาดใหญ่" ยังเป็นตัวเลือกของไฟล์จำนวนมาก ฉันไม่ชอบสิ่งนี้ด้วยเหตุผลหลายประการ: เมื่อกระบวนการคัดลอกหลายรายการทำงานพร้อมกันดูเหมือนว่าจะเป็นการขัดข้องของกระบวนการอื่น ๆ นอกจากนี้เมื่อคัดลอกไฟล์หลายไฟล์พร้อมกันกระบวนการคัดลอกจะช้าลงกว่าเดิม และสุดท้ายหากกระบวนการถูกยกเลิกไม่มีไฟล์ใดมาถึงปลายทาง เมื่อทำการเพิ่มไฟล์ลงในคิวมันจะเริ่มทำการคัดลอกพร้อมกันและทำให้กระบวนการทำงานราบรื่นยิ่งขึ้น นี่เป็นปัญหาที่แท้จริงเมื่อคัดลอกไปยังเครื่องอื่นหรือไดรฟ์บนเน็ตเวิร์ก (local) ผลลัพธ์: ไฟล์Aที่ฉันต้องการถ่ายโอนและใช้งานก่อนใช้เวลานานกว่าที่ต้องการและเมื่อคัดลอกจาก HD กลางบน LAN ฉันไม่สามารถใช้ไฟล์แรกจนกว่าไฟล์อื่นทั้งหมดจะมาถึง ดังนั้น ... ฉันจะจัดคิวไฟล์หลายไฟล์สำหรับการคัดลอกบน Mac ได้อย่างไร ในการชี้แจง: โดยไม่คำนึงถึงไฟล์จำนวนมากที่ถูกเลือกหรือพวกเขาถูกเพิ่มทีละคนฉันต้องการให้พวกเขาทั้งหมดใส่ลงในคิวที่คัดลอกเพียงหนึ่งไฟล์ในแต่ละครั้งจนกว่าจะเสร็จสิ้นคิว คำตอบใน Bash และ Perl โดยเฉพาะก็ยินดีต้อนรับเช่นกัน!

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