Unix & Linux

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

9
โปรแกรมดูรูปภาพที่มีการรีโหลดอัตโนมัติเมื่อมีการเปลี่ยนไฟล์?
มีผู้ดูภาพที่จะโหลดมุมมองใหม่อัตโนมัติหรือไม่เมื่อมีการเขียนไฟล์ภาพ? ปกติแล้วฉันจะใช้ชุดรูปแบบของเดเบียนลินุกซ์ แต่ชื่นชมคำตอบทั้งหมดที่เกี่ยวข้องกับสภาพแวดล้อม "Unix & Linux"

3
แยกส่วนของเส้นที่มีรูปแบบเฉพาะโดยใช้ awk, sed
ฉันมีคำถามเกี่ยวกับตัวดำเนินการ awk / sed ฉันมีไฟล์ขนาดใหญ่ที่มีชุดของบรรทัดต่อไปนี้ซ้ำแล้วซ้ำอีก Expression loweWallrhoPhi : sum=-6.97168e-09 Expression leftWallrhoPhi : sum=6.97168e-09 Expression lowerWallPhi : sum=-5.12623e-12 Expression leftWallPhi : sum=5.12623e-12 Expression loweWallrhoUSf : sum=-6.936e-09 Expression leftWallrhoUSf : sum=6.97169e-09 Expression lowerWallUSf : sum=-5.1e-12 Expression leftWallUSf : sum=5.12624e-12 ฉันต้องการแยกค่าหลังจากผลรวมในแต่ละกรณีในไฟล์แยกกัน เป็นไปได้ไหมที่จะทำในครั้งเดียว?

2
ทำไมตัวแปรจึงมองเห็นได้ใน subshell
Learning Bash Book กล่าวถึงว่า subshell จะสืบทอดเฉพาะตัวแปรสภาพแวดล้อมและ file descriptors ฯลฯ และจะไม่รับสืบทอดตัวแปรที่ไม่ได้ถูกส่งออก: $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ ฉันรู้ว่าเชลล์จะสร้างสอง subshell สำหรับ()และ for ./fileแต่ทำไมใน()กรณีที่ subshell ระบุvarตัวแปรแม้ว่าจะไม่ถูกส่งออกและใน./fileกรณีที่มันไม่ได้ระบุมัน? # Strace for () clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f24558b1a10) = 25617 # Strace for ./file clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, …
18 bash  shell  subshell 

4
วิธีที่สั้นที่สุดในการแทนที่อักขระในตัวแปร
มีหลายวิธีในการแทนที่อักขระในตัวแปร วิธีที่สั้นที่สุดที่ฉันค้นพบคือtr: OUTPUT=a\'b\"c\`d_123and_a_lot_more OUTPUT=$(echo "$OUTPUT"|tr -d "'\`\"") echo $OUTPUT มีวิธีที่เร็วกว่านี้ไหม และนี่คือข้อความที่ปลอดภัยสำหรับคำพูดเช่น', "และ `ตัวเอง?
18 bash  string  variable 

2
หยุดการกำหนดค่า ssh ในนัดแรก
ฉันได้เพิ่มพร็อกซีในพื้นที่สำหรับโฮสต์ทั้งหมดของฉันในการกำหนดค่า. ssh ของฉันอย่างไรก็ตามฉันต้องการเชลล์ลงใน vm โลคัลของฉันโดยไม่มีคำสั่งพร็อกซี ผลลัพธ์ของความพยายามของฉัน ssh: debug1: /Users/bbarbour/.ssh/config line 1: Applying options for local.dev debug1: /Users/bbarbour/.ssh/config line 65: Applying options for * กำหนด ssh config ต่อไปนี้ฉันจะป้องกัน ProxyCommand จากการนำไปใช้กับรายการ local.dev ได้อย่างไร? Host local.dev HostName dev.myserver.com User developer ... Host * ProxyCommand /usr/local/bin/corkscrew 127.0.0.1 8840 %h %p
18 ssh 


