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

คำถามเกี่ยวกับลินุกซ์จะต้องมีการเขียนโปรแกรมที่เกี่ยวข้อง ใช้แท็กนี้เฉพาะเมื่อคำถามของคุณเกี่ยวข้องกับการเขียนโปรแกรมโดยใช้ Linux API หรือพฤติกรรมเฉพาะของ Linux ไม่ใช่เพียงเพราะคุณใช้งานโค้ดของคุณบน Linux เท่านั้น หากคุณต้องการการสนับสนุน Linux คุณสามารถลอง https://unix.stackexchange.com หรือเว็บไซต์ Stack Exchange ของ Linux ที่เผยแพร่เฉพาะเช่น https://askubuntu.com หรือ https://elementaryos.stackexchange.com/

6
rsync คัดลอกเฉพาะไฟล์บางประเภทโดยใช้ตัวเลือก include
ฉันใช้สคริปต์ทุบตีต่อไปนี้เพื่อคัดลอกเฉพาะไฟล์ที่มีนามสกุลบางไฟล์ (ในกรณีนี้คือ * .sh) แต่มันก็ยังคงคัดลอกไฟล์ทั้งหมด เป็นอะไรไป? จาก = $ 1 ถึง = $ 2 rsync -zarv --include = "*. sh" $ จาก $ ถึง
114 linux  bash  shell  rsync 

17
รายการกระบวนการ Java
ฉันจะแสดงรายการกระบวนการ Java ทั้งหมดใน bash ได้อย่างไร ฉันต้องการบรรทัดคำสั่ง ฉันรู้ว่ามีคำสั่งpsแต่ฉันไม่รู้ว่าต้องใช้พารามิเตอร์อะไร
113 linux  bash  unix  command-line 

9
วิธีการว่าง ("ตัดทอน") ไฟล์บน linux ที่มีอยู่แล้วและได้รับการป้องกันใน Someway?
ฉันมีไฟล์ชื่อ error.log บนเซิร์ฟเวอร์ของฉันซึ่งฉันจำเป็นต้องตัดทอนบ่อยๆ ฉันมีสิทธิ์ rw สำหรับไฟล์ การเปิดไฟล์ใน vi> การลบเนื้อหาทั้งหมด> การบันทึกงาน (ชัดเจน) แต่พอลองดูด้านล่าง cat /dev/null > error.log ฉันได้รับข้อความ File already exists. เห็นได้ชัดว่ามีการกำหนดค่าบางอย่างบนเซิร์ฟเวอร์เพื่อป้องกันการลบล้างไฟล์โดยไม่ได้ตั้งใจ ใครสามารถบอกได้ว่าฉันจะ "ตัดทอน" ไฟล์ด้วยคำสั่งเดียวได้อย่างไร
113 linux  file  command-line 

11
error_log ต่อ Virtual Host?
บนเซิร์ฟเวอร์ Linux หนึ่งเครื่องที่ใช้ Apache และ PHP 5 เรามี Virtual Host หลายตัวพร้อมไฟล์บันทึกแยกกัน เราไม่สามารถแยก php ได้error_logระหว่างโฮสต์เสมือนได้ การลบล้างการตั้งค่านี้ในส่วน<Location>ของhttpd.confดูเหมือนจะไม่ทำอะไรเลย มีวิธีแยก php error_logsสำหรับ Virtual Host แต่ละตัวหรือไม่?

