Unix & Linux

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

1
การลบเครื่องหมายเป็นอักขระตัวแรกของคำสั่งในเอาต์พุต htop หมายความว่าอย่างไร
ใน htop หรือคำสั่งอื่น ๆ ที่แสดงสถานะกระบวนการกระบวนการทุบตีทั้งหมดมีในคอลัมน์คำสั่ง /bin/bash แต่มีหนึ่งกระบวนการในคอลัมน์คำสั่ง -bash มันหมายความว่าอะไร?
24 shell  process 

3
linux ของฉันจะทำงานบน distros ทั้งหมดหรือไม่
ฉันพบ IDE ที่ดีทดแทนสำหรับ Delphi เรียกว่า Lazarus แต่ฉันไม่มีคำถามสำหรับโปรแกรมเมอร์ ลินุกซ์ไบนารีที่เชื่อมโยงแบบสแตติก จะทำงานกับการแจกแจง Linux ทั้งหมดหรือไม่ นั่นคือมันไม่สำคัญว่าลินุกซ์ distro ใดที่ฉันสร้างขึ้นและมันจะทำงานบน Debian / ArchLinux / Ubuntu / OpenSUSE / ... อะไรก็ตาม? จากการค้นพบของฉันจริง ๆ แล้วมีความสำคัญกับ 32 บิตหรือ 64 บิตเท่านั้น ฉันต้องการให้แน่ใจก่อนที่จะเผยแพร่

2
การเปลี่ยนเส้นทางเอาต์พุตของ grep ไปยัง / dev / null คืออะไร
พิจารณาบรรทัดนี้: ${libdir}/bin/licenseTool check "${SERIAL}" "${VERSION}" "${PRODUCT}" ${libdir} | grep '^200' >/dev/null อะไรคือจุดของการมองหาลวดลายในผลลัพธ์ถ้าผลลัพธ์นั้นถูกโยนทิ้งไป? และหากบรรทัดเช่นนั้นปรากฏขึ้นเป็นสิ่งสุดท้ายในสคริปต์ทุบตีค่าการออกของมันจะถูกส่งกลับไปยังผู้เรียกของสคริปต์หรือถูกละเว้น? (ฉันคาดเดาได้ว่าเราสามารถสันนิษฐานได้ว่าสิ่งนี้ทำเพื่อผลข้างเคียงเท่านั้นหรือส่งคืนบางสิ่งบางอย่างแก่ผู้โทร)

2
วิธีทำให้ฟังก์ชัน zsh“ ถูกต้อง” จดจำการตัดสินใจสะกดคำของฉัน
ผมได้เปิดใช้งานการแก้ไข (ฉันจะไม่เรียกว่าการแก้ไขอัตโนมัติเฉพาะเพราะปัญหานี้) ใน zsh โดยการเปิดใช้ในของฉันsetopt correct.zshrc ตอนนี้เมื่อฉันพิมพ์dtaeเทอร์มินัลฉันจะได้รับ: dtae zsh: correct 'dtae' to 'date' [nyae]? y Tue Mar 31 11:39:31 CEST 2015 ณ จุดนี้ฉันต้องการให้ zsh จดจำการตัดสินใจของฉัน ดังนั้นในครั้งต่อไปที่ฉันพิมพ์dtaeควรแก้ไขให้เป็นdate[1] โดยอัตโนมัติ อย่างไรก็ตามสิ่งนี้ไม่ได้เกิดขึ้นและ zsh ถามฉันอีกครั้งว่าจะทำอย่างไร: dtae zsh: correct 'dtae' to 'date' [nyae]? [1] เว้นแต่แน่นอนถ้าในเวลานั้นมีdtaeคำสั่งหรือนามแฝงอยู่จริง ปรับปรุง: ฉันจัดการเพื่อแก้ไขซอร์สโค้ด zsh (ไฟล์utils.c, ฟังก์ชั่นspckword) เพื่อสร้างไฟล์ที่กำหนดเองที่มีชื่อแทนที่สร้างขึ้นโดยอัตโนมัติด้วยการเรียกใช้ฟังก์ชัน "แก้ไข" ของ zsh: เดิม: if …