3
เพจเจอร์ Git น้อยลง แต่สิ่งที่ทำให้สีออกมา?
lessตัวเองไม่สามารถทำการเน้นไวยากรณ์ได้ตามเธรดนี้ อย่างไรก็ตามgit diffอย่างดีแสดงสีออกในน้อยเพจเจอร์เริ่มต้น เมื่อฉันเปลี่ยนเส้นทางการส่งออกgit diffไปยังไฟล์จะไม่มีลำดับการหลีกเลี่ยงสีปรากฏให้เห็น git diffทราบหรือไม่ว่ามันถูกส่งไปที่ใดและจัดรูปแบบผลลัพธ์ตามนั้น เราจะทำอย่างนั้นได้อย่างไร? ฉันเพิ่งสังเกตเห็นว่าคอมไพล์สีdiffเอาท์พุท (เช่นgit diff) แต่มันไม่ทราบวิธีการเน้นไวยากรณ์โดยทั่วไป เช่น git show 415fec6:log.tex ไม่เปิดใช้งานไวยากรณ์เหมือน TeX ใด ๆ อ่านgitแหล่งฉันพบคำแนะนำดังต่อไปนี้ ในdiff.h: int use_color; ก่อนหน้านี้ฉันอ้างถึงการเน้นไวยากรณ์แต่นั่นไม่ถูกต้อง สิ่งที่ฉันหมายถึงคือการระบายสีเอาท์พุทดูตัวอย่าง
18 colors  git  diff  pager  colordiff 

4
ถูกต้องหรือไม่ที่จะใช้อักขระพิเศษบางตัวเมื่อตั้งชื่อไฟล์ใน Linux?
มันถูกต้องที่จะใช้ตัวอักษรพิเศษบางอย่างเช่น+, &, ', .(dot) และ,(จุลภาค) โดยทั่วไปในชื่อไฟล์ ฉันเข้าใจว่าคุณสามารถใช้-และ_ไม่มีปัญหา แต่การทำวิจัยบางอย่างฉันไม่สามารถหาสิ่งที่แน่นอนเกี่ยวกับสัญลักษณ์อื่น ๆ ; บางคนบอกว่าคุณทำได้บางคนบอกว่าคุณทำไม่ได้และบางคนบอกว่ามันเป็น "ไม่สนับสนุน" ให้ใช้มัน

1
วิธีดำเนินการต่อสคริปต์หลังจากรีบูตเครื่อง?
ฉันกำลังเขียนเชลล์สคริปต์ในทุบตี ในบางช่วงของสคริปต์จะตรวจพบว่าเครื่องจำเป็นต้องรีบูตก่อนดำเนินการต่อ มันเป็นปัญหา: sudo reboot เมื่อเครื่องกลับมาทำงานจะมีงานอีกมากที่สคริปต์นี้ต้องทำ ฉันจะกำหนดค่าบางสิ่งเพื่อทำงานในสคริปต์นี้ต่อไปได้อย่างไร ฉันสมมติว่ามีบางที่ที่ฉันสามารถเขียนเชลล์สคริปเพื่อที่มันจะถูกประหารชีวิตในการรีบูทครั้งต่อไป สถานที่ดังกล่าวอยู่ที่ไหน ฉันเห็นว่า cron มีคำสั่ง @reboot ฉันรู้ด้วยเช่นกันว่าบริการต่างๆของ Apache เริ่มขึ้นจากการบูทโดยคนธรรมดา สิ่งเหล่านี้จะเป็นกลไกที่เหมาะสมหรือไม่? ถ้าเป็นเช่นนั้นจะทริกเกอร์อย่างไร? สคริปต์นี้ต้องทำงานครั้งเดียวไม่ใช่ทุกครั้งที่รีบูต ดังนั้นจะต้องไปที่ไหนสักแห่งที่เพิ่งทำงานในการรีบูตครั้งถัดไปหรือสามารถลบตัวเองได้เมื่อมันทำงาน คำถามนี้ถามเกี่ยวกับวิธีบันทึกสถานะแอปพลิเคชันของคุณหลังจากรีบูต สคริปต์ของฉันไม่มีสถานะมากนักดังนั้นฉันจึงสามารถจัดการได้ ฉันแค่ต้องรู้วิธีที่จะให้สคริปต์นี้กระตุ้นให้บางสิ่งบางอย่างทำงานหลังจากรีบูตครั้งถัดไป รุ่นเฉพาะของฉันคือ Ubuntu Linux 14.04 สคริปต์ดั้งเดิมเริ่มต้นบนบรรทัดคำสั่งโดยผู้ดูแลระบบ (ต่างจากการเรียกใช้จาก cron)


2
วิธีการทำให้นาฬิกาภายใน Debian ตรงกัน (กับเซิร์ฟเวอร์ NTP)
ฉันมีเซิร์ฟเวอร์ภายในบ้านที่รันการติดตั้ง Debian 7.5 (wheezy) ที่ทันสมัย ฉันเพิ่งค้นพบว่าเซิร์ฟเวอร์ที่มีการตั้งค่านาฬิกาภายใน± 3 นาทีในอนาคต ฉันรู้ว่าฉันสามารถใช้ NTP เพื่อซิงโครไนซ์ Debian (และนาฬิกาภายในเมนบอร์ด) กับ NTP ดังนั้นฉันจึงติดตั้ง NTP โดยทำตามขั้นตอนที่อธิบายใน French Debian Wiki ( หน้าภาษาอังกฤษมีรายละเอียดน้อยกว่า) ฉันใช้คำสั่งต่อไปนี้เพื่อซิงค์นาฬิกาภายใน: ntpdate -B -q 192.168.0.254 ปรับนาฬิกาเสร็จเรียบร้อยแล้ว แต่นี่เป็นวิธีแก้ปัญหาชั่วคราวดังนั้นฉันจึงติดตั้ง NTP daemon และเพิ่มเซิร์ฟเวอร์ภายในลงใน/etc/ntp.confไฟล์: # pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will # pick a different set …
18 debian  ntp  ntpd 

