Unix & Linux

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

6
วิธีการตั้งรหัสผ่านสำหรับไฟล์ pdf
ฉันต้องใช้รหัสผ่านเพื่อป้องกันไฟล์ PDF ของฉันเพราะฉันจะส่งพวกเขาทางอีเมลและฉันต้องการใครก็ตามที่จะดูไฟล์ PDF ของฉันเพื่อขอรหัสผ่าน ฉันจะเพิ่มรหัสผ่านลงใน PDF ใน Linux Mint 17.1 ได้อย่างไร

3
การพิมพ์คำสั่งอื่นไปยัง STDIN ปลอดภัยหรือไม่ในขณะที่คำสั่งก่อนหน้านี้กำลังเขียนไปยัง STDOUT
บางทีนี่อาจเป็นคำตอบก่อนหน้านี้ฉันยินดีต้อนรับลิงก์ไปยังคำตอบอื่น ... ถ้าฉันรันคำสั่งเชลล์ (ในbashเชลล์) เช่นต่อไปนี้: make จากนั้นในขณะที่ผลผลิตจากการmakeถูกเลื่อนโดยจากSTDOUTของmakeคำสั่งถ้าผมพิมพ์make checkและกดenterก่อนที่คำสั่งแรกเสร็จสิ้นการดำเนินการเมื่อmakeคำสั่งในที่สุดก็เสร็จสิ้นคำสั่งต่อไปmake checkจะรับสิทธิและเรียกใช้ คำถามของฉันเป็นเพียง: สิ่งนี้เป็นอันตรายหรือไม่? มีพฤติกรรมที่คาดไม่ถึงใด ๆ จากการพิมพ์ที่รวดเร็วเช่นนี้หรือไม่? ทำไมสิ่งนี้ถึงได้ผลเช่นนี้?
21 bash  shell  stdout  stdin 

2
Ctrl + D สำหรับสิ้นสุดอินพุตบรรทัดของเทอร์มินัล
ถ้าฉันทำ $ cat > file.txt ข้อความCtrl- DCtrl-D คำถามที่ 1: ถ้าฉันไม่กด Enter ทำไมฉันต้องกดCtrl- Dสองครั้ง? ถ้าฉันทำ $ cat > file.txt pa bam pshhh Ctrl-Z [2]+ Stopped cat > file.txt $ cat file.txt $ cat > file.txt pa bam pshhh Ctrl-Z [2]+ Stopped cat > file.txt $ cat file.txt pa bam pshhh ทำไมไฟล์ที่มี …

