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

แท็กนี้เป็นเอกสิทธิ์สำหรับคำถามการเขียนโปรแกรมที่เกี่ยวข้องโดยตรงกับ Unix; ปัญหาซอฟต์แวร์ทั่วไปควรถูกนำไปยังไซต์ Unix & Linux Stack Exchange หรือไปยัง Super User ระบบปฏิบัติการ Unix เป็นระบบปฏิบัติการอเนกประสงค์ที่พัฒนาโดย Bell Labs ในช่วงปลายทศวรรษ 1960 และปัจจุบันมีอยู่ในหลายเวอร์ชั่น

5
วิธีการทำให้คำสั่ง 'ตัด' ปฏิบัติต่อตัวคั่นลำดับเดียวกับเดียว?
ฉันกำลังพยายามแยกฟิลด์ (ที่สี่) จากคอลัมน์สตรีมข้อความที่ปรับตามพื้นที่ ฉันพยายามใช้cutคำสั่งในลักษณะดังต่อไปนี้: cat text.txt | cut -d " " -f 4 น่าเสียดายที่cutไม่ใช้ช่องว่างหลายช่องเป็นตัวคั่นเดียว ฉันสามารถส่งผ่าน awk ได้ awk '{ printf $4; }' หรือ sed sed -E "s/[[:space:]]+/ /g" เพื่อยุบช่องว่าง แต่ฉันต้องการทราบว่ามีวิธีจัดการกับcutตัวคั่นหลายตัวหรือไม่
309 bash  unix  delimiter  cut 

