Unix & Linux

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

4
จะค้นหาไฟล์ที่ไม่มีบรรทัดที่ท้ายได้อย่างไร?
ฉันมีไฟล์ในไดเรกทอรีย่อยของไดเรกทอรีปัจจุบันที่อาจมีหรือไม่มีบรรทัดใหม่ในตอนท้าย ฉันจะหาไฟล์ที่ไม่มีการขึ้นบรรทัดใหม่ได้อย่างไรในตอนท้าย ฉันเคยลองแล้ว: find . -name '*.styl' | while read file; do awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file; done แต่มันไม่ทำงาน พิมพ์เส้นก่อนที่จะสายใหม่ที่ว่างเปล่าเช่นเดียวกับawk 'END{print}' $filetail -n 1 $file


3
SFTP ใช้ SSH ไม่ได้ในทางใด
ฉันได้เพียงเสร็จOverTheWire โจร wargame ระดับ 18 นั่นเป็นเรื่องน่าประหลาดใจ นี่คือคำแนะนำสำหรับระดับนี้ รหัสผ่านสำหรับระดับถัดไปจะถูกเก็บไว้ในไฟล์readmeในโฮมไดเรกทอรี น่าเสียดายที่มีบางคนได้แก้ไข. bashrcเพื่อให้คุณออกจากระบบเมื่อคุณเข้าสู่ระบบด้วย SSH .bashrcผมคิดว่าวิธีการที่จะมีเปลือกข้ามจัดหา แต่ก่อนที่ฉันจะค้นพบวิธีแก้ปัญหาฉันถูกล่อลวงให้เริ่มต้นการเชื่อมต่อ SFTP กับเซิร์ฟเวอร์ ฉันไม่ได้คาดหวังให้มันทำงาน แต่มันก็ทำ และฉันอยากจะรู้ว่าทำไม ฉันคิดว่า SFTP ทำงานมากกว่า SSH เพื่อความชัดเจนเมื่อฉัน SSH เข้าสู่เซิร์ฟเวอร์ฉันจะถูกไล่ออกตามที่คาดไว้
9 ssh  sftp 

1
Gnome3 +: ฉันจะลบรายการโปรดออกจาก Dash ผ่านเทอร์มินัลได้อย่างไร
ฉันเดาว่าฉันต้องแก้ไขหนึ่งในสกีมาที่มีอยู่gsettingsแต่ฉันไม่รู้ว่าอันไหน และเมื่อฉันแสดงรายการ schemas ทั้งหมดมีเพียงมากเกินไป

1
หากการย้อนแพตช์สำเร็จหมายความว่าแพทช์ถูกนำไปใช้อย่างสมบูรณ์หรือไม่?
นี้จะสัมผัสกับในสองคำถาม ' ตรวจสอบว่าไฟล์หรือโฟลเดอร์ได้รับการติดตั้งแล้ว ' และ ' ทำให้patchผลตอบแทน 0 เมื่อข้ามแพทช์ใช้แล้ว ' แต่ไม่ได้คำตอบที่น่าพอใจ ฉันกำลังเขียนสคริปต์และต้องการทดสอบโปรแกรมปรับปรุงต่อไปนี้: ใช้อย่างเต็มที่: ดำเนินการต่อ นำไปใช้บางส่วน: ออก ไม่ได้ใช้: ถ้ามันสามารถนำไปใช้ประสบความสำเร็จทำมันและดำเนินการต่อมิฉะนั้นออกจาก ปัญหาคือการจัดการกรณีที่นำไปใช้บางส่วน: mkdir test && cd test cat << EOF > foobar.patch --- /dev/null +++ foo @@ -0,0 +1 @@ +foo --- /dev/null +++ bar @@ -0,0 +1 @@ +bar EOF patch --forward …
9 patch 

