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

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

2
สิทธิ์ ... วิธีทำให้โฟลเดอร์ไม่สามารถลบได้
ใน FreeNAS (FreeBSD) ... ฉันกำลังพยายามทำให้โฟลเดอร์ 'ไม่สามารถลบได้' ฉันเข้าสู่ระบบในฐานะ root ฉันสร้างโฟลเดอร์ที่เรียกว่าtestและมันchmod 700 (rwx------)เจ้าของเป็นกลุ่มเป็นrootwheel จากนั้นฉันเข้าสู่ระบบในชื่อผู้ใช้johnซึ่งเป็นส่วนหนึ่งของกลุ่มbbstaff- และฉันสามารถเปลี่ยนชื่อและลบโฟลเดอร์testได้ ไม่ควรที่จะเป็นไปไม่ได้? ฉันคิดว่าการwอนุญาตป้องกันการเปลี่ยนชื่อ

2
ฉันจะคัดลอกไฟล์ได้อย่างไรจากนั้นนำทางไปยังปลายทางอื่นด้วยตนเองแล้ววางไฟล์ (ไม่มีเส้นทางที่แน่นอน)
ฉันต้องการย้ายไฟล์จากไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีหนึ่งโดยไม่มีพา ธ คงที่ในคำสั่งคัดลอก / วาง นั่นหมายความว่าฉันไม่น่าจะมีคำสั่งคัดลอก / วางหนึ่งซับ: โครงสร้างโฟลเดอร์มีดังนี้: Mainfolder Files.dir log.dir executable.bat นี่คือรหัสของฉัน: cd log if exist flist.log del flist.log cd .. cd Files dir /b /a-d>flist.log copy flist.log cd .. cd log paste flist.log หรือถ้าเป็นไปได้มีดังนี้: cd log if exist flist.log del flist.log cd .. cd Files dir /b …


1
ฉันจะหลีกเลี่ยงข้อความที่ไม่สามารถสร้างความถูกต้องของแท้สำหรับคำสั่ง sftp
ฉันมีปัญหากับ SFTP เมื่อฉันใช้คำสั่งsftp servernameมันพิมพ์ออกมา: The authenticity of host 'servername(IPaddress)' can't be established. ECDSA key fingerprint is 99:68:ca:0c:9f:a3:73:2d:c8:4a:04:60:27:12:5b:13. Are you sure you want to continue connecting (yes/no)? ใครช่วยบอกให้ฉันรู้ว่าฉันต้องเปลี่ยนอะไรเพื่อที่ว่าข้อความนี้จะไม่เกิดขึ้น? ฉันอยู่บนเซิร์ฟเวอร์ AIX
unix 

