Unix & Linux

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

4
กำหนดและตรวจสอบข้อมูลเมตาของฟังก์ชัน bash
ฉันมักจะสร้างและลงทะเบียนฟังก์ชั่นทุบตีจำนวนมากที่ทำงานหลายอย่างที่ฉันทำในโครงการพัฒนาของฉันโดยอัตโนมัติ การสร้างนั้นขึ้นอยู่กับ meta-data ของโครงการที่ฉันกำลังดำเนินการ ฉันต้องการใส่คำอธิบายประกอบฟังก์ชั่นด้วยข้อมูลของโครงการที่สร้างขึ้นด้วยวิธีนี้: func1() { # This function was generated for project: PROJECT1 echo "do my automation" } เป็นการดีที่ฉันจะสามารถเห็นความคิดเห็นเมื่อฉันตรวจสอบคำจำกัดความ: $ type func1 func1 is a function func1 () { # This function was generated for project: PROJECT1 echo "do my automation" } แต่อย่างใดทุบตีดูเหมือนว่าจะไม่สนใจความคิดเห็นในขณะโหลดฟังก์ชั่นไม่ได้เมื่อดำเนินการ ดังนั้นความคิดเห็นจะหายไปและฉันได้รับผลลัพธ์นี้: func1 is a function …
10 bash  function 

3
กำหนดค่าปุ่มเมาส์พิเศษภายใต้ Wayland
ฉันใช้เมาส์ 10 ปุ่ม (Logitech M705) ภายใต้ X11 etc/X11/xorg.conf.dผมก็สามารถที่จะเป็นหนึ่งในการกำหนดค่าของปุ่มพิเศษที่จะประพฤติเป็นที่สองกลางคลิกโดยการปรับเปลี่ยนไฟล์ใน ภายใต้ Wayland สิ่งนี้ไม่ทำงานอีกต่อไป libinputแสดงให้เห็นว่างานวิจัยของฉันที่ฉันต้องการจะทำอะไรกับ ฉันคิดว่านี่จะเป็นปัญหาทั่วไป แต่ไม่สามารถหาคำตอบได้ทุกที่ บางคนสามารถอธิบายวิธีการแมปปุ่มเมาส์ใหม่หรืออธิบายว่าทำไมมันไม่สามารถทำได้

2
วิธีการเปลี่ยนความละเอียดหลังจากบูทสื่อการติดตั้ง Arch Linux?
เป็นไปได้หรือไม่ที่จะเปลี่ยนความละเอียดของหน้าจอหลังจากบูทสื่อการติดตั้ง Arch Linux ทั้งหมด? ฉันพยายามเพิ่มvga=795ในบรรทัดการบูตและใช้งานได้สองสามบรรทัดก่อนที่ความละเอียดจะเปลี่ยนกลับไปเป็น 4K ที่อ่านไม่ได้ และคำแนะนำต่าง ๆ ในวิกิดูเหมือนว่าฉันได้ตั้งค่าระบบเครือข่ายแล้วและสามารถติดตั้งแพ็คเกจได้ ด้วยความช่วยเหลือของคำแนะนำเกี่ยวกับฟอนต์คอนโซลเริ่มต้นทำให้ฉันสามารถตั้งค่าการใช้งานที่ใหญ่ที่สุดได้setfont /usr/share/consolefonts/iso01-12x22.psfu.gzแต่ก็ยังอ่านไม่ได้

8
Linux มิ้นต์ 18 ค้างเมื่อปิดระบบ
ฉันกำลังมีปัญหาจากข้อผิดพลาดแฮงค์ / หยุดการทำงานที่น่าอับอาย เมื่อใดก็ตามที่ฉันปิดมินต์เพียงจุดแรกบนหน้าจอสแปลชเปลี่ยนเป็นสีเขียวแล้วมันก็ค้าง ฉันยังมีปัญหานี้ใน Ubuntu 16.04 ฉันตั้งใจจะใช้ linux สำหรับเล่นเกม นี่คือรายละเอียดระบบของฉัน - Desktop: Cinnamon 3.0.7 (Gtk 3.18.9-1ubuntu3.1) Distro: Linux Mint 18 Sarah Machine: Mobo: Intel model: DG33FB v: AAD81072-307 Bios: Intel v: DPP3510J.86A.0407.2008.0218.0923 date: 02/18/2008 CPU: Quad core Intel Core2 Quad Q6600 (-MCP-) cache: 4096 KB flags: (lm nx sse …

4
ฉันจะดีบักไฟล์ .desktop ได้อย่างไร
ฉันมี.desktopไฟล์สำหรับเริ่มโปรแกรมไพ ธ อนในสภาพแวดล้อมแบบ conda เฉพาะเช่นนี้: [Desktop Entry] Version=1.0 Name=Qutebrowser GenericName=Web Browser Comment=View and edit files MimeType=text/html; Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser" Icon=/vol/home/kaipingga/.config/qutebrowser.svg Type=Application Terminal=false Categories=Network;Utility;X-Python; StartupWMClass=Qutebrowser X-Desktop-File-Install-Version=0.20 สิ่งนี้ใช้งานได้ แต่ฉันปรับสภาพแวดล้อมของหลามเมื่อเร็ว ๆ นี้ ตอนนี้ใน terminal คำสั่งเดียวกัน $ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser" เรียกใช้แอปพลิเคชัน แต่.desktopไฟล์ไม่ทำงาน ฉันจะทราบได้อย่างไรว่าเกิดข้อผิดพลาดอะไร อื่น ๆ ของฉัน.desktopไฟล์ทำงานได้ดีผมถือว่าสิ่งที่ผิดพลาดกับสภาพแวดล้อมหลามของฉันซึ่งค่อนข้าง hackish สำหรับช่วงเวลา …
10 .desktop 

4
“ ไม่พบคำสั่ง” เมื่อฟังก์ชั่น sudo'ing จาก ~ / .zshrc
ฉันมีฟังก์ชั่นใน~/.zshrc: findPort() { lsof -t -i :$1 } findPort 3306ภาวนาตามปกติคือ ฉันต้องการเรียกใช้ด้วยสิทธิ์ระดับสูง แต่ฉันได้รับ "ไม่พบคำสั่ง" ➜ git 🍔 sudo findPort 3306 sudo: findPort: command not found ผมเข้าใจเหตุผลก็คือผู้ใช้รากทั้งวิ่งเป็นเปลือกไม่โต้ตอบ (จึงไม่ได้หมายถึง .zshrc) หรือหมายถึงแตกต่างกัน .zshrc ฉันได้เห็นคำถามที่คล้ายกันเกี่ยวกับaliasแต่ไม่มีคำถามเกี่ยวกับฟังก์ชั่นที่ผู้ใช้กำหนด คำตอบสำหรับปัญหานี้aliasเกี่ยวข้องกับการเพิ่มนามแฝงไปที่~/.zshrc: alias sudo='nocorrect sudo ' หรือบางที: alias sudo='sudo ' ฉันลองทั้งสองวิธีแล้วและปัญหายังคงมีอยู่ (ใช่ฉันเปิดตัวเชลล์ใหม่) ฉันได้ลองใช้งานsudo chshเพื่อให้แน่ใจว่าเชลล์รูทของฉันทำงานzshได้ ไม่มีวิธีการแก้ปัญหาเหล่านี้ลบปัญหา "คำสั่งไม่พบ" มีวิธีเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนดเองภายใต้ sudo หรือไม่
10 sudo  zsh 

1
วิธีการเรียกใช้คำสั่งอัตโนมัติหลังจากออกจาก ssh
ฉันจะรันคำสั่งบนโลคัลเทอร์มินัลโดยอัตโนมัติหลังจากออกจากการsshเชื่อมต่อได้อย่างไร มีตะขอหรือเหตุการณ์ที่สามารถจัดการกับสิ่งนี้ได้หรือไม่?
10 bash  shell  ssh 

3
ฉันจะเรียกคืน `/ dev / log` ในโฮสต์ systemd + rsyslog ได้อย่างไร
เมื่อวันที่ RHEL7, systemd-journaldใช้เวลากว่าหลายหน้าที่ฯ rsyslogdของของสิ่งที่ได้กระทำครั้งโดย ไม่ว่าจะด้วยข้อผิดพลาดหรือความขัดแย้งระหว่างสอง daemons เหล่านี้บางครั้ง/dev/logจะหายไป เป็นผลให้โปรแกรมอาศัยโทรจะไม่ทำงานอย่างถูกต้องรวมทั้งตัวอย่างเช่นsyslog(3) loggerฉันจะเรียกคืน/dev/logซ็อกเก็ตได้อย่างไร

2
จะปิดแคช L1 และ L2 ของโปรเซสเซอร์ได้อย่างไร
เป็นไปได้ไหมที่จะปิดการใช้งานแคช L1 และ / หรือ L2 บน Ubuntu 14.04 (ควรเป็นภาษาระดับสูงกว่าเช่น Python)? ถ้าเป็นเช่นนั้นได้อย่างไร นอกจากนี้การปิดใช้งานแคชจะแตกต่างกันอย่างมีนัยสำคัญระหว่างสถาปัตยกรรมที่แตกต่างกันหรือไม่ ถ้าเป็นเช่นนั้นฉันสนใจ ARM Cortex-A15 มากกว่า แก้ไข ในขณะที่ค้นคว้าวิธีปิดการใช้งานแคชฉันพบเกี่ยวกับไฟล์ "drop_caches" ใน / proc / sys / vm / จากเอกสาร kernel.org "การเขียนสิ่งนี้จะทำให้เคอร์เนลวางแคชที่สะอาดรวมถึงวัตถุพื้นที่สามารถเรียกคืนได้เช่นเดนทิสและ inodes เมื่อถูกทิ้งหน่วยความจำจะว่าง ... "ไฟล์นี้ไม่ได้หมายถึงการควบคุมการเจริญเติบโตของแคชเคอร์เนลต่างๆ (inodes, dentries, pagecache, ฯลฯ ... ) วัตถุเหล่านี้จะถูกเรียกคืนโดยเคอร์เนลโดยอัตโนมัติเมื่อจำเป็นต้องใช้หน่วยความจำที่อื่นในระบบ" ดูเหมือนจะไม่เหมือนกับสิ่งที่ฉันกำลังมองหาเพราะไม่เพียง แต่ดูเหมือนว่ามันจะปิดการใช้งานแคชฉันคิดว่าหน่วยความจำเสมือนอยู่ในระบบปฏิบัติการไม่ใช่ในฮาร์ดแวร์ เป้าหมายของฉันคือปิดการใช้งานแคชดังนั้นจึงต้องค้นหาหน่วยความจำที่ต้องการที่อื่นเช่นภายใน RAM แก้ไข เพื่อชี้แจงฉันเข้าใจว่าการปิดใช้งานแคชจะทำอะไรกับระบบ อย่างไรก็ตามเป็นเทคนิคทั่วไปที่ใช้ในการใช้งานในพื้นที่เพื่อเพิ่มความน่าเชื่อถือสำหรับการใช้งานที่สำคัญด้านความปลอดภัย นี่คือแหล่งข้อมูลบางอย่างที่บันทึกปรากฏการณ์นี้: …
10 linux  ubuntu  python  arm  cache 

5
การใช้การขยายพารามิเตอร์เพื่อสร้างรายการอาร์กิวเมนต์สำหรับ `mkdir -p`
ฉันมีสิ่งนี้: % ls -1dF /tmp/foo/* /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/ /tmp/foo/002e34c2218f2c86fefd2876f0e5c2559c5fb3c4/ /tmp/foo/00b483576791bab751e6cb7ee0a7143af43a8069/ . . . /tmp/foo/fedd0f7b545e7ae9600142656756456bc16874d3/ /tmp/foo/ff51ac87609012137cfcb02f36624f81cdc10788/ /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/ ฉันต้องการที่จะสร้างไดเรกทอรีภายใต้แต่ละไดเรกทอรีย่อยที่อยู่ภายใต้barfoo ถ้าฉันลองทำสิ่งนี้ด้วย % mkdir -p /tmp/foo/*/bar ... ฉันได้รับข้อผิดพลาด zsh: no matches found: /tmp/foo/*/bar (ในการเข้าใจย้อนหลังฉันสามารถเข้าใจเหตุผลสำหรับข้อผิดพลาด) ฉันรู้ว่าฉันสามารถแก้ปัญหาเดิมด้วย for-loop ได้ แต่ฉันอยากรู้ว่าzshสนับสนุนการขยายพารามิเตอร์บางรูปแบบที่จะสร้างอาร์กิวเมนต์ที่ต้องการสำหรับการเรียกใช้ครั้งเดียวmkdir -pหรือไม่ IOW การขยายพารามิเตอร์เทียบเท่ากับ "ผนวก/barกับทุกส่วนนำหน้าที่สร้างโดยการขยาย/tmp/foo/*" ทำให้ % mkdir -p /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/bar ... /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/bar
10 zsh 

2
วิธีการเปลี่ยนพาร์ติชั่นบูตเริ่มต้น?
ฉันติดตั้ง Antergos บนแล็ปท็อปจากนั้นติดตั้ง Ubuntu หลังจากนั้น Ubuntu ตรวจพบว่าฉันติดตั้ง Linux ตัวอื่นดังนั้นจึงเพิ่ม Antergos ในเมนูด้วง ทุกครั้งที่ฉันบูตบูดจะถูกโหลดจากพาร์ติชัน Ubuntu ฉันจะทำให้ไฟล์ด้วงอื่นเป็นไฟล์เริ่มต้นได้อย่างไร พาร์ติชันของฉันคือ: พาร์ติชันสำหรับบูต Antergos (ต้องการโหลด grub.cfg จากที่นี่) - / dev / sda1 พาร์ติชันรูท Antergos - / dev / sda2 พาร์ติชัน Ubuntu (ด้วงโหลดจากที่นี่) - / dev / sda6

3
วิธีการ ssh ไปยังเซิร์ฟเวอร์ภายในโดยใช้ชื่อโฮสต์โดยไม่มีชื่อโดเมน
ฉันต้องลงชื่อเข้าใช้เซิร์ฟเวอร์หลายเครื่องในที่ทำงานเพื่อให้งานของฉันเสร็จ ฉันเบื่อที่จะพิมพ์ FQDN ของเซิร์ฟเวอร์เพื่อเข้าถึง ฉันกำลังเข้า / ออกผ่าน ssh บนเครือข่ายส่วนตัวของเราเอง ฉัน 99% แน่ใจว่ามันอยู่ในเครือข่ายส่วนตัวของเราเอง b / c เซิร์ฟเวอร์ทั้งหมดมี ip addr 10.xyz มีวิธีการ ssh ในเซิร์ฟเวอร์ที่มีเพียงชื่อโฮสต์และไม่ใช่ชื่อโดเมนหรือไม่? เรามีเซิร์ฟเวอร์ในหลายประเทศ วิธีการตั้งชื่อเซิร์ฟเวอร์ของเรานั้นยาวมาก มันมีชื่อดังนี้: hostname.country.domainname.com ฉันกำลังพิมพ์อุโมงค์ carpal ssh me@hostname1.country.domainname.com ... ทุกครั้งที่ฉันเข้าถึงเซิร์ฟเวอร์ของเรา หากฉันอยู่ในสหรัฐอเมริกาและฉันพยายามเข้าถึงโฮสต์อื่นที่อยู่ในสหรัฐอเมริกาฉันสามารถพิมพ์ssh me@hostname2และเชื่อมต่อได้ดี อย่างไรก็ตามหากฉันอยู่ในสหรัฐอเมริกาและพยายามเชื่อมต่อกับเซิร์ฟเวอร์ในอังกฤษฉันไม่สามารถพิมพ์ssh me@hostname3.engและเชื่อมต่อhostname3ได้ วิธีแก้ปัญหาที่ฉันทำคือตั้งค่านามแฝงในไฟล์ ~ / .ssh / config สำหรับเซิร์ฟเวอร์บางตัว อย่างไรก็ตามฉันคิดว่ามันเป็นไปไม่ได้ที่จะเพิ่มเซิร์ฟเวอร์ 1000+ ไฟล์ ฉันได้เพิ่มเซิร์ฟเวอร์มากกว่า 20+ เครื่องและเพื่อนร่วมงานของฉันคิดว่าฉันบ้าไปแล้ว แต่ฉันคิดว่าพวกเขาบ้าที่จะพิมพ์ …
10 ssh  networking 

5
เกิดข้อผิดพลาด tpm (7) เกิดขึ้นขณะพยายามอ่านค่า pcr เป็น centos
ฉันได้รับข้อผิดพลาดนี้ขณะทำการบูทและคอมพิวเตอร์ไม่เริ่มทำงาน มีข้อผิดพลาด tpm (7) เกิดขึ้นขณะพยายามอ่านค่า pcr ฉันติดตั้ง CentOS 7 บนคอมพิวเตอร์เวิร์กสเตชัน z400 ฉันกำลังทำงานอยู่และติดตั้งอุปกรณ์ USB จากเทอร์มินัลและรีบูตคอมพิวเตอร์จากนั้นปัญหานี้เกิดขึ้น
10 centos  tpm 

2
วิธีการส่งผ่านข้อโต้แย้งไปยังสคริปต์ซึ่งเป็นอินพุตเพื่อทุบตี
ตอนนี้ฉันมีซับในแบบนี้: curl -fsSL http://git.io/vvZMn | bash มันกำลังดาวน์โหลดสคริปต์และส่งต่อเพื่อทุบตีเป็นไฟล์ stdin printผมอยากจะเรียกใช้สคริปต์นี้กับอาร์กิวเมนต์เพิ่มเติม อาจจะเป็นเช่นนี้? curl -fsSL http://git.io/vvZMn | bash -- print แต่มันไม่ได้ผล
10 bash  pipe  curl  input 

6
จะแทนที่ epoch timestamps ในไฟล์ด้วยรูปแบบอื่นได้อย่างไร?
ฉันมีไฟล์ที่มีวันที่ในยุคที่ฉันต้องการเปลี่ยนเป็นคนอ่านได้ ฉันรู้วิธีการแปลงวันที่แล้วเช่น: [server01 ~]$ date -d@1472200700 Fri 26 Aug 09:38:20 BST 2016 .. แต่ฉันพยายามหาวิธีsedผ่านไฟล์และแปลงรายการทั้งหมด รูปแบบไฟล์มีลักษณะดังนี้: #1472047795 ll /data/holding/email #1472047906 cat /etc/rsyslog.conf #1472048038 ll /data/holding/web

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