Unix & Linux

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

2
“ ประวัติ” หยุดทำงานเมื่อทำงานในสคริปต์ทุบตี
ฉันกำลังเขียนสคริปต์ง่ายๆเพื่อ grep ประวัติทุบตีของฉันเพื่อค้นหาสายเฉพาะ บนบรรทัดคำสั่งฉันสามารถทำสิ่งต่อไปนี้ซึ่งทำงานได้ดี: history | grep git อย่างไรก็ตามเมื่อฉันสร้างสคริปต์ทุบตีด้วยคำสั่งเดียวกับข้างบนก็historyไม่ส่งคืนสิ่งใดเลย: #!/bin/bash history | grep git เมื่อฉันลบบรรทัดแรก#!/bin/bashสคริปต์ของฉันจะทำงานอีกครั้ง เกิดอะไรขึ้นที่นี่ ฉันจะใช้historyภายในสคริปต์ทุบตีได้อย่างไร

2
เป็นไปได้ไหมที่จะติดตั้ง linux desktop environment จาก live cd?
คำถามของฉันเกี่ยวกับ Linux โดยทั่วไป แต่ให้สมมติว่า ubuntu ของฉันไม่ทำงานคุณสมบัติการบูตใน tty หรืออะไรก็ตาม ฉันไม่มีการเชื่อมต่ออินเทอร์เน็ต แต่ฉันมี Ubuntu live cd เป็นไปได้หรือไม่ที่จะติดตั้งสภาพแวดล้อมเดสก์ทอปจาก live cd?

