Unix & Linux

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

7
ฉันจะ "ผสาน" รูปแบบในบรรทัดเดียวได้อย่างไร
ฉันกำลังทำ grep และ sed และฉันได้รับไฟล์ 2 บรรทัดที่ฉันสนใจฉันจะรับบรรทัดเหล่านี้ในบรรทัดเดียวที่ลงท้ายด้วยอักขระบรรทัดใหม่ได้อย่างไร ตอนนี้ฉันได้รับ: pattern1 pattern2 ฉันอยากได้ pattern1 pattern2 \n

3
ตรวจสอบ md5sum จากไปป์
ฉันสับสนว่าmd5sum --checkควรจะทำงานอย่างไร: $ man md5sum -c, --check read MD5 sums from the FILEs and check them ฉันมีไฟล์ฉันสามารถไปที่md5sum: $ cat file | md5sum 44693b9ef883e231cd9f90f737acd58f - เมื่อฉันต้องการตรวจสอบความสมบูรณ์ของไฟล์ในวันพรุ่งนี้ฉันจะตรวจสอบว่า md5sum ยังคงอยู่ได้44693b9ef883e231cd9f90f737acd58fอย่างไร? บันทึก cat fileอาจเป็นกระแส md5sum fileดังนั้นผมจึงต้องการที่จะใช้ท่อเช่นในตัวอย่างของฉันไม่
10 pipe  hashsum 

1
เหตุใดจึงมีที่อยู่ย้อนกลับจำนวนมาก
จากความเข้าใจของฉันที่อยู่ IP ทั้งหมดของแบบฟอร์ม 127.xyz เป็นที่อยู่ย้อนกลับ ตอนนี้ดูเหมือนจะเป็นเรื่องที่ค่อนข้างทำให้ฉันเสียเปล่า แน่นอนที่อยู่มากกว่าหนึ่งที่อยู่ดูเหมือนขยะ มีประโยชน์ในการมีที่อยู่ย้อนกลับจำนวนมากหรือไม่?
10 networking 

1
การเขียนโปรแกรม Unix หมายถึงอะไรกันแน่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันคิดว่าฉันเข้าใจความหมายของคำว่าการเขียนโปรแกรม Unixแต่ตอนนี้หลังจากอ่านเกี่ยวกับมันในบริบทการเขียนโปรแกรมเคอร์เนล / C ฉันรู้สึกว่าฉันต้องชี้แจงความหมายของคำนี้ ไม่ชัดเจนสำหรับฉันถ้ามันหมายถึง: การเขียนโปรแกรมเชลล์ เครื่องมือการเขียนโปรแกรม Unix วิธี / รูปแบบเฉพาะของการเขียนโปรแกรมเครื่องมือบรรทัดคำสั่ง Unix (เช่นการเห็นด้วยกับวิธีการของ "Unix shell programming") หรือ อื่น ๆ อีก.

4
เหตุใดจึงเลือกสาขา 'ถ้า [$ 1 =“ 1”]' เสมอแม้ว่าจะไม่ใช่ $ 1 ก็ตาม
ฉันมีเชลล์สคริปต์ชื่อ 'teleport.sh' เช่นนี้: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi เมื่อฉันรัน: sh teleport.sh 2 testfile สิ่งนี้testfileถูกย้ายไปยัง~/lab/Sunไดเรกทอรีซึ่งทำให้ฉันสับสนมากเพราะฉันไม่ผ่าน 1 หรือ '1' ไปยังสคริปต์นั้น เกิดอะไรขึ้นที่นี่?
10 bash  shell  test 

2
แจ้ง - ส่งไม่ทำงานภายใต้ ssh
บางทีนี่อาจจะเป็นคำตอบที่อื่น แต่ฉันไม่เห็น ฉันใช้ Ubuntu 14.04 เมื่อฉัน SSH ลงในเครื่องของฉันตัวอย่างเช่น: ssh <user>@<machineip> notify-send "Hello" ฉันไม่เห็นสิ่งใดบนหน้าจอที่ฉันเข้าสู่ระบบ หากฉันนำหน้าnotify-sendด้วยDISPLAY=:0.0หรือDISPLAY=:0ไม่มีอะไรแตกต่างเกิดขึ้น ฉันไม่เคยเห็นการแจ้งเตือนใด ๆ ในเซสชันปัจจุบัน มีเคล็ดลับ / การเปลี่ยนเพื่อให้ทำงานได้หรือไม่? ในกรณีที่ไม่ชัดเจนอนุญาตให้ฉันย้ำ: จากคอมพิวเตอร์ A, ฉัน SSH ไปยังคอมพิวเตอร์ B. ภายในเซสชัน SSH ฉันต้องการที่จะดำเนินการแจ้งเตือนส่งเพื่อให้ทำงานบนคอมพิวเตอร์ B. ฉันคาดหวังว่าการแจ้งเตือนคำรามชนิดปรากฏ บนหน้าจอคอมพิวเตอร์ B.
10 ssh  libnotify 

