Unix & Linux

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


3
วิธีการทำให้บริการยูนิกซ์เห็นตัวแปรสภาพแวดล้อม?
ฉันได้ตั้งค่าตัวแปรสภาพแวดล้อมของฉันโดยใช้/etc/profile: export VAR=/home/userhome ถ้าอย่างนั้นฉันecho $VARก็แสดงให้เห็น/home/userhome แต่เมื่อฉันใส่การอ้างอิงตัวแปรนี้ลงใน/etc/init.d/servicenameไฟล์มันไม่สามารถหาตัวแปรนี้ เมื่อฉันเรียกservice servicename statusใช้/etc/init.d/servicenameไฟล์ที่มีเนื้อหาดังต่อไปนี้: case "$1" in status) cd $VAR/dir ;; esac มันบอกว่า /dir: No such file or directory แต่มันใช้งานได้ถ้าฉันวิ่ง/etc/init.d/servicename statusแทนservice servicename status ฉันจะทำให้ยูนิกซ์เห็นตัวแปรสภาพแวดล้อมได้อย่างไร?

14
วิธีที่ง่ายที่สุดในการค้นหาพอร์ตในเครื่องที่ไม่ได้ใช้คืออะไร
วิธีที่ง่ายที่สุดในการค้นหาพอร์ตในเครื่องที่ไม่ได้ใช้คืออะไร ขณะนี้ฉันกำลังใช้บางสิ่งที่คล้ายกับสิ่งนี้: port=$RANDOM quit=0 while [ "$quit" -ne 1 ]; do netstat -a | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done รู้สึกถึงวงเวียนอย่างสุดขีดดังนั้นฉันจึงสงสัยว่าจะมีเส้นทางที่ง่ายขึ้นเช่นตัวในที่ฉันพลาดไปหรือเปล่า

4
ดำเนินการคำสั่งก่อนปิดเครื่อง
ฉันต้องการรันคำสั่งง่าย ๆ ก่อนที่คอมพิวเตอร์จะปิดเครื่อง (การกำหนดเวลาไม่จำเป็น) สำหรับการเริ่มต้นฉันสามารถใช้ / etc / rc.local; มีบางอย่างที่คล้ายกันสำหรับการปิดระบบ? โปรดทราบว่าฉันยังต้องการใช้ปุ่มปิดการทำงานแบบรวมจากเมนู เช่นฉันไม่ต้องการใช้สคริปต์ที่กำหนดเองทุกครั้งที่ฉันปิดระบบผ่านเทอร์มินัล - มันต้องเป็นแบบอัตโนมัติ

4
วิธีแก้ไขบรรทัดคำสั่งในเครื่องมือแก้ไขแบบเต็มหน้าจอใน ZSH
ใน bash โดยใช้โหมด vi หากฉันกดEsc, vบรรทัดคำสั่งปัจจุบันของฉันจะเปิดขึ้นในตัวแก้ไขที่ระบุโดย$EDITORและฉันสามารถแก้ไขได้แบบเต็มหน้าจอก่อนที่จะ 'บันทึก' คำสั่งเพื่อกลับสู่เชลล์และดำเนินการ ฉันจะบรรลุพฤติกรรมที่คล้ายกันใน zsh ได้อย่างไร การกดปุ่มvในโหมดคำสั่งส่งผลให้สัญญาณกระดิ่งและไม่มีผลกระทบที่ชัดเจนแม้จะมีEDITORการตั้งค่าตัวแปรสภาพแวดล้อม
52 zsh  editors 

