Unix & Linux

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

5
จะพิมพ์ชื่อสคริปต์ของตัวเองใน mawk ได้อย่างไร?
ใน bash $0มีชื่อของสคริปต์ แต่ใน awk ถ้าฉันทำสคริปต์ชื่อ myscript.awk ด้วยเนื้อหาต่อไปนี้: #!/usr/bin/awk -f BEGIN{ print ARGV[0] } และเรียกใช้มันจะพิมพ์ "awk" เท่านั้น นอกจากนี้ ARGV [i] กับ i> 0 ยังใช้สำหรับอาร์กิวเมนต์ของสคริปต์ในบรรทัดคำสั่งเท่านั้น ดังนั้นวิธีที่จะทำให้มันพิมพ์ชื่อของสคริปต์ในกรณีนี้ "myscript.awk"?
13 awk  scripting  mawk 

1
เครื่องหมายวงเล็บเหลี่ยมตัวยึดสี่เหลี่ยมจตุรัส A ^ [[- มันหมายความว่าอะไร?
ขออภัยหากมีการถามไปแล้ว แต่ฉันไม่รู้ว่าจะหาตัวเองได้อย่างไร - เมื่อฉันค้นหา "^ [[A" ในเครื่องมือค้นหาใด ๆ มันจะไม่สนใจส่วน "^ [[" ทั้งหมด) อย่างไรก็ตามคำถามของฉัน: บางครั้งใน terminal (สำหรับ Mac) เมื่อฉันกดปุ่มลูกศรตัวอักษร "^ [[A", "^ [[B", "^ [[C" หรือ "^ [[D" ปรากฏขึ้น) . ฉันดูเหมือนจะจำการเผชิญหน้าเมื่อหลายปีก่อนเมื่อใช้ DOS (เป็นไปได้มากที่สุด) เช่นกันและฉันคิดว่ามันเกิดขึ้นบ่อยขึ้นเช่นกัน ทำไมสิ่งนี้ถึงเกิดขึ้นและพวกมันหมายถึงอะไร?

1
การตั้งค่าเริ่มต้น Linux TCP เหล่านี้มีวิธีตัดสินใจอย่างไร
ฉันใช้เวลาค่อนข้างนานในการติดตามปัญหาในการผลิตเมื่อไม่นานมานี้ที่เซิร์ฟเวอร์ฐานข้อมูลหายไปอาจทำให้หยุดทำงานนานถึง 2 ชั่วโมง (รอpoll()สายในไลบรารีไคลเอนต์ libpq นาน ๆ ) สำหรับไคลเอนต์ที่เชื่อมต่อ เมื่อขุดลงไปในปัญหาฉันรู้ว่าพารามิเตอร์ของเคอร์เนลเหล่านี้ควรปรับลงเพื่อให้การเชื่อมต่อ TCP ที่ขาดหายไปถูกสังเกตเห็นในเวลาที่เหมาะสม: net.ipv4.tcp_keepalive_time = 7200 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_intvl = 75 net.ipv4.tcp_retries2 = 15 ทั้งสี่ข้างต้นเป็นค่าจากอูบุนตู 12.04 เครื่องและดูเหมือนว่าค่าเริ่มต้นเหล่านี้จะไม่เปลี่ยนแปลงจากปัจจุบันค่าเริ่มต้นของลินุกซ์ ดูเหมือนว่าการตั้งค่าเหล่านี้จะมีอคติอย่างมากต่อการเปิดการเชื่อมต่อที่มีอยู่และตระหนี่อย่างยิ่งกับโพรบ Keepalive AIUI ค่าเริ่มต้นtcp_keepalive_timeของ 2 ชั่วโมงหมายถึงเมื่อเรารอการตอบสนองสำหรับโฮสต์ระยะไกลเราจะรออย่างอดทนเป็นเวลา 2 ชั่วโมงก่อนที่จะเริ่มใช้โพรบ Keepalive เพื่อตรวจสอบว่าการเชื่อมต่อของเรายังคงใช้ได้ และถ้าหากรีโมตโฮสต์ไม่ตอบสนองต่อโพรบ Keepalive เราจะลองโพรบ Keepalive 9 ครั้ง ( tcp_keepalive_probes) เว้นระยะห่าง 75 วินาที ( tcp_keepalive_intvl) …
13 linux  tcp  history 