1
ไม่สามารถปรับขนาดพาร์ติชันโดยใช้ resize2fs
ฉันเพิ่งปรับขนาดฮาร์ดไดรฟ์ของ VM จาก 150 GB เป็น 500 GB ใน VMWare ESXi หลังจากทำสิ่งนี้ฉันใช้ Gparted เพื่อปรับขนาดพาร์ติชันของรูปภาพนี้อย่างมีประสิทธิภาพ ตอนนี้สิ่งที่ฉันต้องทำคือปรับขนาดระบบไฟล์เนื่องจากมันยังคงแสดงค่าเก่า (ดังที่คุณเห็นจากผลลัพธ์ของdf -h) Filesystem Size Used Avail Use% Mounted on /dev/mapper/owncloud--vg-root 157G 37G 112G 25% / udev 488M 4.0K 488M 1% /dev tmpfs 100M 240K 100M 1% /run none 5.0M 0 5.0M 0% /run/lock none 497M …

1
ให้สิทธิ์ผู้ใช้เฉพาะกับอุปกรณ์โดยไม่ให้สิทธิ์การเข้าถึงแก่ผู้ใช้รายอื่น
/dev/sdbฉันได้อ่านบัตรติดอยู่บน สิ่งที่ฉันทำคือให้สิทธิ์ทั้งหมดแก่เจ้าของกลุ่มและส่วนที่เหลือของโลกโดยใช้: sudo chmod 777 /dev/sdb ฉันสามารถใช้ชุดค่าผสมอื่นช่วยให้เจ้าของ (ฉัน) ใช้เครื่องอ่านการ์ดได้หรือไม่ มีบัญชีผู้ใช้เดียวเท่านั้น

6
การหยุดเอาต์พุตจากโปรแกรมที่รันในเซสชัน SSH ทันที
ปัญหา ฉันรันคำสั่งที่ให้เอาท์พุตจำนวนมากของข้อมูลผ่าน SSH ตัวอย่างเช่นฉันเพิ่มข้อมูลการดีบักภายในลูปที่ดำเนินการเป็นล้านครั้งหรือเพียงแค่วิ่งcat /dev/urandomเพื่อเตะ ข้อมูลถูกเทอร์มินัล ฉันต้องการยุติคำสั่งโดยเร็วและแก้ไขโปรแกรมของฉัน ฉันไม่สนใจสิ่งที่จะพิมพ์ ตอนนี้สิ่งที่ผมกดCtrl+ Cที่เร็วที่สุด (ในตัวอย่างข้างต้นผมกดมันทันทีหลังจากใช้คำสั่ง) แต่ก็ยังคงต้องใช้เวลาในการพิมพ์ข้อมูลทั้งหมดที่ฉันไม่จำเป็นต้อง สิ่งที่ฉันได้ลอง ฉันลองกดCtrl+ Cอย่างหนักเพื่อให้ได้ผลลัพธ์ที่ตลกเมื่อท้ายสุดเทอร์มินัล: OUTPUT HERE^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C ^C^C ^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C ฉันยังอ่านเกี่ยวกับCtrl+ …
18 ssh  terminal  cygwin 

2
มีบางเวลาเหมือนกันที่บันทึก I / O และ CPU
ฉันสามารถตรวจสอบเวลาทำงานของกระบวนการได้อย่างรวดเร็วด้วยtime: x@y ~ $ time foo real 0m14.299s user 0m4.770s sys 0m0.440s มีวิธีที่ฉันสามารถรับข้อมูลเดียวกันสำหรับการใช้ I / O และ CPU ของอาร์กิวเมนต์ที่บันทึกใน STDOUT หรือไม่ คำสั่งหรือยูทิลิตีอย่างง่าย ๆtimeน่าจะเหมาะสมที่สุดที่ฉันเพิ่งผ่านการโต้แย้งของสิ่งที่ฉันต้องการเรียกใช้: x@y ~ $ stats foo wallclock runtime 0m14.299s I/O reads 290,420 KB I/O writes 239,429 KB peak CPU usage 18.62% mean CPU usage 1.44% # etc.

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