Unix & Linux

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

3
วิธีการถ่ายโอนข้อมูลภาพหน่วยความจำจากระบบ linux?
ฉันรู้ว่าการถ่ายโอนข้อมูลภาพหน่วยความจำใน Windows (เช่น -ditit) แต่ฉันไม่รู้วิธีถ่ายโอนข้อมูลอิมเมจหน่วยความจำใน Linux ฉันต้องการรับภาพหน่วยความจำใน Linux และจาก Linux ไปยัง Linux ด้วยการเชื่อมต่อ ssh หรืออะไรบางอย่าง ฉันจะเข้าใช้งาน Linux ได้อย่างไร
18 memory  forensics  dump 

4
ทำไมต้องรูทล้อและผู้ปฏิบัติงาน รูตอยู่ในกลุ่มสร้างความแตกต่างได้หรือไม่?
ฉันเพิ่งสังเกตเห็นบนเครื่อง FreeBSD ของฉันว่ารากอยู่ในวงล้อและผู้ควบคุมเครื่อง ฉันพยายามนึกถึงสถานการณ์ที่โพสต์โพสต์ในกลุ่มจะมีผลกระทบกับ ... เอ่อ ... อะไรก็ได้และฉันกำลังจะว่าง สำหรับเรื่องนั้นรูทจำเป็นต้องมีกลุ่มล็อกอินหลักใน / etc / passwd หรือไม่? หรือเข้าสู่ระบบ (3) ทำให้หายใจไม่ออกถ้าผู้ใช้มีช่องว่างกลุ่มหลัก? (เพื่อชี้แจง: ฉันเข้าใจถึงจุดประสงค์ของการดำรงอยู่ของกลุ่ม "root" เนื่องจากไฟล์ต้องการเจ้าของกลุ่มฉันไม่เข้าใจว่ามันเป็นเรื่องสำคัญที่ผู้ใช้รูท / toor / อะไรก็ตามที่มีความเป็นสมาชิกกลุ่มนั้น) นี่เป็นแค่การล่องเรือเมื่อหลายสิบปีก่อนหรือว่ามีเหตุผลอย่างแท้จริง?
18 freebsd  login  root  group 

2
การเขียนสคริปต์แบบพกพามีความสำคัญเมื่อใด
รหัสส่วนใหญ่ฉันเขียนอยู่ใน PHP ฉันเพิ่งเริ่มเรียนรู้การเขียนสคริปต์เชลล์ ทรัพยากรและแบบฝึกหัดส่วนใหญ่ที่ฉันเจอนั้นเฉพาะเจาะจงกับ Bash บางคนเตือนเกี่ยวกับ bashisms และบางคนไม่ทำ ฉันอ่านมากที่นี่และ Stack Overflow เมื่อใดก็ตามที่คำตอบใช้bashismsบางคนย่อมแสดงความคิดเห็นว่า: คุณไม่ควรใช้ <insert bashism ที่นี่> มันไม่ได้พกพา bashนี้เกิดขึ้นแม้ในขณะที่คำถามที่ได้รับการติดแท็กด้วย สำหรับฉันแล้วมันเหมือนกับบอกโปรแกรมเมอร์ PHP ว่าพวกเขาไม่ควรใช้รหัสที่ใหม่ใน PHP 5 เพราะมันไม่สามารถใช้กับ PHP 4 หรือบอกคนที่พวกเขาไม่ควรเขียนอะไรบางอย่างสำหรับ Mac เพราะมันไม่สามารถใช้ บน Windows เมื่อผมเขียนใน PHP, ฉันได้รับความต้องการขั้นต่ำและที่ผมเขียนไปข้างหน้ารหัสใช้ได้กับระบบปฏิบัติการ ฉันไม่ต้องกังวลกับการทำให้ย้อนกลับ -เข้ากันได้ ถ้าฉันใช้#!/bin/bashเป็นสาวเธอทำไมฉันไม่ควรใช้วิธีการทุบตี? ฉันเริ่มที่จะได้รับความประทับใจที่บางคนชอบทุบตี bashisms (ปุนตั้งใจ) เพียงเพื่อประโยชน์ของมัน ผู้คนมักจะใช้bashและใช้shellแทนกันได้ - อาจเป็นเพราะการทุบตีเป็นเชลล์เริ่มต้นในหลาย ๆ ระบบ ดังนั้นฉันสามารถเข้าใจการเพิ่มความคิดเห็นเพื่อเตือนว่ารหัสใช้ bashisms แต่ฉันไม่เข้าใจความหมายที่ผิดที่จะใช้พวกเขา เห็นได้ชัดว่าถ้าฉันเขียนสคริปต์อย่างเคร่งครัดเพื่อใช้ส่วนตัวฉันสามารถเขียนเป็นภาษาใดก็ได้ที่ฉันต้องการ …

