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

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

5
ค้นหาและคัดลอกไฟล์
เหตุใดสิ่งต่อไปนี้จึงไม่คัดลอกไฟล์ไปยังโฟลเดอร์ปลายทาง # find /home/shantanu/processed/ -name '*2011*.xml' -exec cp /home/shantanu/tosend {} \; cp: omitting directory `/home/shantanu/tosend' cp: omitting directory `/home/shantanu/tosend' cp: omitting directory `/home/shantanu/tosend'
128 linux  copy  find 

7
เชลล์ - จะค้นหาไดเร็กทอรีของคำสั่งบางคำสั่งได้อย่างไร
ฉันรู้ว่าเมื่อคุณอยู่บนเชลล์คำสั่งเดียวที่สามารถใช้ได้คือคำสั่งที่สามารถพบได้ในบางไดเรกทอรีที่ตั้งค่าบน PATH แม้ว่าฉันจะไม่รู้ว่าจะดูได้อย่างไรว่าตัวแปร PATH ของฉันเป็นอย่างไร (และนี่เป็นอีกคำถามที่ดีที่สามารถตอบได้) สิ่งที่ฉันอยากรู้คือ: ฉันมาที่เปลือกและเขียน: $ lshw ฉันต้องการทราบคำสั่งบนเชลล์ที่สามารถบอกฉันได้ว่าคำสั่งนี้อยู่ที่ไหน กล่าวอีกนัยหนึ่งว่า "ไฟล์ปฏิบัติการ" นี้อยู่ที่ไหน? สิ่งที่ต้องการ: $ location lshw /usr/bin ใคร?

8
เปลี่ยนเส้นทาง STDERR / STDOUT ของกระบวนการหลังจากเริ่มต้นแล้วโดยใช้บรรทัดคำสั่ง?
ในเชลล์คุณสามารถเปลี่ยนเส้นทางได้> <ฯลฯ แต่หลังจากเริ่มโปรแกรมแล้วจะเป็นอย่างไร? นี่คือวิธีที่ฉันถามคำถามนี้โปรแกรมที่ทำงานอยู่เบื้องหลังเทอร์มินัลของฉันจะส่งข้อความที่น่ารำคาญออกมา เป็นกระบวนการที่สำคัญดังนั้นฉันจึงต้องเปิดเชลล์อื่นเพื่อหลีกเลี่ยงข้อความ ฉันต้องการที่จะสามารถ>/dev/nullหรือเปลี่ยนเส้นทางอื่น ๆ เพื่อที่ฉันจะได้ทำงานในเชลล์เดียวกันต่อไป
127 linux  bash  shell 

7
การเชื่อมต่อไฟล์และแทรกบรรทัดใหม่ระหว่างไฟล์
ฉันมีหลายไฟล์ที่ฉันต้องการที่จะ concat catกับ เอาเป็นว่า File1.txt foo File2.txt bar File3.txt qux ฉันต้องการเชื่อมต่อเพื่อให้ไฟล์สุดท้ายมีลักษณะดังนี้: foo bar qux แทนที่จะเป็นแบบนี้ด้วย cat File*.txt > finalfile.txt foo bar qux วิธีที่ถูกต้องคืออะไร?
127 linux  unix  cat 


3
จะตั้งค่าตัวแปรสภาพแวดล้อมเฉพาะช่วงเวลาของสคริปต์ได้อย่างไร?
บน Linux (Ubuntu 11.04) ใน bash เป็นไปได้ไหมที่จะตั้งค่าตัวแปรสภาพแวดล้อมชั่วคราวที่จะแตกต่างจากตัวแปรปกติในช่วงระยะเวลาของสคริปต์? ตัวอย่างเช่นในเชลล์สคริปต์การสร้างแอปที่บันทึกไปยัง HOME แบบพกพาโดยการตั้งค่า HOME เป็นโฟลเดอร์ชั่วคราวในไดเร็กทอรีการทำงานปัจจุบันจากนั้นเปิดแอป


11
Unix - สร้างเส้นทางของโฟลเดอร์และไฟล์
ฉันรู้ว่าคุณสามารถmkdirสร้างไดเร็กทอรีและtouchสร้างไฟล์ได้ แต่ไม่มีวิธีใดที่จะดำเนินการทั้งสองอย่างในคราวเดียวได้? เช่นถ้าฉันต้องการทำด้านล่างเมื่อotherไม่มีโฟลเดอร์: cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt ข้อผิดพลาด: cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory มีใครคิดฟังก์ชันเป็นวิธีแก้ปัญหานี้หรือไม่?
126 linux  bash  shell  unix  scripting 