1
colorize bash_completion
เมื่อฉันพิมพ์grepแล้วกดTABสองครั้งbash_completionจะแสดงรายการไฟล์และไดเรกทอรีในไดเรกทอรีปัจจุบัน มันจะเติมชื่อไฟล์ให้สมบูรณ์เมื่อฉันพิมพ์อักษรตัวแรก นั่นคือทั้งหมดที่ดีมากปัญหาเดียวคือเมื่อไดเรกทอรีที่มีไฟล์และไดเรกทอรีย่อยจำนวนมากก็สามารถวุ่นวายและไม่เป็นระเบียบ มันจะช่วยได้มากหากbash_completionอย่างน้อยไดเรกทอรีสีอาจแตกต่างกันคล้ายกับสิ่งที่ls -lAทำ เป็นไปได้ไหม แก้ไข: นี่คือรูปตัวอย่างbash_completionไฟล์ปรับแต่งของฉัน: if [[ ${cur} == -* ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 else _filedir fi
9 bash  colors 

1
ls -l - กลุ่มไดเรกทอรีแรก (ดำเนินการกับ symlink ด้วย)
lsตัวเลือก--group-directories-firstทำให้ไดเรกทอรีที่จะแสดงรายการอยู่ด้านบนซึ่งทำให้การส่งออกของlsดีและสะอาด: ls -l --group-directories-first อย่างไรก็ตามมันไม่ได้ดำเนินการกับsymlinksซึ่งเป็นsymlinksไดเรกทอรีจริงๆ มีความเป็นไปได้ที่จะใช้เป็น ls -l -L --group-directories-first ซึ่งจะแสดงรายการทั้งสองประเภทของไดเรกทอรีที่ด้านบน แต่จะไม่แยกความแตกต่างระหว่างไดเรกทอรีที่เหมาะสมและไดเรกทอรี symlinked ซึ่งทำให้เกิดความสับสนอีกครั้ง สามารถlsแสดงไดเรกทอรี symlinked ด้านบนในขณะที่ยังคงแตกต่างจากไดเรกทอรีปกติได้หรือไม่ แก้ไข:bashฉันใช้
9 bash  zsh  directory  ls  symlink 

1
รองรับ WebGL สำหรับแขก VirtualBox
ฉันจัดการเพื่อติดตั้ง Debian 7.3 ในฐานะแขกบน virtualbox 4.3.6 VM พร้อมด้วยแขกเพิ่มเติมและฉันไม่สามารถทำงาน webGL ได้ ในขณะที่ฉันสามารถเห็นการทำงานของ openGL (ลองกับglxinfoและglxgearsจากบรรทัดคำสั่ง) ฉันไม่สามารถสร้าง webGL บน Firefox / Chrome / Iceweasel (ไม่ได้ลองเบราว์เซอร์อื่น) สำหรับการตรวจสอบว่า webgl ใช้ได้หรือไม่ฉันเคยท่องไปที่http://get.webgl.org/ ; ข้อความสองสามข้อระบุจุดที่ฉันมาถึง: การตั้งค่า webgl.force ให้เปิดใช้งานเป็นจริงในabout:configหน้า firefox (และต่อมาทุกสิ่งที่เกี่ยวข้องกับหน้าเว็บเป็นจริง); ตรวจสอบว่าขั้นตอนการติดตั้งแขกรับเชิญไปได้เลย (ฉันต้องติดตั้งโมดูลเคอร์เนลส่วนหัวขวา); เปิดใช้งานการเร่งความเร็ว 3 มิติสำหรับ VM นั้น ในเครื่องโฮสต์ (Ubuntu 12.04) webGL ทำงานได้ดี ดังนั้น ณ จุดนี้: เป็นไปได้หรือไม่ที่จะทำให้ webGL ทำงานในเดบิวต์ …

2
เปลี่ยนชื่อภาพเพื่อรวมวันที่สร้างในชื่อ
เมื่อฉันดูคุณสมบัติของรูปภาพฉันสามารถดูวันที่ถ่ายภาพใน "วันที่ถ่าย" เมื่อฉันแก้ไขภาพ (โปรแกรมที่เป็นกรรมสิทธิ์) ข้อมูลนี้จะหายไป ฉันจะเปลี่ยนชื่อไฟล์ภาพก่อนที่จะแก้ไขเพื่อรวมวันที่นี้ (ควรอยู่ในรูปแบบ ISO สำหรับการเรียงลำดับตามชื่อ)
9 rename  images 

2
ddrescue ช้ามากบนฮาร์ดไดรฟ์ USB
ฉันกู้คืน HDD จากแล็ปท็อปของฉันที่ตายไปแล้ว (ไม่สามารถบู๊ตได้เลย Disk Utility รายงานว่าไม่มีปัญหา แต่ไม่ติดตั้งดิสก์) ฉันต่อ HDD ผ่านอะแดปเตอร์ USB แล้ว ทำงานddrescueอย่างนั้น: sudo ddrescue -v -n /dev/disk1s2 "/Volumes/Original HD/image.dmg" ddrescue.log ไม่มีข้อผิดพลาด แต่ความเร็วในการอ่านเฉลี่ยลดลงเหลือ 50KB / s เริ่มต้นที่ประมาณ 2MB / s ขนาดของพาร์ติชันคือ 300GB จนถึงตอนนี้ฉันสามารถกู้คืนได้ 160GB ฉันกำลังกู้คืนไปยังพาร์ติชัน HFS + บน MacBook ของฉัน อะไรคือสาเหตุของอัตราการถ่ายโอนที่ช้าและวิธีเพิ่มอัตรา

7
แทนที่อักขระยกเว้นการเกิด x ครั้งล่าสุด
ฉันมีไฟล์ที่มีชื่อโฮสต์มากมายสัมพันธ์กับ IP ที่มีลักษณะดังนี้: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int.test.example.com 59.2.86.3 super.awesome.machine 123.234.15.6 ฉันอยากให้มันเป็นแบบนี้: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int-test-example-com 59.2.86.3 super-awesome-machine 123.234.15.6 ฉันจะแทนที่ (จุด) จากคอลัมน์แรกด้วย - (เครื่องหมายขีดกลาง) เพื่ออำนวยความสะดวกในการจัดเรียงตามคอลัมน์ที่สอง? ฉันกำลังคิดที่จะใช้ sed เพื่อแทนที่จุดจนถึงช่องว่างแรกหรือแทนที่จุดทุกจุดยกเว้นสามจุดสุดท้าย แต่ฉันมีปัญหาในการเข้าใจ regex และ sed ฉันสามารถทำการทดแทนแบบง่าย ๆ แต่นี่เป็นวิธีเหนือหัวของฉัน! นี่เป็นส่วนหนึ่งของสคริปต์ที่ใหญ่กว่าที่ฉันเขียนด้วยการทุบตี ฉันติดอยู่ที่ส่วนนี้

2
ระบบ Linux ที่ลอกแบบมาและ /etc/udev/rules.d/70-persistent-net.rules
ฉันจะตั้งค่าระบบ Ubuntu และกำหนดค่าได้อย่างถูกต้องรวมถึงการกำหนดในeth0 /etc/network/interfacesจากนั้นฉันถ่ายภาพระบบนั้นและโคลนบนระบบใหม่ เมื่อฉันบูทระบบครั้งแรกทุกอย่างก็ดี แต่หลังจากนั้นไม่กี่รีบูตฉันได้รับการต้อนรับด้วยการกำหนดค่าเครือข่ายหมดเวลา เมื่อฉันเข้าสู่ระบบฉันพบว่าeth0ไม่สามารถใช้ได้ การวิจัยครั้งแรกของฉันให้ฉันจะลองifdown -aและifup -aที่ฉันไม่กี่ครั้งที่จะมีผลไม่ชัดเจน ในที่สุดการวิจัยชี้ให้ฉัน/etc/udev/rules.d/70-persistent-net.rulesซึ่งฉันค้นพบว่าที่อยู่ MAC สำหรับระบบใหม่ได้สร้าง eth1 เป็นความคิดที่ดี แต่ไม่ใช่สิ่งที่ฉันต้องการจะเกิดขึ้น เมื่อฉันบูทตอนนี้ฉันพบว่า/etc/udev/rules.d/70-persistent-net.rulesตอนนี้มีหกรายการสำหรับที่อยู่ HW ที่แตกต่างกันหกรายการซึ่งฉันพบว่าแปลกเพราะมีเพียงอินเทอร์เฟซเดียว คำถามของฉันคือ: ฉันใช้ifup -aสร้างที่อยู่ MAC ใหม่เพื่อสร้างหรือไม่ ถ้าไม่มีความคิดใด ๆ เกี่ยวกับสิ่งที่เกิดขึ้น? ฉันเปลี่ยน/etc/udev/rules.d/70-persistent-net.rulesเป็นชื่อที่อยู่ HW ปัจจุบันeth0และดูเหมือนว่าจะใช้งานได้ แต่ฉันสามารถมั่นใจได้ว่าที่อยู่จะไม่เปลี่ยนแปลงอีกครั้งเมื่อรีบูตหรือไม่

1
ทำไมสิทธิ์ปฏิเสธสำหรับ npm เริ่มใช้ node-dev?
ฉันพยายามเริ่มต้นแอปพลิเคชัน node.js ด้วยผู้ใช้ที่มีสิทธิ์ต่ำ ไฟล์ทั้งหมดที่ฉันรู้จักนั้นเป็นของผู้ใช้ที่ถูกต้องและมีการอนุญาตที่เหมาะสม ฉันพยายามใช้ไฟล์สคริปต์เพื่อทำสิ่งนี้ ฉันเรียกใช้สคริปต์ด้วยคำสั่งนี้ sudo su - nodejs ./start-apps.sh เชลล์สคริปต์รันคำสั่งนี้เพื่อเริ่มแอป cd "/home/nodejs/my-app" npm start npm startเป็นเอกสารที่นี่ โดยพื้นฐานแล้วมันจะดึงคำสั่งให้ใช้ไฟล์ package.json ซึ่งในแอพของเรามีลักษณะดังนี้: // snip "scripts": { "start": "node-dev app" }, และมันก็พ่นความผิดพลาดออกไป: > my-app@0.1.0-build.100 start /home/nodejs/my-app > node-dev app sh: 1: node-dev: Permission denied npm ERR! spicoli-authorization@0.1.0-build.100 start: `node-dev app` npm ERR! …

1
อะไรคือความแตกต่างระหว่าง -j DROP และ -j STEAL?
ฉันมักจะเห็นว่าคนSTEALตั้งเป้าหมายในกฎ iptables มันเป็นไปได้ที่จะได้รับเป้าหมายนี้โดยการติดตั้ง (ใน Debian) และxtables-addons-common xtables-addons-dkmsผมอยากรู้ว่าทำไมคนชอบSTEALมากกว่าDROPดังนั้นฉันจะตรวจสอบด้วยตนเองแต่มีเพียงข้อมูลต่อไปนี้: STEAL Like the DROP target, but does not throw an error like DROP when used in the OUTPUT chain. ไม่มีใครรู้ว่าข้อผิดพลาดอะไร? ตัวอย่างเช่นเราสามารถใช้กฎสองข้อต่อไปนี้: -A OUTPUT --protocol tcp --match multiport ! --dports 80,443 --match set --match-set bt_level1 dst --jump STEAL และ: -A OUTPUT --protocol tcp --match …
9 iptables 

3
ฉันสามารถตอบกลับ y / N โดยอัตโนมัติขณะติดตั้งด้วย yum ได้หรือไม่?
เมื่อฉันเรียกใช้การติดตั้งใน Fedora ด้วยคำพูดyum groupinstall "Development Tools"บางครั้งฉันได้รับแจ้งให้กด y / N ฉันสามารถบอกให้ระบบปฏิบัติการเลือก "y" โดยอัตโนมัติเมื่อมีข้อความแจ้งดังกล่าวเกิดขึ้นได้หรือไม่ นั่นจะทำให้ฉันออกจากคอมพิวเตอร์ไปสักพักแล้วกลับมา
9 yum 

1
ฉันจะแก้ไข / ติดตั้ง / ติดตั้งด้วงใหม่ได้อย่างไร?
ดังนั้นฉันจึงเริ่มต้นด้วย HDD 250GB ไดรฟ์ที่เก็บจาก EeePC 1015pem ที่ฉันพยายามเปลี่ยนเป็น MintBook ไดรฟ์สามารถใช้งานได้จริง แต่ข้อมูลทั้งหมดได้รับการอบรวมถึงระบบปฏิบัติการเก่า ป.ร. ให้ไว้ ณ ที่นี้ฉันแนบ HDD เข้ากับเดสก์ท็อปของฉันและติดตั้ง Linux Mint 16 Xfce จาก USB สดที่สร้างผ่าน Unetbootin-585 การตั้งสำรอง 10 กิกะไบต์สำหรับswapและ 240GB สำหรับและext4/ ตอนนี้ไดรฟ์ปฏิเสธที่จะบูตทั้งเดสก์ท็อปหรือเน็ตบุ๊ก มาเธอร์บอร์ดทั้งคู่ส่งเสียงบี๊บตามลำดับที่ถูกต้องดังนั้นพวกเขาจึงดูแข็งแรงและฉันสามารถเข้าถึง BIOS บนทั้งสองระบบได้สำเร็จ อย่างไรก็ตามสิ่งเดียวที่เกิดขึ้นหลังจากเริ่มคอมพิวเตอร์คือบรรทัดคำสั่งที่ไม่ตอบสนอง ไม่มีข้อความแสดงข้อผิดพลาดไม่มีด้วงหรือช่วยด้วงไม่มีอะไร มีอะไรที่ฉันสามารถลองนอกเหนือจากการฟอร์แมตและเริ่มใหม่ได้หรือไม่ ฉันจะไปเกี่ยวกับการติดตั้งบูตโหลดเดอร์ที่สามารถบูตระบบปฏิบัติการของฉันได้อย่างไร

2
yum ติดตั้ง cmake รุ่นเก่า
ด้วยเหตุผลบางอย่างเมื่อฉันเรียกใช้yumcmake มันจะติดตั้งรุ่นที่เก่ากว่า อาจเป็นเพราะรายการซื้อคืนของฉันไม่สมบูรณ์ใช่ไหม ฉันใช้ CentOS 6 โดยใช้การติดตั้งบนเดสก์ท็อปขั้นต่ำจากซีดีติดตั้งที่ไม่ใช่เน็ต ใครช่วยส่งลิงก์ repo ให้ฉันได้บ้าง สิ่งเดียวกันที่เกิดขึ้นบน Scientific Linux ฉันจะรวบรวมมันด้วยตัวเองเป็นทางเลือกสุดท้ายเพราะฉันพยายามyum install cmakeทำงานในสคริปต์ทุบตี

2
การเปลี่ยนแปลงการตั้งค่าจะเกิดขึ้นเมื่อใด
หลังจากทำการเปลี่ยนแปลงบางอย่างใน gsettings จะต้องทำอะไรเพื่อให้การเปลี่ยนแปลงมีผลหรือไม่ ตัวอย่างเช่นหากฉันมีภาพขนาดย่อในการ~/.thumbnailsย้อนหลังไม่กี่วันจะทำงาน: gsettings set org.gnome.desktop.thumbnail-cache maximum-age 1 ทำให้ภาพขนาดย่อที่เก่ากว่าหนึ่งวันถูกลบทันทีหรือไม่ อีกกรณีหนึ่งจะปิดการแจ้งเตือนโดยไม่ตั้งใจและต้องการคืนค่าเริ่มต้นตามที่: gsettings reset org.gnome.nm-applet disable-vpn-notifications การล็อกเอาต์และล็อกอินหรือจำเป็นต้องรีบูตขึ้นอยู่กับลักษณะของคีย์ที่ถูกปรับเปลี่ยนหรือไม่? มีวิธีการค้นหานอกเหนือจากการทดลองและข้อผิดพลาดหรือไม่? ระบบปฏิบัติการของฉันคือ Lubuntu 13.10

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