2
Linux ย้ายไฟล์จากไดเร็กทอรีเฉพาะหนึ่งไดเร็กทอรีขึ้นและลบโฟลเดอร์ว่าง
ฉันต้องการย้ายไฟล์ออกจากไดเรกทอรีภายในไดเรกทอรีภายในไดเรกทอรีและลบโฟลเดอร์ที่ฉันย้ายออก ฉันต้องการสคริปต์แบบเรียกซ้ำ โครงสร้างไดเรกทอรี: /Folder0/Alphabetic_folder/Folder_name/DeleteFolder /Folder0/A/Folder1/DeleteFolder /Folder0/B/Folder2/DeleteFolder DeleteFolderinfoมักจะมีชื่อเดียวกันซึ่งเป็น ฉันต้องการบางสิ่งเช่น: ไปข้างในไดเรกทอรี (ตัวอักษร) สำหรับทุกโฟลเดอร์ที่เข้าไปข้างในหากมีinfoโฟลเดอร์mv *.*ไปยังโฟลเดอร์ปัจจุบันให้ลบinfo(นั่นคือmv info/* ./ && rm info:) ถ้าinfoไม่มีโฟลเดอร์ exit ย้ายไปยังโฟลเดอร์ถัดไป ฉันแน่ใจว่านี่เป็นปัญหาเล็กน้อยของทักษะสคริปต์ แต่ทักษะสคริปต์ของฉันยังต่ำในปัญหานี้
linux  unix  script  mv 

3
พบไฟล์ tar.gz ขนาดศูนย์ภายในไฟล์ tar.gz
ไดเรกทอรีปัจจุบันของฉันมีไฟล์เดียวเช่นนี้ - $ls -l -rw-r--r-- 1 root staff 8 May 28 09:10 pavan ตอนนี้ฉันต้องการ tar และ gzip ไฟล์นี้เช่น $tar -cvf - * 2>/dev/null |gzip -vf9 > pavan.tar.gz 2>/dev/null (ฉันรู้ว่าฉันกำลังสร้างไฟล์ซิปในไดเรกทอรีเดียวกันกับไฟล์ต้นฉบับ) เมื่อฉันรันคำสั่ง tar / gzip ข้างต้นประมาณ 20 ครั้งฉันจะสังเกตว่าไฟล์ tarred และ zipped สุดท้ายpavan.tar.gzมีpavan.tar.gzไฟล์ขนาด ZERO ฉันไม่แน่ใจว่าไฟล์นี้เป็นศูนย์ขนาดไหนที่มาจากที่เก็บถาวร หมายเหตุ : ฉันไม่ได้รันคำสั่ง tar / gzip ในไฟล์ tar.gz …

2
วิธีเปลี่ยนเส้นทางการเขียนไฟล์จากโฮมโฟลเดอร์ไปยังโฟลเดอร์เฉพาะใน UNIX
ฉันค้นหาและไม่พบสิ่งที่ต้องการ ในที่สุดฉันก็พบหนังสือ UNIX เริ่มต้นที่ฉันชอบ ฉันกำลังดูตัวอย่างและฉันสังเกตเห็นว่าเอาต์พุตถูกสร้างขึ้นในโฮมโฟลเดอร์ ฉันใช้ OS X ฉันเก็บรหัสทั้งหมดไว้บนเดสก์ท็อปของฉันในโฟลเดอร์ที่ชื่อรหัสสำหรับการมอบหมายการเขียนโปรแกรมและการฝึกซ้อมทั้งหมด C, C ++ ... ฯลฯ ดังนั้นคำถามของฉันคือฉันจะเปลี่ยนเส้นทางไฟล์จาก terminal เพื่อสร้างไฟล์ในโฟลเดอร์เฉพาะได้อย่างไร ถ้าฉันพิมพ์: cal 2011> cal2011 มันสร้างไฟล์ชื่อ cal2011 ไปยังโฟลเดอร์บ้านของฉัน ฉันจะเขียนที่เทอร์มินัลโดยไม่เปลี่ยนไดเรกทอรี (พร้อมรับคำสั่งเริ่มต้น) เพื่อบันทึกเป็น: สก์ท็อป / รหัส / UNIX ขอบคุณสำหรับความช่วยเหลือ. ฉันยังใหม่อยู่ที่นี้ ...

1
เปิดไฟล์โดยใช้ bash พร้อมกับคำสั่ง unix
ฉันมีแอปพลิเคชั่นที่โหลดโดยใช้สคริปต์ทุบตีเช่น /Applications/My.app/Contents/MyExecutable ฉันสามารถโหลดได้โดยใช้ bash อย่างนั้น "/Applications/My.app/Contents/MyExecutable" อย่างไรก็ตามฉันต้องการเปิดไฟล์ที่มีไฟล์เรียกทำงานนี้ (ไฟล์ที่สร้างด้วยไฟล์ปฏิบัติการและสามารถโหลดได้) ฉันสงสัยว่าจะทำอย่างไร ดูเหมือนจะใช้งานไม่ได้: "/Applications/My.app/Contents/MyExecutable" "/Users/MyUser/Desktop/MyFiletoload.xxx" มีวิธีการทำเช่นนี้หรือไม่?
linux  bash  unix  exec 

1
ไม่สามารถใช้ PSSH บน Ubuntu
สวัสดีฉันเพิ่งติดตั้ง PSSH บนเครื่อง Ubuntu ของฉันและฉันกำลังพยายามใช้เพื่อรันคำสั่งในหลาย ๆ เครื่อง แต่ฉันได้รับข้อผิดพลาด นี่คือตัวอย่างเอาต์พุตเพื่อแสดงว่าเกิดอะไรขึ้น root@int:~# pssh -h hosts.lst -l mridang -A yakkayakka --print --verbose hostname Warning: do not enter your password if anyone else has superuser privileges or access to your account. Password: [1] 22:04:21 [FAILURE] XXX.XXX.XXX.XX Exited with error code 255 ไฟล์โฮสต์ของฉันมีลักษณะดังนี้: root@int:~# cat …

1
Unix เช่นระบบไฟล์และแฟล็กไดเร็กทอรี (CPIO)
ฉันไม่เข้าใจวิธีการที่จะทราบว่ารายการนั้นเป็นไดเรกทอรีในไฟล์ CPIO หรือไม่ (ขึ้นอยู่กับ Unix) ตัวอย่างเช่นc_modes ของไฟล์ต่าง ๆ ในฐานแปด: 120644 --> Link --> 1010 000 110 100 100 [lrw-r--r--] 120750 --> Link --> 1010 000 111 101 000 [lrwxr-x---] 040750 --> Directory--> 0100 000 111 101 000 [drwxr-x---] 040755 --> Directory--> 0100 000 111 101 101 [drwxr-xr-x] 100644 --> File …

1
postfix ไม่สามารถเริ่มได้
ฉันพยายามตั้งค่าpostfixเราเตอร์ WS880 ของฉันภายใต้ ASUSWRT-Merlin เมื่อฉันเรียกใช้จากบรรทัดคำสั่งมีข้อผิดพลาด / opt / sbin / postlog: ไม่สามารถโหลดไลบรารี่ 'libresolv.so.0' ในความเป็นจริงlibresolv.so.0วางใน/opt/libและLD_LIBRARY_PATH='/lib:/opt/lib' ดังนั้นpostfixตัวเองพบว่าห้องสมุดนี้ มากยิ่งขึ้น - เมื่อฉันเรียกใช้/opt/sbin/postlogจากบรรทัดคำสั่งมันจะเริ่มต้นการแก้ไขปัญหา postfixแต่ล้มเหลวถูกเรียกจาก นี่คือส่วนที่ให้ข้อมูลของstrace postfix: fork () = 11112 wait4 (-1, / opt / sbin / postlog: ไม่สามารถโหลดไลบรารี่ 'libresolv.so.0' [{WIFEXITED (s) && WEXITSTATUS == 16}], 0, NULL) = 11112 --- SIGCHLD (ออกจากเด็กแล้ว) @ 0 …

1
ข้อผิดพลาด vi สายการประหยัดหน่วยความจำไม่เพียงพอสำหรับการเลิก - ลองใช้ ed
ขณะดำเนินการคำสั่งต่อไปนี้ในไฟล์ขนาดใหญ่: vi largeFile.log ฉันได้รับข้อผิดพลาดต่อไปนี้: Out of memory saving lines for undo - try using ed สภาพแวดล้อมของฉันคือ AIX6 ฉันไม่สามารถเพิ่มเครื่องมือ Unix ใด ๆ ให้กับสภาพแวดล้อมนี้ฉันได้ลองคำสั่งต่อไปนี้: น้อยกว่า (ไม่ได้ติดตั้ง) ed (ฉันไม่รู้จะใช้วิธีนี้อย่างไร) ฉันคุ้นเคยviแต่ไม่สามารถใช้งานได้เพราะไฟล์นี้มีขนาดใหญ่ ฉันสามารถใช้edแต่ฉันสงสัยว่ามีทางเลือกอื่น สิ่งที่ฉันต้องทำคืออ่านไฟล์สิบบรรทัดสุดท้ายของไฟล์ขนาดใหญ่นี้

1
ฉันจะตั้งค่าสิ่งที่ควรเกิดขึ้นในเทอร์มินัลด้วยคำสั่งที่แน่นอนได้อย่างไร
ถ้าฉันรัน แคล 2013 ในเทอร์มินัลมันสะท้อนถึงปฏิทินสำหรับปี 2013 สำหรับเรื่องของความสนุกฉันต้องการให้เทอร์มินัลสะท้อนออกมา ปีนี้คงไม่มา ฉันจะทำสิ่งนี้ได้อย่างไร ฉันพยายามเพิ่มมันเป็นนามแฝงใน. bashrc แต่ฉันไม่สามารถสร้างชื่อแทนด้วยช่องว่างได้ ความคิดใด ๆ แก้ไข: ทางออกสุดท้าย: echo "cal() { if [[ \$@ > \"2012\" ]]; then command echo \"This year won't come.\"; else command cal \"\$@\"; fi; }" >> ~/.profile && source ~/.profile

2
Chmod กลุ่มและผู้ใช้
ดังนั้นฉันจึงลองค้นหาดู แต่ฉันไม่พบตัวอย่างที่คล้ายกัน (โปรดอ้างอิงถึงพวกเขาหากทักษะ Google ของคุณดีกว่าของฉัน) สิ่งที่ฉันพยายามทำมีดังต่อไปนี้: ฉันกำลังโฮสต์เว็บไซต์บนเครื่องของฉันเองและเนื้อหาอยู่ที่ / var / www ฉันได้ทำให้ 'จอร์แดน' เป็นเจ้าของกลุ่มนั้นโดยใช้ 'chown' และฉันไม่มีปัญหาในการสร้างสร้างแก้ไขไฟล์ภายในไดเรกทอรีย่อยนั้นในฐานะผู้ใช้ 'จอร์แดน' ภายในไดเรกทอรีนี้ฉันได้สร้างโฟลเดอร์ชื่อ 'สูตรอาหาร' และผู้ใช้ชื่อ 'สูตรอาหาร' ปัญหาคือ 'สูตร' ไม่สามารถ chmod ไฟล์ใด ๆ ในไดเรกทอรีนี้ นอกจากนี้ในฐานะ 'จอร์แดน' ฉันไม่สามารถแก้ไขไฟล์ใด ๆ ในไดเรกทอรี 'สูตรอาหาร' มีวิธีที่จะทำให้ทั้ง 'จอร์แดน' และ 'สูตร' เป็นของกลุ่มเดียวกันซึ่งมีสิทธิ์ chmod สำหรับโฟลเดอร์นั้นและจะอนุญาตให้ 'จอร์แดน' เพื่อแก้ไข / เขียนไฟล์?

2
คุณจะได้ส่วนที่เจาะจงของคำในไฟล์โดยใช้ awk ได้อย่างไร
ฉันมีสคริปต์ที่เป็นเช่นนี้: script.m rng('shuffle'); load samples123/stage17/resamp_stage.mat indarray = str2num(getenv('arrayindex')); index = (indarray-1)*4+1:(indarray)*4 samplenow = samplestage(index,:); for i = 1:4 ind = index(i); i num = 123; sampleind = samplenow(i,:); opt.Ndrag = 1; a = cputime; outsmpl = continue_dragon(opt,beta,sampleind,stage,num,covsmpl,ind); b = cputime; b-a toc end ฉันต้องการดึงเฉพาะ 'stage17' ซึ่งอยู่ในบรรทัดที่สอง ฉันพยายามต่อไปนี้: awk '/samples123/{print $2}' …
bash  unix  awk 

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