2
คำอธิบายเกี่ยวกับ chown (1) ข้อมูลจำเพาะ POSIX
ข้อมูลจำเพาะ POSIX สำหรับchownยูทิลิตี้กล่าวถึงในส่วนของเหตุผลเกี่ยวกับchown user:groupไวยากรณ์ (เดิมchown user.group) (เน้นเหมือง): วิธี 4.3 BSD ในการระบุเจ้าของและกลุ่มถูกรวมไว้ในเล่มนี้ของ POSIX.1-2008 เพราะ: มีหลายกรณีที่ไม่สามารถบรรลุเงื่อนไขสิ้นสุดที่ต้องการได้โดยใช้ยูทิลิตี chgrp และ chown (ที่เปลี่ยนเฉพาะยูสเซอร์ ID) (หากเจ้าของปัจจุบันไม่ได้เป็นสมาชิกของกลุ่มที่ต้องการและเจ้าของที่ต้องการไม่ใช่สมาชิกของกลุ่มปัจจุบันฟังก์ชัน chown () อาจล้มเหลวเว้นแต่เจ้าของและกลุ่มจะเปลี่ยนไปในเวลาเดียวกัน) ฉันคิดว่าuser:groupไวยากรณ์เป็นสิ่งอำนวยความสะดวก ตอนนี้หมายถึงมีสิ่งที่คุณสามารถทำได้ด้วยchown user:groupสิ่งที่คุณไม่สามารถทำได้chgrp group; chown user ตอนนี้ข้อความนั้นไม่สมเหตุสมผลสำหรับฉัน ใน 4.3BSD เฉพาะ root เท่านั้นที่สามารถเปลี่ยนเจ้าของไฟล์ได้ไม่ว่าในกรณีใด ๆ ก็ไม่มีข้อ จำกัด ในสิ่งที่เขาสามารถทำได้ SysV และระบบอื่น ๆ ไม่กี่อนุญาตให้ (หรือใช้เพื่ออนุญาต) เจ้าของไฟล์ที่จะเปลี่ยนผู้ใช้และกลุ่มของไฟล์เป็นอะไร แต่แม้ในระบบเหล่านั้นข้อความข้างต้นไม่สมเหตุสมผลกับฉัน ตกลงถ้ามีคนทำchown someone-else the-fileไม่สามารถทำได้chgrp something-else …
18 posix  chown 

3
ยกเว้นไฟล์ที่มีบรรทัดข้อความที่ยาวมากจากเอาต์พุต grep
ฉันมักจะรันคำสั่ง grep เพื่อค้นหาสิ่งต่าง ๆ ในรหัสของฉัน แต่ปัญหาเกี่ยวกับโปรเจ็กต์ทางเว็บคือมักจะมีไฟล์ JavaScript และ CSS ที่บีบอัดซึ่งสร้างข้อความขนาดใหญ่หนึ่งบรรทัดดังนั้นหากพบคู่ที่ตรงกันหน้าต่างเทอร์มินัลทั้งหมดคือ เต็มไปมากกว่า 1,000 บรรทัดทำให้ไม่สามารถค้นหาสิ่งที่ฉันกำลังมองหาได้ ดังนั้นมีวิธีหลีกเลี่ยงไฟล์ที่พูดข้อความบรรทัดเดียวมากกว่า 200 ตัวอักษรหรือไม่
18 grep 

1
วิธีที่ดีที่สุดในการซิงค์ไฟล์ - คัดลอกเฉพาะไฟล์ที่มีอยู่และเฉพาะในกรณีที่ใหม่กว่าเป้าหมาย
ฉันทำข้อมูลนี้ให้ตรงกับบน Ubuntu 12.04 ไฟล์โดยทั่วไปคือไฟล์ข้อความขนาดเล็ก (รหัส) ฉันต้องการที่จะคัดลอก (รักษาแสตมป์ mtime) จากsourceไดเรกทอรีไปtargetแต่ฉันเพียงต้องการที่จะคัดลอกไฟล์ถ้าในtarget ที่มีอยู่แล้วและเป็นที่เก่าsourceกว่าหนึ่งใน ดังนั้นฉันจึงคัดลอกไฟล์ที่ใหม่กว่าsourceเท่านั้น แต่ต้องมีอยู่targetไม่เช่นนั้นจะไม่ถูกคัดลอก ( sourceจะมีไฟล์มากกว่าtargetนั้น) ฉันจะคัดลอกจากจริงsourceไปยังหลายtargetไดเรกทอรี ฉันพูดถึงเรื่องนี้ในกรณีที่มีผลกระทบต่อการเลือกวิธี อย่างไรก็ตามฉันสามารถเรียกใช้คำสั่งของฉันได้อย่างง่ายดายหลายครั้งโดยระบุใหม่targetทุกครั้งหากเป็นสิ่งที่จำเป็น

