Unix & Linux

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

2
Windows รู้จักลิงก์สัญลักษณ์ของ Linux หรือไม่
ฉันแค่สงสัยว่าระบบ Windows จัดการกับลิงก์สัญลักษณ์อย่างไร การเดาที่ดีที่สุดของฉันคือมันจะไม่รู้จักพวกเขา แต่ฉันไม่แน่ใจทั้งหมด นอกจากนี้ Macs ต้องทำอย่างไรเมื่อเผชิญหน้ากับสิ่งใด?
14 osx  windows  symlink 

3
แสดงร่างกายฟังก์ชั่นใน Bash
ฉันมีการตั้งค่าฟังก์ชั่นหลายอย่างใน.bashrcไฟล์ของฉัน ฉันต้องการแสดงโค้ดจริงของฟังก์ชันและไม่เรียกใช้งานเพื่ออ้างถึงบางสิ่งบางอย่างได้อย่างรวดเร็ว มีวิธีใดบ้างที่เราจะเห็นนิยามฟังก์ชั่น?
14 bash  function 

3
ฉันจะอนุญาตให้แอป SDL (ไม่ทำงานในฐานะรูท) ใช้คอนโซลได้อย่างไร
ฉันต้องการใช้โปรแกรมที่ใช้ SDL เพื่อแสดงกราฟิกบนคอนโซลโดยไม่ต้องเข้าสู่ระบบจากคอนโซลและไม่เรียกใช้โปรแกรมเป็นรูท ตัวอย่างเช่นฉันต้องการที่จะสามารถเรียกใช้ผ่านทาง ssh ระบบปฏิบัติการเป้าหมายคือ raspbian นี่เป็นตัวอย่างสั้น ๆ ใน python เพื่อแสดงปัญหา: import os, pygame os.environ['SDL_VIDEODRIVER'] = 'fbcon' pygame.init() s = pygame.display.set_mode() print "Success" ใช้งานได้ (ทำงานจนเสร็จสมบูรณ์ไม่ส่งข้อยกเว้น) ถ้าฉันเรียกใช้จากคอนโซลและทำงานผ่าน ssh ถ้าฉันเรียกใช้เป็นรูต ฉันตรวจสอบแล้วว่าผู้ใช้ของฉันอยู่ในกลุ่มเสียงและวิดีโอ ฉันใช้ strace เพื่อดูความแตกต่างระหว่างการเรียกใช้จากคอนโซล (ซึ่งใช้งานได้) การใช้งานเป็น root ผ่าน ssh (ยังใช้งานได้) และใช้งานในฐานะผู้ใช้ทั่วไปผ่าน ssh (ไม่ทำงาน) ข้อแตกต่างแรกคือผู้ใช้ของฉันไม่ได้รับอนุญาตให้เข้าถึง / dev / tty0 ฉันสร้างกลุ่มใหม่ (tty0) ใส่ผู้ใช้ของฉันในกลุ่มนั้นและเพิ่มกฎ …

6
วิธีการส่งคำสั่งหลายคำสั่งเพื่อ SFTP โดยใช้หนึ่งบรรทัด
คำสั่งต่อไปนี้ส่งคำสั่งเดียวไปยังการsftpใช้หนึ่งบรรทัด: sftp -o PasswordAuthentication=no user@host" <<<"lcd /home" วิธีส่งหลายบรรทัดเพื่อsftpใช้หนึ่งบรรทัด มีวิธีแทรกการขึ้นบรรทัดใหม่หรือบางสิ่งเพื่อให้ได้เช่น: sftp -o PasswordAuthentication=no user@host" <<<"lcd /home\n cd /myhome\n get file" แนวคิดคือไม่ใช้sftp -bตัวเลือกที่โหลดคำสั่งรายการไฟล์ภายนอก
14 scripting  sftp 