5
ลบช่องว่างเครื่องหมายขีดกลางและขีดล่างในชื่อไฟล์หรือไม่
คำสั่งที่ดีในการลบช่องว่างยัติภังค์และขีดล่างจากไฟล์ทั้งหมดในไดเรกทอรีหรือไฟล์ที่เลือกคืออะไร ฉันใช้คำสั่งต่อไปนี้กับ Thunar Custom Actions เพื่อ slugify ชื่อไฟล์: for file in %N; do mv "$file" "$(echo "$file" | tr -s ' ' | tr ' A-Z' '-a-z' | tr -s '-' | tr -c '[:alnum:][:cntrl:].' '-')"; done แต่คำสั่งนั้นจะแทนที่ช่องว่างด้วยเครื่องหมายขีดคั่น / ขีดกลางและอักขระตัวพิมพ์เล็กที่ต่อท้าย ฉันใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อลบช่องว่างออกจากชื่อไฟล์หลายพันรายการในโฟลเดอร์และทำงานได้อย่างรวดเร็ว: rename "s/ //g" * อีกครั้งจะลบช่องว่างเท่านั้นไม่ใช่เครื่องหมายขีดคั่น / ขีดกลางและขีดล่างเช่นกัน เป็นการดีที่ฉันไม่ต้องการช่องว่างขีดกลาง / …

4
วิธีการวาดพิกเซลเดียวในอาคาร?
จนถึงตอนนี้ฉันใช้ตัวละครเพื่อวาดภาพรูปร่าง ฯลฯ ในเทอร์มินัล เป็นไปได้ไหมที่จะวาดพิกเซลเดียว? สมมติว่า: foo 1 1 red (1, 1)นี้จะวาดพิกเซลสีแดงที่พิกัด มีแอปพลิเคชันที่มีอยู่ที่จะทำงานนี้หรือไม่? ขณะนี้กำลังใช้ Ubuntu 14.04
10 terminal  images 

3
ฉันจะซ่อนเมนูการบู๊ตด้วงได้อย่างไรหากไม่มีการกดปุ่ม Shift
ฉันอ่านฟอรัมแล้ว แต่ดูเหมือนว่าเมนูการบูตด้วงของฉันไม่เป็นไปตามรูปแบบของไฟล์ปรับแต่ง ฉันต้องการให้เมนูไม่ปรากฏจนกว่าShiftจะมีการกด เมนูด้วงของฉันจะปรากฏขึ้นทุกครั้งที่บู๊ตและอยู่ที่นั่นจนกว่าคุณจะเลือกรายการเมนู ปัจจุบันของฉัน/etc/default/grubคือ: GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=3 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=0 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomdmonddf nomdmonisw" GRUB_CMDLINE_LINUX="" GRUB_FORCE_HIDDEN_MENU="true" export GRUB_FORCE_HIDDEN_MENU (ฉันได้ลองtrueกับทั้งคำพูดและคำพูดไม่ได้ทำให้มันไม่แตกต่างกัน) ฉันได้ทำยังและupdate-grubupdate-grub2 ใครช่วยบอกฉันหน่อยได้ไหมว่าทำไมเมื่อระบบของฉันบูทมันอยู่ที่เมนู Grub? มันเป็นระบบที่ไม่มีหัวซึ่งไม่ดีเท่าที่ฉันต้องเพิ่มแป้นพิมพ์เพื่อให้รีบูต นี่ไม่ใช่ระบบดูอัลบูต
10 grub2 

5
การสร้างนามแฝงสำหรับสคริปต์ทุบตี
ดังนั้นผมจึงได้พยายามทดลองและสร้างในalias .bashrcอย่างไรก็ตามเมื่อฉันทดสอบคำสั่งที่ฉันได้รับ: [rkahil@netmon3 ~]$ menu -bash: menu: command not found นี่คือสิ่งที่ฉันมีใน.bashrcไฟล์: # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions alias menu='./menuScript.sh' alias vi='vim' สิ่งที่ตลกคือเมื่อฉันสร้างนามแฝงviมันทำงานได้ แต่เมนูไม่ได้ ฉันค้นหาโพสต์ก่อนหน้านี้ใน UnixStackExchange และพยายามติดตามโพสต์อื่น ๆ แต่ไม่มีประโยชน์ ใครบ้างที่มีข้อเสนอแนะใด ๆ ?
10 bash  alias 

2
การแก้ไข inplace ของไฟล์ที่ทำนั้นเป็นอย่างไร?
อะไร "inplace" การเปลี่ยนแปลงของไฟล์เช่นผ่านsed -iหรือperl -iหมายถึง? คำถามของฉันเกี่ยวกับการปรับเปลี่ยน inplace นี้แล้ว ไฟล์ถูกคัดลอกการแก้ไขเสร็จสิ้นในการคัดลอกแล้วแทนที่ต้นฉบับหรือไม่? หรือไฟล์ต้นฉบับถูกแก้ไขอย่างใด
10 files  sed  perl 