5
ฉันจะกรองเนื้อหาของไฟล์ tar สร้างไฟล์ tar อื่นในไพพ์ได้อย่างไร
พิจารณาไฟล์ tar เดียวจากระบบภายนอกซึ่งมีบางไดเรกทอรีที่มีคุณลักษณะต่าง ๆ ที่ฉันต้องการเก็บไว้เช่นการอนุญาต, mtimes เป็นต้นฉันจะนำชุดย่อยของไฟล์เหล่านี้มาเป็นผู้ใช้ปกติได้อย่างไร (ไม่ใช่รูท)? กำลังมองหาสิ่งที่ชอบ: tar -f some.tar.gz --subset subdir/ | ssh remote@system tar xvz นอกจากนี้ยังจำเป็นที่จะต้องรักษาแอตทริบิวต์หลัก (ความเป็นเจ้าของกลุ่มโหมด mtime) ในไฟล์เก็บถาวร tar นี้ สิ่งที่เกี่ยวกับคุณลักษณะอื่น ๆ ในไฟล์ tar เช่นคำหลักส่วนหัวขยาย ? คะแนนโบนัสสำหรับโซลูชันที่หลีกเลี่ยงการใช้ไดเรกทอรีชั่วคราวในกรณีที่ subdir นี้มีไฟล์ขนาดใหญ่
13 pipe  tar 

4
เทียบเท่า dnf ของ“ yum update --security”
yum update --securityติดตั้งเฉพาะการปรับปรุงความปลอดภัย ฉันคิดว่ามันเป็นส่วนเสริมจากปลั๊กอินความปลอดภัยยำ มีคำสั่ง dnf ที่เทียบเท่าหรือไม่ (dnf แทนที่ yum ใน Fedora 22)
13 fedora  dnf 

3
จะเข้าใจคำสั่ง“ cat> file_name << blah” ได้อย่างไร?
ในคำสั่งต่อไป cat ใช้เนื้อหาของ here-doc และเปลี่ยนเส้นทางไปยังไฟล์ conf: cat &gt; conf &lt;&lt; EOF var1="cat" var2="dog" var3="hamster" EOF จะเข้าใจลำดับของคำสั่งได้อย่างไร bashขั้นตอนแรกจะประมวลผลทุกอย่าง (ที่นี่ส่วน doc) และเป็นขั้นตอนสุดท้ายมันดู&gt; confส่วนหรือไม่

9
ฉันจะลบคำที่ 5 ของทุกบรรทัดในไฟล์ได้อย่างไร
ฉันต้องการลบคำที่ 5 ของแต่ละบรรทัดในไฟล์ เนื้อหาปัจจุบันของไฟล์: File is not updated or and will be removed System will shut down f within 10 seconds Please save your work 55 or copy to other location Kindly cooperate with us D ผลลัพธ์ที่คาดหวัง: File is not updated and will be removed System will shut down within …

