Unix & Linux

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

9
เปลี่ยนลำดับของบรรทัดในไฟล์
ฉันพยายามเปลี่ยนลำดับของเส้นในรูปแบบเฉพาะ การทำงานกับไฟล์ที่มีหลายบรรทัด (เช่น 99 บรรทัด) สำหรับทุกสามบรรทัดฉันต้องการให้บรรทัดที่สองเป็นบรรทัดที่สามและบรรทัดที่สามจะเป็นบรรทัดที่สอง ตัวอย่าง. 1- อินพุต: gi_1234 My cat is blue. I have a cat. gi_5678 My dog is orange. I also have a dog. ... 2- เอาท์พุท: gi_1234 I have a cat. My cat is blue. gi_5678 I also have a dog. My dog is orange. …

2
ทำไมผู้ดูแลระบบหลัก UID 501
ผมเข้าใจ * ผู้ใช้ผู้ดูแลระบบหลักจะได้รับรหัสผู้ใช้501และผู้ใช้ที่ตามมาจะได้รับหมายเลขที่เพิ่มขึ้น ( 502, 503, ... ) แต่ทำไม501? มีอะไรพิเศษเกี่ยวกับ50xเหตุผลทางประวัติศาสตร์ / ทางเทคนิคสำหรับตัวเลือกนี้คืออะไร * .Trashes/501ผมเริ่มมองนี้เมื่อฉันได้อยากรู้ว่าทำไมฮาร์ดไดรฟ์ภายนอกของฉันมีไฟล์ที่อยู่ในถังขยะทั้งหมดภายใน การค้นหาของฉันทำให้ฉันสรุป501ได้ว่า ID ผู้ใช้สำหรับผู้ดูแลระบบหลักในระบบ * nix (ฉันอยู่บน macOS) แต่ไม่ใช่เพราะอะไร

2
มีสูงสุดในการขยายชื่อไฟล์ทุบตี (globbing) และถ้าเป็นเช่นนั้นมันคืออะไร?
มีสูงสุดในการขยายชื่อไฟล์ทุบตี (globbing) และถ้าเป็นเช่นนั้นมันคืออะไร? ดูglobbingใน tldp.org สมมติว่าฉันต้องการเรียกใช้คำสั่งกับชุดย่อยของไฟล์: grep -e bar foo* rm -f bar* มีข้อ จำกัด ว่าจะขยายไฟล์ไปยังจำนวนเท่าใดและถ้าเป็นเช่นนั้นจะเป็นอย่างไร ฉันไม่ได้มองหาวิธีอื่นในการดำเนินการเหล่านั้น (เช่นโดยใช้find)

2
คุณจะใช้บัญชีรูทของระบบอื่นได้อย่างไร?
คุณจะใช้บัญชีรูทของระบบอื่นได้อย่างไร? สมมติว่าคุณต้องเข้าถึงระบบเป้าหมาย นี่เป็นคำถามที่ฉันถูกถามในแบบทดสอบ เห็นได้ชัดว่าใช้ง่าย ssh root@192.168.xx.xx ไม่ใช่คำตอบ ฉันต้องการทราบคำตอบ
11 ssh 

4
วนซ้ำผ่านไฟล์ที่ไม่รวมไดเรกทอรี
ฉันต้องการสคริปต์ของฉันเพื่อทำบางสิ่งบางอย่างกับทุกไฟล์ในไดเรกทอรีปัจจุบันยกเว้นไดเรกทอรีย่อยใด ๆ ตัวอย่างเช่นในเส้นทางปัจจุบันมี 5 ไฟล์ แต่หนึ่งในนั้นคือโฟลเดอร์ (ไดเรกทอรีย่อย) สคริปต์ของฉันควรเปิดใช้งานคำสั่งที่กำหนดเป็นอาร์กิวเมนต์เมื่อเรียกใช้สคริปต์ดังกล่าว คือ "bash script wc -w" ควรให้จำนวนคำของแต่ละไฟล์ในไดเรกทอรีปัจจุบัน แต่ไม่ใช่โฟลเดอร์ใด ๆ เพื่อให้ผลลัพธ์ไม่เคยมีบรรทัด "/ sub / dir: เป็นไดเรกทอรี" สคริปต์ปัจจุบันของฉัน: #!/bin/bash dir=`pwd` for file in $dir/* do $* $file done ฉันแค่ต้องแยกไดเรกทอรีสำหรับวง แต่ฉันไม่รู้วิธี
11 bash  for 