2
วิธีการเขียนฟังก์ชั่นทุบตีโดยใช้ท่อ?
ฉันมีฟังก์ชั่นบางอย่างที่กำหนดไว้ในแบบนี้: function f { read and process $1 ... echo $result } ฉันต้องการที่จะประกอบมันเข้าด้วยกันเพื่อที่การภาวนาจะเป็นเช่นf | g | hนั้น ฉันใช้สำนวนอะไรในการแปลงฟังก์ชั่นที่ทำงานกับข้อโต้แย้งเป็นหนึ่งข้อโต้แย้งการอ่านจาก stdin? เป็นไปได้ไหมที่จะอ่านคู่ tuples ของการขัดแย้งจากกระแสโดยไม่จำเป็นต้องหลบหนีพวกมัน (เช่นการยกเลิก null)?

1
วิธีอัปเดตแพ็คเกจและพอร์ตต่างๆบน FreeBSD
ฉันส่วนใหญ่ใช้แพ็คเกจใน FreeBSD เพราะส่วนใหญ่เหมาะกับฉันดี บางคนไม่เหมาะกับฉันอย่างไรเช่นแพคเกจซึ่งไม่รวมถึงกราฟิกvimgvim ไม่มีปัญหา. ฉันสามารถติดตั้งพอร์ตแทนได้โดยใช้portmaster editors/vimและเลือกGTK2ตัวเลือก มันใช้งานได้ดี อย่างไรก็ตามเมื่อฉันวิ่งไประยะpkg upgradeหนึ่งฉันก็จะได้รับสิ่งต่อไปนี้: Reinstalling vim-7.4.110_3 (options changed) สิ่งที่ช่วยให้? ฉันไม่ได้เปลี่ยนตัวเลือกใด ๆ และไม่มีรุ่นใหม่ (ไม่ได้อยู่ในพอร์ตด้วย) มันเป็นการเปรียบเทียบพอร์ตที่ติดตั้งของฉันกับรุ่นระยะไกลโดยไม่GTK2? แน่นอนฉันสามารถปล่อยให้pkg upgradeมันทำงานและติดตั้งพอร์ตอีกครั้งในภายหลัง แต่นี่มันโง่ อะไรคือวิธีที่แนะนำในการอัพเดทแพ็คเกจและพอร์ตต่างๆ

