Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

3
ทำไมตัวคั่นหน่วย (ASCII 31) มองไม่เห็นในเทอร์มินอลเอาท์พุท
ตัวละครหน่วยคั่น ASCII (ASCII 31 ฐานแปด 37) ^_ปรากฏอยู่ในกลุ่มเป็น แต่ถ้าฉันพิมพ์ไฟล์เดียวกันไปที่เทอร์มินัลตัวละครจะมองไม่เห็น สิ่งนี้ทำให้ฟิลด์บนบรรทัดติดกัน: # In Vim and less: first field^_second field^_last field # cat the same file to terminal: cat delim.txt first fieldsecond fieldlast field # print 2nd field with awk cat delim.txt | awk 'BEGIN {FS = "\037"} {print $2}' second field ฉันคิดว่าฉันสามารถทำให้ตัวคั่นหน่วยมองเห็นได้ด้วย …
17 terminal  ascii 

2
การบล็อกเว็บไซต์ด้วย / etc / hosts
มีเว็บไซต์ www.example.com ที่ฉันพยายามบล็อกตัวเองไม่ให้เข้าถึงเพราะเสียเวลามากเกินไป ดังนั้นฉันจึงกำหนดค่า/etc/hostsไฟล์ของฉัน ฉันเพิ่มบรรทัดต่อไปนี้เพื่อบล็อกเว็บไซต์ทั้ง IPv4 และ IPv6: 127.0.0.1 www.example.com ::1 www.example.com 127.0.0.1 http://www.example.com ::1 http://www.example.com 127.0.0.1 example.com ::1 example.com ฉันรีสตาร์ทคอมพิวเตอร์และไม่สามารถwget www.example.comและส่ง Ping www.example.comได้ตามที่คาดไว้ แต่เว็บไซต์ไม่ได้ถูกบล็อกในเบราว์เซอร์ของฉัน! ฉันยังสามารถเข้าถึงได้ใน Firefox 28 และ Chromium คำถาม เกิดอะไรขึ้น? ฉันจะบล็อกเว็บไซต์นี้โดยใช้เครื่องมือระดับระบบแทนที่จะใช้ส่วนขยายเบราว์เซอร์ได้อย่างไร

3
รองรับ Airdrop
มีอะไรใน Linux ที่ใช้สิ่งที่ทำให้ Airdrop ใน OS X ทำงานได้หรือไม่? ฉันไม่คุ้นเคยกับโปรแกรมนั้นดังนั้นฉันจึงไม่แน่ใจว่าใช้โปรโตคอลใดในการสื่อสาร อัปเดตโดยเฉพาะฉันกำลังมองหาโปรแกรมที่ถ้าฉันไล่พวกเขาขึ้นฉันจะสามารถรับและส่งไฟล์ไปยังเครื่อง OS X เช่นเดียวกับที่ฉันใช้ Airdrop (อาจเป็นเพราะต้องการแซมบ้าไปยังเครือข่ายที่มีหน้าต่าง)
17 linux  networking  wifi 

3
อะไรคือความแตกต่างระหว่าง“ eval” และ“ source / dev / stdin”?
ระหว่างทางเลือกต่อไปนี้ ... evalกับ comd="ls" eval "$comd" กับ source /dev/stdin printf "ls" | source /dev/stdin ด้วยsource /dev/stdinและ( )หรือ{ } ( printf "ls" ) | source /dev/stdin { printf "ls"; } | source /dev/stdin (เมื่อเราทำงานprintfใน{ }จะมีผลประโยชน์อื่น ๆ กว่าไม่ได้ใช้ subshell ใด ๆ ?) ความแตกต่างระหว่างพวกเขาคืออะไร? ข้อไหนดี? วิธีใดในการรันคำสั่งที่ต้องการ ()หรือ{}?

