Unix & Linux

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

2
ไฟล์จัดเก็บเคอร์เนลอยู่ที่ไหน
ปัจจุบันฉันเรียกใช้ Angstrom Linux 2.6.32 ฉันตั้งใจจะอัพเกรดเคอร์เนลลินุกซ์จาก 2.6.32 เป็น 3.0.7 ด้วยเหตุนี้ฉันจึงต้องกำหนดค่าเคอร์เนล 3.0.7 ที่ทำงานmake menuconfigอยู่ ตอนนี้ฉันต้องการเปรียบเทียบการกำหนดค่าเคอร์เนลใหม่กับก่อนหน้านี้ แต่ฉันไม่พบไฟล์การกำหนดค่าเคอร์เนล 3.0.7 ความคิดใด ๆ

9
แสดงเฉพาะไฟล์ที่ขึ้นต้นด้วย (ซ่อน)
ฉันพยายามแสดงเฉพาะไฟล์ที่ซ่อนอยู่ แต่ไม่รู้ว่าจะทำอย่างไร ใช้งานได้ (แต่การจับคู่ยังจุดในที่อื่น ๆ ) ls -la | grep '\.' พยายามเพิ่ม^แต่ไม่พบวิธีแก้ปัญหา
11 find  ls  dot-files 

4
Bash จะให้กระบวนการพื้นหลังทำงานอย่างไร แต่รอให้กระบวนการอื่น ๆ ทำงาน
ฉันมี (ยัง) อีกwait, &, &&คำถามการควบคุมการไหล .. ว่าฉันมีสคริปต์บางอย่างเช่นนี้ที่ฉันต้องการทำงานมากที่สุดในเวลาเดียวกันเป็นไปได้: # may take some hours something InputA > IrrelevantA & something InputB > IrrelevantB & # may take an hour ( somethingElse InputA > OutputA & somethingElse InputB > OutputB & )&& combine OutputA OutputB > Result ...morestuff คำถามที่ 1: ในสคริปต์combineรอให้somethingElseกระบวนการทั้งสองเสร็จสิ้นในขณะที่somethingกระบวนการทั้งสองดำเนินการต่อหรือไม่ คำถามที่ 2: …

2
crontab -e ทำไมแตกต่างจาก / etc / crontab น้อยลง?
ฉันค่อนข้างใหม่สำหรับยูนิกซ์และ crons ตอนนี้ฉันกำลังพยายามเพิ่ม crons ลงในไฟล์ cron ที่มีอยู่ crontab -eผมอ่านที่คุณสามารถทำเช่นนี้กับ สิ่งที่น่าสับสนสำหรับฉันก็คือมันcrontab -eแสดงให้เห็นถึง crons / คำสั่งต่าง ๆ ที่แตกต่างจากless /etc/crontab- ทำไมล่ะ? วิธีใด / วิธีที่ถูกต้องในการแก้ไข?
11 cron 

3
ฉันจะใช้ตาราง fdisk ใหม่โดยไม่ต้องรีบูท (kpartx) ได้อย่างไร
เมื่อฉันเรียกใช้ fdisk และเปลี่ยนขนาดของพาร์ติชัน fdisk จะพูดที่ส่วนท้ายของเอาต์พุต: The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) ฉันต้องการทำเช่นนั้นโดยไม่ต้องรีบูตเครื่อง (จากนั้นเขียนสคริปต์ที่ใช้งานได้) ฉันจะใช้kpartxเพื่อทำสิ่งนี้อย่างถูกต้องได้อย่างไร ฉันได้พยายาม: kpartx -f -v /dev/mmcblk0 ผลลัพธ์ใด: mmcblk0p1 : 0 102400 /dev/mmcblk0 2048 mmcblk0p2 : 0 7657472 /dev/mmcblk0 104448 และ: kpartx -a -v /dev/mmcblk0 ผลลัพธ์ใด: device-mapper: …
11 debian  fdisk 