1
สภาพ awk ของจริงและเท็จ
ฉันเจอว่าถ้าเราใช้awk 0 inputfileมันจะไม่พิมพ์สาเหตุใด ๆ0หมายความว่าผิดเงื่อนไข หากเราใช้awk 1 inputfileมันจะพิมพ์ทุกอย่างตามที่เป็น1จริงสำหรับแต่ละบรรทัด awk ตีความ ถ้าเราใช้awk any_string inputfileมันจะไม่พิมพ์อะไรเลยเพราะตัวแปร awk ทั้งหมดที่เริ่มต้นเป็นศูนย์จึงเป็นเท็จ แต่ถ้าเราใช้awk any_integer inputfileมันจะกลายเป็นจริงและพิมพ์แต่ละบรรทัดของไฟล์ฉันจะรู้ได้อย่างไรว่าอะไรคือสาเหตุ? ฉันไม่สามารถหานี้ได้รับการอธิบายในGNU awkคู่มือแม้ว่า
9 awk  gawk 

4
คำถามเกี่ยวกับ awk
ตกลงเนื่องจากเป็นคำถามที่ซับซ้อนฉันจะอธิบายอย่างชัดเจน ฉันได้ไฟล์เนื้อหาที่แสดงด้านล่าง: $ Cat File1 ABC Cool Lol POP {MNB} ABC Cool Lol POP {MNB} ABC Cool Lol POP {MNB} ABC Cool Lol POP {TBMKF} ABC Cool Lol POP {YUKER} ABC Cool Lol POP {EFEFVD} ผลลัพธ์ที่ฉันต้องการ -Cool MNB + POP ; -Cool MNB + POP ; -Cool MNB + POP …

5
ปิดใช้งานพฤติกรรมการคัดลอกและวางเริ่มต้นใน Bash
เมื่อฉันวางในเซสชันเทอร์มินัลของฉันเชลล์ดำเนินการคำสั่งทันทีโดยไม่ต้องกดปุ่ม Enter ฉันไม่รู้วิธีปิดใช้งานพฤติกรรมดังกล่าวจริงๆ ฉันใช้เทอร์มินัลที่ติดตั้งไว้แล้วใน MacOS Yosemite
9 bash  terminal  osx 

1
airmon-ng: ls: ไม่สามารถเข้าถึง '/ sys / class / ieee80211 /': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
พื้นหลัง: ฉันใช้ Kali Linux เวอร์ชันล่าสุดในเวิร์กสเตชัน vmware และฉันมี Cisco AE2500 wifi usb ซึ่งทำงานเป็นอะแดปเตอร์ไร้สายใน Windows 10 แต่น่าเสียดายที่เมื่อฉันเรียกใช้airmon-ngคำสั่งฉันได้รับ ls: cannot access '/sys/class/ieee80211/': No such file or directory. ฉันได้ลองทุกวิธีการแก้ปัญหาที่เป็นไปได้จาก 10+ ฟอรั่มและการค้นหา google ที่แตกต่างกันเพื่อแก้ไขปัญหานี้ วิธีแก้ไขปัญหาทั่วไปที่แก้ไขปัญหาให้กับบุคคลอื่นยังไม่ประสบความสำเร็จ โซลูชั่นรวมถึง: 1) apt-get update && apt-get upgrade && apt-get dist-upgrade -y 2) โซลูชันฟอรัมเพื่อดาวน์โหลดไดรเวอร์ backport (4.4.2-1) และmake defconfig-b43รวบรวมติดตั้งรีบูต 3) วิธีแก้ปัญหาฟอรัมเพื่อดาวน์โหลด synaptic …

1
/root/.bashrc และ /root/.profile มาจากไหนในระบบ Debian?
โดยปกติเมื่อคุณเพิ่มผู้ใช้ในระบบ Debian เนื้อหาของ/etc/skel/จะถูกคัดลอกไปยังโฮมไดเรกทอรีของผู้ใช้ใหม่ แต่/root/.bashrcไม่ตรง/etc/skel/.bashrcและไม่ตรงกับ/root/.profile นอกจากนี้ยังมีไฟล์ไม่เป็นที่รู้จักกัน/etc/skel/.profile dpkgแล้วพวกเขามาจากไหน

1
Powerline ในการตั้งค่าข้อผิดพลาดเป็นกลุ่ม
ฉันติดตั้ง powerline โดยใช้ pip install ตามคำแนะนำในการติดตั้ง ฉันได้มันทำงานได้ดีทั้งใน zsh เป็นพรอมต์และ tmux เป็น statusline แต่ฉันไม่สามารถทำงานเป็นกลุ่มได้ เมื่อฉันเพิ่มต่อไปนี้ใน vimrc ของฉัน: python from powerline.vim import setup as powerline_setup python powerline_setup() python del powerline_setup ฉันได้รับข้อผิดพลาดดังต่อไปนี้ Error detected while processing /home/jordan/.vimrc: line 1: E319: Sorry, the command is not available in this version: python from powerline.vim import …
9 vim  vimrc 