6
การสร้างรหัสผ่านแบบสุ่ม ทำไมพกพานี้ไม่ได้?
ฉันต้องการสร้างรหัสผ่านแบบสุ่มและฉันชอบ: </dev/urandom tr -dc [:print:] | head -c 64 บนแล็ปท็อปของฉันซึ่งใช้งาน Ubuntu สิ่งนี้จะสร้างตัวอักษรที่พิมพ์ได้ตามที่ตั้งใจ แต่เมื่อฉันเข้าสู่เซิร์ฟเวอร์ของโรงเรียนซึ่งรัน Red Hat Enterprise Linux และเรียกใช้ที่นั่นฉันจะได้ผลลัพธ์เช่น3!ri�b�GrӴ��1�H�<�oM����&�nMC[�Pb�|L%MP�����9��fL2q���IFmsd|l�Kที่จะไม่ทำเลย เกิดอะไรขึ้นที่นี่

6
มีวิธีง่าย ๆ ในการผนวกบรรทัดต่อท้ายไฟล์นอกเหนือจาก `>> 'หรือไม่?
เมื่อเร็ว ๆ นี้ฉันกำลังสะท้อนประโยคสั้น ๆ ไปยังtree_holeไฟล์ ฉันใช้echo 'something' >> tree_holeเพื่อทำงานนี้ แต่ฉันก็มักจะกังวลว่าถ้าฉันใส่ผิด>แทนที่จะทำ>>เพราะฉันทำสิ่งนี้บ่อย ดังนั้นฉันจึงทำ bash func ทั่วโลกของตัวเองใน bashrc: function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; } export -f th แต่ฉันสงสัยว่ามีอีกวิธีที่ง่ายในการต่อท้ายบรรทัดของไฟล์ เพราะฉันอาจจำเป็นต้องใช้บ่อยครั้งในโอกาสอื่น ๆ มีผู้ใด?

4
ตัวเลือกการบูต Windows หายไปหลังจากติดตั้ง CentOS 7 ฉันจะเอามันกลับมาได้อย่างไร
ฉันเพิ่งติดตั้ง CentOS 7 บนเครื่องที่ใช้ Windows 7 ฉันทำการติดตั้งด้วยการบู๊ตคู่และติดตั้ง CentOS ในพาร์ติชัน แต่เมื่อฉันบูทเครื่องมันจะให้ตัวเลือก CentOS สองตัวเท่านั้น ไม่มีตัวเลือกให้ฉันเลือกบูต Windows 7 ฉันจะเพิ่ม windows 7 กลับไปที่ตัวเลือกการบูตได้อย่างไร หมายเหตุ:ฉันกำลังอ่านบทความนี้ชื่อ: CenTOS 7 dual boot พร้อม windowsแต่/grubโฟลเดอร์ของฉันดูเหมือนว่าจะมีsplash.xpm.gzไฟล์อยู่ในนั้นเท่านั้นโดยไม่มีไฟล์อื่น นอกจากนี้ฉันยังใหม่กับ Linux และต้องการบางสิ่งเพิ่มเติมทีละขั้นตอน แก้ไข # 1 ฉันได้รับผลลัพธ์ต่อไปนี้ในบรรทัดคำสั่ง: [root@localhost home]# sudo update-grub sudo: update-grub: command not found [root@localhost home]# sudo grub-mkconfig sudo: grub-mkconfig: command not …

1
ทำไม GNU Info จึงไม่ประสบความสำเร็จ
ตามความรู้ / ความเข้าใจของฉันทั้งความช่วยเหลือและมนุษย์มาในเวลาเดียวกันหรือมีความแตกต่างเวลาน้อยมากระหว่างพวกเขา จากนั้น GNU Info ก็เข้ามาและออกจากสิ่งที่ฉันได้เห็นก็คือ verbose ที่มีรายละเอียดมากขึ้นและเนื้อหาที่ดีกว่าที่มนุษย์เป็น หลายรายการแม้กระทั่งทุกวันนี้ในมนุษย์จะเป็นความลับ ฉันมักจะสงสัยว่าทำไมข้อมูลที่เหนือกว่ามนุษย์ในหลาย ๆ ด้านไม่ประสบความสำเร็จเลย ฉันยังคงเห็นผู้คนกำลังสร้างหน้าคนมากกว่าหน้าข้อมูล มันเป็นเพราะเครื่องมือที่ไม่มีประโยชน์สำหรับข้อมูล? มีอะไรในใบอนุญาตของทั้งสอง หรือปัจจัยอื่น ๆ ที่ไม่ได้รับข้อมูลความสำเร็จที่สมควรได้รับอย่างล้นเหลือ? ฉันเห็นคำถามสองสามข้อเกี่ยวกับ unix stackexchange โดยเฉพาะGNU Info คืออะไร และความแตกต่างระหว่างความช่วยเหลือข้อมูลและคำสั่ง manระหว่างคนอื่น ๆ
21 man  history  gnu  info 

7
แสดงเฉพาะจุดเมานท์ "น่าสนใจ" / การกรองประเภทที่ไม่น่าสนใจ
ฉันเคยmountแสดงไดรฟ์ที่ติดตั้งไว้ฉันไม่ต้องการเห็นไดรฟ์ที่ไม่น่าสนใจ (เช่นไม่ใช่แบบทางกายภาพ) ดังนั้นฉันเคยมีสคริปต์mntที่ทำ: mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts) ' ภายใต้ Ubuntu 8.04 และแสดงให้ฉันเห็นext3และreiserfsติดตั้งเฉพาะจุด บรรทัดนั้นใส่ความเห็นจริงและตอนนี้ฉันใช้ (สำหรับ Ubuntu 12.04): mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts|debugfs|rpc_pipefs|nfsd|securityfs|fusectl|devtmpfs) ' เพียงแสดงของฉันext4และzfsพาร์ทิชัน (ฉันลดลงโดยใช้reiserfs) ตอนนี้ฉันกำลังเตรียมการสำหรับ Ubuntu 14.04 และสคริปต์จะต้องขยายอีกครั้ง (cgroup, pstore) มีวิธีที่ดีกว่าในการทำเช่นนี้โดยไม่ต้องขยายสคริปต์หรือไม่ ฉันสนใจเฉพาะดิสก์ทางกายภาพที่ติดตั้งและเชื่อมต่อกับไดรฟ์เครือข่าย ( nfs, cifs) เท่านั้น

5
บังคับให้เจ้าของไฟล์และโฟลเดอร์ที่สร้างขึ้น
ฉันมีไดเรกทอรีที่มีข้อมูลที่แชร์ระหว่างผู้ใช้จำนวนมาก การเข้าถึงไดเรกทอรีนี้และทุกสิ่งที่อยู่ด้านล่างจะถูกควบคุมโดยกลุ่มของไดเรกทอรีซึ่งจะถูกเพิ่มไปยังผู้ใช้ที่มีปัญหา เช่นนี้ฉันสร้างโฟลเดอร์ "กลุ่มเหนียว" chmod g+sตั้ง ไดเรกทอรีจะมีโครงสร้างแบบต้นไม้ที่มีไดเรกทอรีและไฟล์โดยมีจำนวนไฟล์ทั้งหมดน่าจะเป็นสองสามล้านรายการ ไฟล์จะค่อนข้างเล็กฉันไม่ได้คาดหวังอะไรที่ใหญ่กว่า 50MB ปัญหาของฉันคือเจ้าของไฟล์หรือไดเรกทอรียังคงเป็นผู้ใช้ที่สร้างมันขึ้นมา ดังนั้นแม้ว่าฉันจะลบผู้ใช้นั้นออกจากกลุ่มการเข้าถึงฉันจะไม่ลบการเข้าถึงของเขาทั้งหมด ดังนั้น: มีตัวเลือกอื่นที่ฉันพลาดเพื่อให้แน่ใจว่าไฟล์และไดเรกทอรีย่อยทั้งหมดมีเจ้าของเหมือนกันหรือไม่? ฉันคาดว่าฉันสามารถท่องไดเรคทอรีทั้งหมดด้วย cron-job เป็นระยะ ๆ แต่นั่นทำให้ฉันไม่มีประสิทธิภาพสำหรับสิ่งที่สำคัญที่สุดคือคำสั่งเพียงไฟล์เดียว ฉันพบตัวอย่างโดยใช้ INOTify แต่นั่นทำให้ฉันมีการบำรุงรักษาสูงเนื่องจากต้องใช้สคริปต์ ฉันไม่สามารถทราบได้ว่า ACL สามารถช่วยฉันในการบังคับให้เป็นเจ้าของได้หรือไม่ มีวิธีที่ฉลาดกว่านี้หรือไม่? สิ่งที่ฉันต้องการคือมีไดเรกทอรีที่สามารถแชร์ได้โดยการเพิ่มกลุ่มให้กับผู้ใช้ สิ่งใดก็ตามที่สร้างในไดเรกทอรีนี้จะสืบทอดโครงร่างการอนุญาตจากพาเรนต์ หากมีวิธีที่ดีกว่าสิ่งที่ฉันพยายามฉันก็เป็นได้

3
วิธีบังคับให้เปลี่ยนรหัสผ่าน linux แม้ว่าจะคล้ายกับก่อนหน้านี้
ฉันกำลังพยายามที่จะเปลี่ยนรหัสผ่านปัจจุบันของฉันในเซิร์ฟเวอร์การเปิดตัว Red Hat Enterprise Linux 5.10 (Tikanga) แต่ก็กล่าวว่ารหัสผ่านใหม่ของฉันจะคล้ายกันมากเกินไป มีวิธีใดที่จะบังคับให้เปลี่ยนหรือไม่? $ passwd Changing password for user XY Changing password for XY (current) UNIX password: New UNIX password: BAD PASSWORD: is too similar to the old one New UNIX password:
21 linux  rhel  password 

6
แจ้งเตือนเมื่อกระบวนการทำงานเสร็จสิ้น
มีคำถามและคำตอบเล็กน้อยที่นี่เกี่ยวกับการแจ้งเตือนเมื่อกระบวนการเสร็จสมบูรณ์ / ออก ( 1 , 2 ) - แต่ทั้งหมดนี้ถือว่าผู้ใช้ออกกระบวนการดังกล่าวด้วยตนเองและสามารถเขียนสคริปต์ด้วยการแจ้งเตือนที่สร้างขึ้นใน สคริปต์ที่ควบคุมหรือไพพ์กระบวนการในการแจ้งเตือนบางประเภท สถานการณ์ของฉันคือฉันต้องการได้รับการแจ้งเตือนถึงความสมบูรณ์ / ออกของกระบวนการที่ผู้ใช้ของฉันไม่เริ่มต้น คือฉันกำลังประมวลผลไฟล์วิดีโอจำนวนมากบนเซิร์ฟเวอร์ Ubuntu 12.04 LTS การดำเนินการบางอย่างกับไฟล์เหล่านี้ใช้เวลานานมากดังนั้นฉันจึงต้องการการแจ้งเตือนบางอย่าง (อีเมลจะดีมาก) เมื่อไฟล์ใดไฟล์หนึ่งเสร็จสิ้น พวกเขาใช้เวลานานมากในการทำสิ่งนี้บนพื้นฐานแบบครั้งเดียวด้วยตนเองบนพื้นฐานของ PIT จะดีอย่างสมบูรณ์แบบ เพื่อให้ข้อมูลเพิ่มเติม - สมมติว่าฉันกำลังประมวลผลไฟล์ขนาดใหญ่โดยเฉพาะและฉันเห็นว่ามีการพัฒนาไปสู่สคริปต์ FFMPEG กระบวนการเองเป็นสคริปต์ไพ ธ อน (ซึ่งค่อนข้างซับซ้อนและไม่ได้เขียนด้วยตัวเองและบางอย่าง ฉันไม่ต้องการแก้ไข - แม้ว่ามันจะเป็นวิธีการตรรกะแรก) ฉันจินตนาการว่าการออกคำสั่งหรือสคริปต์ด้วย PID ของการเรียกใช้สคริปต์ python ที่กล่าวถึงเป็นข้อโต้แย้งและเมื่อกระบวนการที่ใช้ PID นั้นไม่ได้ทำงานอีกต่อไปสคริปต์แจ้งเตือนก็จะทำสิ่งนั้น ความคิดใด ๆ
21 bash  process  top  htop 

1
อะไรทำให้ systemd-nspawn ยังคง“ ไม่เหมาะสมสำหรับการตั้งค่าคอนเทนเนอร์ที่ปลอดภัย”?
นี่คือที่ระบุไว้ในหน้าคนสำหรับsystemd-nspawn โปรดทราบว่าแม้ว่าข้อควรระวังเพื่อความปลอดภัยเหล่านี้จะเกิดขึ้น systemd-nspawn ไม่เหมาะสำหรับการตั้งค่าคอนเทนเนอร์ที่ปลอดภัย คุณลักษณะด้านความปลอดภัยจำนวนมากอาจถูกหลีกเลี่ยงและเป็นประโยชน์หลักในการหลีกเลี่ยงการเปลี่ยนแปลงโดยไม่ตั้งใจของระบบโฮสต์จากคอนเทนเนอร์ การใช้โปรแกรมนี้ตามวัตถุประสงค์คือการดีบักและทดสอบรวมถึงการสร้างแพ็คเกจการแจกจ่ายและซอฟต์แวร์ที่เกี่ยวข้องกับการจัดการการบูตและระบบ คำถามนี้ถูกถามในรายชื่อผู้รับจดหมายในปี 2011แต่ดูเหมือนว่าคำตอบจะล้าสมัย systemd-nspawn มีรหัสที่จะดำเนินการCLONE_NEWNETโดยใช้--private-networkตัวเลือกตอนนี้ ดูเหมือนว่าจะครอบคลุมAF_UNIXปัญหาเนมสเปซส่วนตัวและฉันเดาCAP_NET_RAWและCAP_NET_BINDปัญหาที่กล่าวถึง ประเด็นปัญหายังคงอยู่ ณ จุดนี้และตัวอย่างเช่น LXC ทำนอกเหนือจากสิ่งที่systemd-nspawnสามารถทำได้ในปัจจุบัน?
21 security  systemd  lxc 

4
จัดลำดับหน้าต่าง tmux ใหม่
ฉันจะสั่งซื้อ windows ใน tmux ได้อย่างมีประสิทธิภาพได้อย่างไร ตัวอย่างเช่นการมีชุดหน้าต่างนี้: 0:zsh 1:elinks 2:mutt 3:irssi 4:emacs 5:rss 6:htop ฉันต้องทำอะไรเพื่อย้ายrssไปมาระหว่างelinksและmuttจบลงด้วย: 0:zsh 1:elinks 2:rss 3:mutt 4:irssi 5:emacs 6:htop ฉันรู้วิธีใช้move-windowเพื่อย้ายหน้าต่างไปยังดัชนีที่ไม่ได้ใช้และฉันสามารถใช้ชุดข้อมูลเหล่านี้เพื่อบรรลุเป้าหมาย - แต่เห็นได้ชัดว่านี่น่าเบื่อมาก
21 tmux 

4
ฉันจะนับจำนวนคำในไฟล์ขณะแก้ไขไฟล์เป็นกลุ่มได้อย่างไร
ฉันรู้ว่าฉันสามารถใช้wcสำหรับการนับตัวอักษรคำและบรรทัดของไฟล์ที่บรรทัดคำสั่ง มีวิธีใดบ้างที่ฉันสามารถนับจำนวนคำในขณะที่เป็นกลุ่ม ?
21 vim  vi 

2
apt-get ไม่สามารถหาแพ็คเกจบนดิสทริบิวชันรุ่นเก่าของฉันได้
ฉันกำลังทำงานกับคอมพิวเตอร์ Linux Mint 16 และตั้งแต่เมื่อเร็ว ๆ นี้ทุกครั้งที่ฉันต้องการติดตั้งบางอย่างผ่านทางapt-get installข้อความบันทึกแจ้งว่าแพ็กเกจไม่สามารถตรวจสอบความถูกต้องได้ ฉันไปข้างหน้าและพยายามที่จะติดตั้งพวกเขาโดยไม่ต้อง authetication และปรากฎว่าส่วนใหญ่ของแพคเกจไม่พบ ในตอนท้ายของกระบวนการข้อความคอนโซลแนะนำให้ผมใช้หรือapt-get update --fix-missingนั่นคือสิ่งที่ฉันทำ: sudo apt-get updateและทันทีหลังจากที่ฉันลองอีกครั้งเพื่อติดตั้งด้วยsudo apt-get install nginxแต่ฉันยังคงได้รับข้อผิดพลาดข้อความเดียวกัน อะไรคือปัญหา? ฉันพลาดอะไรไปรึเปล่า? หมายเหตุ: ฉันจะคัดลอก / วางบันทึก แต่เป็นภาษาสเปนดังนั้นพวกเขาอาจจะไม่ได้รับความช่วยเหลือมากที่สุด อัปเดต: ฉันจัดการเพื่อรับบันทึกเป็นภาษาอังกฤษด้วย @Flup ที่นี่คือ: สำหรับapt-get install: ricardo@toshi ~$ sudo apt-get install nginx Reading package lists... Done Building dependency tree Reading state information... Done …
21 apt 

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