3
เปลี่ยนชื่อไดเรกทอรีปัจจุบันจากเปลือก - เป็นไปได้?
เป็นไปได้ไหมที่จะเปลี่ยนชื่อไดเรกทอรีการทำงานปัจจุบันจากภายในเชลล์ (Bash ในกรณีเฉพาะของฉัน)? หากฉันพยายามทำสิ่งนี้อย่างตรงไปตรงมาฉันก็พบว่ามีข้อผิดพลาด: nathan@nathan-desktop:/tmp/test$ mv . test2 mv: cannot move ‘.’ to ‘test2’: Device or resource busy มีวิธีอื่นในการทำเช่นนี้โดยไม่เปลี่ยนไดเรกทอรีปัจจุบันหรือไม่? ฉันรู้ว่าฉันสามารถทำสิ่งนี้ได้อย่างง่ายดายโดยการเปลี่ยนเป็นไดเรกทอรีหลัก แต่ฉันอยากรู้ว่าจำเป็นหรือไม่ ท้ายที่สุดถ้าฉันเปลี่ยนชื่อไดเรกทอรีจากเปลือกอื่นฉันยังคงสามารถสร้างไฟล์ในเปลือกเดิมหลังจากนั้น
24 shell  rename 

3
วิธีใช้ [\ w] + ในการแสดงออกปกติใน sed?
ฉันอยู่บน Windows แต่ฉันเดาว่าคำถามของฉันยังคงอยู่ที่นี่ C:\Users\User>grep --version GNU grep 2.6.3 C:\Users\User>sed --version GNU sed version 4.2.1 ฉันสังเกตเห็นว่างานต่อไปนี้ (การแสดงผลhere): echo here | grep -E "\w+" echo here | grep -E "[her]+" แต่สิ่งนี้ไม่ทำงาน (ไม่แสดงผลอะไร): echo here | grep -E "[\w]+" สิ่งนี้จะทำอีกครั้ง (การส่งออกhere): echo here | grep -P "[\w]+" ดังนั้น[\w]สิ่งที่เฉพาะเจาะจงกับการแสดงออกปกติ Perl ฉันคิดว่า ถูกต้องไหม งั้นมาพูดsedกัน งานนี้ …

1
ความแตกต่างระหว่างเจ้าของ / รูทกับ RUID / EUID
ฉันค่อนข้างใหม่กับแนวคิดที่กล่าวถึงในคำถามและการอ่านเกี่ยวกับพวกเขาจากแหล่งต่าง ๆ เท่านั้นทำให้พวกเขาสับสนมากขึ้น ดังนั้นนี่คือสิ่งที่ฉันเข้าใจจนถึง: เมื่อเราได้รับอนุญาตสำหรับไฟล์มันจะมีลักษณะดังนี้: -rwsr-xr-- 1 user1 users 190 Oct 12 14:23 file.bin เราคิดว่าผู้ใช้user2ที่อยู่ในกลุ่มที่พยายามที่จะดำเนินการusers file.binถ้าบิต setuid ไม่ได้ตั้งค่านี้จะหมายถึงว่าทั้ง RUID และ EUID ของfile.binเท่ากับ UID user2ของ แต่เนื่องจากบิต setuid มีการตั้งค่าที่นี้หมายถึงว่า RUID อยู่ในขณะนี้เท่ากับ UID ของuser2ขณะ EUID user1เป็นโพสต์ของเจ้าของไฟล์ที่ คำถามของฉันคือ: อะไรคือความแตกต่างระหว่างเจ้าของไฟล์และroot? ไม่rootมีสิทธิ์เดียวกันเป็นเจ้าของ? หรือเราจะต้องมีรายการแยกต่างหากในรายการสิทธิ์สำหรับroot? ความแตกต่างระหว่าง RUID และ EUID หรือไม่ ตามที่ฉันเข้าใจแล้ว RUID และ EUID จะใช้กับกระบวนการเท่านั้น หากเป็นเช่นนั้นเหตุใดพวกเขาจึงมีค่ารหัสผู้ใช้ หาก RUID …