4
เชลล์สคริปต์สามารถพิมพ์อาร์กิวเมนต์โดยอ้างอิงตามที่คุณต้องการเขียนลงในพร้อมท์เชลล์หรือไม่
ในเชลล์สคริปต์ความเข้าใจของฉันคือการ"$@"ขยายไปยังอาร์กิวเมนต์ของสคริปต์โดยอ้างอิงตามที่ต้องการ เช่นนี้ส่งต่อข้อโต้แย้งสคริปต์เพื่อ gcc: gcc -fPIC "$@" <<<แม้ว่าการใช้ไวยากรณ์ bash pass-to-stdin นั้น"@$"ไม่ได้ผลอย่างที่ฉันคาดไว้ #!/bin/bash cat <<< "$@" เรียกสคริปต์ตามที่./test.sh foo "bar baz"ให้ไว้ foo bar baz ฉันคาดหวัง foo "bar baz" มีวิธีเขียนเชลล์สคริปต์ที่พิมพ์อาร์กิวเมนต์เป็นคุณจะเขียนไว้ใน shell prompt หรือไม่ ตัวอย่างเช่น: คำใบ้เกี่ยวกับคำสั่งที่จะใช้ถัดไปรวมถึงอาร์กิวเมนต์ของสคริปต์ในคำใบ้

2
ฉันจะป้องกันระบบของฉันจากการใช้ประโยชน์จาก Off-path TCP ใน Linux ได้อย่างไร
ตามcve.mitre.org , เคอร์เนลลินุกซ์ก่อน 4.7 มีความเสี่ยงที่จะ"หาเส้นทาง" TCP exploit ลักษณะ net / ipv4 / tcp_input.c ในเคอร์เนล Linux ก่อน 4.7 ไม่สามารถกำหนดอัตราของส่วนที่ท้าทาย ACK ได้อย่างถูกต้องซึ่งทำให้ง่ายขึ้นสำหรับผู้โจมตีกลางคนเพื่อแย่งชิงเซสชัน TCP ผ่านการโจมตีในหน้าต่าง ช่องโหว่นี้ถือเป็นอันตรายเนื่องจากผู้โจมตีต้องการเพียงแค่ที่อยู่ IP เพื่อทำการโจมตี การอัพเกรดลินุกซ์เคอร์เนลเป็นเวอร์ชั่นเสถียรล่าสุด4.7.1กลายเป็นวิธีเดียวที่จะปกป้องระบบของฉันได้หรือไม่?

1
samba ของบริการ Ubuntu ถูกหลอกลวงและไม่สามารถเริ่มได้
ฉันพยายามเรียกใช้บริการแซมบ้าบนเซิร์ฟเวอร์อูบุนตูและทำให้ฉันมีปัญหา อะไรทำให้เป็นเช่นนี้ นี่คือข้อผิดพลาดที่ฉันได้รับ: - ไม่สามารถเริ่มต้น samba.service: หน่วย samba.service ถูกปิดบัง ถ้าฉันใช้เซิร์ฟเวอร์ Ubuntu บนกล่องเสมือนนั่นจะเป็นปัญหาหรือไม่ ขอบคุณ
9 linux  ubuntu 

2
อะไรคือความแตกต่างระหว่าง $ 'string' ที่ยกมาเดี่ยวกับ $“ string” ที่เสนอในการทุบตี?
ฉันพยายามรันบรรทัดใหม่โดยใช้echoและลองทำตามสองคำสั่ง: คำสั่งแรก: echo $'Hello World\nThis is a new line' การตอบสนอง: Hello World This is a new line คำสั่งที่สอง: echo $"Hello World\nThis is a new line" การตอบสนอง: Hello World\nThis is a new line คำถามของฉันคือสิ่งที่แตกต่างระหว่างสตริงห่อด้วย$' 'VS สตริงห่อด้วย$" "ในbash's echo?
9 bash  quoting  echo 

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