Unix & Linux

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

2
เมานต์ไฟล์ zip เป็นระบบไฟล์แบบอ่านอย่างเดียว
ฉันกำลังมองหาวิธีในการติดตั้งไฟล์เก็บถาวร ZIP เป็นระบบไฟล์เพื่อให้ฉันสามารถเข้าถึงไฟล์ภายในไฟล์เก็บถาวรได้อย่างโปร่งใส ฉันต้องการสิทธิ์เข้าถึงเพื่ออ่านเท่านั้น - ZIP จะไม่ถูกแก้ไข ปริมาณการใช้ RAM มีความสำคัญเนื่องจากเป็นระบบฝังตัว (จำกัด ทรัพยากร) ตัวเลือกที่มีอยู่คืออะไร?

3
ดูคำสั่งน้อยที่สุดช่วง -n
ช่วงเวลาที่เล็กที่สุดสำหรับคำสั่ง watch คืออะไร? หน้าคนและการค้นหาของ Google ไม่ได้ระบุขีด จำกัด ล่างที่เล็กที่สุดว่าเป็นอย่างไร ฉันพบว่าจากการทดลองอาจมีขนาดเล็กกว่า 1 วินาที เพื่อทดสอบฉันรันคำสั่งนี้รันบนไฟร์วอลล์: watch -n 0.1 cat /sys/class/net/eth1/statistics/rx_bytes เห็นได้ชัดว่าอัปเดตเร็วกว่าหนึ่งวินาที แต่ไม่ชัดเจนว่าเป็นการอัปเดต 100 มิลลิวินาทีจริงๆ
24 watch 