4
ตั้งค่าช่วงเครือข่ายในตัวแปรสภาพแวดล้อม no_proxy
ฉันอยู่ในเครือข่ายที่ใช้พรอกซี ฉันมีเครื่องที่ใช้สคริปต์จำนวนมากที่นี่และเข้าถึงกันผ่านทาง HTTP เครือข่ายคือ 10.0.0.0/8 พร็อกซีของฉันคือ 10.1.1.1:81 ดังนั้นฉันจึงตั้งค่าตามความเหมาะสม: export http_proxy=http://10.1.1.1:81/ ฉันต้องการยกเว้นช่วงของตัวเองเพื่อเข้าถึงด้วยพร็อกซี ฉันลองชุดค่าผสมที่มีอยู่ export no_proxy='10.*' export no_proxy='10.*.*.*' export no_proxy='10.0.0.0/8' ไม่มีการทำงานข้างต้น! ฉันกำลังทดสอบอยู่wgetและพยายามค้นหาพร็อกซีเสมอไม่ว่าจะใช้ที่อยู่ IP ใดก็ตามที่ฉันต้องการเชื่อมต่อ เนื่องจากสคริปต์จำนวนมากอยู่ทุกที่ในทุกระบบ--no-proxyตัวเลือกจึงไม่ใช่ตัวเลือก ฉันต้องการตั้งค่าระบบให้กว้าง
52 bash  wget  curl  http-proxy 

10
จะเริ่มและปิดเครื่อง VirtualBox โดยอัตโนมัติได้อย่างไร
ฉันจำเป็นต้องเรียกใช้ระบบซอฟต์แวร์ที่ตั้งใจจะติดตั้งเป็นอุปกรณ์ในเครื่องเฉพาะ เพื่อประหยัดพลังงานฉันวางแผนที่จะใช้ระบบบน VirtualBox VM แทน โฮสต์เป็นกล่อง Linux มาตรฐานที่มีระบบ SysV-Init แขกเป็น Linux ที่ได้รับการดัดแปลงอย่างมากและฉันไม่ต้องการแก้ไขมันเพิ่มเติมอีก VirtualBox ใช้ในเวอร์ชั่น OSE ฉันได้คิดแล้วว่าจะเริ่มต้น VM ได้อย่างไรเมื่อโฮสต์บู๊ต ( แก้ไข:เสร็จสิ้นตามที่ Nikhil พูดถึงด้านล่างผ่านคำสั่งVBoxManager startvm) แต่ฉันจะปิด VM ได้อย่างไร สคริปต์ใด ๆ ที่ทำงานบนโฮสต์จะต้องรอจนกว่าแขกจะปิดตัวลงอย่างสมบูรณ์ ใครบ้างสามารถแนะนำวิธีการเช่นไฟล์บริการการทำเช่นนี้จะต้องดู?

5
อะไรคือความแตกต่างพื้นฐานระหว่างหอยหลัก * NIX? [ปิด]
อะไรคือความแตกต่างพื้นฐานระหว่างเชลล์หลัก * NIX และสถานการณ์ใดที่อาจพร้อมท์ให้คุณใช้อีกอันหนึ่ง? ฉันเข้าใจว่าบางอย่างอาจลงมาตามความต้องการของผู้ใช้ แต่ฉันเคยใช้ bash และฉันสนใจที่จะได้ยินว่าเชลล์อีกอันมีประโยชน์หรือไม่ นอกจากนี้จะมีผลกระทบกับเชลล์สคริปต์ที่ผู้ใช้เขียนเมื่อทำงานภายใต้เชลล์หนึ่งหรืออีกเชลล์หรือเป็นเพียงเรื่องของการเปลี่ยนเชลล์ที่ด้านบนของไฟล์หรือไม่? สัญชาตญาณของฉันบอกว่ามันไม่ง่ายเลย
52 shell 

5
Mutt: วิธีการเก็บรหัสผ่านอย่างปลอดภัย?
ไฟล์. mtrtrc ของฉันดูเหมือนไฟล์นี้หรือดูด้านล่าง ฉันลังเลกับรหัสผ่าน ฉันจะเก็บรหัสผ่านของฉันไว้ใช้muttอย่างไร set imap_user = "username@gmail.com" set imap_pass = "password" set smtp_url = "smtp://username@smtp.gmail.com:587/" set smtp_pass = "password" set from = "username@gmail.com" set realname = "Your Real Name"
52 security  mutt 

7
เคอร์เนล Linux: การสอนที่ดีสำหรับผู้เริ่มต้น [ปิด]
ฉันสนใจที่จะแก้ไขเคอร์เนลภายในใช้แพตช์จัดการไดรเวอร์อุปกรณ์และโมดูลเพื่อความสนุกส่วนตัวของฉันเอง มีทรัพยากรที่ครอบคลุมสำหรับการแฮ็กเคอร์เนลสำหรับโปรแกรมเมอร์ที่มีประสบการณ์หรือไม่?