8
วิธีการแสดงหลายเงื่อนไขในเปลือกถ้าคำสั่ง?
ฉันต้องการเป็นตัวแทนของหลายเงื่อนไขเช่นนี้: if [ ( $g -eq 1 -a "$c" = "123" ) -o ( $g -eq 2 -a "$c" = "456" ) ] then echo abc; else echo efg; fi แต่เมื่อฉันรันสคริปต์มันจะแสดงขึ้น syntax error at line 15: `[' unexpected, เมื่อบรรทัดที่ 15 เป็นบรรทัดที่แสดงว่า .... เกิดอะไรขึ้นกับเงื่อนไขนี้ ()ผมคิดว่าสิ่งที่เป็นธรรมกับ
308 bash  shell  unix 

6
ฉันจะหลีกเลี่ยงช่องว่างในเส้นทางสำหรับการคัดลอก scp ใน Linux ได้อย่างไร
ฉันใหม่กับ linux ฉันต้องการคัดลอกไฟล์จากระยะไกลไปยังระบบโลคอล ... ตอนนี้ฉันกำลังใช้คำสั่ง scp ในระบบ linux .. ฉันมีโฟลเดอร์หรือชื่อไฟล์บางไฟล์ที่มีช่องว่างเมื่อฉันพยายามคัดลอก ไฟล์จะแสดงข้อความแสดงข้อผิดพลาด: "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" ฉันเหนื่อย: scp ael5105@192.168.0.200:'/home/5105/test/gg/Untitled Folder/a/qy.jpg' /var/www/try/ ฉันเห็นการอ้างอิงออนไลน์ แต่ฉันไม่เข้าใจอย่างสมบูรณ์ใครช่วยได้บ้าง ฉันจะหลีกเลี่ยงช่องว่างในชื่อไฟล์หรือชื่อไดเรกทอรีระหว่างการคัดลอก ...
307 linux  unix  ubuntu  whitespace  scp 

5
คุณใช้การค้นหาแบบตัวพิมพ์เล็กและใหญ่โดยใช้ตัวดัดแปลงรูปแบบโดยใช้น้อยกว่าได้อย่างไร?
ดูเหมือนว่าวิธีเดียวที่จะทำเช่นนี้คือการส่งผ่านพารามิเตอร์ -i เมื่อคุณเริ่มทำงานน้อยลง มีใครรู้บ้างเกี่ยวกับการแฮ็กลับเพื่อทำบางสิ่งเช่นนี้ /something to search for/i

8
ไฟล์ Diff มีอยู่ในสองไดเรกทอรีที่ต่างกัน
ฉันมีสองไดเรกทอรีที่มีรายการไฟล์เหมือนกัน ฉันต้องการเปรียบเทียบไฟล์ทั้งหมดที่มีอยู่ในทั้งสองไดเรกทอรีโดยใช้diffคำสั่ง มีตัวเลือกบรรทัดคำสั่งง่าย ๆ ให้ทำหรือฉันต้องเขียนเชลล์สคริปต์เพื่อรับรายชื่อไฟล์จากนั้นทำซ้ำผ่านพวกเขา?
303 unix  shell  diff 

17
จะค้นหาการเข้ารหัสไฟล์ผ่านสคริปต์บน Linux ได้อย่างไร
ฉันต้องการค้นหาการเข้ารหัสของไฟล์ทั้งหมดที่อยู่ในไดเรกทอรี มีวิธีหาการเข้ารหัสที่ใช้หรือไม่ fileคำสั่งจะไม่สามารถที่จะทำเช่นนี้ การเข้ารหัสที่ฉันสนใจคือ: ISO-8859-1 หากการเข้ารหัสเป็นอย่างอื่นฉันต้องการย้ายไฟล์ไปยังไดเรกทอรีอื่น
303 file  shell  unix  encoding 

13
แก้ไขไฟล์ในสถานที่
ฉันพยายามที่จะค้นหาว่ามันเป็นไปได้ที่จะแก้ไขไฟล์ในคำสั่ง sed เดียวโดยไม่ต้องสตรีมเนื้อหาที่แก้ไขด้วยตนเองเป็นไฟล์ใหม่แล้วเปลี่ยนชื่อไฟล์ใหม่เป็นชื่อไฟล์ต้นฉบับ ฉันลอง-iตัวเลือกแล้ว แต่ระบบ Solaris ของฉันบอกว่านั่น-iเป็นตัวเลือกที่ผิดกฎหมาย มีวิธีอื่นไหม
299 unix  sed  solaris 

4
บางครั้งไฟล์ของฉันค้างใน vi | vim เกิดอะไรขึ้น
บางครั้งเมื่อฉันแก้ไขไฟล์โดยใช้ vi หรือ vim ไฟล์ของฉันก็ค้าง แม้ว่าฉันจะพิมพ์Ctrl+CหรือCtrl+Dมันยังคงค้างอยู่ที่นั่น ฉันkill -9 <pid>จากเทอร์มินัลอื่น pid ถูกฆ่า แต่ไฟล์ยังคงค้างอยู่ที่นั่น ฉันเดาว่าฉันต้องพิมพ์คีย์บางตัวซึ่งฉันไม่รู้ มีใครมีความคิดบ้างไหม?
298 unix 

5
“ opt” หมายถึงอะไร (เช่นในไดเรกทอรี“ opt”) มันเป็นตัวย่อหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ "opt" หมายถึงอะไร (เช่นในไดเรกทอรี "opt") ฉันมักจะเห็นไดเรกทอรีนี้ในระบบ Unix พร้อมเครื่องมือในการพัฒนา มันเป็นตัวย่อหรือไม่?


24
ข้อผิดพลาด nginx เชื่อมต่อกับ php5-fpm.sock ล้มเหลว (13: ปฏิเสธการอนุญาต)
ฉันจะอัพเดต Nginx เพื่อ1.4.7และ PHP เพื่อ5.5.12 , หลังจากนั้นฉันมีข้อผิดพลาด 502 ก่อนที่ฉันจะอัปเดตทุกอย่างทำงานได้ดี Nginx-error.log 2014/05/03 13:27:41 [crit] 4202#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xx.xxx.xx.xx, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xx.xx.xx.xx" nginx.conf user www www; worker_processes 1; location / { root /usr/home/user/public_html; index …
290 unix  nginx  php 

9
ทำไมคุณต้อง. / (dot-slash) ก่อนที่จะปฏิบัติการหรือชื่อสคริปต์เพื่อรันในทุบตี?
เมื่อรันสคริปต์ใน bash ฉันต้องเขียน./ตอนแรก: $ ./manage.py syncdb หากฉันไม่ฉันได้รับข้อความแจ้งข้อผิดพลาด: $ manage.py syncdb -bash: manage.py: command not found อะไรคือสาเหตุของสิ่งนี้? ฉันคิดว่า.เป็นนามแฝงสำหรับโฟลเดอร์ปัจจุบันดังนั้นการโทรทั้งสองนี้ควรเทียบเท่า ฉันยังไม่เข้าใจด้วยว่าเหตุใดฉันจึงไม่ต้องการ./เมื่อเรียกใช้แอปพลิเคชันเช่น: user:/home/user$ cd /usr/bin user:/usr/bin$ git (ซึ่งทำงานโดยไม่มี./)
288 bash  shell  unix  command-line 

13
แทนที่เครื่องหมายจุลภาคด้วยบรรทัดใหม่ใน sed บน MacOS หรือไม่
ฉันมีไฟล์ id ที่คั่นด้วยเครื่องหมายจุลภาค ฉันพยายามแทนที่คอมมาด้วยบรรทัดใหม่ ฉันพยายามแล้ว: sed 's/,/\n/g' file แต่มันไม่ทำงาน ฉันพลาดอะไรไป
287 macos  unix  sed 


7
ฉันสามารถส่งออกตัวแปรไปยังสภาพแวดล้อมจากสคริปต์ทุบตีโดยไม่ต้องจัดหาได้หรือไม่
สมมติว่าฉันมีสคริปต์นี้ ส่งออกทุบตี : #! /usr/bin/env bash export VAR="HELLO, VARIABLE" เมื่อฉันรันสคริปต์และพยายามเข้าถึง$VARฉันจะไม่ได้รับค่าใด ๆ ! echo $VAR มีวิธีเข้าถึง$VARโดยเพียงแค่รันexport.bashโดยไม่ต้องจัดหามันหรือไม่

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