2
ไดรเวอร์อุปกรณ์ IOCTL Linux [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ ใครช่วยอธิบายฉันที คืออะไรIOCTL? ใช้ทำอะไร? ฉันจะใช้มันได้อย่างไร? ทำไมฉันจึงไม่สามารถกำหนดฟังก์ชั่นใหม่ที่ทำงานเช่นเดียวกับIOCTL?

9
คุณค้นหาไฟล์ที่มีจุดสิ้นสุดบรรทัด dos (CRLF) ด้วย grep บน Linux ได้อย่างไร
ฉันต้องการค้นหาไฟล์ที่มีการลงท้ายบรรทัด dos ด้วย grep บน Linux สิ่งนี้: grep -IUr --color '\r\n' . ข้างต้นดูเหมือนจะตรงกับตัวอักษรrnซึ่งไม่ใช่สิ่งที่ต้องการ ผลลัพธ์ของสิ่งนี้จะถูกส่งผ่าน xargs เป็น todos เพื่อแปลง crlf เป็น lf เช่นนี้ grep -IUrl --color '^M' . | xargs -ifile fromdos 'file'
126 linux  bash  grep  newline 

13
PHP ส่งผ่าน $ _GET ในพรอมต์คำสั่ง linux
สมมติว่าเรามักจะเข้าถึงผ่าน http://localhost/index.php?a=1&b=2&c=3 เราจะดำเนินการเดียวกันในพรอมต์คำสั่ง linux ได้อย่างไร php -e index.php แล้วการส่งตัวแปร $ _GET ล่ะ? อาจจะคล้าย ๆ php -e index.php --a 1 --b 2 --c 3? สงสัยจะได้ผล ขอบคุณ!
125 php  linux 


11
ลบเส้นทางที่ซ้ำซ้อนออกจากตัวแปร $ PATH
ฉันได้กำหนดเส้นทางเดียวกันในตัวแปร $ PATH 6 ครั้ง ฉันไม่ได้ออกจากระบบเพื่อตรวจสอบว่าใช้งานได้หรือไม่ ฉันจะลบรายการที่ซ้ำกันได้อย่างไร ตัวแปร $ PATH มีลักษณะดังนี้: echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin ฉันจะรีเซ็ตเป็นเพียงแค่ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

13
การเพิ่มตัวนับใน Bash loop ไม่ทำงาน
ฉันมีสคริปต์ง่ายๆต่อไปนี้ที่ฉันใช้งานลูปและต้องการรักษาไฟล์COUNTER. ฉันไม่สามารถเข้าใจได้ว่าเหตุใดตัวนับจึงไม่อัปเดต เป็นเพราะการสร้าง subshell หรือไม่? ฉันจะแก้ไขปัญหานี้ได้อย่างไร #!/bin/bash WFY_PATH=/var/log/nginx WFY_FILE=error.log COUNTER=0 grep 'GET /log_' $WFY_PATH/$WFY_FILE | grep 'upstream timed out' | awk -F ', ' '{print $2,$4,$0}' | awk '{print "http://domain.com"$5"&ip="$2"&date="$7"&time="$8"&end=1"}' | awk -F '&end=1' '{print $1"&end=1"}' | ( while read WFY_URL do echo $WFY_URL #Some more action COUNTER=$((COUNTER+1)) done ) …
125 linux  bash  shell  scripting  counter 

15
วิธีรับ CRON เพื่อโทรใน PATH ที่ถูกต้อง
ฉันพยายามให้ cron เรียกใน PATH ที่ถูกต้อง เมื่อฉันเรียกใช้สคริปต์ Python จากเชลล์สคริปต์จะทำงานได้ดีเนื่องจากใช้ PATH ที่ตั้งค่าใน bashrc แต่เมื่อฉันใช้ cron PATH ทั้งหมดจะไม่ใช้จาก bashrc มีไฟล์ที่ฉันสามารถป้อน PATH ลงใน cron เช่น bashrc หรือวิธีเรียก PATH จาก bashrc ได้หรือไม่ ขออภัยฉันคิดว่าฉันพูดไม่ถูกต้องฉันสามารถเรียกใช้สคริปต์ที่ถูกต้องได้ (หมายถึงเส้นทางไปยังสคริปต์ใน crontab ไม่ใช่ปัญหาที่นี่) เมื่อสคริปต์นั้นกำลังทำงานอยู่ฉันจะรันบิลด์และสิ่งนี้ใช้ ตั้งค่าเส้นทางใน.bashrc. เมื่อฉันเรียกใช้สคริปต์เมื่อฉันเข้าสู่ระบบ.bashrcPATHs จะถูกดึงเข้ามาเนื่องจาก cron ไม่ทำงานในเชลล์ต่อการบอกว่ามันไม่ดึงเข้า.bashrcมา มีวิธีดึงสิ่งนี้โดยไม่ต้องเขียน bash script wrapper หรือไม่?
125 linux  path  cron 

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