Unix & Linux

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

4
เวลาของระบบ Linux ข้ามไปชั่วขณะ
ฉันเห็นพฤติกรรมแปลก ๆ ของการเปลี่ยนเวลาของระบบในเซิร์ฟเวอร์ (ฮาร์ดแวร์) บางตัว: ใน/var/logs/syslog, วันเวลาที่นำหน้าแต่ละข้อความบันทึกบางครั้งเปลี่ยนเป็นแบบสุ่มและกลับมาเป็นปกติในข้อความถัดไปเช่น: Feb 22 2018 09:09:30 ... Feb 22 2018 09:09:32 ... Jan 13 2610 15:37:42 ... Feb 22 2018 09:09:33 ... Feb 22 2018 09:09:34 ... เช่นในตัวอย่างการเปลี่ยนวันที่อย่างกะทันหันสามารถทำได้ไกลหลายร้อยปี ฉันสามารถยืนยันได้ว่าข้อความบันทึกที่มีการประทับเวลาแปลก ๆ ไม่ได้มาจากกระบวนการเฉพาะ - มันสามารถเกิดขึ้นแบบสุ่มสำหรับทุกคน และระยะเวลาระหว่างการเปลี่ยนแปลงเวลาที่ผิดปกติ 2 ครั้งจะแตกต่างกันไประหว่างสองสามนาทีถึงสองสามชั่วโมง (แต่ฉันสงสัยว่าการเปลี่ยนแปลงเวลาผิดปกติอาจเกิดขึ้นบ่อยครั้ง แต่พวกเขาส่วนใหญ่ไม่ได้เปิดเผยใน syslog นอกจากนี้เนื่องจากมันเกิดขึ้นบนเซิร์ฟเวอร์มากกว่าหนึ่งเครื่องฉันคิดว่ามันไม่ใช่ปัญหาฮาร์ดแวร์ ข้อมูลเพิ่มเติมเกี่ยวกับ severs: เป็นการติดตั้ง openstack ที่มีคอนโทรลเลอร์หนึ่งตัวและโหนดการคำนวณสองสามตัว …
11 logs  timestamps  time 

1
สิทธิ์ x (เรียกใช้) ทำอะไรบนซ็อกเก็ตยูนิกซ์?
จากประสบการณ์ของฉันผู้ใช้ที่ไม่ได้รับสิทธิพิเศษไม่สามารถเข้าถึงซ็อกเก็ต unix ที่ตนเอง / เธอไม่ได้เป็นเจ้าของโดยไม่ได้ตั้งค่าบิต x บิตนี้ทำอะไรกันแน่? ขอบคุณ

5
ลบบรรทัดที่ซ้ำกันที่อยู่ติดกันในขณะที่รักษาการสั่งซื้อ
ฉันมีไฟล์ที่มีหนึ่งคอลัมน์ที่มีชื่อที่ซ้ำหลายครั้งในแต่ละครั้ง ฉันต้องการรวมการทำซ้ำแต่ละครั้งเป็นหนึ่งในขณะที่การทำซ้ำชื่ออื่นที่มีชื่อเดียวกันที่ไม่ติดกับชื่อซ้ำกันอื่น ๆ เช่นฉันต้องการเลี้ยวซ้ายไปทางขวา: Golgb1 Golgb1 Golgb1 Akna Golgb1 Spata20 Golgb1 Golgb1 Golgb1 Akna Akna Akna Akna Spata20 Spata20 Spata20 Golgb1 Golgb1 Golgb1 Akna Akna Akna นี่คือสิ่งที่ฉันใช้: perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt อย่างไรก็ตามวิธีนี้จะช่วยให้ตัวแทนหนึ่งคนจากด้านซ้ายเท่านั้น (เช่น Golb1 และ Akna ไม่ซ้ำกัน) มีวิธีในการเก็บชื่อที่ไม่ซ้ำกันสำหรับแต่ละบล็อกในขณะที่รักษาชื่อที่ทำซ้ำในบล็อกหลายบล็อกที่ไม่ติดกันหรือไม่
11 awk  sed  sort  uniq 

2
เชลล์ posix: รายการพิมพ์ของชื่อตัวแปรสภาพแวดล้อม (ไม่มีค่า)
ในวิธีที่เข้ากันได้กับ posix ที่ทำงานกับการใช้งานหลายอย่างฉันจะพิมพ์รายการตัวแปรสภาพแวดล้อมที่กำหนดไว้ในปัจจุบันโดยไม่มีค่าได้อย่างไร ในการใช้งานบางอย่าง (mksh, freebsd / bin / sh) เพียงแค่ใช้exportด้วยตัวเองจะพอดีกับการเรียกเก็บเงิน: $ export FOO2 FOO แต่สำหรับการปรับใช้อื่น ๆ (bash, zsh, dash) exportก็แสดงค่าเช่นกัน ด้วย bash ตัวอย่างเช่น: $ export export FOO2='as df\ asdk=fja:\ asd=fa\ asdf' export FOO='sjfkasjfd kjasdf:\ asdkj=fkajdsf:\ :askjfkajsf=asdfkj:\ safdkj' $ printenv | sed -n l FOO2=as\tdf\$ asdk=fja:\$ asd=fa\$ asdf$ FOO=sjfkasjfd kjasdf:\$ …

1
วิธีค้นหาอัลกอริทึมการแฮชที่ใช้ในการแฮรหัสผ่าน
ฉันมีรหัสผ่านที่ใช้งานได้และสามารถดูแฮช (/ etc / passwd) ฉันจะค้นหาอัลกอริทึมการแฮชที่ใช้ในการแฮชรหัสผ่านได้อย่างไรโดยไม่ต้องลองใช้อัลกอริทึมที่แตกต่างกันด้วยตนเองจนกว่าฉันจะหาคู่ที่ตรงกัน?
11 hashsum  passwd 

3
Shell Script: การสร้างตัวแปรพร้อมตัวเลือกภายใน
ฉันมีคำสั่ง rsync พร้อมพารามิเตอร์ต่อไปนี้: rsync -avz --{partial,stats,delete,exclude=".*"} ฉันต้องการวางพารามิเตอร์นั้นไว้ในตัวแปรเพื่อนำมาใช้ใหม่ในสคริปต์ บางสิ่งเช่นนี้ #!/bin/bash VAR=rsync -avz --{partial,stats,delete,exclude=".*"} $VAR /dir1 /dir2 ฉันได้ลองด้วยคำพูดคำพูดเดี่ยววงเล็บไม่ประสบความสำเร็จ

2
วิธีการทำ ctrl + c / not / ขัดจังหวะ while-loop?
รับห่วงนี้: while sleep 10s ; do something-that-runs-forever done เมื่อฉันกด Ctrl + C ทั้งวงในขณะที่วงถูกขัดจังหวะ สิ่งที่ฉันต้องการจะทำคือการขัดจังหวะ "บางสิ่งบางอย่าง" - ประมวลผลให้ผ่านไป 10 วินาทีแล้วเริ่ม "บางอย่าง" ใหม่ ฉันจะทำให้ ctrl + c ส่งผลกระทบกับ "บางอย่าง" เท่านั้นและไม่ใช่ while-loop ได้อย่างไร แก้ไข: "ขัดจังหวะ" เช่นเดียวกับใน SIGINT ฆ่า. ยกเลิก ยุติ ไม่ "ขัดจังหวะ" ในขณะที่ "หยุด"
11 bash 

1
ไม่สามารถเปิดใช้งานบริการผู้ใช้ “ ล้มเหลวในการรับการเชื่อมต่อ D-Bus: การเชื่อมต่อถูกปฏิเสธ” การสนับสนุน
ฉันได้รับข้อผิดพลาดนี้เมื่อใช้คำสั่ง systemd ใด ๆ ในฐานะผู้ใช้: admin@Xroklaus:~ $ systemctl --user list-units Failed to get D-Bus connection: Connection refused หากไม่มีพารามิเตอร์ผู้ใช้คำสั่งจะทำงานได้ดี admin@Xroklaus:~ $ systemctl list-units UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0 ... …

1
วิธีปิดการตอบสนอง Ping (ICMP echo) ใน Linux ตลอดเวลา
ฉันต้องการปิดการตอบสนอง ping ตลอดเวลาบนระบบปฏิบัติการ Ubuntu คำสั่งต่อไปนี้ใช้งานได้ แต่จนกว่าระบบจะรีบูต: ปิงออก: echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all ปิงเมื่อ: echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all ฉันจะปิดเสียงสะท้อนได้อย่างไรหลังจากรีบูตแล็ปท็อปแล้ว?
11 ping  icmp 

6
อ่านไฟล์ที่มุ่งเน้นบรรทัดซึ่งอาจไม่ลงท้ายด้วยการขึ้นบรรทัดใหม่
ฉันมีไฟล์ชื่อ/tmp/urlFileที่แต่ละบรรทัดแสดงถึง url ฉันพยายามอ่านจากไฟล์ดังต่อไปนี้: cat "/tmp/urlFile" | while read url do echo $url done หากบรรทัดสุดท้ายไม่ลงท้ายด้วยอักขระขึ้นบรรทัดใหม่บรรทัดนั้นจะไม่ถูกอ่าน ฉันสงสัยว่าทำไม เป็นไปได้ไหมที่จะอ่านทุกบรรทัดไม่ว่าจะจบลงด้วยการขึ้นบรรทัดใหม่หรือไม่?

1
zsh ไม่สามารถอินพุตไปยังเทอร์มินัลเมื่อวาง stdin และ stdout ด้วยคำสั่งตัวแปรที่มีเอาต์พุต tty
ข้อมูลระบบ: macOS Sierra 10.12.6 zsh 5.4.2 (x86_64-apple-darwin16.7.0) GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0) เลื่อนไปที่ตัวอย่างที่ด้านล่างหากคุณเพียงต้องการขุดตัวอย่างง่าย ๆ ที่ฉันทำ หมายเหตุ: ฉันไม่ใช่zshผู้ใช้ที่ยิ่งใหญ่ ฉันกำลังมองหาfzfปุ่มลัดสำหรับbashและzsh. $(__fzfcmd)แจ้งให้ทราบว่าพวกเขาทั้งสองเรียกใช้คำสั่งตัวแปร __fzfcmdโดยเอาต์พุตดีฟอลต์fzfไปยัง stdout และการแทนที่พารามิเตอร์เพิ่งรัน command ( fzf) ซึ่งเป็นผลมาจากเอาต์พุต หนึ่งความแตกต่างระหว่างbashและzshสคริปต์เป็นที่bashหนึ่งต่อท่อส่งออกของ$(__fzfcmd)แต่zshเพียงแค่จับมันไว้ภายในอาร์เรย์ ฉันเดาว่าเป็นเพราะปัญหาzshเมื่อคุณไปป์ไลน์เอาท์พุทของfzfที่คุณไม่สามารถป้อนข้อมูลfzfและกระบวนการไพพ์ไปยังโดยfzfไม่ได้รับ stdin ใด ๆ ทางเลือกเดียวของคุณคือการหรือ^Z ดูเหมือนจะเป็นพื้นหลังกระบวนการด้วยเหตุผลบางอย่าง หรือบางทีพวกเขาแค่ต้องการแถวลำดับเพื่อที่จะได้วิ่งต่อไป รุ่นไม่มายากลบางอย่างในกุญแจสำคัญที่มีผลผูกพันกับ^C^Czle vi-fetch-historybash"\e^": history-expand-line ตอนนี้fzfไม่สำคัญ ดูเหมือนว่าคุณเพียงแค่ต้องใช้โปรแกรมที่ให้ผลลัพธ์ที่ttyจะเรียกโดยการทดแทนพารามิเตอร์เพื่อทำให้เกิดปัญหานี้ ดังนั้นฉันจะแสดงตัวอย่างที่ง่ายขึ้น ต่อไปนี้เป็นคำสั่งอื่น ๆ ที่ให้ผลลัพธ์ttyซึ่งอาจทำให้เกิดปัญหานี้ได้zsh: vipe (เรียกใช้เครื่องมือแก้ไขกลางท่อ) 'vim -' (ทำให้เป็นกลุ่มอ่านจาก stdin คล้ายกับ …
11 bash  zsh  pipe  tty 

7
เกิดข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libicuuc.so.59: ไม่สามารถเปิดไฟล์วัตถุที่ใช้ร่วมกัน: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
หลังจากอัพเดตด้วยpacman -Syuq: # pacman -Sc pacman: ข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libicuuc.so.59: ไม่สามารถเปิดไฟล์วัตถุที่แชร์ได้: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว # find / -name libicuuc.so.* 2>/dev/null /usr/lib/libicuuc.so.60.1 /usr/lib/libicuuc.so.60 Arch Linux ในรุ่น Pi 1: # uname -an 4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
11 pacman  arch-arm 

3
Linux ถามใครเมื่อคุณทำ whois
เมื่อคุณทำ: $ whois stackoverflow.com Linux ของคุณทำแบบสอบถาม DNS เป็นอันดับแรกค้นหา IP ของ stackoverflow.com แล้วถามข้อมูลโดยตรงหรือไม่ หรือจะถามเซิร์ฟเวอร์ "root" whois (เป็น IP ของ "เซิร์ฟเวอร์ whois root" ฮาร์ดโค้ดในการแจกจ่าย Linux ในลักษณะที่คล้ายกัน/etc/bind/db.rootหรือไม่) ซึ่งจากนั้นมอบหมายให้เซิร์ฟเวอร์ whois อื่นที่ให้ข้อมูล กระแสการเชื่อมต่อคืออะไร? my computer doing `whois ...` ---> root whois server ---> another whois server ---> information หรือ my computer doing `whois ...` ---> …
11 dns  whois 

4
เปลี่ยนชื่อภาพเป็นเวลา exif: สร้างชื่อไฟล์ที่ไม่ซ้ำกัน
หากฉันเปลี่ยนชื่อภาพผ่าน exiv เป็นเวลาวันที่ exif ฉันจะทำสิ่งต่อไปนี้: find . -iname \*jpg -exec exiv2 -v -t -r '%Y_%m_%d__%H_%M_%S' rename {} \; ขณะนี้อาจเกิดขึ้นได้ว่ารูปภาพมีเวลาประทับที่แน่นอน (รวมถึงวินาที) ฉันจะทำให้ชื่อไฟล์เป็นแบบอัตโนมัติได้อย่างไร คำสั่งควรมีเสถียรภาพในแง่ที่ว่าถ้าฉันดำเนินการในโครงสร้างไดเรกทอรีเดียวกันอีกครั้ง (อาจหลังจากเพิ่มรูปภาพใหม่) รูปภาพที่เปลี่ยนชื่อแล้วไม่ควรเปลี่ยนและถ้ารูปภาพที่มีชื่อไฟล์ที่มีอยู่แล้วถูกเพิ่มชื่อไฟล์ใหม่ควรไม่ซ้ำกัน เช่นกัน ความพยายามครั้งแรกของฉันคือเพียงแค่ปล่อยให้ชื่อเดิมในชื่อไฟล์ที่ได้มา แต่จากนั้นคำสั่งจะไม่มั่นคงในความหมายข้างต้น

2
เมื่อใช้ setcap การอนุญาตจะถูกเก็บไว้ที่ไหน?
การใช้setcapเพื่อให้การอนุญาตเพิ่มเติมแก่ไบนารีควรเขียนการอนุญาตใหม่ที่ใดที่หนึ่งบนที่เก็บข้อมูลหรือในหน่วยความจำที่เก็บไว้ที่ไหน การใช้lsofตามที่ใช้ไม่ได้เนื่องจากกระบวนการหายไปเร็วเกินไป

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