1
วิธีการบรรทัดคำสั่งง่าย ๆ ในการกำหนดสตริงสถาปัตยกรรม ARM?
ฉันพยายามเขียนสคริปต์ซึ่งจะกำหนดการดำเนินการตามสถาปัตยกรรมของเครื่อง ฉันใช้uname -mในการรวบรวมสายสถาปัตยกรรม แต่ผมไม่ทราบว่าหลายสถาปัตยกรรม ARM มีหรือจะทราบได้อย่างไรว่าเป็นหนึ่งarmhf, หรือarmelarm64 เช่นนี้เป็นสิ่งจำเป็นสำหรับสคริปต์นี้เพื่อตรวจสอบว่าบางส่วนของสคริปต์ที่สามารถทำงานได้หรือไม่ฉันกำลังพยายามที่จะหาวิธีง่ายๆในการตรวจสอบว่าเป็นสถาปัตยกรรมarmhf, หรือarmel arm64มีผู้ใดหนึ่งซับหรือคำสั่งง่ายๆที่สามารถนำมาใช้เพื่อการส่งออกอย่างใดอย่างหนึ่งarmhf, armelหรือarm64? สคริปต์นี้เขียนขึ้นโดยเฉพาะสำหรับระบบ Debian และ Ubuntu และฉันกำลังติดแท็กด้วยเช่นนี้ในใจ (มันจะปิดโดยอัตโนมัติหากคุณไม่ได้อยู่ในหนึ่งใน distros เหล่านั้น มีคำสั่งอยู่ แก้ไข: เรียนรู้เมื่อเร็ว ๆ นี้ว่า Armel นั้นตายแล้วและผู้สร้างซอฟต์แวร์ arm64 (PPA หรือ virtual based) นั้นไม่เสถียรที่สุด ดังนั้นฉันมีการค้นหาการค้นหาตัวแทนarm*และสมมติว่า armhf แต่ก็ยังจำเป็นต้องคิดซับหนึ่งที่ส่งกลับหนึ่งในสาม - ไม่ว่าจะเป็นคำสั่ง Ubuntu / Debian หรือการโทรเคอร์เนลหรืออะไร

1
การจัดตารางเวลากระบวนการแบบเรียลไทม์ใน Linux
ฉันได้เรียนรู้แนวคิดการตั้งเวลา ปัจจุบันความเข้าใจของฉันอยู่ในขณะนี้ดังต่อไปนี้ มีกระบวนการแบบเรียลไทม์และกระบวนการแบบเรียลไทม์ กระบวนการเวลาจริงไม่แสวงหาสามารถมีniceค่าลำดับความสำคัญของพวกเขาในช่วงของ-20ไป20 ค่าบวกที่สูงกว่าแสดงว่ากระบวนการมีลำดับความสำคัญต่ำกว่า กระบวนการเวลาจริงจะมีค่าความดีระบุว่าเป็น-ตามที่อธิบายไว้ในคำตอบนี้ที่นี่ นี่เป็นส่วนใหญ่เนื่องจากกระบวนการเรียลไทม์มีลำดับความสำคัญสูงกว่ากระบวนการที่ไม่ใช่เรียลไทม์และค่าความดีจะไม่นำมาใช้กับพวกเขา ตอนนี้ฉันสามารถใช้chrtเพื่อดูคุณสมบัติเรียลไทม์ของกระบวนการ สำหรับกระบวนการเรียลไทม์การchrtส่งออกให้เป็น chrt -p 5 pid 5's current scheduling policy: SCHED_FIFO pid 5's current scheduling priority: 99 อย่างที่เราเห็นสำหรับโพรเซส5ลำดับความสำคัญคือ 99 ซึ่งสูงที่สุด นอกจากนี้นโยบายการตั้งเวลาคือSCHED_FIFO ตอนนี้สำหรับกระบวนการที่ไม่ใช่แบบเรียลไทม์chrtจะให้เอาต์พุตเป็น chrt -p 22383 pid 22383's current scheduling policy: SCHED_OTHER pid 22383's current scheduling priority: 0 ในฐานะที่เราสามารถดูกระบวนการ22383ลำดับความสำคัญคือ 0 SCHED_OTHERและนโยบายการจัดตารางเวลาคือ คำถาม เป็นไปได้หรือไม่ที่ฉันจะทำให้กระบวนการใด ๆ …

2
คุณจะแสดงชื่อไฟล์ให้น้อยลงได้อย่างไร
ฉันมักจะเปิดหน้าต่างเทอร์มินัลหลายตัวพร้อมกับเปิดน้อยกว่า (เช่นการเปรียบเทียบไฟล์บันทึกต่างๆ) ฉันลืมไฟล์ไหน มีคำสั่งคล้ายกับ ^ G ใน vi ที่แสดงชื่อไฟล์ที่กำลังดูอยู่หรือไม่?
24 less 

2
ขนาดสแต็กเริ่มต้นสำหรับ pthreads
ดังที่ฉันเข้าใจขนาดสแต็คเริ่มต้นสำหรับ pthread บน Linux คือ 16K ฉันได้รับผลลัพธ์ที่แปลกในการติดตั้ง Ubuntu แบบ 64 บิตของฉัน $ ulimit -s 8192 นอกจากนี้: pthread_attr_init(&attr); pthread_attr_getstacksize(&attr, &stacksize); printf("Thread stack size = %d bytes \n", stacksize); Prints Thread stack size = 8388608 bytes ฉันค่อนข้างแน่ใจว่าขนาดสแต็กไม่ใช่ "8388608" มีอะไรผิดปกติ?
24 c  multithreading 

6
คำนวณการย่อยหลายรายการพร้อมกัน (md5, sha256) พร้อมกันไหม
ภายใต้สมมติฐานว่าดิสก์ I / O และ RAM ว่างเป็นคอขวด (ในขณะที่เวลาของ CPU ไม่ จำกัด ) เครื่องมือมีอยู่ที่สามารถคำนวณการย่อยข้อความได้หลายข้อความพร้อมกันหรือไม่? ฉันสนใจเป็นพิเศษในการคำนวณการแยกย่อยของไฟล์ขนาดใหญ่ MD-5 และ SHA-256 (ขนาดเป็นกิกะไบต์) โดยเฉพาะอย่างยิ่งในแบบคู่ขนาน ฉันได้ลองopenssl dgst -sha256 -md5แล้ว แต่มันจะคำนวณแฮชโดยใช้อัลกอริทึมเดียวเท่านั้น รหัสหลอกสำหรับพฤติกรรมที่คาดหวัง: for each block: for each algorithm: hash_state[algorithm].update(block) for each algorithm: print algorithm, hash_state[algorithm].final_hash()

5
ฉันใช้ `&`: ทำไมกระบวนการไม่ทำงานในพื้นหลัง
ฉันรู้ว่าฉันสามารถต่อท้าย&คำสั่งเพื่อเรียกใช้กระบวนการในพื้นหลัง ฉันกำลังเข้า SSH ในกล่อง Ubuntu 12.04 และรันโปรแกรมไพ ธ อนด้วย$python program.py &- แต่เมื่อฉันไปปิดหน้าต่างเทอร์มินัลฉันได้รับข้อความแจ้งว่าการปิดเทอร์มินัลจะเป็นการฆ่ากระบวนการที่กำลังทำงานอยู่ ทำไมนี้ ฉันใช้เครื่องหมายและการเรียกใช้กระบวนการในพื้นหลัง ฉันจะให้มันทำงานได้อย่างไรโดยไม่คำนึงว่าฉันเป็น SSH หรือไม่

2
วิธีการตรวจสอบว่าคำสั่งเช่น curl เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด?
ฉันใช้ curl เพื่ออัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ผ่านโพสต์ HTTP curl -X POST -d@myfile.txt server-URL "Upload successful"เมื่อฉันด้วยตนเองรันคำสั่งนี้ในบรรทัดคำสั่งฉันได้รับการตอบสนองจากเซิร์ฟเวอร์เช่น อย่างไรก็ตามถ้าฉันต้องการรันคำสั่ง curl นี้ผ่านสคริปต์ฉันจะทราบได้อย่างไรว่าคำขอ POST ของฉันสำเร็จหรือไม่

7
Sed - แทนที่อินสแตนซ์ k แรกของคำในไฟล์
ฉันต้องการแทนที่kอินสแตนซ์แรกของคำ ฉันจะทำสิ่งนี้ได้อย่างไร เช่น. ไฟล์ Say foo.txtมี 100 อินสแตนซ์ของคำว่า 'linux' ฉันต้องแทนที่ 50 รายการแรกเท่านั้น

6
วิธีเพิ่มฟังก์ชั่นไปยัง. bash_profile / .profile / bashrc ในเชลล์?
ฉันมีฟังก์ชั่นที่แปลงเวลาของยุคปัจจุบัน นี่คือคำจำกัดความ date1(){ date -d @$1 } ฉันต้องการเขียน: $ date1 xxxyyy โดยที่ xxxyyy เป็นพารามิเตอร์ที่ฉันส่งผ่านเข้าไปในฟังก์ชั่นของฉันดังนั้นฉันจะได้รับวันที่ที่สอดคล้องกัน ฉันเข้าใจว่าฉันต้องเพิ่มทั้งใน.bash_profile, .profileหรือ.bashrcแล้วแหล่งที่มาของมัน $ source file แต่ฉันไม่แน่ใจว่าจะใส่ไฟล์ไหนในปัจจุบันฉันมี.profileแล้ว แต่เพื่อให้ทำงานได้ฉันต้องทำsource .profileทุกครั้ง เป็นการดีที่ควรทำให้พร้อมใช้งานเมื่อคอมพิวเตอร์เริ่มทำงานเหมือนตัวแปรสภาพแวดล้อม
24 bash  shell  function  profile 

5
ทำมิรเรอร์มอนิเตอร์ที่มีความละเอียดต่างกัน
ฉันใช้xrandrคำสั่งต่อไปนี้เพื่อสะท้อนแล็ปท็อป 17 "ของฉันด้วยจอมอนิเตอร์ภายนอก 27" ดังนั้นฉันสามารถใช้มันเพื่อทำการนำเสนอ: xrandr --output LVDS1 --mode 1600x900 --output HDMI1 --mode 1920x1080 --same-as LVDS1 อย่างไรก็ตามจอภาพภายนอก (HDMI1) กลับไปที่ความละเอียด 1600x900 แทนที่จะเป็น 1920x1080 xrandr เอาท์พุท: Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 LVDS1 connected primary (normal left inverted right x axis y axis 1600x900 …
24 xrandr 

3
ฉันจะตั้งค่าการอนุญาตซ้ำ ๆ บน dir (โดยเปิดใช้งาน ACL) ได้อย่างไร
ตัวอย่างเช่นฉันต้องการให้เพื่อนร่วมงานของฉันเขียนเพื่อเข้าถึงไดเรกทอรีบางอย่าง สมมติว่าไดเรกทอรีย่อยในนั้นมีสิทธิ์การเข้าถึง 775 ไฟล์ 664 และมีไฟล์ปฏิบัติการใน dir - 775 ตอนนี้ฉันต้องการเพิ่มสิทธิ์การเขียน ด้วย chmod ฉันสามารถลองสิ่งที่ชอบ chmod o+w -R mydir/ แต่นั่นก็ไม่เจ๋งเพราะฉันไม่ต้องการทำให้โลกเขียนได้ - ฉันต้องการให้สิทธิ์การเข้าถึงแก่ผู้ใช้บางคนเท่านั้นดังนั้นฉันจึงต้องการใช้ ACL แต่มีวิธีง่ายๆในการตั้งค่าการอนุญาตเหล่านั้นหรือไม่ ตามที่ฉันเห็นฉันต้องจัดการอย่างน้อยสามกรณี (dirs, ไฟล์, ไฟล์เรียกทำงาน) แยกจากกัน: find -type d -exec setfacl -m u:colleague:rwx {} \; find -type f -executable -exec setfacl -m u:colleague:rwx {} \; find -type f \! …
24 linux  bash  permissions  acl 

3
แตกต่างแสดงบรรทัดที่แก้ไขจากไฟล์ที่ถูกต้องเท่านั้น
ฉันมีไฟล์aและbและผมอยากจะสายออกของที่มีการเปลี่ยนแปลงตั้งแต่มันถูกโคลนจากb aเพียงแค่บรรทัดที่แก้ไขไม่มีบริบทโดยรอบไม่มีเครื่องหมายตรงข้ามที่ต่างกัน ฉันจะทำสิ่งนั้นโดยใช้เชลล์สคริปต์ได้อย่างไร (ไม่มี Python / Perl / PHP / ... ) Sed และ awk เป็นคำตอบที่ยอมรับได้ สำหรับตอนนี้สิ่งที่ฉันกำลังทำคือ diff -y กับ - suppress-common-lines และ sed โดยใช้การอ้างอิงย้อนกลับของ regex เพื่อดึงส่วนที่ถูกต้องหลังจากช่องว่าง จะต้องมีวิธีที่ดีกว่า ใช้ perl (ซึ่งเป็นสิ่งต้องห้าม) ฉันจะทำสิ่งนี้: diff -y --suppress-common-lines -W $COLUMNS Eclipse_Preferences_Export_*.epf | perl -pe 's/.*\t|\t(.*)$/\1/g'
24 shell-script  sed  awk  diff 

6
mkdir -p สำหรับไฟล์
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 6 ปีที่แล้ว mkdir -pจะสร้างไดเรกทอรี มันจะสร้างไดเรกทอรีหลักตามต้องการ คำสั่งที่คล้ายกันมีอยู่สำหรับไฟล์ที่จะสร้างไฟล์และไดเร็กทอรีหลักตามต้องการหรือไม่?
24 shell  directory 

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