5
Debian checkinstall ละเว้นการติดตั้ง = no; จะสร้างได้อย่างไร แต่ไม่ติดตั้งแพคเกจใหม่โดยอัตโนมัติ?
ตกลงนี่คือสิ่งหนึ่งที่ไขปริศนาฉัน ... ฉันกำลังพยายามสร้างแพ็คเกจจากซอร์สโค้ดแล้วใช้checkinstallเพื่อสร้างแพ็คเกจ. deb โปรดทราบว่าฉันต้องการเพียงแค่สร้างแพคเกจ .deb แต่ฉันไม่ต้องการที่จะติดตั้งมัน ต่อไปนี้เป็นตัวอย่าง - ฉันใช้ Ubuntu 11.04 และก่อนอื่นฉันติดตั้งfehแพคเกจจากที่เก็บเริ่มต้น ซึ่งมีหมายเลขรุ่นที่เห็นได้ชัดคือ1.3.4.dfsg.1-3 จากนั้นฉันก็พยายามที่จะสร้างfeh จากแหล่งที่มา ; ได้makeผ่านไปแล้วและสามารถเรียกใช้ใหม่fehจากบรรทัดคำสั่ง; โอ่โถง ในที่สุดเมื่อต้องการสร้างแพ็คเกจ deb ฉันใช้บรรทัดคำสั่งต่อไปนี้: sudo checkinstall -D -y \ --install=no \ --fstrans=no \ --reset-uids=yes \ --pkgname=feh \ --pkgversion=2.7 \ --pkgrelease="tar.bz2" \ --arch=i386 \ --pkglicense=GPL \ --maintainer="Debian PhotoTools Maintainers <pkg-phototools-devel@lists.alioth.debian.org>" \ --pakdir=../.. \ …



5
การสร้างไดเรกทอรีจำนวนมากโดยใช้ mkdir
mkdirผมอยากจะสร้างไดเรกทอรีมากใช้ แต่ละชื่อไดเรกทอรีจะประกอบด้วยคำนำหน้า (สตริง) และดัชนี (จำนวนเต็ม) สมมติว่าฉันต้องการให้คำนำหน้าเป็น "s" และดัชนีอยู่ในช่วงตั้งแต่ 1 ถึง 50 ซึ่งหมายความว่าฉันต้องการสร้างไดเรกทอรีชื่อ: s1,, s2... s49,,s50 มีวิธีการทำสิ่งนี้โดยอัตโนมัติโดยใช้mkdirหรือไม่? ขอบคุณที่สละเวลา.
14 shell  directory 

5
รายการ X ไฟล์สุ่มจากไดเรกทอรี
มีวิธีในการแสดงรายการชุดของไฟล์ที่สุ่ม 30 ไฟล์จากไดเรกทอรีโดยใช้คำสั่ง Linux มาตรฐานหรือไม่? (ในzsh) คำตอบสูงสุดที่อธิบายไว้ที่นี่ไม่ทำงานสำหรับฉัน ( sortไม่รู้จักตัวเลือก-R)
14 shell  files  zsh 

3
ความแตกต่างระหว่าง“ ฮาร์ดแวร์เครื่อง”,“ ประเภทโปรเซสเซอร์” และ“ แพลตฟอร์มฮาร์ดแวร์”
เครื่อง Linux ของฉันรายงานผลลัพธ์ "uname -a" ดังต่อไปนี้: [root@tom i386]# uname -a Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux [root@tom i386]# ตามหน้า man ของ uname รายการ "i686 i686 i386" หมายถึง: ชื่อฮาร์ดแวร์เครื่อง (i686) ประเภทหน่วยประมวลผล (i686) แพลตฟอร์มฮาร์ดแวร์ (i386) ข้อมูลเพิ่มเติม: [root@tom i386]# cat /proc/cpuinfo <snip> vendor_id : …

1
ความสามารถในการใช้งานในสคริปต์โดยไม่ต้อง setcap'ing ล่ามไบนารี?
ตอนนี้ฉันกำลังใช้cap_net_bind_service MY_USERNAMEใน /etc/security/capability.conf ตอนนี้ผมก็ต้องชุดcap_net_bind_service+iล่ามภาษาสคริปต์ที่ชื่นชอบเพื่อให้สามารถที่จะเพิ่มCAP_NET_BIND_SERVICEไปที่มีประสิทธิภาพชุดผ่าน libcap [-ng] ใช้งานได้ดี แต่ฉันสงสัยว่ามีวิธีการที่จะบรรลุสิ่งเดียวกันโดยไม่ต้องตั้งค่าตัวพิมพ์ใหญ่ใด ๆ ให้เป็นล่ามไบนารี ในขณะที่มันไม่ใช่ปัญหาใหญ่ (บัญชีผู้ใช้อื่นไม่มีขีด จำกัด ดังนั้นพวกเขาจึงไม่สามารถใช้งานได้แม้จะมีการตั้งค่าบิตในตัวแปลไบนารี่) มันค่อนข้างน่ารำคาญเนื่องจากฉันต้องตั้งค่าสถานะใหม่ทุกครั้งที่ล่ามเป็น อัปเดต