12
จะค้นหาอุปกรณ์อนุกรมทั้งหมด (ttyS, ttyUSB, .. ) บน Linux โดยไม่ต้องเปิดได้อย่างไร
วิธีที่เหมาะสมในการรับรายการพอร์ต / อุปกรณ์อนุกรมที่มีทั้งหมดบนระบบ Linux คืออะไร? กล่าวอีกนัยหนึ่งเมื่อฉันวนซ้ำอุปกรณ์ทั้งหมดใน/dev/ฉันจะทราบได้อย่างไรว่าพอร์ตใดเป็นพอร์ตอนุกรมในแบบคลาสสิกนั่นคือโดยปกติแล้วจะรองรับอัตราการส่งข้อมูลและการควบคุมการไหลของRTS / CTS วิธีแก้ปัญหาจะถูกเข้ารหัสเป็น C ผมถามเพราะผมใช้ห้องสมุดของบุคคลที่สามที่ไม่นี้ผิดอย่างชัดเจน: /dev/ttyS*มันดูเหมือนจะเพียงย้ำกว่า ปัญหาคือมีพอร์ตอนุกรมผ่าน USB (ที่จัดเตรียมโดยอะแดปเตอร์ USB-RS232) และรายการเหล่านี้อยู่ในรายการ / dev / ttyUSB * และอ่านSerial-HOWTO ที่ Linux.orgฉันได้ความคิดว่าจะมีช่องว่างชื่ออื่นด้วยเมื่อเวลามาถึง ดังนั้นฉันจึงต้องหาวิธีอย่างเป็นทางการในการตรวจจับอุปกรณ์อนุกรม ปัญหาคือดูเหมือนจะไม่มีเอกสารหรือฉันหาไม่พบ ฉันคิดว่าวิธีหนึ่งคือการเปิดไฟล์ทั้งหมดจาก/dev/tty*และเรียกไฟล์เฉพาะioctl()ที่มีอยู่ในอุปกรณ์อนุกรมเท่านั้น นั่นจะเป็นทางออกที่ดีหรือไม่? อัปเดต hrickardsแนะนำให้ดูที่มาของ "setserial" รหัสของมันตรงกับสิ่งที่ฉันคิดไว้: ขั้นแรกให้เปิดอุปกรณ์ด้วย: fd = open (path, O_RDWR | O_NONBLOCK) จากนั้นจะเรียกใช้: ioctl (fd, TIOCGSERIAL, &serinfo) หากการโทรกลับไม่มีข้อผิดพลาดแสดงว่าเป็นอุปกรณ์อนุกรม ฉันพบรหัสที่คล้ายกันในSerial Programming / …
113 linux  serial-port 

5
PATH_MAX กำหนดไว้ที่ไหนใน Linux?
ไฟล์ส่วนหัวใดที่ฉันควรเรียกใช้#includeเพื่อให้สามารถใช้ PATH_MAX เป็น int สำหรับปรับขนาดสตริงได้ ฉันต้องการที่จะประกาศ: char *current_path[PATH_MAX]; แต่เมื่อฉันทำเช่นนั้นคอมไพเลอร์ของฉัน (Clang / LLVM บน Linux) ออกข้อผิดพลาดต่อไปนี้: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ ฉันลองค้นหาโดย Google แล้ว แต่ก็ยังไม่มีโชค #include <limits.h> ไม่แก้ไขปัญหา / ข้อผิดพลาด ฉันแก้ไขด้วยหรือไม่ว่าค่าของ PATH_MAX เป็น int
113 c  linux  gcc  include  clang 

