คำถามติดแท็ก unix

Unix เป็นระบบปฏิบัติการคอมพิวเตอร์แบบหลายผู้ใช้ที่พัฒนาขึ้นในปี 2512 โดยกลุ่มพนักงานของ AT&T ที่ Bell Labs

1
ทำไมการเชื่อมโยงระหว่าง .. และผู้ปกครองหลักคือฮาร์ดลิงก์?
ฉันเพิ่งสังเกตเห็นว่าการเชื่อมโยงระหว่าง .. และผู้ปกครอง dir คือ hardlink พวกเขามีหมายเลขไอโหนดเดียวกัน: starpinker@host /home/starpinker/unix $ ls -ail 8200794 drwxrwxr-x 2 starpinker starpinker 4096 Aug 23 11:22 . 1409238 drwxrwxr-x 2 starpinker starpinker 4096 Aug 23 11:22 .. ซึ่งมีจำนวน inode ของ/home/starpinker/unixมี8200794และหมายเลขไอโหนดของตรง/home/starpinker1409238 ฉันมีคำถามเกี่ยวกับเรื่องนี้: ฮาร์ดลิงก์ไม่สามารถสร้างข้ามระบบไฟล์ที่แตกต่างกัน ถ้าเช่นนั้นพาเรนต์ไดเร็กทอรีและไดเร็กทอรีย่อยอยู่ในระบบไฟล์ต่างกัน? ตัวอย่างเช่นในกรณีของฉันหาก/home/starpinkerและ/home/starpinker/unixอยู่ในระบบไฟล์ที่แตกต่างกันยูนิกซ์เป็นเพียงจุดเชื่อมต่อแล้วลิงก์ระหว่าง/home/starpinker/unix/..และ/home/starpinkerยังคงเป็นลิงก์ถาวรหรือไม่

1
งานในเซสชั่น SSH อื่น ๆ
ลองนึกภาพสถานการณ์นี้ฉันเปิดเซสชัน ssh ในเซสชันนั้นฉันเริ่มกระบวนการและวางไว้บนพื้นหลังด้วย&หรือctrl+ zจากนั้นฉันปิดเซสชันนี้ มีวิธีที่จะเปิดเซสชั่นอื่นและวางกระบวนการนี้ในเบื้องหน้าหรือไม่ เนื่องจากงานไม่มีอยู่อีกต่อไป
1 unix 

1
การป้องกันไม่ให้สคริปต์ Perl หยุดทำงานโดยอัตโนมัติในเทอร์มินัล
ฉันกำลังพยายามสร้างทางลัดไปยังสคริปต์ Perl โดยบันทึกคำสั่งเทอร์มินัลซึ่งเรียกใช้สคริปต์เป็น.commandไฟล์ สคริปต์เป็นแบบโต้ตอบและอนุญาตให้ผู้ใช้เชื่อมต่อกับมันผ่านทางบรรทัดคำสั่ง อย่างไรก็ตามเมื่อฉันเปิด.commandไฟล์สคริปต์จะทำงานจากนั้นจะหยุดหลังจากที่โหลดเสร็จ (ตัวเลือกเมนูจะแสดงก่อนlogoutและ[process completed]) มีวิธีใดที่จะหลีกเลี่ยงการออกจากระบบอัตโนมัติและการเลิกใช้สคริปต์หรือไม่?


3
การดัดแปลงไฟล์ที่มีการอนุญาต 777 แต่ไม่ใช่การอนุญาต 755 ใช่ไหม
ฉันสามารถแก้ไขไฟล์ด้วยการอนุญาต 777 แต่ไม่ใช่ด้วย 755 ฉันทำได้โดยการหาคำสั่ง sed บางคำสั่ง ฉันคิดว่ามันแปลกเพราะฉันสามารถแก้ไขไฟล์ที่มีสิทธิ์ 700 รายการใน Vim เหตุใดจึงไม่สามารถแก้ไขไฟล์ที่มี 755 เปอร์เซ็นต์ได้ ทำเครื่องมือ unix ขั้นพื้นฐานเช่น sed, awk และ find ต้องใช้สิทธิ์ 777 หรือไม่

2
ตรวจสอบการเปลี่ยนแปลงทั้งหมดในไฟล์บนระบบ UNIX
ฉันพยายามคิดว่าการเปลี่ยนแปลงของดิสก์ที่แอพทำคืออะไรและมันยุ่งมาก ฉันต้องการวิธีตรวจสอบระบบไฟล์ทั้งหมดของฉันเป็นเวลาสองสามวินาทีเพื่อทราบว่ามีการเข้าถึงและเขียนไฟล์ใดบ้าง ฉันคิดว่าจะตรวจสอบวันที่แก้ไข .. แต่แน่นอนว่าต้องใช้เวลานานพอสมควรในการทำทุกไฟล์ ... จะต้องมีวิธีที่ฉลาดกว่านี้!

2
ค้นหาและไฟล์ zip?
$ ls -lrt *.extract.sys -rw-r--r-- 1 sftwrk01 test 1729455 Dec 01 21:21 ar.ARAB-PI_3.20101231.extract.sys -rw-r--r-- 1 sftwrk01 test 1684929 Dec 30 21:21 ar.ARAB-PI_5.20101231.extract.sys -rw-r--r-- 1 sftwrk01 test 1696332 Dec 30 21:21 ar.ARAB-PI_1.20101231.extract.sys -rw-r--r-- 1 sftwrk01 test 1726197 Dec 30 21:21 ar.ARAB-PI_7.20101231.extract.sys -rw-r--r-- 1 sftwrk01 test 1692531 Dec 03 21:21 ar.ARAB-PI_2.20101231.extract.sys -rw-r--r-- …
1 unix 