7
$ 0 จะรวมเส้นทางไปยังสคริปต์หรือไม่
ฉันต้องการ grep สคริปต์ปัจจุบันเพื่อให้ฉันสามารถพิมพ์ความช่วยเหลือและข้อมูลรุ่นจากส่วนความเห็นที่ด้านบน ฉันกำลังคิดถึงสิ่งนี้: grep '^#h ' -- "$0" | sed -e 's/#h //' แต่ฉันสงสัยว่าจะเกิดอะไรขึ้นถ้าสคริปต์นั้นอยู่ในไดเรกทอรีที่อยู่ใน PATH และถูกเรียกโดยไม่ระบุไดเรกทอรีอย่างชัดเจน ฉันค้นหาคำอธิบายของตัวแปรพิเศษและพบคำอธิบายต่อไปนี้ของ$0: ชื่อของเชลล์หรือโปรแกรมปัจจุบัน ชื่อไฟล์ของสคริปต์ปัจจุบัน ชื่อของสคริปต์เอง คำสั่งในขณะที่มันถูกเรียกใช้ สิ่งเหล่านี้ไม่ทำให้ชัดเจนว่าค่าของ$0จะรวมถึงไดเรกทอรีหรือไม่หากสคริปต์ถูกเรียกใช้โดยไม่มี อันสุดท้ายบ่งบอกถึงความจริงที่ว่ามันจะไม่เกิดขึ้น ทดสอบบนระบบของฉัน (Bash 4.1) ฉันสร้างไฟล์เรียกทำงานได้ใน / usr / local / bin ชื่อscriptnameด้วยหนึ่งบรรทัดecho $0และเรียกใช้จากตำแหน่งอื่น นี่คือผลลัพธ์ของฉัน: > cd /usr/local/bin/test > ../scriptname ../scriptname > cd /usr/local/bin > ./scriptname ./scriptname > …

1
การขยายตัวแปรทางอ้อมใน POSIX เช่นเดียวกับในทุบตี?
เป็นไปได้หรือมีแฮ็กที่สง่างามที่จะทำการขยายตัวแปรทางอ้อมใน POSIX ที่สามารถทำได้ใน Bash? สำหรับบริบทฉันพยายามทำสิ่งต่อไปนี้: for key in ${!map_*} do # do something done แก้ไข: map_ชี้แจงฉันต้องการที่จะเข้าถึงเปลือกตัวแปรที่ขึ้นต้นด้วย

4
อาร์เรย์ที่เกี่ยวข้องในเชลล์สคริปต์
ฉันเห็นเคล็ดลับสำหรับการใช้อาร์เรย์เชื่อมโยงในเชลล์สคริปต์ ตัวอย่างเช่นprint array["apples"]สามารถสคริปต์เป็นecho \$array$keyตำแหน่งที่สำคัญ = แอปเปิ้ล อย่างไรก็ตามไม่มีการพูดถึงวิธีสร้างคีย์เพื่อวนซ้ำแถวลำดับ วิธีเดียวที่ฉันคิดได้ก็คือเก็บคีย์ไว้ในตัวแปรที่คั่นด้วยช่องว่างดังนั้นฉันสามารถใช้ for-loop เพื่อวนซ้ำในอาร์เรย์ ดังนั้นมีวิธีอื่นในการจัดเก็บคีย์เพื่อใช้ในภายหลังหรือไม่


3
วิธีการระบุความล่าช้าในการเข้าสู่ระบบใน ssh
ฉันต้องการให้ล่าช้าในการเข้าสู่ระบบในขณะที่เข้าสู่ระบบผ่าน ssh ฉันพยายามสองวิธีในการทำเหมือนกัน แต่ไม่พบผลลัพธ์ที่ต้องการ ฉันลองขั้นตอนที่ได้รับจากลิงก์ที่กำหนด http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables iptables -N SSH_CHECK iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK iptables -A SSH_CHECK -m recent --set --name SSH iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP ฉันไม่ได้ติดตั้งโมดูล pam บนเครื่องของฉันดังนั้นจึงไม่สามารถทำการแก้ไขใด ๆ ที่เกี่ยวข้องกับไฟล์ pam …
11 linux  networking  ssh  sshd 

3
จะวางระบบ cronjobs ได้ที่ไหน?
หากฉันต้องการcronjob ที่ทำงานในระดับระบบ (เช่นไม่เฉพาะสำหรับผู้ใช้บางคน) คุณจะแนะนำให้ฉันสร้างมันได้อย่างไร? ทำงานcrontab -eเป็นราก ผนวกเข้ากับ /etc/crontab การสร้างไฟล์ที่กำหนด cronjob ใน /etc/cron.d/ การสร้างไฟล์ที่กำหนด cronjob ใน/etc/cron.*ly/(แต่ถ้าช่วงเวลาดังกล่าวตรงกับความต้องการของฉัน) สิ่งที่ผมกังวลส่วนใหญ่คือซึ่งวิธีการเหล่านี้อาจจะถูกเขียนทับโดยการปรับปรุงระบบ ? Additionaly ฉันเดาว่าถ้างานเป็นระยะเวลาที่ฉันควรใส่ไว้ในไฟล์สคริปต์ที่แยกต่างหาก/root/bin/เช่นใน คุณเห็นด้วยหรือไม่?
11 cron  upgrade 