1
ทำความเข้าใจกับเอาต์พุตจาก sar บน AIX
ฉันพยายามที่จะเข้าใจข้อมูลบางอย่างที่ดึงมาจาก SAR ฉันมีสามคำถามหลักเกี่ยวกับเรื่องนี้ ในที่สุดฉันต้องการพิจารณาจำนวน CPU ที่ไม่ได้ใช้งานในแต่ละช่วงเวลาการสุ่มตัวอย่างในคลัสเตอร์ของเซิร์ฟเวอร์ CPU จำนวนมากไม่ปรากฏขึ้นในทุก ๆ รายการ สิ่งนี้คาดหวังหรือไม่และนั่นหมายความว่าอย่างไร เกี่ยวข้องกับ # 2 หรือไม่ มีเส้นที่ไม่ได้ใช้งาน (CPU = U) เอกสารกล่าวว่า "ท่านแสดงให้เห็นทั้งระบบกำลังการผลิตไม่ได้ใช้" ฉันไม่พบคำจำกัดความที่แม่นยำของ "ความจุที่ไม่ได้ใช้ทั้งระบบ" หรือคำจำกัดความใด ๆ เลย ฉันไม่แน่ใจว่าจะตีความบรรทัดที่บอกอะไรบางอย่างเช่น "ความจุที่ไม่ได้ใช้งานคือว่าง 70%" สุดท้ายฉันไม่แน่ใจว่าจะคำนวณ-หรือallคำนวณบรรทัดอย่างไร ฉันคิดว่ามันเป็นค่าเฉลี่ยของซีพียูทั้งหมด แต่เมื่อฉันคำนวณทางคณิตศาสตร์กับซีพียูทั้งหมดฉันจะได้รับคำตอบที่แตกต่างอย่างมากจากสิ่งที่อยู่ในบรรทัดนั้น ใครสามารถบอกฉันได้อย่างแม่นยำถึงสิ่งที่เกิดขึ้นในการคำนวณนั้น เมื่อดูคำถามที่เกี่ยวข้องกับ SARอย่างใกล้ชิดปรากฏว่าsystem-wideเปอร์เซ็นต์ว่างเป็นผลรวมของผลิตภัณฑ์ของเปอร์เซ็นต์ว่างของ CPU และค่า 'physc' น่าเสียดายที่ฉันไม่มีphyscหรือ entc% (สมมติว่ามีอยู่) ดังนั้นฉันจึงไม่สามารถยืนยันด้วยข้อมูลของฉันเอง หากถูกต้องหมายความว่าฉันต้องการphyscค่าที่จะเข้าใจเปอร์เซ็นต์ที่ไม่ได้ใช้งานจริงหรือไม่ นี่คือตัวอย่างของสิ่งที่ฉันเห็น ทั้งหมดนี้มาจากวันเดียวกัน CPU | Idle CPU | …
11 aix  cpu-usage  sar 

4
มี linux ที่เทียบเท่ากับ“ Shake to Find Cursor” ของ Mac หรือไม่?
ผู้ร่วมงานของฉันมี Mac และเมื่อเขาสูญเสียเคอร์เซอร์เมาส์เขาจะเมาเมาส์และตัวชี้เมาส์ก็ใหญ่ขึ้นเรื่อย ๆ เพื่อแสดงตำแหน่งของมัน มีอะไรอย่างนั้นใน Linux ฉันรู้ว่าคุณสามารถเปิดใช้งานตัวเลือกเพื่อกดCtrlเพื่อแสดงภาพเคลื่อนไหวระลอกคลื่นรอบตัวชี้ของคุณได้อย่างรวดเร็ว แต่นั่นต้องมีการเข้าถึงแป้นพิมพ์ ฉันชอบที่จะมีอะไรแบบนั้น แต่ต้องการเพียงการโต้ตอบกับเมาส์ สิ่งนี้ถูกนำไปใช้ทุกที่หรือไม่? หรือฉันถูกบังคับให้ไปยังแป้นพิมพ์ (ยากมาก!) เพื่อช่วยฉันค้นหาเคอร์เซอร์บนจอภาพ 1 ใน 3 หรือไม่ แก้ไข: ฉันต้องการโซลูชันแบบใช้เมาส์เท่านั้นโดยไม่ต้องกดแป้นคีย์บอร์ดใด ๆ

