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

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

2
ทำลายฮาร์ดลิงก์ทั้งหมดภายในโฟลเดอร์
ฉันมีโฟลเดอร์ที่มีไฟล์จำนวนหนึ่งซึ่งมีฮาร์ดลิงก์ (ในโฟลเดอร์เดียวกันหรือที่อื่น) และฉันต้องการยกเลิกการเชื่อมโยงไฟล์เหล่านี้ดังนั้นพวกเขาจึงเป็นอิสระและการเปลี่ยนแปลงเนื้อหาจะไม่มีผลใด ๆ ไฟล์อื่น ๆ (จำนวนลิงก์ของพวกเขากลายเป็น 1) ด้านล่างนี้ฉันให้วิธีแก้ปัญหาซึ่งโดยทั่วไปจะคัดลอกฮาร์ดลิงก์แต่ละลิงก์ไปยังตำแหน่งอื่นจากนั้นย้ายกลับมาที่เดิม อย่างไรก็ตามวิธีการนี้ดูเหมือนค่อนข้างหยาบและผิดพลาดได้ง่ายดังนั้นฉันต้องการทราบว่ามีคำสั่งบางคำสั่งที่จะยกเลิกการเชื่อมโยงไฟล์สำหรับฉันหรือไม่ คำตอบที่หยาบ: ค้นหาไฟล์ที่มีฮาร์ดลิงก์ ( แก้ไข : หากต้องการค้นหาซ็อกเก็ต ฯลฯ ที่มีฮาร์ดลิงก์ให้ใช้find -not -type d -links +1): find -type f -links +1 # files only find -not -type d -links +1 # files, sockets etc. วิธีหยั่งรู้ในการยกเลิกการเชื่อมโยงไฟล์ (คัดลอกไปยังตำแหน่งอื่นและย้ายกลับ): แก้ไข: ดัง ที่ Celada กล่าวว่าควรทำ cp -p …
10 unix  hardlink 


6
ตัวเรียกเลขหมายคำสั่ง SIP
มีบรรทัดคำสั่ง SIP dialer แบบง่ายสำหรับ unix ซึ่งสามารถเชื่อมต่อกับเซิร์ฟเวอร์ SIP โทรออกและเล่นไฟล์มีเดียบางไฟล์ (wav / mp3) หรือไม่ ในอุดมคติฉันจะมีลักษณะเช่นนี้: sip-dailer +1xxxxxxxxxx /path/to/message.mp3

3
วิธีย้ายไดเรกทอรีจากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่น
ฉันมีการเข้าถึง SSH ไปยังเซิร์ฟเวอร์ทั้งสองซึ่งหนึ่งในนั้นว่างเปล่า ฉันจะย้ายไดเรกทอรีไซต์จากเซิร์ฟเวอร์เก่าไปยังเซิร์ฟเวอร์ใหม่ผ่านการเชื่อมต่อ SSH ได้อย่างไร PS: บนเซิร์ฟเวอร์ทั้งสองเป็นยูนิกซ์
10 ssh  unix  migration 

1
การใช้เชลล์สคริปต์เพื่อตรวจสอบว่า rsync ทำการเปลี่ยนแปลงหรือไม่
ฉันมีสคริปต์ทุบตีที่ rsync สองไดเรกทอรี บางครั้งมีการเปลี่ยนแปลงโอกาสก็ไม่มีอะไร ฉันต้องการรันคำสั่งเฉพาะในกรณีที่ rsync ทำการเปลี่ยนแปลงจริง (เพิ่ม / อัปเดตไฟล์) มิฉะนั้นฉันต้องการข้าม มีการตอบกลับที่ฉันควรจะดูหรือไม่?
10 unix  bash  rsync  unix-shell 

5
ฉันจะเปลี่ยนเป็นไดเรกทอรีที่ฉันเพิ่งย้ายไฟล์ไปยังได้อย่างไร
ดังนั้นสมมติว่าฉันเพิ่งทำไป: mv ./myfile /to/some/other/place/ และตอนนี้ฉันตัดสินใจว่าฉันต้องการติดตามไฟล์และเข้าไปในไดเรกทอรีนั้น ในขณะที่ฉันสามารถหาเมาส์ได้ให้เลือกข้อความพิมพ์ 'cd' จากนั้นคลิกขวาเพื่อวาง - ฉันต้องการไดเรคทอรีที่ใช้แป้นพิมพ์เร็วขึ้น ดังนั้นวิธีที่ดีที่สุดในการทำเช่นนั้นคืออะไร? (โดยทั่วไปและหากแตกต่างกัน Centos + Bash โดยเฉพาะ)
10 linux  unix  bash  shell  directory 

2
เป็นไปได้หรือไม่ที่จะ จำกัด กระบวนการ Linux เพื่อให้สามารถทำงานบนแกนประมวลผลเฉพาะบนเครื่องใดเครื่องหนึ่งโดยเฉพาะ?
สมมุติว่าฉันมีกล่องสี่เหลี่ยมสี่แกนและกระบวนการที่เหมือนกันสี่กระบวนการแต่ละอันมีสิบเธรด เป็นไปได้ไหมที่ว่า Linux จะอนุญาตให้ทำงานบน CPU 0 เท่านั้นกระบวนการ B อนุญาตให้ทำงานบน CPU 1 และอื่น ๆ เท่านั้น