1
โปรแกรมอื่นบน X เก็บรหัสผ่านรูตของฉันในขณะที่ฉันพิมพ์ในเทอร์มินัลเสมือนจริงได้หรือไม่?
ฉันมักจะติดตั้งโปรแกรมโอเพนซอร์สในกล่อง linux ของฉันเพราะฉันไม่เชื่อถือแอปพลิเคชันที่ปิดแหล่งที่มา เมื่อเร็ว ๆ นี้ฉันต้องใช้ Dropbox สำหรับโครงการมหาวิทยาลัย ฉันสร้างบัญชี linux แยกต่างหากชื่อwork and run (as work ) dropbox โดยไม่ต้องติดตั้งผ่านสคริปต์ไพ ธ อน สคริปต์ยังสร้างสัญลักษณ์ในซิสเต็มเทรย์ที่ให้ GUI สำหรับฟังก์ชั่นของ Dropbox วันอื่น ๆ ที่ผมต้องทำการบำรุงรักษาบางอย่างเพื่อให้ผมเปิดสถานีเสมือน (konsole บน KDE) และป้อนรหัสผ่านรากของฉันสำหรับsu มีโอกาสที่แอปพลิเคชั่น Dropbox อาจบันทึกรหัสผ่านรูทของฉันหรือไม่ ฉันใช้ Fedora 20 กับ KDE 4.14.3
24 security  x11  xorg  keyboard 

3
ดูรายชื่อผู้ใช้
ฉันต้องการดูจำนวนผู้ใช้ในระบบของฉัน ฉันจะดูรายการผู้ใช้ทั้งหมดในระบบได้อย่างไร?
24 users 

4
วิธีที่เร็วที่สุดในการจัดการขนาดไฟล์ที่ไม่บีบอัดของ GZIPPED ขนาดใหญ่
เมื่อไฟล์ถูก gzipped จะมีวิธีสอบถามอย่างรวดเร็วเพื่อบอกว่าขนาดไฟล์ที่ไม่บีบอัดคืออะไร (โดยไม่ต้องคลายการบีบอัด) โดยเฉพาะอย่างยิ่งในกรณีที่ไฟล์ที่ไม่มีการบีบอัด> 4GB ตาม RFC https://tools.ietf.org/html/rfc1952#page-5คุณสามารถสอบถาม 4 ไบต์สุดท้ายของไฟล์ได้ แต่หากไฟล์ที่ไม่มีการบีบอัดเป็น> 4GB ค่าจะแสดงถึงuncompressed value modulo 2^32 ค่านี้สามารถเรียกคืนได้ด้วยการเรียกใช้gunzip -l foo.gzอย่างไรก็ตามคอลัมน์ "ไม่มีการบีบอัด" จะมีuncompressed value modulo 2^32อีกครั้งซึ่งน่าจะเป็นเพราะมันอ่านส่วนท้ายตามที่อธิบายไว้ข้างต้น ฉันแค่สงสัยว่ามีวิธีการรับขนาดไฟล์ที่ไม่บีบอัดโดยไม่ต้องแตกไฟล์ก่อนซึ่งจะเป็นประโยชน์อย่างยิ่งในกรณีที่ไฟล์ gzipped มีข้อมูล 50GB + และใช้เวลาสักครู่ในการคลายบีบอัดโดยใช้วิธีการเช่น gzcat foo.gz | wc -c แก้ไข:ข้อ จำกัด 4GB ได้รับการยอมรับอย่างเปิดเผยในmanหน้าของgzipยูทิลิตี้ที่มาพร้อมกับ OSX ( Apple gzip 242) BUGS According to RFC 1952, …
24 compression  gzip 

