Unix & Linux

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

2
ฉันจะดูสมาชิกของกลุ่มได้อย่างไร [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันต้องดูสมาชิกของกลุ่มที่เกี่ยวข้องกับการติดตั้ง oracle
17 linux  group 

3
โปรแกรมสามารถเขียนด้วย Bash บริสุทธิ์ได้อย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา หลังจากที่บางวิจัยอย่างรวดเร็วมากดูเหมือนทุบตีเป็นภาษาทัวริงสมบูรณ์ ฉันสงสัยว่าเพราะเหตุใด Bash จึงใช้สคริปต์เกือบทั้งหมดเพื่อเขียนสคริปต์ที่ค่อนข้างง่าย เนื่องจาก Bash shell มาพร้อมกับ Linux คุณสามารถเรียกใช้เชลล์สคริปต์ได้โดยไม่ต้องมีตัวแปลหรือคอมไพเลอร์ภายนอกตามที่จำเป็นสำหรับภาษาคอมพิวเตอร์ที่เป็นที่นิยมอื่น ๆ นี่เป็นข้อได้เปรียบที่ยิ่งใหญ่ที่สามารถชดเชยความธรรมดาของภาษาในบางกรณี ดังนั้นจึงมีข้อ จำกัด ว่าโปรแกรมดังกล่าวจะซับซ้อนแค่ไหน? Pure Bash ใช้ในการเขียนโปรแกรมที่ซับซ้อนหรือไม่? เป็นไปได้ที่จะเขียน, พูด, ไฟล์คอมเพรสเซอร์ / decompressor ใน Bash บริสุทธิ์? คอมไพเลอร์? วิดีโอเกมง่ายๆ? มันใช้อย่างเบาบางเพียงเพราะมีเครื่องมือดีบั๊กที่ จำกัด เท่านั้นใช่ไหม

4
จะติดตั้ง VirtualBox Extension Pack เป็น VirtualBox เวอร์ชั่นล่าสุดบน Linux ได้อย่างไร
จะติดตั้ง VirtualBox Extension Pack เป็น VirtualBox เวอร์ชั่นล่าสุดบน Linux ได้อย่างไร ฉันยังต้องการที่จะสามารถตรวจสอบชุดส่วนขยายได้รับการติดตั้งเรียบร้อยแล้วและถอนการติดตั้งถ้าฉันต้องการ
17 linux  virtualbox 

4
อนุญาตให้ผู้ใช้เรียกใช้คำสั่งที่มีอาร์กิวเมนต์ (ซึ่งมีช่องว่าง)
ฉันต้องการอนุญาตให้ผู้ใช้หนึ่งคนเรียกใช้ grep (ผ่าน sudo) และเพื่อ grep สำหรับสตริงที่ระบุหนึ่งไฟล์ในหนึ่งไฟล์ ฉันไม่ต้องการให้ผู้ใช้รายนี้สามารถรัน grep ในไฟล์ทั้งหมดได้ ผู้ใช้ไม่มีสิทธิ์เข้าถึงเพื่ออ่านไฟล์ดังนั้นความต้องการใช้ sudo ฉันพยายามเขียนเช็ค nagios ที่ greps ไฟล์บันทึกของบริการอื่นในเครื่อง อย่างไรก็ตามมันใช้งานไม่ได้ sudo คอยขอรหัสผ่าน คำสั่งของฉันคือ: sudo grep "string I want (" /var/log/thefilename.log(ใช่มี raw (และช่องว่างบางส่วนในสตริงที่ฉันต้องการ grep) /etc/sudoers.d/user-can-grep มีเนื้อหานี้: user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log ไฟล์ sudoers นี้เป็นเจ้าของroot:rootและมีสิทธิ์-r--r----- เซิร์ฟเวอร์คือ Ubuntu ที่เชื่อถือได้ 14.04.3 LTS …
17 sudo 

1
วนซ้ำกับสตริงหลายบรรทัดที่เก็บอยู่ในตัวแปร
ฉันอ่านว่ามันไม่ดีที่จะเขียนสิ่งต่าง ๆ เช่นfor line in $(command)วิธีที่ถูกต้องดูเหมือนจะเป็นแทน: command | while IFS= read -r line; do echo $line; done มันใช้งานได้ดี แต่ถ้าสิ่งที่ฉันต้องการทำซ้ำคือเนื้อหาของตัวแปรไม่ใช่ผลลัพธ์โดยตรงของคำสั่ง ตัวอย่างเช่นสมมติว่าคุณสร้างไฟล์ต่อไปนี้quickfox: The quick brown foxjumps\ over - the lazy , dog. ฉันอยากทำสิ่งนี้: # This is just for the example, # I could of course stream the contents to `read` variable=$(cat quickfox); …
17 bash  read 

1
ข้อผิดพลาดในการติดตั้ง Arch Linux grub“ airootfs”
ฉันกำลังติดตามการสอนการติดตั้งอย่างเป็นทางการ ทุกอย่างราบรื่นจนกระทั่งบูตโหลดเดอร์ ฉันพบข้อผิดพลาดของ /usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'. เช่นเดียวกับคำถามนี้ในขณะที่ดำเนินการคำสั่ง: grub-mkconfig -o /boot/grub/grub.cfg ฉันกำลังติดตั้ง arch บน VirtualBox และทำตามขั้นตอนในวิกิกวดวิชาของGRUBอย่างเป็นทางการทีละขั้นตอน ฉันสามารถบูทเข้าสู่ด้วงได้สำเร็จ แต่ทั้งหมดที่ฉันเห็นก็คือเชลล์ด้วงเท่านั้น จากการอนุมานฉันคิดว่ามันมีการตกรางตั้งแต่ขั้นตอนในการสร้างไฟล์การกำหนดค่าด้วง หวังว่าข้อมูลของฉันจะเป็นประโยชน์ ในความเป็นจริง BTW ฉันได้พบข้อผิดพลาดนี้ในขั้นตอนก่อนหน้า - ติดตั้งด้วง grub-install --target=i386-pc /dev/sda ฉันเพิ่มพารามิเตอร์ไดเรกทอรีรูตแล้วมันก็ดำเนินต่อไปโดยไม่มีข้อผิดพลาดปรากฏขึ้น grub-install --root-directory=/mnt /dev/sda ฉันทำเช่นนั้นเพราะฉันติดตั้งพาร์ติชันหลักของฉัน / dev / sda3 บน / mnt แต่ไม่มีรูทหรือพารามิเตอร์ไดเรกทอรีบูตให้ฉันใช้ใน grub-mkconfig นี่คือตารางพาร์ติชันของฉันที่แสดงโดยยูทิลิตี้ fdisk: ขอบคุณมาก. …

2
การใช้หน่วยความจำสูง แต่ไม่มีกระบวนการใช้งาน
ฉันทำงานfree -mบนเดเบียน VM ที่ทำงานบน Hyper-V: total used free shared buffers cached Mem: 10017 9475 541 147 34 909 -/+ buffers/cache: 8531 1485 Swap: 1905 0 1905 ดังนั้นจากหน่วยความจำ 10GB ของฉันมีการใช้งาน 8.5GB และฟรีเพียง 1500MB (ไม่รวมแคช) แต่ฉันพยายามหาสิ่งที่ใช้หน่วยความจำ ผลลัพธ์ของps aux | awk '{sum+=$6} END {print sum / 1024}'ซึ่งควรจะเพิ่มการใช้งาน RSS คือ: 1005.2 กล่าวอีกนัยหนึ่งกระบวนการของฉันใช้หน่วยความจำ 1GB เท่านั้น …
17 linux  debian  memory 

1
ฉันจะเปลี่ยนรหัสผ่านของ LUKS ได้อย่างไร
ฉันต้องการเปลี่ยนรหัสผ่าน LUKS ฉันต้องการลบรหัสผ่านเก่าของฉัน แต่ฉันต้องการลองใช้รหัสผ่านใหม่ก่อนที่จะลบต้นฉบับ เห็นได้ชัดว่าฉันรู้รหัสผ่านเก่า ฉันต้องการใช้เทอร์มินัลไม่ใช่ GUI ฉันมีข้อมูลที่สำคัญในไดรฟ์และไม่ต้องการใช้การสำรองข้อมูลของฉันดังนั้นฉันจึงต้องการวิธีการที่ปลอดภัย

3
ดาวน์โหลดไฟล์หลาย ๆ ไฟล์พร้อมกับซิงก์รั้ง
ฉันพยายามดาวน์โหลดสองไฟล์โดยใช้ไวยากรณ์ต่อไปนี้: curl -O http://domain/path/to/{file1,file2} ปัญหาคือมีเพียงไฟล์แรกเท่านั้นที่ถูกบันทึกไว้ในเครื่องจริงและไฟล์ที่สองถูกพิมพ์เป็น stdout ฉันรู้ว่าถ้าฉันเพิ่ม-Oมันทำงานได้ดี: curl -OO http://domain/path/to/{file1,file2} แต่นี่ไม่ได้ผลถ้าจำนวนไฟล์เติบโตมากเกินไป? ตัวอย่างเช่น, curl -O http://domain/path/to/file[1,100] คำถามของฉันคือไม่มีวิธีดาวน์โหลดหลายไฟล์พร้อมกันหรือไม่ curl (โดยไม่ต้องเพิ่มจำนวนที่ถูกต้อง-O) หรือไม่?
17 curl 

3
แขกเพิ่มเติม 'ไม่สามารถค้นหาโปรแกรม' Kali Linux 2.0
ปัญหา:เมื่อพยายามติดตั้งข้อมูลเพิ่มเติมสำหรับแขกใน Kali linux จะเกิดข้อผิดพลาดดังต่อไปนี้ อ๊ะ! มีปัญหาในการใช้งานซอฟต์แวร์นี้ ไม่พบโปรแกรม สิ่งนี้เกิดขึ้นหลังจากติดตั้ง Kali Linux 2.0 ใหม่ใน Virtual Box 4.3.32 การดำเนินการเพื่อรับข้อผิดพลาดนี้: Virtualbox -> Devices -> Insert Guest Additions CD image จากนั้นข้อความจาก Kali Linux GUI "VBOXADDITIONS_4.3.32_103443" มีซอฟต์แวร์ที่ตั้งใจจะเริ่มต้นโดยอัตโนมัติ คุณต้องการเปิดใช้งานหรือไม่ เลือกเรียกใช้และข้อผิดพลาดเกิดขึ้น วิธีแก้ปัญหานี้ สาเหตุคืออะไร?

2
ค้นหาไฟล์ที่ใหม่กว่า 15 วินาที แต่เก่ากว่า 2 วินาที
ฉันต้องการค้นหาไฟล์ที่ใหม่กว่า 15 วินาที แต่เก่ากว่า 2 วินาที นี่คือสคริปต์ที่ฉันใช้ในขณะนี้ซึ่งคว้าไฟล์ใหม่กว่า 15 วินาที: find /my/directory -name '*.jpg' -not -newermt '-15 seconds' ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก
17 bash  find 

3
เป็นไปได้ไหมที่จะส่งอาร์กิวเมนต์ไปยังสคริปต์ Python
ฉันรู้วิธีส่งอาร์กิวเมนต์ไปยังเชลล์สคริปต์ อาร์กิวเมนต์เหล่านี้ถูกประกาศใน AWS datapipeline และส่งผ่าน นี่คือสิ่งที่เชลล์สคริปต์จะมีลักษณะ: firstarg=$1 secondarg=$2 ฉันจะทำสิ่งนี้ใน Python ได้อย่างไร มันเหมือนกันหรือไม่
17 python 

1
ฉันสามารถเปิดข้อความที่ยังไม่ได้อ่านถัดไปเป็น mutt ด้วยปุ่มเดียวได้หรือไม่
มีวิธีในการเปิดข้อความที่ยังไม่ได้อ่านถัดไปmuttด้วยปุ่มเดียวหรือไม่? ฉันสามารถย้ายไปยังไม่ได้อ่านถัดไปด้วยnext-new-then-unreadซึ่งถูกผูกไว้Tabโดยค่าเริ่มต้น อย่างไรก็ตามหากไม่มีข้อความที่ยังไม่ได้อ่านในกล่องจดหมายปัจจุบันฉันจะต้องใช้next-unread-mailboxแทน ( ยกเลิกการเปิดใช้งานตามค่าเริ่มต้น) นี่เป็นวิธีย่อยที่ดีที่สุดเพราะถ้าฉันมีข้อความใหม่ออกจากmuttนั้นเปิดmuttใหม่อีกครั้งสิ่งนี้จะไม่ย้ายฉันไปยังกล่องจดหมายที่มีข้อความ "ใหม่" (สมมุติว่ากล่องจดหมายนั้นไม่ได้อ่านอีกแล้ว) นอกจากนี้ทั้งสองย้ายไปยังข้อความถัดไปในมุมมองดัชนีและฉันต้องเปิดข้อความด้วยตนเองในมุมมองเพจเจอร์ (ด้วยEnter) มีวิธีในการเปิดข้อความที่ยังไม่ได้อ่านถัดไปไม่ว่าจะอยู่ในกล่องจดหมายใด ฉันใช้ neomutt ดังนั้นวิธีแก้ปัญหาเพียงบางส่วนที่ฉันพบคือใช้คำสั่งแถบข้าง macro index,pager , '<sidebar-next-new><sidebar-open><enter>' ปัญหาคือสิ่งนี้จะเปิดกล่องจดหมายที่ยังไม่ได้อ่านถัดไปโดยอัตโนมัติ (จากแถบด้านข้าง) ดังนั้นหากมีข้อความที่ยังไม่ได้อ่านในกล่องจดหมายปัจจุบันและอีกข้อความหนึ่งคำสั่งนี้จะเปิดข้อความในกล่องจดหมายอื่นแทนที่จะเป็นข้อความปัจจุบัน
17 mutt 

2
การสร้างลิงค์ยาก - การอนุญาต?
การอนุญาตใดบ้างที่ส่งผลต่อการสร้างฮาร์ดลิงก์ การเป็นเจ้าของไฟล์มีความสำคัญหรือไม่? สมมติว่าผู้ใช้aliceต้องการที่จะสร้างยากเชื่อมโยงไปยังแฟ้มในไดเรกทอรีtarget.txttarget-dir ซึ่งสิทธิ์ไม่aliceต้องทั้งในtarget.txtและtarget-dir? หากtarget.txtเป็นของผู้ใช้billและtarget-dirเป็นของผู้ใช้chadมันจะเปลี่ยนแปลงอะไรหรือไม่? ฉันพยายามจำลองสถานการณ์นี้โดยสร้างโครงสร้างโฟลเดอร์ / ไฟล์ต่อไปนี้ในext4ระบบไฟล์: #> ls -lh . * .: drwxr-xr-x 2 bill bill 60 Oct 1 11:29 source-dir drwxrwxrwx 2 chad chad 60 Oct 1 11:40 target-dir source-dir: -r--r--r-- 1 bill bill 0 Oct 1 11:29 target.txt target-dir: -rw-rw-r-- 1 alice alice 0 Oct 1 …

4
ฉันจะใช้ตัวแปรเป็นเงื่อนไขเคสได้อย่างไร?
ฉันพยายามที่จะใช้ตัวแปรประกอบด้วยสตริงที่แตกต่างกันแยกออกจากกันด้วยความ|เป็นcaseทดสอบคำสั่ง ตัวอย่างเช่น: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac ฉันต้องการที่จะพิมพ์fooหรือbarดำเนินการส่วนแรกของcaseคำสั่ง อย่างไรก็ตามทั้งสองfooและbarพาฉันไปที่สอง: $ foo.sh foo Bad choice! $ foo.sh bar Bad choice! ใช้"$string"แทน$stringทำให้ไม่มีความแตกต่าง string="foo|bar"ไม่ไม่ใช้ ฉันรู้ว่าฉันสามารถทำได้ด้วยวิธีนี้: case $choice in "foo"|"bar") echo "You chose $choice";; *) echo "Bad choice!";; esac ฉันสามารถคิดถึงวิธีแก้ปัญหาต่าง ๆ แต่ฉันต้องการทราบว่าเป็นไปได้ที่จะใช้ตัวแปรเป็นcaseเงื่อนไขในการทุบตี เป็นไปได้และถ้าเป็นเช่นนั้นได้อย่างไร

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