12
อะไรคือสิ่งแรกที่คุณตรวจสอบเมื่อเซิร์ฟเวอร์ unix ที่ไม่มีใครแตะต้องเริ่มบ้าดีเดือด
ดังนั้นคุณมีเซิร์ฟเวอร์ unix ที่ติดตั้งอย่างเรียบร้อยและมันเร็วสุด ๆ และใช้งานได้ดีและทุกอย่างยอดเยี่ยมเป็นเวลาหลายเดือนและทันใดนั้นข้อผิดพลาดแปลก ๆ ทุกชนิดก็เริ่มปรากฏขึ้นเพื่อบริการที่หลากหลาย น้อยกว่ากันมาก อะไรคือสิ่งที่ถูกที่คุณควรตรวจสอบทันทีที่คุณได้รับเซสชั่น ssh ของคุณไปยังเครื่อง? ฉันสนใจเรื่องการบาดเจ็บเป็นพิเศษที่เน้นคำสั่งที่ไม่ชัดเจนและสถานการณ์ที่หายาก แต่ฉันเดาว่าสิ่งที่เห็นได้ชัดนั้นแตกต่างกันไปในแต่ละบุคคลดังนั้นเราจึงสามารถเขียนรายการทั้งหมดได้อย่างอิสระ

4
การเปิดใช้งาน apt-get บนอินสแตนซ์ Amazon EC2 ที่เป็นค่าเริ่มต้นซึ่งมี yum ติดตั้งอยู่
ฉันต้องการโทรหาสิ่งที่ต้องการ: sudo yum install apt เพื่อให้ฉันใช้ apt-get และ yum สำหรับการติดตั้ง อย่างไรก็ตามสิ่งนี้ไม่ทำงาน ฉันได้รับข้อมูลต่อไปนี้: Loaded plugins: fastestmirror, priorities, security, update-motd Loading mirror speeds from cached hostfile * amzn-main: packages.eu-west-1.amazonaws.com * amzn-updates: packages.eu-west-1.amazonaws.com Setting up Install Process No package apt available. Error: Nothing to do ดูเหมือนว่าจะต้องทำให้อินสแตนซ์ Amazon EC2 เริ่มต้นทราบถึงที่เก็บ โดยสรุป: ฉันจะเปิดใช้งาน apt-get แทนแค่ …
10 linux  unix  repository  yum  apt 

2
รัน su -c มากกว่า ssh
ฉันพยายามตรวจสอบเวอร์ชั่น BIOS ของเซิร์ฟเวอร์ผ่าน SSH คำสั่งที่ต้องใช้สิทธิ์พิเศษ: ssh remote-server su -c dmidecode แต่แน่นอนล้มเหลวด้วยข้อผิดพลาด: มาตรฐานในต้องเป็น tty ฉันจะทำให้งานนี้ได้อย่างไร ฉันไม่สามารถใช้ sudo ได้และเมื่อฉันพยายามเข้าสู่ระบบในฐานะ root @ remote-server มันจะไม่ยอมรับรหัสผ่านที่ฉันใช้สำหรับคำสั่ง 'su' ฉันใช้ RedHat Enterprise Linux 4
10 ssh  unix  su 


4
ดำเนินการคำสั่งเมื่อไฟล์มีการเปลี่ยนแปลง
ฉันมีสถานการณ์ที่ฉันกำลังอัปโหลดไฟล์. csv ไปยังโฟลเดอร์เฉพาะ / tmp / data_upload ทุกวันและไฟล์เก่าจะถูกแทนที่ด้วยไฟล์ใหม่ ฉันต้องเรียกใช้สคริปต์ Python เมื่ออัปโหลดข้อมูลแล้ว สำหรับเรื่องนี้ฉันมีความคิดที่จะสร้างงาน cron และตรวจสอบการเปลี่ยนแปลงในไฟล์ ฉันพยายามใช้ inotify แต่ฉันไม่ค่อยเข้าโดเมน Unix ฉันจะทำสิ่งนั้นได้อย่างไร ฉันต้องรันสคริปต์ test.py เมื่อมีการเปลี่ยนแปลงวันที่ของไฟล์ในโฟลเดอร์อัพโหลดตัวอย่างเช่น / tmp / data_upload

1
cp -p จะเก็บเวลาสำหรับบางไฟล์ แต่ไม่ใช่ทั้งหมดหรือ
ฉันมีไดเรกทอรีแหล่งข้อมูลบนเครื่องที่มีไฟล์จำนวนมากซึ่งได้รับอนุญาตแบบเดียวกันทั้งหมดซึ่งฉันต้องการคัดลอกไปยังไดเรกทอรีอื่นซึ่งติดตั้งผ่าน SMB [tmark@dexter JR09141045 roche_454_transfer]$ ls -l /source_dir total 71348 -rwxrwxrwx 1 adminrig lifelabs 19768377 Mar 25 23:29 1.TCA.454Reads.fna -rwxrwxrwx 1 adminrig lifelabs 53093396 Mar 25 23:29 1.TCA.454Reads.qual -rwxrwxrwx 1 adminrig lifelabs 1035 Mar 25 23:29 454AllControlMetrics.csv -rwxrwxrwx 1 adminrig lifelabs 2657 Mar 25 23:29 454AllControlMetrics.txt -rwxrwxrwx 1 adminrig lifelabs …

4
คำสั่ง Linux cd ..
พูดถ้าฉันต้องทำสิ่งนี้มาก: cd ../../../../foo/sub1/bar/dest/ cd ../../../../foo2/sub1/bar/dest/ cd ../../../../foo3/sub1/bar/dest/ cd ../../../../foo/sub1/bar/dest/ มีวิธีใดที่เร็วกว่าที่จะไม่พิมพ์../../../../บ่อยครั้งหรือไม่ ความคิดสร้างสรรค์ใด ๆ
9 unix 

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