1
ฉันจะทดสอบความทนทานในการจัดการไฟล์เชลล์สคริปต์ได้อย่างไร
ฉันเขียนเชลล์สคริปต์ที่จัดการชื่อไฟล์ "ปกติ" บางตัว แต่ฉันอ่านแล้วทำไมเชลล์สคริปต์ของฉันถึงสำลักในช่องว่างหรืออักขระพิเศษอื่น ๆ และทำไมคุณไม่ควรแยกวิเคราะห์ผลลัพธ์ของ lsและฉันต้องการให้มันมีประสิทธิภาพมากกว่าและจัดการชื่อไฟล์ที่ถูกต้อง (และ / หรือชื่อไดเรกทอรี) ฉันจะสร้างไฟล์ทดสอบและไดเรกทอรีเพื่อเรียกใช้สคริปต์ของฉันได้อย่างไร

1
printf round แบ่งครึ่งเป็นทศนิยมแรกอย่างไร
ฉันกำลังทดสอบสองการใช้งานที่แตกต่างกันprintfในระบบของฉัน: และรุ่นที่มาพร้อมกับprintf (GNU coreutils) 8.26 zsh 5.3.1ฉันกำลังทดสอบวิธีการปัดเศษตัวเลขครึ่งหนึ่งเช่น 1.5, 2.5, 3.5, … 9.5 $ for i in {1..9}; do /usr/bin/printf '%.0f\n' "${i}.5"; done 2 2 4 4 6 6 8 8 10 $ for i in {1..9}; do printf '%.0f\n' "${i}.5"; done 2 2 4 4 6 6 8 8 10 …
11 printf  math 

2
bash ไม่สามารถเก็บ hexvalue 0x00 ในตัวแปรได้
ฉันพยายามจะเล่นกลกับ dd ฉันคิดว่ามันจะเป็นไปได้ที่จะเก็บ hexvalues ​​บางอย่างในตัวแปรที่เรียกว่า "header" เพื่อไพพ์ลงใน dd ขั้นตอนแรกของฉันที่ไม่มีตัวแปรคือ: $ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex $ hd hex 00000000 36 c9 da 00 b4 |6....| 00000005 หลังจากนั้นฉันลองทำสิ่งนี้: $ header=$(echo -ne "\x36\xc9\xda\x00\xb4") $ echo -n $header | hd 00000000 36 c9 da b4 |6...| 00000004 อย่างที่คุณเห็นฉันสูญเสีย\x00คุณค่าใน$headerตัวแปร ใครบ้างมีคำอธิบายสำหรับพฤติกรรมนี้หรือไม่? นี่ทำให้ฉันบ้า
11 linux  bash  shell-script  dd 

7
วิธีรับบรรทัดแรกของไฟล์ข้อความอินพุตขณะลบบรรทัดนั้นจากไฟล์ข้อความ
ฉันจะรับบรรทัดแรกของไฟล์ข้อความอินพุตขณะลบบรรทัดนั้นจากไฟล์ข้อความได้อย่างไร ถ้าฉันมีไฟล์ข้อความ/myPathToTheFile.txtแบบนี้ ► put returns between paragraphs ► for linebreak add 2 spaces at end ► _italic_ or **bold** ฉันต้องการรับบรรทัดนี้เป็นผลลัพธ์ ► put returns between paragraphs และไฟล์ข้อความของฉันควรเป็นแบบนี้ ► for linebreak add 2 spaces at end ► _italic_ or **bold*

