คำถามติดแท็ก unix

Unix เป็นระบบปฏิบัติการคอมพิวเตอร์แบบหลายผู้ใช้ที่พัฒนาขึ้นในปี 2512 โดยกลุ่มพนักงานของ AT&T ที่ Bell Labs

3
การทำไฟล์ libmagic / file detect .docx
ตามที่เห็นในที่อื่น docx, xlsx และ pttx เป็น ZIPs เมื่ออัปโหลดไปยังเว็บแอปพลิเคชันของฉันfile(ผ่านlibmagicและpython-magic) ตรวจพบว่าเป็น ZIP ฉันจัดเก็บเนื้อหาของไฟล์เป็นหยดในฐานข้อมูล แต่โดยธรรมชาติแล้วฉันไม่ต้องการที่จะเชื่อใจผู้ใช้ว่าเป็นประเภทไฟล์ประเภทใด ดังนั้นฉันต้องการที่จะเชื่อมั่นfileและสร้างชื่อไฟล์โดยอัตโนมัติในระหว่างการดาวน์โหลด ฉันรู้ว่าสามารถแก้ไขได้/etc/magicแต่รูปแบบ ( magic(5)) นั้นซับซ้อนเกินไปสำหรับฉัน ฉันพบรายงานข้อผิดพลาดเกี่ยวกับปัญหาที่ข้อบกพร่องของ Debianแต่ตั้งแต่ปี 2008 ดูเหมือนว่าจะไม่ได้รับการแก้ไขตลอดเวลาในไม่ช้า ฉันเดาทางเลือกอื่นของฉันเท่านั้นคือการเชื่อถือผู้ใช้แน่นอน (แต่ยังคงเก็บเนื้อหาเป็นหยด) และตรวจสอบเฉพาะนามสกุลไฟล์ตามชื่อไฟล์ วิธีนี้ฉันสามารถอนุญาตส่วนขยายบางส่วนและอนุญาตให้ผู้อื่นได้ และเมื่อผู้ใช้ทำการดาวน์โหลดไฟล์ของเขาอีกครั้งเขาสามารถทำได้ทุกอย่างที่เขาอัพโหลด แต่โซลูชันนี้ไม่ปลอดภัยหากไฟล์นั้นถูกแชร์กับผู้อื่นเนื่องจากคุณสามารถเปลี่ยนชื่อไฟล์เพื่อให้สามารถอัปโหลดได้ ความคิดใด ๆ สุดท้ายฉันพบรายการหมายเลขมายากลสำหรับ docx และอื่น ๆแต่ฉันไม่สามารถแปลงเป็นmagic(5)รูปแบบได้
17 linux  debian  unix  mime 

6
Git - ตะขอหลังรับพร้อม git pull“ ไม่สามารถหาไดเรกทอรี git ที่ถูกต้องได้”
มันแปลกมาก แต่เมื่อตั้งค่าที่เก็บ git และสร้างเบ็ด post-receive ด้วย: echo "--initializing hook--" cd ~/websites/testing echo "--prepare update--" git pull echo "--update completed--" เบ็ดทำงานจริง ๆ แต่มันก็ไม่สามารถจัดการกับการดึง git ได้อย่างถูกต้อง: 6bfa32c..71c3d2a master -> master --initializing hook-- --prepare update-- fatal: Not a git repository: '.' Failed to find a valid git directory. --update completed-- ดังนั้นฉันถามตัวเองตอนนี้เป็นไปได้อย่างไรที่จะทำให้ hook อัพเดต …
17 unix  git  hook 

8
ตรวจสอบปริมาณการใช้เครือข่ายผ่านอินเตอร์เฟส
มีวิธีตรวจสอบทราฟฟิก (เช่นรับมุมมองสดของการใช้ประโยชน์) ผ่านอินเทอร์เฟซเครือข่ายเฉพาะเจาะจงหรือไม่พูดว่า eth0? สิ่งที่จับได้คือชุดเครื่องมือบนกล่องได้รับการแก้ไขและเป็นการปรับใช้ RHEL ในสต็อกค่อนข้างมากดังนั้นเครื่องมือเสริมไม่สามารถใช้งานได้ กำลังมองหาสิ่งพื้นฐานและมักจะนำเสนอเหมือน iostat ที่นี่

