Unix & Linux

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

4
เชื่อมต่อฟิลด์ต่าง ๆ ด้วยตัวคั่นที่แตกต่างกัน
ฉันมีไฟล์คั่นด้วยแท็บดังนี้: chr1 53736473 54175786 chr1 56861276 56876438 chr1 57512145 57512200 ฉันต้องการต่อผลลัพธ์ทั้งสามฟิลด์เข้าด้วยกันดังนี้ chr1:53736473-54175786 chr1:56861276-56876438 chr1:57512145-57512200 ฉันลองด้วยpaste -d ':-' fileซึ่งดูเหมือนจะไม่ทำงาน ใครช่วยได้บ้าง จะเป็นการดีที่จะมีคำสั่ง unix ง่ายฉันรู้ว่ามันค่อนข้างง่ายกับภาษาที่สูงขึ้น

3
วิธีใช้ตัวแปร plus glob ($ var *) ใน bash
ฉันมีปัญหากับสคริปต์ นี่คือรหัส #!/bin/bash date=`date +"%m-%d-%y"` dokuwiki="dokuwiki.$date*.toolbox.admin.tar.gz" if test -e $dokuwiki then echo "works" else echo "shits broken yo" fi ปัญหาของฉันฉันคิดว่าไม่พบไฟล์ที่แปลก ไฟล์เป็นดังนี้: dokuwiki.09-12-14-06-00.toolbox.admin.tar.gz ไชโย
2 bash 

1
สิ่งใดที่มีความสำคัญเหนือกว่าในการปฏิบัติภารกิจเบื้องหลัง
สองตัวอย่างที่ฉันมีคือ: echo hi & และ: (echo hi &) ครั้งแรกจะให้รหัสกระบวนการเป็นผลตอบแทน (เช่น"[1] 5627") ซึ่งการเพิ่มตัวดำเนินการที่มีความสำคัญนำสิ่งนี้ออก เกิดอะไรขึ้นที่จะทำให้สิ่งนี้? นอกจากนี้ยังมีวิธีการเพิ่มลำดับความสำคัญ แต่ยังมีงานพื้นหลังรายงานรหัสกระบวนการของพวกเขา?