7
วิธีย้ายไฟล์ทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่ไปยังไดเร็กทอรีหลักผ่าน *
คำถามนี้ต้องเป็นคำถามยอดนิยม แต่หาคำตอบไม่ได้ วิธีย้ายไฟล์ทั้งหมดผ่าน * รวมถึงไฟล์ที่ซ่อนอยู่และไปยังไดเร็กทอรีหลักเช่นนี้: mv /path/subfolder/* /path/ การดำเนินการนี้จะย้ายไฟล์ทั้งหมดไปยังไดเร็กทอรีหลักอย่างที่คาดไว้ แต่จะไม่ย้ายไฟล์ที่ซ่อนอยู่ ต้องทำอย่างไร?
113 linux  bash  shell  command 

6
สถานะ Git ละเว้นการสิ้นสุดบรรทัด / ไฟล์ที่เหมือนกัน / สภาพแวดล้อม windows & linux / dropbox / mled
ฉันจะทำอย่างไร สถานะคอมไพล์ ไม่สนใจความแตกต่างของการสิ้นสุดบรรทัด? ข้อมูลเบื้องหลัง: ฉันใช้ Windows และ Linux แบบสุ่มเพื่อทำงานในโครงการ โครงการอยู่ใน Dropbox ฉันพบมากมายเกี่ยวกับวิธีทำให้ git diff ไม่สนใจการลงท้ายบรรทัด เนื่องจากฉันใช้ meld git diff จึงเปิด meld สำหรับแต่ละไฟล์ และ meld พูดว่า "ไฟล์เหมือนกัน" ดังนั้นฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร Git ควรเปิด meld สำหรับไฟล์ที่เปลี่ยนแปลงเท่านั้น และสถานะ git ไม่ควรรายงานไฟล์ว่ามีการเปลี่ยนแปลงหากมีเพียงส่วนท้ายของไฟล์ที่แตกต่างกัน แก้ไข: สาเหตุ: สิ่งนี้เกิดขึ้นเนื่องจากการตั้งค่านี้ใน Windows core.autocrlf จริง ดังนั้นฉันจึงตรวจสอบสำเนาที่ใช้งานได้บน Linux และตั้งค่า core.autocrlf false บน Windows คงจะดีไม่น้อยหากทราบวิธีทำให้สถานะคอมไพล์ไม่สนใจบรรทัดใหม่ที่แตกต่างกัน

6
ไม่สามารถโหลดไฟล์ดังกล่าว - zlib แม้หลังจากใช้ rvm pkg install zlib
ฉันติดตั้งแพ็คเกจ zlib และทับทิม 1.9.3 โดยใช้ rvm แต่เมื่อใดก็ตามที่ฉันพยายามติดตั้งอัญมณีมันจะบอกว่า cannot load such file -- zlib คำสั่งที่ฉันใช้ในการติดตั้งคือ $ rvm install 1.9.3 $ rvm pkg ติดตั้ง zlib $ rvm ติดตั้งใหม่ 1.9.3 - ด้วย-readline-dir = / home / username / .rvm / usr \ - พร้อม-iconv-dir = / home / username / .rvm / usr …
112 ruby  linux  gem  rvm 


1
ฉันจะวางกระบวนการ linux ที่กำลังทำงานอยู่ในพื้นหลังได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีคำสั่งที่อัปโหลดไฟล์โดยใช้ git ไปยังเซิร์ฟเวอร์ระยะไกลจาก Linux shell และจะใช้เวลาหลายชั่วโมงจึงจะเสร็จสิ้น ฉันจะวางโปรแกรมที่กำลังทำงานอยู่ในพื้นหลังได้อย่างไร? เพื่อให้ฉันยังสามารถทำงานกับเชลล์ได้และกระบวนการนั้นก็เสร็จสมบูรณ์เช่นกัน?
112 linux  bash  shell  background 

4
วิธีแยกวิเคราะห์ไฟล์ CSV ใน Bash
ฉันกำลังทำงานกับสคริปต์ Bash แบบยาว ฉันต้องการอ่านเซลล์จากไฟล์ CSV เป็นตัวแปร Bash ฉันสามารถแยกวิเคราะห์บรรทัดและคอลัมน์แรก แต่ไม่สามารถแยกวิเคราะห์คอลัมน์อื่นได้ นี่คือรหัสของฉันจนถึงตอนนี้: cat myfile.csv|while read line do read -d, col1 col2 < <(echo $line) echo "I got:$col1|$col2" done เป็นการพิมพ์คอลัมน์แรกเท่านั้น ในการทดสอบเพิ่มเติมฉันได้ลองทำสิ่งต่อไปนี้: read -d, x y < <(echo a,b,) และ $ y ว่างเปล่า ฉันจึงลอง: read x y < <(echo a b) และ $ Y …
112 linux  bash  csv 

8
วิธีเรียกใช้คำสั่งในพื้นหลังและไม่ได้รับผลลัพธ์
ฉันเขียนสองเชลล์สคริปต์a.shและb.sh. ในa.shและb.shฉันมีอนันต์สำหรับลูปและพวกเขาพิมพ์เอาต์พุตบางส่วนไปยังเทอร์มินัล ฉันต้องการเขียนสคริปต์อื่นที่เรียกใช้ทั้งสองa.shและb.shแต่ฉันต้องการให้ผู้ใช้กลับมาควบคุมเทอร์มินัลทันทีแทนที่จะให้สคริปต์ทำงานไม่สิ้นสุดและฉันต้องการซ่อนเอาต์พุตในเทอร์มินัล


16
สคริปต์ Bash พิมพ์“ ไม่พบคำสั่ง” ในบรรทัดว่าง
ทุกครั้งที่ฉันเรียกใช้สคริปต์โดยใช้bash scriptname.shจากบรรทัดคำสั่งใน Debian ฉันจะได้รับCommand Not foundผลลัพธ์ของสคริปต์ สคริปต์ทำงานได้ แต่จะมีCommand Not Foundคำสั่งพิมพ์บนหน้าจอสำหรับแต่ละบรรทัดว่างเสมอ แต่ละบรรทัดว่างทำให้ไม่พบคำสั่ง ฉันกำลังเรียกใช้สคริปต์จาก/varโฟลเดอร์ นี่คือสคริปต์: #!/bin/bash echo Hello World ฉันเรียกใช้โดยพิมพ์ต่อไปนี้: bash testscript.sh เหตุใดจึงเกิดขึ้น
112 linux  bash  debian 

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