4
ความแตกต่างระหว่าง / dev / sda และ / dev / sda1
ฉันรู้ว่า / dev / sda เป็นอุปกรณ์ดิบและ / dev / sda1 เป็นพาร์ติชันหรืออุปกรณ์เสมือน แต่ฉันสับสนเล็กน้อยว่าทำไม sda # เกิดขึ้นในบางครั้งหรือเฉพาะในบางระบบ สิ่งนี้ทำให้เกิดอะไรขึ้น? บางทีเวลาที่ไดรฟ์ sda # ไม่ปรากฏขึ้นมาคือเมื่อไม่ได้รับการจัดสรร? หรืออาจจะไม่เหมือนกันในฮาร์ดแวร์? และทำไมฉันถึงเมาทั้งสอง (บางครั้ง) พาร์ติชันไม่ควรติดตั้งได้หรือไม่ ทรัพยากรหรือสีใด ๆ ที่คุณสามารถให้จะได้รับการชื่นชมอย่างมาก ขอบคุณล่วงหน้า.
17 linux  unix  mount  hard-drive 

4
มียูทิลิตี้ในการอ่านตัวแปรสภาพแวดล้อมจากไฟล์ env แล้วเรียกใช้คำสั่ง (เบากว่าโฟร์แมน) หรือไม่?
foreman สามารถอ่านไฟล์. env และตั้งค่าตัวแปรสภาพแวดล้อมจากเนื้อหาแล้วเรียกใช้โปรแกรม เช่น foreman run -e vars.env myprogram ... แต่มันทำสิ่งอื่น ๆ อีกมากมาย (และเกี่ยวข้องกับการเริ่มต้นโดยใช้รูปแบบ Procfile เป็นหลัก) มีเครื่องมือที่ง่ายกว่า (Linux / Unix) ที่เน้นการอ่านไฟล์. env และดำเนินการคำสั่งด้วยสภาพแวดล้อมใหม่หรือไม่? ไฟล์สภาพแวดล้อมตัวอย่าง (จากhttp://ddollar.github.io/foreman/#ENVIRONMENT ): FOO=bar BAZ=qux

1
วางกระบวนการในพื้นหลังโดยไม่หยุด - (ctrl + z)?
หากฉันเริ่มต้นกระบวนการโดยพิมพ์ตามปกติที่บรรทัดคำสั่งเช่น wget http://site.com/bigfile.zip แล้วตัดสินใจว่าฉันต้องการย้ายไปที่พื้นหลังฉันรู้ว่าฉันสามารถใช้บางอย่างเช่นctrl+zแล้วbg 1(หรือjobsก่อนถ้าจำเป็นต้องได้รับรหัส) เพื่อวางไว้ในพื้นหลัง คำถามของฉันคือหากมีวิธีการย้ายงานจากเบื้องหน้าไปยังพื้นหลังโดยตรงโดยไม่หยุด - เช่นทางลัดอื่นนอกเหนือจากctrl+zนั้นจะทำเช่นนั้น ฉันยังตระหนักว่าฉันสามารถผนวก&ท้ายคำสั่งเดิมเพื่อเริ่มต้นในพื้นหลัง แต่คำถามนั้นเกี่ยวกับเมื่อคุณเริ่มกระบวนการในเบื้องหน้าแล้วรู้ว่าคุณต้องการย้ายไปยังพื้นหลัง

3
รูปแบบที่ต้องการของชื่อไฟล์ซึ่งรวมถึงการประทับเวลา
ในขณะที่เราทุกคนรู้ว่า "unix" สามารถมีอะไรในไฟล์ยกเว้น '/' และ '\ 0', sysadmins อย่างไรก็ตามมักจะมีการตั้งค่าที่มีขนาดเล็กมากส่วนใหญ่เนื่องจากไม่มีช่องว่างที่ชอบเป็นอินพุต ... และสิ่งต่าง ๆ ที่มี ความหมายพิเศษสำหรับ ':' และ '@' ในหมู่คนอื่น ๆ เมื่อเร็ว ๆ นี้ฉันเคยเห็นกรณีอื่นที่ใช้การประทับเวลาในชื่อไฟล์และหลังจากเล่นด้วยรูปแบบที่แตกต่างกันเล็กน้อยเพื่อให้ "ดีขึ้น" ฉันคิดว่าฉันพยายามหา "แนวปฏิบัติที่ดีที่สุด" ไม่พบสิ่งที่ฉันคิด ฉันแค่ถามที่นี่และดูว่าผู้คนคิดอย่างไร โซลูชัน "ทั่วไป" ที่เป็นไปได้ (p = คำนำหน้าและ s = คำต่อท้าย): syslog / logrotate / DNS เช่นเดียวกับรูปแบบ: p-%Y%m%d-suffix = prefix-20110719-s p-%Y%m%d%H%M-suffix = prefix-201107191732-s p-%Y%m%d%H%M%S-suffix = …

6
การสร้างเครือข่าย Linux สำหรับ บริษัท ของเรา - ฉันจะเริ่มที่ไหน
นี่จะเป็นคำถามที่ค่อนข้างโหลด ฉันกำลังเขียนโปรแกรมใน บริษัท ที่มีมาตั้งแต่ปี 1962 หลายสิ่งโดยเฉพาะอย่างยิ่งคอมพิวเตอร์ / เครือข่ายเป็นสิ่งที่ล้าสมัยมาก ขอผมเพิ่มพื้นหลังหน่อย บริษัท ดำเนินเซิร์ฟเวอร์ Windows อยู่แล้ว บนเซิร์ฟเวอร์คอมพิวเตอร์หลายเครื่องมีไฟล์ในไดรฟ์เครือข่ายที่ใช้ร่วมกันและมีบางโปรแกรมเช่นกัน นี่คือวิธีที่ บริษัท ได้รับสิทธิ์ในการเข้าถึงสิ่งต่าง ๆ เช่นการบัญชีและสินค้าคงคลังและวิธีแชร์ไฟล์ โชคไม่ดีที่ไม่เคยมีระบบดูแลระบบที่แข็งแกร่งมามีส่วนร่วมในการออกแบบใด ๆ ระบบบัญชีกำลังทำงานบน Foxpro ไฟล์ทั้งหมดวุ่นวาย พนักงานดูเหมือนจะรู้วิธีของพวกเขาโดยทั่วไป แต่เพื่อที่จะเติบโตและขยายขนาดเราจำเป็นต้องได้รับการจัดการอย่างรวดเร็วบนเครือข่ายนี้ บางสิ่งที่ฉันเห็นจำเป็นสำหรับ: ฐานข้อมูลเชิงสัมพันธ์สามารถเข้าถึงได้ผ่านคอมพิวเตอร์ทุกเครื่องในเครือข่ายซึ่งจะจัดเก็บ: ไฟล์ (เช่นภาพวาด, คำพูด, รูปภาพของโครงการที่แล้วเสร็จ ฯลฯ ) พนักงาน (จากนั้นเราสามารถเริ่มทำสิ่งต่าง ๆ เช่นรายการบัตรลงเวลาคอมพิวเตอร์) ใบแจ้งหนี้การชำระเงินที่ได้รับและสินค้าคงคลัง การจัดการรหัสผ่าน การติดตามงาน ฉันต้องการสร้างแอปพลิเคชันที่กำหนดเองที่ด้านบนของฐานข้อมูลนี้เพื่อเพิ่มประสิทธิภาพทุกอย่างและสร้าง API ที่อนุญาตให้เว็บไซต์ของเราโต้ตอบกับเนื้อหาภายในองค์กรของเรา เห็นได้ชัดว่าฉันต้องออกจากระบบที่มีอยู่ในขณะที่ฉันสร้างใหม่ ฉันมาจากพื้นหลังของเว็บ ... และฉันก็สบายใจกับ Unix (ฉันดูแลเซิร์ฟเวอร์หลายสิบตัวที่ให้บริการเว็บไซต์), …


13
การเขียนสคริปต์ทางเลือกกับสคริปต์เชลล์ Bash
ฉันเพิ่งย้ายไปยังเวิร์กสเตชัน UNIX ความทรงจำของสคริปต์ Bash shell ของฉันจางหายไปตั้งแต่โรงเรียนและฉันพบว่าไวยากรณ์มีความสับสนอย่างมาก ฉันสงสัยว่าภาษาสคริปต์อื่นใดที่ใช้ในการทำงานอัตโนมัติ สองคนที่โด่งดังที่สุดที่ฉันเคยได้ยินคือ Perl และ Python ภาษาสคริปต์ใดที่ใช้กันอย่างแพร่หลายมากที่สุดในโลกแห่งความเป็นจริง ภาษาสคริปต์ใดที่คล้ายกับไวยากรณ์ C / C ++ มากที่สุด มีภาษาสคริปต์อื่นที่ฉันไม่ทราบหรือไม่? ขอบคุณสำหรับความช่วยเหลือของคุณ, สกอตต์
16 unix  scripting 


1
ฉันสามารถเรียก pushd / popd และป้องกันไม่ให้มันพิมพ์สแต็คได้หรือไม่?
หลังจากการเรียกpushd/ popdin bash มันจะพิมพ์ออกจากไดเรกทอรีสแต็คปัจจุบัน มีวิธีใดที่จะป้องกันพฤติกรรมนี้ได้ เสียงรบกวนในคำสั่งนี้เป็นเรื่องแปลกในเครื่องมือยูนิกซ์

1
การจับภาพ STDERR และ STDOUT ไปยังไฟล์โดยใช้ที
ฉันไม่มีความชัดเจนว่าการสั่งซื้อที่ดีที่สุดคือการจับภาพทั้งSTDERRและไปยังแฟ้มเดียวกันโดยใช้STDOUT teeฉันรู้ว่าถ้าฉันต้องการไปป์กับไฟล์ฉันต้องแมป filehandle หลังจากเปลี่ยนเส้นทางคือ find . >/tmp/output.txt 2>&1 นี้จะสั่งให้เปลือกที่จะส่งSTDOUTไป/tmp/output.txtแล้วจะส่งSTDERRไปSTDOUT(ซึ่งขณะนี้ส่งไปยัง/tmp/output.txt) ความพยายามที่จะดำเนินการ2>&1ก่อนที่จะเปลี่ยนเส้นทางไฟล์จะไม่มีผลที่ต้องการ อย่างไรก็ตามเมื่อฉันต้องการใช้ pipe teeควรเป็น: find . |tee /tmp/output.txt 2>&1 # or find . 2>&1 |tee /tmp/output.txt # ?
16 linux  unix  redirect  pipe 

3
ไฟล์โปรแกรมมีอยู่ใน / usr / bin แต่ไม่สามารถใช้งานได้
เห็นได้ชัดว่าไฟล์ของฉันมีอยู่ใน /usr/bin $ ls /usr/bin/ngrok /usr/bin/ngrok อย่างไรก็ตามเมื่อฉันพยายามchownฉันได้รับข้อผิดพลาด $ sudo chown my_user:users /usr/bin/ngrok chown: cannot dereference '/usr/bin/ngrok': No such file or directory ความพยายามเพิ่มเติมในการเรียกใช้ยังล้มเหลว! $ ngrok bash: ngrok: command not found $ sudo /usr/bin/ngrok sudo: /usr/bin/ngrok: command not found เกิดอะไรขึ้นที่นี่

3
มีกลไกใน Unix (หรือ Linux) เพื่อหยุดการถ่ายโอนข้อมูลหลักในความคืบหน้า?
สมมติว่ากระบวนการขนาดใหญ่ (มาก) กำลังหยุดทำงานและทิ้งแกนประมวลผลและเรารู้สาเหตุจากข้อมูลอื่น (อาจเป็นข้อความยืนยันอาจเป็นอย่างอื่น) มีวิธีที่จะหยุดการถ่ายโอนข้อมูลหลักจากการสร้างอย่างสมบูรณ์เพราะมันเป็นของเสียในกรณีนี้หรือไม่? ตัวอย่างเช่นจะฆ่า -9 ของกระบวนการถ่ายโอนข้อมูลหลักขัดขวางการสร้าง corefile หรือไม่ เห็นได้ชัดว่าถ้าเรารู้ล่วงหน้าว่าเราไม่ต้องการทิ้งขยะหลักเราสามารถตั้ง ulimit ได้อย่างเหมาะสมหรือใช้ยูทิลิตี้ควบคุมไฟล์หลักต่าง ๆ ของระบบปฏิบัติการ แต่คำถามนี้เกี่ยวกับขั้นตอน "การถ่ายโอนข้อมูลหลักที่อยู่ระหว่างดำเนินการ" ... (ตัวอย่างเช่นลองนึกภาพฉันเป็นผู้ร้องขอใน /programming/18368242/how-to-bypass-a-2tb-core-dump-file-system-limit และไม่ต้องการเสีย 5 พื้นที่ดิสก์ขนาด -6 TB :))
15 linux  unix  dump 

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