3
วิธีการหยุด `grep 'จากการตัดทอนเอาต์พุตท่อ
มีวิธีใดที่จะมีechoที่ส่วนท้ายของไพพ์เพียงต่อท้ายเอาต์พุตปัจจุบันแทนที่จะลบทั้งหมดหรือไม่? ตัวอย่างเช่นฉันจะเก็บเอาท์พุทของฉันcatและgrepและเพิ่ม "END OF OUTPUT" ในตอนท้ายของเอาต์พุตจากไพพ์เดียวกันได้อย่างไร: $ cat file.txt | grep 'foo' | echo "END OF OUTPUT" something foo foo foo something END OF OUTPUT คล้ายกับวิธีการcat -ทำงาน: echo "START OF OUTPUT" | cat - file.txt
2 bash  pipe  echo 

3
ถาวร systemd machine-id ในสภาวะแวดล้อมลินุกซ์ฝังตัวแบบไร้รัฐ (UBI / UBIFS)
ฉันมีเครื่องลินุกซ์ในตัวซึ่งมีระบบไฟล์รูทแบบอ่านอย่างเดียวซึ่งโหลดจาก UBI / UBIFS ทุกครั้งที่อุปกรณ์บู๊ตเครื่องจะสร้าง systemd machine-id ใหม่ซึ่งฉันเข้าใจจากการอ่านเอกสาร : หมายเลขเครื่องมักจะถูกสร้างขึ้นจากแหล่งสุ่มระหว่างการติดตั้งระบบและคงที่สำหรับการบู๊ตที่ตามมาทั้งหมด ทางเลือกสำหรับระบบไร้สัญชาติระบบจะสร้างขึ้นระหว่างรันไทม์ตอนเริ่มต้นระบบหากพบว่าว่างเปล่า จากการอ่านไฟล์ systemd machine-id-setup.cฉันมีความเข้าใจเกี่ยวกับวิธีการทำงานในแง่ที่ว่ามันจะพยายามสร้างรหัสเครื่องที่ / etc / machine-id ถ้าไม่มี ที่ล้มเหลวและพาร์ติชันเป็นแบบอ่านอย่างเดียวมันจะสร้างขึ้นใน / รัน / machine-id และเมานต์เป็น / etc / machine-id (ไม่ใช่ symlink) มีคำถามคือฉันจะมีรหัสประจำตัวแบบตายตัวสำหรับอุปกรณ์ไร้สัญชาติได้หรือไม่? สองตัวเลือกที่ฉันมีคือ: 1) จัดเก็บ machine-id ไปยังหน่วยเก็บข้อมูลแบบไม่ลบเลือน (ภายนอก / eMMC): หลังจากบูทตรวจสอบว่ามี / etc / machine-id อยู่หรือไม่ หากไม่มีอยู่ให้ดำเนินการต่อผ่านบริการ systemd ผ่าน service …
2 systemd  etc  ubifs 

3
จะสร้างกฎไฟร์วอลล์อัตโนมัติได้อย่างไร?
มีระบบถ่ายทอดสดที่ซับซ้อน - vlans น้อย ในแต่ละเซิร์ฟเวอร์มีเซิร์ฟเวอร์ลินุกซ์และทุกเซิร์ฟเวอร์มีบริการต่างๆ บริการเชื่อมต่อกัน - ตัวอย่างเช่นบริการ http บนโฮสต์ A เชื่อมต่อกับบริการ mysql บนโฮสต์ B ไปยังพอร์ต 3306 / tcp ฉันต้องการแมปการกำหนดค่าประเภทนี้โดยอัตโนมัติกับฐานข้อมูลและสร้างกฎไฟร์วอลล์สำหรับเซิร์ฟเวอร์แต่ละเครื่อง - เพื่ออนุญาตการเชื่อมต่อที่จำเป็นระหว่างโฮสต์เท่านั้น ฉันคิดเกี่ยวกับ: รับรายการการเชื่อมต่อโดยใช้ netstat บนเซิร์ฟเวอร์แต่ละเครื่อง (หรือการเชื่อมต่อการบันทึกจาก iptables?) จากนั้นใส่ลงในฐานข้อมูล เห็นภาพโดยใช้ graphvis หรืออะไรทำนองนั้น สร้างกฎไฟร์วอลล์ตามกฎจากฐานข้อมูล สร้างกฎ iptables เพื่อบันทึกการเชื่อมต่อซึ่งไม่เหมาะกับกฎก่อนหน้าและเตือนเกี่ยวกับพวกเขา เป็นสิ่งที่สามารถทำได้ดีขึ้น / เร็วขึ้น / วิธีอัตโนมัติมากขึ้น? อาจจะไม่จำเป็นต้องบูรณาการล้อหรือไม่ อัปเดต: ส่วน "ยาก" ไม่ได้สร้างกฎไฟร์วอลล์ แต่สร้างโดยอัตโนมัติจากนั้นจัดการรายการการเชื่อมต่อที่ต้องการ

1
บันทึกของ KDE Plasmashell อยู่ที่ไหน
ฉันมีเครื่องอูบุนตูที่ฉันติดตั้ง KDE และตั้งแต่วันที่ 1 กระบวนการพลาสมาเซลเซลล์รั่วหน่วยความจำและแผงควบคุมของฉันก็ไม่ตอบสนองอย่างมากเมื่อเวลาผ่านไป ตอนนี้ฉันต้องการตรวจสอบบันทึกเพื่อดูว่าฉันสามารถหาสาเหตุได้หรือไม่ แต่ฉันไม่รู้ว่าพวกเขาจะอยู่ที่ไหน ฉันตรวจสอบ/var/logไดเรกทอรี kde หรือ plasmashell และฉันยังตรวจสอบ~/.kdeบันทึกประเภทต่าง ๆ ด้วย แต่ฉันไม่พบรายการใด ๆ ฉันยังตรวจสอบและdmesg journalctlหลังมีบางบรรทัดเกี่ยวกับKScreenแต่ที่เกี่ยวกับมัน KDE / plasmashell ทำการบันทึกทุกอย่างหรือไม่? ถ้าเป็นเช่นนั้นฉันจะหามันได้จากที่ไหน?
2 ubuntu  kde  plasma  plasma5 

1
วิธีฆ่าแอพที่รวบรวมคีย์บอร์ดเพื่อฆ่าแอพ
ฉันใช้ i3wm เมื่อฉันเรียกใช้ Open Arena ฉันไม่สามารถบังคับให้ฆ่ามันด้วยMod+ Shift+ Qอย่างที่ฉันสามารถทำได้กับแอพอื่นฉันไม่สามารถรีสตาร์ท wm หรืออะไรก็ได้ Open Arena กำลังขโมยแป้นพิมพ์ ดังนั้นจึงมีปัญหาสองอย่าง: โอเพนอารีน่าเป็นหมูขโมยสิ่งที่ไม่ควรเป็น ฉันไม่สามารถทำอะไรเกี่ยวกับเรื่องนี้หรือไม่อยากรอ อีกปัญหาคือ i3 กำลังให้ Open Arena ขโมยข้อมูลนี้มันควรจะสามารถแทนที่แอพพลิเคชั่นได้ แต่ก็ไม่ได้ สิ่งนี้ในสายตาของฉันเจ็บการใช้งานและทำให้ฉันไม่ต้องการใช้ i3 ฉันได้ยินจำนวนผู้จัดการหน้าต่างเป็นเช่นนี้ซึ่งน่าผิดหวังที่ได้ยิน ข้อเสนอแนะ? สำหรับหัวข้อที่เกี่ยวข้องกับคำถามที่ฉันต้องการคำตอบ: มีวิธีกำหนดค่า i3 เพื่อให้รันทางลัดแป้นพิมพ์ของฉันโดยไม่ต้องมีแอปพลิเคชันขโมยหรือไม่

2
Ubuntu ไม่สามารถค้นหาหรือตรวจพบอะแดปเตอร์เครือข่ายแบบใช้สายใหม่
ฉันต้องการใช้การ์ดอีเธอร์เน็ตสองใบบนเครื่องของฉัน ดังนั้นฉันจึงใส่การ์ดอีเธอร์เน็ตใหม่ลงในเครื่องของฉัน อย่างไรก็ตามเมื่อป้อนifconfig -aคำสั่ง Ubuntu ไม่สามารถค้นหาหรือตรวจพบอุปกรณ์ใหม่ ดังนั้นฉันจึงพยายามนำอุปกรณ์ขึ้นมาใหม่ตามปกติและฉันได้รับข้อผิดพลาด: ifconfig eth1 up eth1: error fetching interface information: Device not found นี่คือเมื่อฉันป้อนifconfig -aคำสั่ง eth0 Link encap:Ethernet HWaddr 00:17:31:53:b7:9c UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 …

3
จะติดตั้ง Slackware ในปัจจุบันจากอิมเมจ iso ของ DVD ได้อย่างไร?
ฉันต้องการติดตั้ง Slackware ปัจจุบันคำแนะนำการติดตั้งอย่างเป็นทางการเกี่ยวข้องกับการใช้ slackpkg จากการติดตั้ง Slackware ที่มีอยู่ แต่ฉันดาวน์โหลด ISO สดของ Slackware ปัจจุบันและหวังว่าจะเป็นไปได้ที่จะติดตั้งโดยใช้มัน ขั้นตอนปกติของการติดตั้ง Slackware จากเซสชันสดคือการแบ่งดิสก์และสร้างระบบไฟล์ที่เกี่ยวข้องจากนั้นการเรียกใช้setupคำสั่งจะไม่ทำงานบน Slackware ในปัจจุบันเนื่องจากsetupไม่มีคำสั่งอยู่

1
^ @ ^ @ ^ @ หมายถึงอะไรในไฟล์ข้อความ?
บางครั้งผมก็มีปัญหาเกี่ยวกับการเปิดไฟล์โดยใช้โปรแกรมแก้ไขข้อความกราฟิก - geanyฉันใช้ ไฟล์สามารถอ่านได้โดยvimไม่มีปัญหา ฉันตรวจสอบไฟล์และไม่มีอะไรผิดปกติยกเว้นบางบรรทัด นี่เป็น.bash_historyไฟล์ตัวอย่าง: 776 reboot 777 ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^ @^@^@^@^@^@^@geany /etc/fstab .... .... 823 reboot 824 ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@exit ผมไม่ทราบว่าสิ่งที่^@เป็น geanyแต่หลังจากที่ถอดแต่ละบรรทัดเลยก็ว่าได้ไฟล์สามารถอ่านได้อีกครั้งใน บางทีการรีบูตอาจทำอะไรกับมันบ้าง? แต่ฉันมีrebootรายการอื่น ๆในไฟล์และ^@ตัวละครปรากฏในสองหรือสามแห่งเท่านั้น นี่เป็นเพียงไฟล์ตัวอย่างฉันเห็นตัวละครในไฟล์อื่น ๆ สิ่งหนึ่งที่ดูเหมือนจะเหมือนกัน - มันเกี่ยวข้องกับไฟล์ขนาดใหญ่เท่านั้นผู้ที่มีหลายบรรทัด ไม่มีใครรู้^@ว่ามันมาจากไหนและทำไมvimไม่มีปัญหากับการอ่านไฟล์ในขณะที่geanyไม่สามารถอ่านได้เลย?
2 files  editors 

1
ติดตั้ง Linux และ Android ในอุปกรณ์ x86_64 ด้วย Android ที่ติดตั้งไว้ล่วงหน้า
ฉันมีแท็บเล็ตที่ใช้โปรเซสเซอร์ x86-64 intel ซึ่งเป็น Chuwi Hi12 แท็บเล็ตนี้สามารถบู๊ตอุปกรณ์ USB ได้ดังนั้นฉันสามารถบูต Linux (ArchLinux) ในแท็บเล็ตนี้ได้ นอกจากนี้ฉันสามารถติดตั้ง Linux ในอุปกรณ์นี้ได้โดยไม่มีปัญหา แต่ลบ Android รุ่น Android คือ 5.1 แท็บเล็ตนี้มาพร้อมกับ Android และ Windows มีทางเดียวเท่านั้นที่จะติดตั้ง Android บน Android คุณต้องแฟลชเด GPT และ Android Intel Phone Flash Toolจากเครื่องคอมพิวเตอร์ใช้ GPT ที่โหลดรวมถึงพาร์ติชันเหล่านี้ (เอาต์พุตของ fdisk -l): Disk /dev/mmcblk0: 58.2 GiB, 62537072640 bytes, 122142720 sectors …

1
ฉันจะตั้งค่าขนาดหน้าต่างของ tmux ในเซสชันที่เริ่มต้นโดย cron ได้อย่างไร?
ใน crontab ของฉันฉันอ้างอิง shell script print-size, ที่มีบรรทัดต่อไปนี้ #!/bin/sh tmux new-session -t check-size -d tmux send-keys -t check-size 'echo $COLUMNS $LINES' C-m เมื่อสคริปต์นี้ทำงานเป็นงาน cron สคริปต์จะพิมพ์ออก80 23มาเพราะขนาดเทอร์มินัลเริ่มต้นคือ 80x24 ถ้าฉันเรียกใช้งานเชลล์สคริปต์นี้จากหน้าต่างเทอร์มินัลจะพิมพ์ขนาดของหน้าต่างเทอร์มินัลนั้น (ลบหนึ่งบรรทัดสำหรับบรรทัดสถานะของ tmux) มีวิธีที่จะมีอิทธิพลต่อขนาดของหน้าต่าง tmux ดังนั้นสคริปต์ข้างต้นจะพิมพ์สิ่งที่แตกต่างพูด132 42ในงาน cron หรือไม่ ถ้ามันสำคัญนี่ก็สำหรับ Ubuntu 14.04 แต่ฉันสงสัยว่ามันมีพฤติกรรมเหมือนกันใน * ระวัง
2 cron  tmux 

1
Yakuake ไม่บันทึกการตั้งค่าเปลือก
เมื่อฉันเปลี่ยนความทึบของรูปลักษณ์เปลือกมันทำงานได้ดี แต่เมื่อฉันรีบูต Ubuntu อีกครั้งความทึบก็กลับมา0และฉันต้องกำหนดค่าอีกครั้ง ฉันจะบันทึกการตั้งค่า Yakuake ได้อย่างไร ฉันใช้ Ubuntu 14.04 Unity ฉันมีซินนามอนด้วย แต่ในการตั้งค่าทั้งคู่ไม่ได้บันทึก

1
ข้อผิดพลาด 1045 (28000): การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'root' @ 'localhost' (ใช้รหัสผ่าน: ไม่) แต่ฉันมีรหัสผ่าน
ฉันพยายามติดตั้ง phpmyadmin ในระบบ Debian 9 (ยืด) ของฉันฉันมี apache, php และ mysql ติดตั้งและใช้งานได้แล้ว เมื่อฉันวิ่ง sudo apt-get install phpmyadmin มันดาวน์โหลด แต่การติดตั้งจะพ่นข้อผิดพลาดนี้: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) แม้ว่าฉันจะรู้ว่าฉันมีรหัสผ่านสำหรับ mysql มีวิธีที่ฉันสามารถบังคับให้ phpmyadmin ใช้รหัสผ่านเมื่อเข้าสู่ระบบ mysql หรือไม่?

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