2
Kde: วิธีผูกแอปพลิเคชั่นอย่างถาวรกับเดสก์ท็อป / กิจกรรม?
ฉันค่อนข้างใหม่สำหรับ Kde 4.8 และฉันไม่สามารถหาวิธีที่จะได้รับพฤติกรรมนี้ที่ฉันเคยมีใน Gnome: เดสก์ท็อป 1: นักพัฒนา / อื่น ๆ (เบราว์เซอร์, ตัวแก้ไข / IDE, diff ฯลฯ ) เดสก์ท็อป 2: เครื่องเสมือน (vbox) เดสก์ท็อป 3: กราฟิก (gimp, inkscape, phatch) เดสก์ท็อป 4: การจัดการไฟล์ (ftp, ssh, ฯลฯ .. ) ในคำพังเพยเป็นไปได้ในการกำหนดค่าหน้าต่างที่จะเสมอปรากฏในสก์ท็อปที่เฉพาะเจาะจงและนี่คือสิ่งที่ฉันต้องการที่จะบรรลุใน KDE ฉันไปรอบ ๆ และดูเหมือนว่ากิจกรรมไม่สามารถทำได้ (แต่) เพราะการใช้เมนูของหน้าต่างจะทำงานเฉพาะกับเซสชันปัจจุบันเท่านั้นและหายไปหลังจากรีบูต โดยวิธีการที่ฉันคิดว่ากิจกรรมสามารถทำเช่นนั้นเพราะในกิจกรรมเริ่มต้นที่มาพร้อมกับ Kde 4.8 Gimp ใช้ในการแสดงเฉพาะในกิจกรรมภาพถ่าย (ฉันให้ดูการกำหนดค่ากิจกรรม แต่ฉันไม่พบอะไรเกี่ยวกับพฤติกรรมนี้ …

3
มีทางเลือกอื่นสำหรับ `dd 'หรือไม่?
ฉันควรใช้เครื่องมืออื่นใดในการอ่านและเขียนไฟล์ที่มีการตัด, การค้นหาและการข้าม ตัวเลือกบรรทัดคำสั่งของ dd ดูไม่สะดวกและแปลกปลอมและฉันไม่ชอบการเลือกระหว่างโหมดการค้นหาที่ช้า แต่แม่นยำ ( bs=1) และรวดเร็ว แต่โหมดยืดหยุ่น ( bs=4kหรืออะไรก็ตาม) มีเครื่องมือที่ทันสมัยกว่าในการอ่าน 555 ไบต์จากไฟล์หนึ่งไฟล์ (หรือไพพ์หรือซ็อกเก็ตหรือ dev) จากตำแหน่ง 31337 และเขียนลงในไฟล์อื่นที่ตำแหน่ง 128205 (โดยใช้บล็อก 512 + 43) โดยมีหรือไม่มีการตัดปลาย
14 files  utilities  dd  binary 

3
วิธีการอ่านตารางพาร์ทิชันในหน่วยความจำ (เคอร์เนล) ของ / dev / sda?
ฉันเขียนทับตารางพาร์ติชัน / dev / sda ของฉันโดยไม่ได้ตั้งใจด้วย GParted ( เรื่องเต็มใน AskUbuntu ) เนื่องจากฉันยังไม่ได้บูตเครื่องใหม่และระบบไฟล์ของฉันยังใช้งานได้อย่างสมบูรณ์แบบฉันจึงได้รับแจ้งว่าฉันอาจกู้คืนตารางพาร์ติชันจากหน่วยความจำในเคอร์เนลได้ เป็นไปได้ไหม ถ้าเป็นเช่นนั้นฉันจะกู้คืนและคืนค่าได้อย่างไร

3
GID หมายถึงอะไร?
GID หมายถึงอะไรจริง ๆ ? ฉันได้ Googled มันและนี่คือสิ่งที่linux.about.comพูดว่า: หมายเลขประจำตัวกลุ่มสำหรับกระบวนการ หมายเลขกลุ่มที่ถูกต้องจะได้รับใน/etc/groupและในฟิลด์ GID ของ/etc/passwdไฟล์ เมื่อกระบวนการเริ่มต้น GID นั้นจะถูกตั้งค่าเป็น GID ของกระบวนการหลัก แต่นั่นหมายความว่าอย่างไร สิทธิ์ที่ฉันมีสำหรับโฟลเดอร์ของฉันอยู่ที่ 0755 ฉันเข้าใจว่าฉันตั้งค่า UID ให้กับเจ้าของหรือไม่ 4755 และถ้าฉันตั้ง GID ของกลุ่มมันจะเป็น 2755 ถ้าฉันตั้งค่า Sticky Bit สำหรับผู้อื่นมันจะเป็นเช่นนั้น 1755 การตั้งค่าการอนุญาตเหล่านั้นสำคัญหรือไม่

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