2
ซ่อมแซมการตั้งค่าหลาม
ใน Kubuntu 14.4 ของฉัน (ซึ่งมี python 2.7.6 เป็นมาตรฐาน) python ของฉันเสียหลังจากฉันพยายามติดตั้ง python 2.7.10 หลังจากสร้างจากแหล่งจาก python.org ด้วยความช่วยเหลือของวิธีการติดตั้ง Python เวอร์ชันล่าสุดแยกจาก Debian หรือ อัพเกรด? . ฉันไม่สามารถซ่อมแซมได้ด้วยคำสั่งมาตรฐานฉันสงสัยว่า dpkg ของฉันจะสับสน / แตกหักอย่างใดอย่างหนึ่งเกี่ยวกับการติดตั้งหลาม ฉันต้องการแก้ไข dpkg ในด้านนี้ ฉันสงสัยว่านี้มีสิ่งที่จะทำอย่างไรกับไฟล์/var/lib/dpkg/statusและ/var/lib/dpkg/availableและ/var/lib/dpkg/info/*particularily แรก ผมคิดว่าผมต้องตั้งค่าdpkgอย่างใด แต่ฉันจริงๆไม่มีความเชี่ยวชาญ เหตุผลที่ฉันคิดว่านี่คือ: $ apt-cache policy python python: Installed: 2.7.10-1 Candidate: 2.7.10-1 Version table: *** 2.7.10-1 0 100 /var/lib/dpkg/status …

1
วิธีการ (จริงๆ) ปิดการใช้งาน NCQ ใน Linux
ฉันติดตั้ง Serial-ATA Host-Bus-Adapter (HBA) ของตัวเองใน VHDL และตั้งโปรแกรมไว้บน FPGA FPGA เป็นชิปที่สามารถตั้งโปรแกรมกับวงจรดิจิตอลใด ๆ มันยังมีตัวรับส่งสัญญาณแบบอนุกรมเพื่อสร้างสัญญาณความเร็วสูงสำหรับ SATA หรือ PCIe คอนโทรลเลอร์ SATA นี้รองรับอัตราสาย SATA 6 Gb / s และใช้คำสั่ง ATA-8 DMA-IN / OUT เพื่อถ่ายโอนข้อมูลในกลุ่มก้อนสูงสุด 32 MiB ไปและกลับจากอุปกรณ์ การออกแบบได้รับการพิสูจน์แล้วว่าทำงานด้วยความเร็วสูงสุด (เช่น Samsung SSD 840 Pro -&gt; มากกว่า 550 MiB / s) หลังจากการทดสอบกับอุปกรณ์ SSD และ HDD หลายตัวฉันซื้อ Seagate …
13 linux  kernel  drivers  sata 

2
ฉันจะเปิดใช้งานโมดูลบันทึก Xorg บน Raspbian ได้อย่างไร
ฉันกำลังพยายามทำการทดสอบบางอย่างกับ RaspberryPi ของฉันโดยอัตโนมัติและฉันใช้ pymouse ของ python เพื่อทำการคลิกเลียนแบบ ใน Debian ของฉันมันใช้งานได้ดี แต่เมื่อมันมาถึง Raspbian มันทำให้ล้มเหลวด้วยข้อความแสดงข้อผิดพลาดนี้เมื่อพยายามนำเข้า pymouse: pi@pi ~/ $ python test.py Traceback (most recent call last): File "test.py", line 2, in &lt;module&gt; from pymouse import PyMouse File "/usr/local/lib/python2.7/dist-packages/pymouse/__init__.py", line 95, in &lt;module&gt; from unix import PyMouse, PyMouseEvent File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 53, in …
13 x11  xorg  python 

2
เปิดไฟล์. raw เป็นข้อความให้น้อยลง
ผลลัพธ์ของโปรแกรมของฉันมีนามสกุลไฟล์. raw ถ้าฉันพยายามเปิดสิ่งนี้โดยlessได้รับ: No isoinfo available Install mkisofs to view ISO images ไฟล์ไม่ใช่ไฟล์รูปภาพเป็นเพียงข้อความ มีวิธีบอกlessว่าควรเปิดไฟล์เป็นข้อความธรรมดาหรือไม่?

1
ดิสก์ (ในกล่อง usb) ยังคงทำงานต่อไปแม้จะไม่ได้ติดตั้งก็ตาม
ติดตั้ง ฉันมีตู้ USB (Buffalo DriveStation Quad) ที่มีสี่ไดรฟ์เชื่อมต่อกับเซิร์ฟเวอร์ nas ของฉัน (เซิร์ฟเวอร์ Ubuntu 14.04) กล่องหุ้มได้รับการกำหนดค่าให้เป็นโหมด JBOD ดังนั้นฉันจะเห็นดิสก์ทั้งหมดใน Linux ดิสก์สองตัว (sdb และ sdc) ได้รับการกำหนดค่าด้วยซอฟต์แวร์การโจมตีเป็น/dev/md0(raid1) และ/dev/md0ติดตั้งเป็นพาร์ติชันเดียว ( /mnt/part1) พร้อมระบบไฟล์ ext4 โดยไม่ต้องทำการเจอร์นัล อีกสองดิสก์ (sdd และ sde) ถูกตั้งค่าด้วย LVM เป็นกลุ่มวอลุ่มหนึ่งจากที่ฉันได้ติดตั้งสองโลจิคัลพาร์ติชัน หนึ่งในนั้นคือ 90% ของความจุกลุ่มวอลุ่มทั้งหมด ( /mnt/part2) และอีกอันหนึ่งคือ 10% ( /mnt/part3) ทั้งสองยังเป็น ext4 โดยไม่ต้องบันทึก ประเด็น APM ปัญหาของฉันเริ่มต้นด้วยโหมด APM …


3
ไม่คาดคิด Bash เสร็จสิ้นของ ~ บน OS X
ฉันกด~TabTabบนคำสั่ง bash และได้รับชุดของความสำเร็จที่ไม่คาดคิด ครั้งแรกมันดูเหมือนว่าทุกคนใน/Usersไดเรกทอรีและอีกมากมาย จากนั้นฉันคิดว่ามันกำลังทำการค้นหาแบบย้อนกลับของคนที่มีไดเรกทอรี "home" ใน/etc/passwordหรืออาจจะเป็นคนที่/var/empty- สิ่งนี้ดูเหมือนถูกต้อง สิ่งที่ฉันอยากรู้คือสิ่งที่เกิดขึ้นจริงและทำไมมันใช้งานได้

3
เป็นการดีที่จะเรียกใช้ daemon ภายใต้บัญชีผู้ใช้ที่ไม่ใช่รูทหรือไม่?
ฉันได้พัฒนาแอปพลิเคชันที่ใช้ NTP เพื่อเปลี่ยนเวลาเครือข่ายเพื่อซิงค์คอมพิวเตอร์สองเครื่องของฉัน มันทำงานเป็นrootเพราะหลังเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนเวลาและวันที่บน Linux (ฉันเดา) ตอนนี้ฉันต้องการเรียกใช้ในฐานะผู้ใช้ แต่ฉันต้องเข้าถึงเวลา เป็นการดีที่จะเรียกใช้ daemon ภายใต้บัญชีผู้ใช้ที่ไม่ใช่รูทหรือไม่? ฉันจะให้ความสามารถกับแอปพลิเคชันของฉันเช่นCAP_SYS_TIME? มันไม่ได้แนะนำจุดอ่อนด้านความปลอดภัยหรือไม่? มีวิธีที่ดีกว่า?

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