3
ตัวเลือก _netdev mount ใน / etc / fstab ทำงานอย่างไร?
ฉันต้องการที่จะรู้ว่ากลไกที่แน่นอน (การใช้งาน) ที่ใช้ในการเลื่อนการติดตั้งจนกระทั่งหลังจากที่ส่วนต่อประสานเครือข่ายเกิดขึ้นเมื่อมีการใช้_netdevตัวเลือกใน/etc/fstab? ไม่systemdเปลี่ยนแปลงพฤติกรรมนี้หรือไม่? นอกจากนี้delay_connectตัวเลือกอะไรในการ sshfs ให้สิ่งที่_netdevไม่? จากmount หน้าคน : _netdev ระบบไฟล์ตั้งอยู่บนอุปกรณ์ที่ต้องมีการเข้าถึงเครือข่าย (ใช้เพื่อป้องกันไม่ให้ระบบพยายามเมานต์ระบบไฟล์เหล่านี้จนกว่าเครือข่ายจะเปิดใช้งานบนระบบ) จากsshfs หน้าคน : -o delay_connect ชะลอการเชื่อมต่อกับเซิร์ฟเวอร์

7
มีวิธีดูเอกสาร `man 'เฉพาะสำหรับตัวเลือกที่ระบุของคำสั่ง
หากฉันต้องการทราบความหมายของwget -bฉันเห็นคู่มือโดยman wgetแล้วค้นหา-bตัวเลือก -b --background Go to background immediately after startup. If no output file is specified via the -o, output is redirected to wget-log. man wget -bฉันต้องการที่จะได้รับผลจากคำสั่งเช่น (แน่นอนว่ามันไม่ได้ผล) มีวิธีที่คล้ายกันเพื่อให้เป็นไปได้หรือไม่
24 man  options 

2
บริการเทียบกับสคริปต์ systemctl - ที่จะใช้
ใน Fedora เรามีสคริปต์ 'systemctl' และ 'service' systemctlดูเหมือนว่าการให้บริการภายในเรียก ดังนั้นวิธีการที่ถูกต้อง / เหมาะสมใน Fedora คือการเริ่มหรือหยุดบริการ - ผ่านsystemctlหรือserviceสิ่งอำนวยความสะดวก อาจจะมีความแตกต่างที่ต้องจำไว้?
24 fedora  systemd 

1
เครื่องมือบรรทัดคำสั่งมีรายการเติมข้อความอัตโนมัติของตัวเองได้อย่างไร
Bash ใน Ubuntu รู้ได้อย่างไรว่ารายการการกระทำเฉพาะของเครื่องมือ? ตัวอย่างเช่นถ้าฉันพิมพ์apt-getและแท็บสองครั้งฉันจะเห็นเพียงลบอัปเดตอัปเกรด ... ฯลฯ แต่ไม่ใช่การดำเนินการสำหรับคำสั่งอื่นหรือไฟล์ในไดเรกทอรีปัจจุบัน ฉันกำลังพัฒนาเครื่องมือบรรทัดคำสั่งใน Go และต้องการให้ฟีเจอร์นี้สำหรับ distros ที่รองรับ

2
ต่อจุดเมานต์ระบบไฟล์ส่วนตัวของกระบวนการ
ฉันกำลังตรวจสอบunshareคำสั่งและเป็นไปตามหน้า man unshare - run program with some namespaces unshared from parent ฉันยังเห็นว่ามีเนมสเปซประเภทหนึ่งที่ระบุว่าเป็น mount namespace mounting and unmounting filesystems will not affect rest of the system. อะไรคือวัตถุประสงค์ของเนมสเปซเมานต์นี้? ฉันพยายามที่จะเข้าใจแนวคิดนี้ด้วยความช่วยเหลือของตัวอย่าง

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