1
วิธีการแปลงคอลัมน์ของข้อความเป็น CSV
ฉันมีผลลัพธ์ต่อไปนี้จากคำสั่งใน Unix: "10" "30" "u" "hello" และฉันต้องการมันในรูปแบบ CSV ต่อไปนี้โดยไม่มีเครื่องหมายจุลภาคต่อท้าย: "10", "30", "U", "สวัสดี" ฉันพยายามtr '\n' ','แต่นั่นทำให้คอมม่าต่อท้าย การเป็นยูนิกซ์ใหม่ฉันไม่แน่ใจว่าจะทำสิ่งที่ฉันพยายามได้อย่างไร ความช่วยเหลือใด ๆ
1 unix  csv 

1
วิธีการแทนที่การตัดทอนใน gdb
เมื่อฉันพิมพ์ใน gdb โดยเรียกใช้: p cmd.c_str() ผลลัพธ์ถูกตัดเหลือ 200 อักขระ มีวิธีที่ฉันสามารถตั้งค่าเริ่มต้นการตัดทอนสิ่งที่สูงกว่าเช่น 1,000 ตัวอักษร?
1 unix  emacs  gdb 

1
Windows 10 Linux Subsystem (WSL) ใหม่มีการแทนที่ Putty หรือไม่
ฉันกำลังจะทำการทดสอบกับระบบย่อย windows 10 linux (WSL)ใหม่ ฉันเป็นสนิมนิดหน่อยเมื่อพูดถึงระบบ * ระวังและฉันจำการพึ่งพาทั้งหมดไม่ได้ แต่ฉันสงสัยว่าฉันสามารถใช้หนึ่งในองค์ประกอบแทน putty เพื่อทำการเชื่อมต่อ ssh ขาออกจากเครื่องของฉัน
1 windows  ssh  unix 

1
.desktop รองรับระบบปฏิบัติการใดบ้าง?
ระบบปฏิบัติการใดที่เราสามารถใช้ไฟล์ .desktop จาก unix / linux มีรายการของระบบปฏิบัติการที่รองรับและใช้งานหรือไม่ พวกเขาทั้งหมดใช้ไวยากรณ์การตั้งค่าและคุณสมบัติเดียวกันหรือมีความแตกต่างใหญ่ระหว่างระบบปฏิบัติการหรือไม่?
1 linux  unix  desktop 

2
Bash: ตรวจสอบว่ากระบวนการหยุดทำงาน
ฉันกำลังทำงานกับสคริปต์เพื่อเริ่ม / หยุดชุดบริการ สำหรับการหยุดมันจะต้องยุติกระบวนการต่าง ๆ ที่ใช้เวลาสักครู่และอาจหยุด สคริปต์ต้องตรวจสอบว่ากระบวนการนั้นสิ้นสุดลงอย่างแน่นอนและส่งอีเมลหากไม่เกิดขึ้นหลังจากช่วงเวลาที่กำหนด นี่คือสิ่งที่ฉันมี: pkill -f "stuff" for i in {1..30}; do VERIFICATIONS=$i if verification_command then echo "It's gone" break fi sleep 2 done if [ $VERIFICATIONS -ge 30 ]; then echo "failed to terminate" # send mail fi มีวิธีที่ดีกว่าในการทำเช่นนี้?
1 bash  unix 

1
ใช้เทอร์มินัล Linux / Unix เพื่อคัดลอกไฟล์จำนวนมากไปยังตำแหน่งใหม่
ฉันกำลังพยายามใช้เทอร์มินัล Linux เพื่อคัดลอกไฟล์จำนวนมากไปยังตำแหน่งใหม่ ฉันเบื่อคำสั่ง: sudo หา -i file_I_want | xargs cp $ 1 / place_I_want_everything_copied_to / ซึ่งทำให้เกิดข้อผิดพลาด วิธีที่ถูกต้องในการจัดการกับสิ่งนี้คืออะไร?
1 linux  unix  cp  xargs 

3
วิธีเขียนสคริปต์เพื่อยอมรับอาร์กิวเมนต์บรรทัดคำสั่งจำนวนเท่าใด? (UNIX, BASH)
ฉันมีสคริปต์ที่ฉันต้องการยอมรับอาร์กิวเมนต์บรรทัดคำสั่งจำนวนเท่าใดก็ได้ จนถึงตอนนี้ฉันมี ถ้า [-O $ 1]; แล้วก็ echo "คุณเป็นเจ้าของ $ 1" อื่น echo "คุณไม่ใช่เจ้าของ $ 1" Fi เห็นได้ชัดว่าถ้าฉันต้องการให้สคริปต์ยอมรับข้อโต้แย้งเดียวสิ่งนี้จะได้ผล แต่สิ่งที่จะใช้ได้กับจำนวนข้อโต้แย้งใด ๆ อดีต ./script f f1 f2 f3
1 unix  bash  script 

1
ล้าง swapfile หลังจากใช้ dd
ตามบทเรียนจำนวนมากที่มีอยู่บนอินเทอร์เน็ต (เช่นนี้https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04 ) เพื่อสร้าง swapfile ฉันต้องใช้คำสั่งต่อไปนี้: sudo dd if=/dev/zero of=/swapfile bs=1G count=4 อย่างไรก็ตามด้วยเหตุผลบางอย่างในขณะที่ไฟล์นั้นควรมีขนาด 4GB แต่ก็มี 0 root@vps:~# ls -sh /swapfile 0 /swapfile ฉันรู้สึกหมดหนทางเพราะฉันไม่ได้เป็น superuser ที่ดีและไม่มีบทเรียนเหล่านี้ให้วิธีแก้ปัญหาเกี่ยวกับวิธีการที่ ฉันยังไม่สามารถหาอะไรเกี่ยวกับเรื่องนั้นบนอินเทอร์เน็ต

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