8
แยก JSON โดยใช้ Python หรือไม่
ฉันมีไฟล์ JSON members.jsonดังต่อไปนี้ { "took": 670, "timed_out": false, "_shards": { "total": 8, "successful": 8, "failed": 0 }, "hits": { "total": 74, "max_score": 1, "hits": [ { "_index": "2000_270_0", "_type": "Medical", "_id": "02:17447847049147026174478:174159", "_score": 1, "_source": { "memberId": "0x7b93910446f91928e23e1043dfdf5bcf", "memberFirstName": "Uri", "memberMiddleName": "Prayag", "memberLastName": "Dubofsky" } }, { "_index": "2000_270_0", "_type": …
18 bash  python  json 

2
`logger 'บันทึกข้อความไว้ที่ใดใน Arch Linux
loggerคำสั่งบันทึกรายการใน syslog /var/log/messagesซึ่งมักจะทำให้เส้นที่ไปยังไฟล์บางอย่างเช่น ถ้าผมเข้าใจเอกสารอย่างถูกต้องใน Arch Linux ทั้งหมดเข้าสู่ระบบจะกระทำผ่าน systemd แต่ฉันไม่สามารถหารายการที่ใช้loggerjournalctl เกิดอะไรขึ้นกับข้อความที่ให้ไว้loggerใน Arch Linux? รายการบันทึกจัดเก็บอยู่ที่ไหน (grep ด่วนแนะนำ/var/log/journal/*/system.journal) ฉันจะเข้าถึงบันทึกนี้ได้อย่างไร (ฉันต้องการตัวเลือกพิเศษjournalctlหรือไม่)

2
การดำเนินการคำสั่งภายใน LXC ที่รันอยู่
ฉันต้องการรันคำสั่งภายใน lxc ที่มีอยู่โดยไม่ต้องผ่าน init Linux ปกติ lxc-executeคำสั่งสำหรับการที่ฉันเดา แต่ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้คำสั่งนี้ในการทดสอบที่มีอยู่ของฉัน lxc sudo lxc-execute -n test -- service apache2 start ฉันได้รับข้อผิดพลาดดังต่อไปนี้: lxc-execute: Failed to find an lxc-init lxc-execute: invalid sequence number 1. expected 4 lxc-execute: failed to spawn 'test'
18 linux  lxc 

2
คำสั่งเพื่อดึงรายการของอักขระในคลาสอักขระที่กำหนดในโลแคลปัจจุบัน
สิ่งที่อาจจะเป็นวิธีการที่จะดึงรายชื่อของตัวละครทุกตัวในชั้นเรียนตัวอักษรที่กำหนด (เช่นที่blank, alpha, digit... ) ในสถานที่ปัจจุบัน ตัวอย่างเช่น LC_ALL=en_GB.UTF-8 that-command blank ในอุดมคติบนระบบ Debian ของฉันจะแสดงสิ่งที่ชอบ: 09 U+0009 HORIZONTAL TAB 20 U+0020 SPACE e1 9a 80 U+1680 OGHAM SPACE MARK e1 a0 8e U+180E MONGOLIAN VOWEL SEPARATOR e2 80 80 U+2000 EN QUAD e2 80 81 U+2001 EM QUAD e2 80 82 U+2002 …

3
วิธีตีความผลลัพธ์ของ 'lsusb' - ฮับรูทของ Linux Foundation เหล่านี้คืออะไร?
ฉันเพิ่งพบข้อมูลเกี่ยวกับคำสั่ง lsusb ขณะแก้ไขปัญหาชุดหูฟัง .. แล็ปท็อปของฉันรันเดเบียนและไม่มีอะไรที่เสียบเข้ากับ USB ในขณะนี้ แต่เมื่อฉันเรียกใช้คำสั่ง "lsusb" ฉันยังคงได้รับผลลัพธ์ค่อนข้างน้อย: root@t500:~# lsusb Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID …
18 debian  usb 

2
การขยายตัวของตัวแปรหอยและผลกระทบของ glob และแยกกับมัน
จริงๆแล้วโพสต์นี้มีคำถามสองข้อแยกกัน แต่ฉันคิดว่าการรวมกลุ่มพวกเขาเข้าด้วยกันจะให้บริบทเพิ่มเติม ฉันผ่านคำถามนี้ไปแล้วเกี่ยวกับเครื่องหมายคำพูดเกี่ยวกับตัวแปรแต่ฉันไม่เข้าใจว่าการขยายตัวของตัวแปรหมายถึงอะไรในตอนแรก ดังนั้นคำถามแรกของฉันคือ: อะไรคือการขยายตัวของตัวแปรใน Unix / Linux พูด? ส่วนที่สองของคำถามของฉันเกี่ยวข้องกับข้อกำหนดต่อไปนี้: glob แยก ค่าข้างต้นหมายถึงอะไรและมีผลต่อการขยายตัวของตัวแปรอย่างไร คำตอบสำหรับคำถามเดิมกล่าวถึงต่อไปนี้: คิดว่าไม่มีเครื่องหมายคำพูด (ในบริบทรายการ) เป็นตัวดำเนินการแยก + glob ราวกับว่า echo $ test เป็น echo glob (แยก ("$ test")) ฉันไม่สามารถหาคำตอบใด ๆ ที่อยู่ตรงแนวคิดของglobbingและแยกแต่ใช้คำเหล่านั้นได้โดยตรงในการตอบคำถามอื่น ๆ เช่นนี้หนึ่งเมื่อเร็ว ๆ นี้

5
ไม่สามารถใช้ chmod กับไฟล์ได้
ฉันมีไฟล์บน HDD ของฉัน cd /media/celebisait/5AC69788C6976355 myFile.tar.gzมีไฟล์ของฉันเรียกว่าเป็น ฉันทำls -l, -rw------- 2 celebisait celebisait 1387745311 Jun 6 2013 myFile.tar.gz ทุกอย่างดูดี อย่างไรก็ตามเมื่อฉันทำ $ sudo chmod 755 myFile.tar.gz ฉันไม่มีข้อผิดพลาด แต่ไม่มีอะไรเกิดขึ้นเช่นเมื่อฉันทำls -lอีกครั้งฉันจะได้ผลลัพธ์เดียวกัน -rw------- 2 celebisait celebisait 1387745311 Jun 6 2013 myFile.tar.gz Chmod ไม่เปลี่ยนแปลง .. ทำไม PS: ฉันใช้ Ubuntu 13.04 แก้ไข: $ cd /media/celebisait/5AC69788C6976355 $ df …
18 ubuntu  chmod 

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