3
การรับ PID ของคำสั่งก่อนหน้านี้ใน Pipeline
ฉันกำลังเขียนสคริปต์ทุบตีเพื่อใช้inotifywaitในการตรวจสอบไดเรกทอรีและเริ่มดำเนินการเมื่อตรวจพบการเปลี่ยนแปลง สิ่งที่ต้องการ: inotifywait -m ... | while read f; do something; done เนื่องจากinotifywaitไม่ได้ยุติลงเองสคริปต์นี้จะไม่หยุด ดังนั้นแผนของฉันคือรับ PID ของกระบวนการ inotifywait บันทึกลงในไฟล์และมีกระบวนการอื่นฆ่ามันในภายหลังเช่น: inotifywait -m ... | { echo ??PID?? > pid-file; while ... } แต่ฉันไม่รู้วิธีรับ PID มีวิธีง่ายๆในการบรรลุเป้าหมายนี้หรือไม่? อีกวิธีหนึ่งก็คือการบันทึก PID ของเชลล์สคริปต์$$ไปยังไฟล์และฆ่าเชลล์สคริปต์ทั้งหมด แต่ฉันต้องการล้างข้อมูลบางอย่างหลังจากวนลูป ฉันลองใช้coprocแล้วฉันคิดว่ามันใช้งานได้ แต่ดูเหมือนว่าจะซับซ้อนกว่าที่จำเป็น
11 bash  pipe  pid 

1
“ f” ใน fdisk หมายถึงอะไร
gdiskย่อมาจาก GPT fdisk cfdiskคำสาปแช่ง fdisk และอื่น ๆ และอื่น ๆ. อย่างไรก็ตาม "f" แบบดั้งเดิมนั้นใช้fdiskแทนอะไร สิ่งเดียวที่ฉันนึกได้ก็คือทั้ง "ไฟล์" หรือ "ฟลอปปี้" แต่สิ่งเหล่านี้ไม่สมเหตุสมผล

3
มีวิธีกำหนดแพ็คเกจหรือไลบรารีที่ควรโหลดเพื่อสนับสนุนการปฏิบัติการหรือไม่?
มีไฟล์ปฏิบัติการที่ฉันต้องการติดตั้งบนคอมพิวเตอร์ที่ฉันไม่สามารถคอมไพล์ใหม่ที่ไม่ได้สร้างเป็นแพ็คเกจได้และฉันต้องการดาวน์โหลดไลบรารี่ที่ต้องใช้ในการรัน ด้านล่างเป็นส่วนหนึ่งของผลลัพธ์จากการทำงานlddบนมัน libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb702f000) libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6f64000) libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6f43000) libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6e9e000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6cf4000) /lib/ld-linux.so.2 (0xb786e000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6cd3000) libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6b7c000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6b4f000) มีเครื่องมือที่สามารถใช้ข้อมูลนี้เพื่อเลือกแพคเกจที่ควรดาวน์โหลดหรือดีกว่า แต่แตกเฉพาะรายการไลบรารีและการอ้างอิงของพวกเขาเพื่อลดการใช้งานดิสก์? ระบบกำลังทำงานบนหัวขาด VM และโปรแกรมจะแสดงผลผ่าน VNC แม้ว่าฉันจะสงสัยว่าเดสก์ท็อปกราฟิกเต็มรูปแบบที่เป่าออกมานั้นจะจัดหาไลบรารีส่วนใหญ่ที่ฉันต้องการดาวน์โหลดเฉพาะไลบรารีที่จำเป็นเท่านั้นการพึ่งพาของพวกเขาและแพ็คเกจ X Windows เพียงพอที่จะรองรับ

2
ฉันจะตรวจสอบการกำหนดค่าการเสนอราคาเคอร์เนลของฉันได้อย่างไร
ฉันต้องการตรวจสอบว่าเคอร์เนล Linux ของฉันเป็นแบบ preemptive หรือไม่ใช่แบบ preemptive ฉันจะตรวจสอบสิ่งนี้โดยใช้คำสั่งอะไรเช่นuname -a?
11 linux  kernel 

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