6
ไม่สามารถลองจาก github ข้อผิดพลาดการจับมือ sslv3
เรามีสคริปต์ที่ดาวน์โหลด mod ความปลอดภัยจาก github ที่เพิ่งเริ่มล้มเหลว เซิร์ฟเวอร์เรียกใช้ CentOS 6 แต่ RHEL 6 อาจมีปัญหาเดียวกัน ผลลัพธ์คือ: # wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz --2014-07-22 18:49:46-- https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz Resolving github.com... 192.30.252.129 Connecting to github.com|192.30.252.129|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz [following] --2014-07-22 18:49:47-- https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz Resolving cloud.github.com... 54.230.99.219, 205.251.219.190, 54.230.97.212, ... Connecting to cloud.github.com|54.230.99.219|:443... connected. OpenSSL: …
10 centos  wget  github 

1
การใช้“ อาถรรพณ์อาถรรพณ์” ในการเรียกระบบรีบูตระบบ Linux คืออะไร?
ขณะที่ผมกำลังอ่านรหัสที่มาลินุกซ์และอื่น ๆ โดยเฉพาะรหัสสายระบบผมมาในsys_rebootการดำเนินงาน: http://lxr.free-electrons.com/source/kernel/reboot.c#L199 199 SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd, 200 void __user *, arg) 201 { 202 ... ... 286 } ตรงกลางมีโค้ดเฉพาะส่วนนี้: 209 210 /* For safety, we require "magic" arguments. */ 211 if (magic1 != LINUX_REBOOT_MAGIC1 || 212 (magic2 != LINUX_REBOOT_MAGIC2 && 213 magic2 != …

4
เขียนข้อความระหว่าง Unix และ Windows
เป็นไปได้ไหมที่จะส่งข้อความระหว่างผู้ใช้สองคนใน LAN เดียวกัน แต่เป็น Windows แรกที่รันด้วย cmd และ Linux / Unix ตัวที่สอง? ฉันไม่ได้มองหาบริการส่งข้อความด่วน ฉันต้องการที่จะพิมพ์ในเปลือก Linux สิ่งที่ชอบ write user@192.168.x.x:port message เพื่อให้ผู้ใช้ Windows สามารถอ่านข้อความในหน้าต่าง cmd message; จากนั้นผู้ใช้ Windows ควรจะสามารถตอบกลับด้วยคำสั่งอื่น เป็นไปได้ไหม? ฉันได้อ่านเกี่ยวกับmsgคำสั่งWindows แล้วแต่มันไม่ทำงานในทุกเวอร์ชั่นของระบบปฏิบัติการ มีอะไรอีกไหม? แทนที่จะเป็น PuTTY ฉันต้องการใช้เชลล์ Linux และ Windows cmd

2
โปรแกรม Gnome (eog / gnome-terminal) มีการเริ่มต้นที่ช้าและสร้าง DBus.Error.NoReply Warning
บางครั้งeogและgnome-terminalเริ่มช้ามากบน (X) Ubuntu 13.10 ของฉัน ฉันคิดว่าเครื่องมือ Gnome อื่น ๆ ได้รับผลกระทบเช่นกัน แต่ฉันไม่ได้ใช้เครื่องมืออื่น ตอนนี้ฉันได้รับorg.freedesktop.DBus.Error.NoReplyข้อผิดพลาดทุกครั้งที่gnome-terminalเริ่ม: ** (gnome-terminal: 5516): คำเตือน **: ข้อผิดพลาดในการดึงข้อมูลที่อยู่บัสสำหรับการเข้าถึง: org.freedesktop.DBus.Error.NoReply: ไม่ได้รับการตอบกลับ สาเหตุที่เป็นไปได้รวมถึง: แอปพลิเคชันระยะไกลไม่ได้ส่งการตอบกลับนโยบายความปลอดภัยบัสข้อความบล็อกการตอบกลับการหมดเวลาตอบกลับหมดอายุหรือการเชื่อมต่อเครือข่ายใช้งานไม่ได้ และทุกครั้งที่eogเริ่ม: ** (eog: 4996): คำเตือน **: เกิดข้อผิดพลาดในการเรียกที่อยู่บัสสำหรับการเข้าถึง: org.freedesktop.DBus.Error.NoReply: ไม่ได้รับการตอบกลับ สาเหตุที่เป็นไปได้รวมถึง: แอปพลิเคชันระยะไกลไม่ได้ส่งการตอบกลับนโยบายความปลอดภัยบัสข้อความบล็อกการตอบกลับการหมดเวลาตอบกลับหมดอายุหรือการเชื่อมต่อเครือข่ายใช้งานไม่ได้ (eog: 4996): EOG-WARNING **: ไม่สามารถโหลดไอคอน: ไอคอน 'การโหลดภาพ' ไม่ปรากฏในธีม ผมคิดว่ามันมีบางอย่างที่ทำกับฉันลบโปรแกรมบางอย่างที่เริ่มต้นโดยค่าเริ่มต้นรวมทั้งat-spi2-registrydซึ่งผมคิดว่าเป็นโครงการการเข้าถึงคำสอนของ ตามdpkg --getselections | grep spi, at-spi2-coreยังคงติดตั้งในระบบของฉัน ฉันจำได้ว่าทำสิ่งที่แฮ็ค / …

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