9
ฟังก์ชั่นทุบตีที่รับอาร์กิวเมนต์เหมือนภาษาอื่นหรือไม่?
ฉันมีฟังก์ชั่นทุบตีเพื่อตั้งค่า$PATHเช่นนี้ - assign-path() { str=$1 # if the $PATH is empty, assign it directly. if [ -z $PATH ]; then PATH=$str; # if the $PATH does not contain the substring, append it with ':'. elif [[ $PATH != *$str* ]]; then PATH=$PATH:$str; fi } แต่ปัญหาคือฉันต้องเขียนฟังก์ชั่นที่แตกต่างกันสำหรับตัวแปรที่แตกต่างกัน (ตัวอย่างเช่นฟังก์ชั่นอื่นสำหรับ$CLASSPATHชอบassign-classpath()ฯลฯ ) ฉันไม่สามารถหาวิธีส่งอาร์กิวเมนต์ไปยังฟังก์ชัน bash เพื่อให้สามารถเข้าถึงได้โดยการอ้างอิง …
17 bash  bash-script 

6
วิธีการส่งออกสตริงที่คั่นด้วยเครื่องหมายจุลภาคโดยใช้การขยาย bash brace
ฉันต้องการ $ echo a{b,c,d} เพื่อส่งออกรายการคั่นด้วยเครื่องหมายจุลภาคเช่น ab,ac,ad แทนการส่งออกปกติ ab ac ad วิธีที่ง่ายที่สุดในการทำเช่นนั้นในบรรทัดคำสั่งคืออะไร?
17 bash  shell 

5
วิธีรับขนาดโฟลเดอร์โดยไม่สนใจการเชื่อมโยงอย่างหนัก
ฉันใช้ rsnapshot สำหรับการสำรองข้อมูลซึ่งสร้างชุดของโฟลเดอร์ที่มีไฟล์ชื่อเดียวกัน ไฟล์บางไฟล์เชื่อมโยงกันอย่างหนักในขณะที่ไฟล์อื่นแยกออกจากกัน ตัวอย่างเช่นhourly.1/file1และhourly.2/file1อาจเชื่อมโยงอย่างหนักกับไฟล์เดียวกันในขณะที่hourly.1/file2และhourly.2/file2เป็นไฟล์ที่แยกจากกันโดยสิ้นเชิง ฉันต้องการค้นหาจำนวนพื้นที่ที่โฟลเดอร์ใช้เพื่อhourly.2 เพิกเฉยต่อไฟล์ใด ๆ ที่เป็นลิ้งค์ไปยังไฟล์hourly.1ต่างๆ ดังนั้นในตัวอย่างข้างต้นฉันอยากได้ขนาดของ file2 แต่ไม่สนใจ file1 ฉันใช้ bash บน linux และฉันต้องการทำสิ่งนี้จากบรรทัดคำสั่งให้ง่ายที่สุดเท่าที่จะทำได้ดังนั้นจึงไม่มีโซลูชันกราฟิกหรือระบบปฏิบัติการอื่น ๆ

3
วิธีการบังคับให้เขียนทับไดเรกทอรีที่ไม่ว่างโดยใช้ `mv`
ฉันต้องการย้าย (ไม่ใช่เพียงแค่คัดลอก) กลุ่มของไฟล์ / ไดเรกทอรีไปยังไดเรกทอรีอื่นซึ่งบางส่วนมีชื่อที่ขัดแย้งกับไฟล์ / ไดเรกทอรีในไดเรกทอรีเป้าหมาย วัตถุประสงค์หลักของฉันคือการย้ายไฟล์ดังนั้นฉันสามารถทนต่อไดเรกทอรีที่ไม่ว่างที่ถูกเขียนทับ ฉันกำลังใช้mv ... destinationอย่างไรก็ตามบางครั้งฉันได้รับ mv: ไม่สามารถย้าย `target 'ไปยัง / destination / target': ไดเรกทอรีไม่ว่างเปล่า ฉันพยายามmv -f ... destinationไม่ประสบความสำเร็จและเนื่องจากฉันต้องการให้ไฟล์หายไปจากตำแหน่งเดิมrsyncดูเหมือนจะไม่เหมาะสม เป็นโบนัสมีวิธีแก้ไขปัญหาที่ดีสำหรับการรักษาไฟล์ที่ตั้งใจจะเขียนทับด้วยการเปลี่ยนชื่อหรือไม่?
17 files  rsync  rename 

1
บันทึกการตั้งค่า setxkbmap หรือไม่
ฉันมีปัญหาในการตั้งค่าคีย์บอร์ดให้สวีเดนเรียกใช้ Raspbian บนราสเบอร์รี่ปี่ setxkbmap seฉันได้พยายามทุกอย่างและสิ่งเดียวที่ทำงานเป็นคำสั่ง แต่นี่จะไม่บันทึกการตั้งค่าอย่างถาวรและจะกลับเป็นค่าเริ่มต้นหลังจากรีบูต มีคำสั่งให้บันทึกการตั้งค่าเหล่านี้อย่างถาวรหรือไม่?

3
ฉันจะหยุดไม่ให้เพิ่มอักขระบรรทัดใหม่ได้อย่างไร
ฉันรันsedคำสั่ง2 ต่อไปนี้ ตัวแรกเพิ่มตัวอักขระขึ้นบรรทัดใหม่ที่ฉันต้องการตัวที่สองเพิ่มตัวอักขระขึ้นบรรทัดใหม่ตามที่ฉันต้องการ แต่ BUT ยังเพิ่มตัวอักขระพิเศษที่ท้ายไฟล์ซึ่งไม่เคยมีมาก่อน sed -e 's|\<LIST_G_STATEMENT>|&\ |g' ${XMLDIR}/statement_tmp_1.xml > ${XMLDIR}/statement_tmp_2.xml sed -e 's|\</LIST_G_STATEMENT>|&\ |g' ${XMLDIR}/statement_tmp_2.xml > ${XMLDIR}/statement_tmp_3.xml การใช้od -cไฟล์ทั้ง 3 ตัวให้ผลลัพธ์ต่อไปนี้ statement_tmp_1.xml (ไม่ใช่\nไฟล์ท้ายไฟล์) 1314700 T A T E M E N T > < / L I S T _ 1314720 G _ S T A T …
17 sed 

3
lftp: เข้าสู่ระบบใส่ไฟล์ใน dir ระยะไกลและออกในคำสั่งเดียว: ความช่วยเหลือในการอ้างอิงที่เหมาะสม
ฉันต้องการใช้lftp -cในการทำเซสชั่นทั้งหมดในครั้งเดียว (เพราะฉันจะเปิดตัวจากสคริปต์ในภายหลัง) และฉันจัดการด้วย-eแต่ ofc ทำให้ฉันด้วยเซสชั่นแบบโต้ตอบที่ฉันไม่ต้องการ คู่มือการใช้ -c commands Execute the given commands and exit. Commands can be separated with a semicolon, `&&' or `||'. Remember to quote the commands argument properly in the shell. This option must be used alone without other arguments. แต่ฉันไม่เข้าใจว่าฉันควรอ้างอิงและรวมคำสั่ง / การโต้ตอบเข้าด้วยกันอย่างถูกต้องอย่างไร lftp -e "put …
17 shell  lftp 

2
คำสั่ง ls ใน ftp> ไม่ทำงาน!
ฉันกำลังฝึก ftp แต่ประสบปัญหา: คำสั่ง ls ไม่ทำงานบน ftp> ทำไม? ฉันตรวจสอบเซิร์ฟเวอร์ระยะไกล 2 ตัว แต่ ls ก็ไม่ทำงานเหมือนกันและให้เอาต์พุตที่ต่างออกไปเมื่อ ls ทำงาน โปรดดูด้านล่างสำหรับกล่องระยะไกล 2 กล่อง ด้านล่างแสดงเซิร์ฟเวอร์ระยะไกลของฉันที่ฉันติดตั้ง vsftpd วันนี้ ravbholua@ravbholua-Aspire-5315:~$ ftp rs Connected to ravi.com. 220 (vsFTPd 3.0.2) Name (rs:ravbholua): 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode …
17 vsftpd  pure-ftpd 

2
rsync ช้ามาก (ตัวประกอบ 8 ถึง 10) เทียบกับ cp ในการคัดลอกไฟล์จาก nfs-share ไปยัง local dir
ฉันมีเซิร์ฟเวอร์ Ubuntu ติดตั้งใหม่ซึ่งควรเป็นเซิร์ฟเวอร์สำรองใหม่สำหรับ VM-storage ของเรา เซิร์ฟเวอร์มี 4 นิกส์ 2 ในนั้นคือ 10Gbit (อันที่จริงแล้ว intel x540-T2 พร้อมไดร์เวอร์ใหม่ล่าสุดที่มีอยู่) ซึ่งใช้สำหรับเชื่อมต่อกับ SAN ฉันติดตั้ง nfs-share ไว้ภายในเครื่องและเปรียบเทียบความแตกต่างของความเร็วขณะที่คัดลอกไดเรกทอรีด้วยไฟล์ ~ 30 ไฟล์ประมาณ 15 vm-images และไฟล์บันทึกที่เกี่ยวข้อง รูปภาพมีขนาดระหว่าง 8 GB ถึง 600 GB โดยใช้: cp -rf /mnt/nfs-share /backup-storage/ bmon แสดงผลประมาณ 600 MiB / s การใช้ rsync -av /mnt/nfs-share /backup-storage/ bmon แสดงแพ็กเก็ตบางอย่างในวินาทีแรกหยุดประมาณ …
17 ubuntu  rsync  performance  cp 

3
แพ็คเกจใดที่ติดตั้งเป็นค่าเริ่มต้นใน Debian? มีคำสำหรับชุดนั้นหรือไม่? เหตุใดแพ็คเกจเหล่านี้จึงถูก 'ติดตั้งอัตโนมัติ' และบางแพ็คเกจไม่ติดตั้ง
มีคำที่อ้างถึงชุดย่อยของแพ็คเกจที่ติดตั้งโดยอัตโนมัติโดยการกระจาย Debian หรือไม่? ฉันคิดว่ามันมีบางอย่างที่เกี่ยวข้องกับลำดับความสำคัญของแพ็คเกจแต่ดูเหมือนจะไม่เป็นเช่นนั้นเพราะมีแพ็คเกจระดับความสำคัญทั้งหมดในบรรดาแพ็คเกจที่ติดตั้งเป็นค่าเริ่มต้น นอกจากนี้บางส่วนของแพคเกจของผู้เริ่มต้นเซตมีธงเช่นautomatically installed wireless-toolsดังนั้นพวกเขาจะถูกลบโดยอัตโนมัติหากแพ็กเกจของชุดย่อยเริ่มต้นขึ้นอยู่กับพวกเขาจะถูกลบออกด้วยตนเอง ฉันสงสัยว่าเครื่องมือการติดตั้งจะเก็บเฉพาะรายการแพคเกจที่ต้องพิจารณาด้วยตนเองและติดตั้งการอ้างอิงโดยอัตโนมัติหรือไม่ ตอบคำถามสองข้อแรก: หลังจากติดตั้งยูทิลิตี้ Debian หลักแล้วดูเหมือนว่าตัวติดตั้ง Debian จะเรียกใช้taskselงาน "งาน" เพื่อทำการติดตั้ง ในบรรดางานทั่วไปคืองาน "มาตรฐาน" และงาน "แล็ปท็อป" จากหน้าtaskel : งาน "มาตรฐาน" งานมาตรฐานเป็นงานพิเศษที่ Debian Installer ใช้ มันขึ้นอยู่กับความสำคัญของแพ็คเกจ งาน "ระบบมาตรฐาน" รวมอะไรบ้าง tasksel --task-packages standard ซึ่งเป็นสตริงการค้นหาความถนัดที่เท่ากับ aptitude search ~pstandard ~prequired ~pimportant -F%p ดังนั้นtaskselการติดตั้งstandard, requiredและimportantแพคเกจ งาน "แล็ปท็อป" งานแล็ปท็อปเป็นการใช้งานพิเศษโดย Debian Installer เพื่อดึงแพ็คเกจที่มีประโยชน์บนแล็ปท็อป: …

1
MTA ขั้นต่ำที่ส่งเมลภายในเครื่อง (สำหรับ cron) หรือไม่
บนแล็ปท็อปของฉันฉันได้ตั้ง cron ที่ทำงานประจำสัปดาห์ หากมีสิ่งที่ต้องรายงานฉันต้องการรับอีเมล ตอนนี้ผมใช้ KMail เป็นทบวงซึ่งสามารถที่จะอ่านจดหมายจากไดเรกทอรี Maildir ~/.local/share/local-mailที่ ดังนั้นฉันต้องการให้ส่งเมลโลคัลไปยังโฟลเดอร์นั้น (ที่มีโครงสร้าง Maildir) ฉันหวังว่าโปรแกรมแบบง่าย ๆ ที่ตายแล้วมีอยู่แล้วที่มีsendmailส่วนต่อประสาน (เช่นที่echo "$REPORT" | mail -s "$SUBJECT" "$ME"สามารถใช้งานได้) การติดตั้ง exim หรือ forwarding mail ไปยัง remote mailserver ของฉันนั้นถือว่าเกินความจริง คำถามวิธีที่ง่ายที่สุดในการส่งต่อจดหมายทั้งหมดจากเซิร์ฟเวอร์? ดูเหมือนว่าจะกำหนดเป้าหมายการส่งต่อระยะไกลซึ่งไม่เหมาะกับความต้องการของฉัน (ฉันต้องการการจัดส่งในพื้นที่) นี้ด้าย Gentoo เก่าสิ้นสุดลงในงานหัตถกรรมสคริปต์เก่าใน Perl แน่นอนว่าต้องมีโปรแกรมที่เรียบง่ายและคิดง่าย คำแนะนำใด ๆ ฉันใช้ Arch Linux

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