1
ทำความเข้าใจกับสิ่งที่ไบนารีของ Linux กำลังทำอยู่
ฉันเพิ่งมีงานที่ทำงานเพื่อทำความเข้าใจกับโปรแกรมไบนารีลินุกซ์ อย่างไรก็ตามโปรแกรมอยู่ในรูปแบบไบนารี ผมใช้คำสั่งfile, stringsและobjdumpที่จะมีความคิดเล็กน้อยของสิ่งที่มันกำลังทำอะไรและสิ่งที่ฟังก์ชั่นที่มันจะถูกเรียก ดูเหมือนว่าไบนารีจะถูกคอมไพล์ด้วยข้อมูลการดีบัก ฉันสามารถเรียนรู้อะไรได้อีก

2
ตำแหน่งของไฟล์ crontab
เป็นคนอื่น ๆ (มากที่สุด) ฉันแก้ไข crontab ของฉันผ่านcrontab -eที่ฉันเก็บการดำเนินการตามปกติทั้งหมดเช่นการสำรองข้อมูลส่วนเพิ่ม ntpdate การดำเนินการ rsync ต่างๆ จากสิ่งที่ฉันเข้าใจในการติดตั้งใหม่หรือผู้ใช้ใหม่สิ่งนี้จะสร้างไฟล์โดยอัตโนมัติหากไม่มีอยู่ อย่างไรก็ตามฉันต้องการคัดลอกไฟล์นี้ไปยังผู้ใช้รายอื่นดังนั้นไฟล์จริงที่ฉันแก้ไขอยู่ที่ไหน หากสิ่งนี้แตกต่างกันระหว่าง distros ฉันใช้ Centos5 และ Mint 17
52 cron  filenames 

2
การจับคู่บลูทู ธ ในการบู๊ตคู่ของ Windows & Linux Mint / Ubuntu - หยุดการจับคู่อุปกรณ์
เมื่อบูทคู่กับ Windows 7/10 และ Linux Mint / Ubuntu คุณอาจต้องซ่อมอุปกรณ์บลูทู ธ ซ้ำแล้วซ้ำอีก สิ่งนี้จะเกิดขึ้นทุกครั้งที่คุณสลับระบบปฏิบัติการ ตอนนี้คุณจะป้องกันได้อย่างไร ฉันตอบคำถามของตัวเองด้วยคำแนะนำต่อไปนี้ซึ่งได้รับการทดสอบบน Ubuntu 14.4 และ Linux มิ้นต์ 17.2, 17.3 และตอนนี้ Linux Mint 18.x

5
เหตุใดการเมานท์จึงเกิดขึ้นกับไดเรกทอรีที่มีอยู่
ไดเรกทอรีที่มีอยู่เป็นสิ่งจำเป็นเป็นจุดเชื่อมต่อ $ ls $ sudo mount /dev/sdb2 ./datadisk mount: mount point ./datadisk does not exist $ mkdir datadisk $ sudo mount /dev/sdb2 ./datadisk $ ฉันพบว่ามันสับสนเพราะมันซ้อนทับเนื้อหาที่มีอยู่ของไดเรกทอรี มีสองเนื้อหาที่เป็นไปได้ของไดเรกทอรีจุดเชื่อมต่อซึ่งอาจได้รับการสลับโดยไม่คาดคิด (สำหรับผู้ใช้ที่ไม่ได้ทำการติดตั้ง) เหตุใดจึงไม่mountเกิดขึ้นในไดเรกทอรีที่สร้างขึ้นใหม่ นี่คือวิธีที่ระบบปฏิบัติการกราฟิกแสดงสื่อบันทึกข้อมูลแบบถอดได้ มันจะชัดเจนหากติดตั้งไดเรกทอรี (มีอยู่) หรือไม่ได้ติดตั้ง (ไม่มีอยู่) ฉันค่อนข้างมั่นใจว่ามีเหตุผลที่ดี แต่ฉันยังไม่สามารถค้นพบได้
52 mount 

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