2
ใช้ Firefox ใน Ubuntu VM ผ่าน SSH เปิด Firefox ของเครื่องโฮสต์
ฉันใช้ Slackware Firefox กำลังทำงาน ฉันยังมีเครื่องเสมือนที่ใช้งาน Ubuntu 16.04 โดยใช้ VirtualBox ฉันติดตั้ง Firefox บนเครื่องเสมือนและติดตั้ง Firefox บนคอมพิวเตอร์โฮสต์ ฉันเปิดเซสชัน SSH ในเครื่องเสมือนและเรียกใช้ Firefox มันเปิดหน้าต่างใหม่ของ Firefox ในคอมพิวเตอร์โฮสต์ของฉัน ทำไมถึงทำเช่นนี้? ฉันคาดหวังว่าจะใช้งานอินสแตนซ์ของ Firefox สองอัน: อันหนึ่งบนโฮสต์คอมพิวเตอร์ของฉันและอีกอันบนเครื่องเสมือน
11 ssh  firefox 

2
คุณลักษณะ“ เขย่าเพื่อค้นหาเคอร์เซอร์”
ฉันสงสัยว่ามีฟีเจอร์ใน linux เช่น OSX "เขย่าเพื่อค้นหาเคอร์เซอร์" หรือไม่ซึ่งทำให้เมาส์ของผู้ใช้หรือเคอร์เซอร์แทร็คแพดใหญ่ขึ้นชั่วคราวเมื่อเขย่าไปมาทำให้ง่ายต่อการค้นหา

2
i3wm: พื้นที่ทำงานมากกว่า 10 ที่มีคีย์ตัวปรับคู่
เมื่อเร็ว ๆ นี้ฉันเริ่มใช้i3wmและตกหลุมรักมัน อย่างไรก็ตามมีสิ่งหนึ่งที่รบกวนจิตใจฉัน: ควบคุมพื้นที่ทำงานมากกว่า 10 แห่ง ในการกำหนดค่าของฉัน$mod+1เพื่อ$mod+9สลับระหว่างพื้นที่ทำงาน 1 ถึง 9 (และ$mod+010) แต่บางครั้ง 10 พื้นที่ทำงานก็ไม่เพียงพอ ในขณะที่ฉันเอื้อมมือออกไปยังพื้นที่ทำงาน 11-20 ที่มี$mod+mod1+1การตีคือ$mod+mod1+0 mod+alt+numberแน่นอนว่ามันใช้งานได้โดยไม่มีปัญหา แต่มันค่อนข้างยุ่งยากในการสลับพื้นที่ทำงานเช่นนั้นเนื่องจากปุ่มไม่ได้กดได้ง่าย นอกจากนี้การย้ายแอปพลิเคชันระหว่างพื้นที่ทำงาน 11 ถึง 20 จำเป็นต้องmod+shift+alt+number-> น่าเกลียด ในVimการโยงของฉัน(ฉันมีปลั๊กอินจำนวนมาก) ฉันเริ่มใช้ทางลัดตัวแก้ไขสองครั้งเช่นmodkey + rปลั๊กอิน 1 และmodkey + modkey + rปลั๊กอิน 2 วิธีนี้ฉันสามารถผูกปุ่มทุกปุ่มสองครั้งและกดปุ่ม mod สองครั้งง่ายและรวดเร็ว ฉันสามารถทำสิ่งที่คล้ายกันได้i3wmหรือไม่ คุณจะใช้ประโยชน์จากพื้นที่ทำงานมากกว่า 10 แห่งได้i3wmอย่างไร ทางออกอื่น ๆ

4
ฉันจะใช้ `find 'เพื่อไปยังไดเรกทอรีของไฟล์นั้นได้อย่างไร
ฉันต้องการค้นหาไฟล์จากนั้นป้อนไดเรกทอรีที่มีไฟล์ ฉันพยายามfind /media/storage -name "Fedora" | xargs cdแต่แน่นอนฉันis not a directoryผิดพลาด ฉันจะป้อนไดเรกทอรีหลักด้วยคำสั่งหนึ่งบรรทัดได้อย่างไร
11 shell  find  xargs  cd-command 

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