Unix & Linux

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

4
ทำไมไม่ใช้ rsync เสมอ
ฉันต้องการถามว่ามีเหตุผลใดที่จะไม่ใช้rsyncสำหรับทุกสิ่งและถูกทอดทิ้งcpหรือไม่? ฉันไม่รู้rsyncและตอนนี้ฉันไม่รู้ว่าทำไมจึงcpมีความต้องการ
17 linux  rsync  cp 

6
วิธีอ่านไฟล์. war
ฉันพยายามดูเนื้อหาของไฟล์. war ฉันได้ตั้งค่าการอนุญาตchmod 777ก่อนแล้วเมื่อฉันพยายามที่จะใช้มันโดยใช้: cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/ มันคือการให้cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directoryและฉันไม่สามารถดำเนินการต่อไป มีคนช่วยฉันได้ไหมในเรื่องนี้?

4
เป็นไปได้ไหมที่ผู้ดูแลระบบจะดักฟังบนเทอร์มินัลผู้ใช้ของตน?
เมื่อเข้าสู่ระบบในเครื่องผมสามารถหาอุปกรณ์หลอกขั้วของผู้ใช้แต่ละ (s) wจากการส่งออกของ การดูแลระบบเป็นไปได้หรือไม่ที่ฉันจะแอบฟังบนเทอร์มินัลนี้โดยที่ผู้ใช้ไม่ทราบ? กล่าวอีกนัยหนึ่งฉันต้องการเห็นทุกสิ่งที่ทำบนเทอร์มินัลนี้เป็นเอาต์พุตในเทอร์มินัลของฉันเอง โปรดทราบสิ่งต่อไปนี้: นี่ไม่ใช่กรณีการใช้งานจริงในการตรวจสอบกิจกรรมของผู้ใช้: ฉันทราบว่ามีเครื่องมือตรวจสอบระบบสำหรับสิ่งนั้น ฉันแค่อยากรู้ว่ามันสามารถทำได้ ฉันตระหนักถึงคำถามนี้และดูเหมือนจะไม่ครอบคลุมสิ่งที่ฉันถามเกี่ยวกับวิธีแก้ปัญหาทั้งหมดที่แนะนำว่ามีการบุกรุก (ผู้ใช้จะตระหนักถึงสิ่งที่ฉันทำ) หรือสร้างเสียงรบกวนมากเกินไป ( straceวิธีการแก้). gdbวิธีการแก้ปัญหาหนึ่งที่มาใกล้เป็นสิ่งหนึ่งที่แสดงให้เห็นการใช้ แต่นี่ให้ฉันเห็น stdout ของเทอร์มินัลอื่นเท่านั้น สิ่งที่ฉันได้ลอง ฉันลองสิ่งนี้จากเครื่องของฉัน: tee /dev/pts/user_pts </dev/pts/user_pts สิ่งนี้ทำให้ฉันเห็นอักขระแต่ละตัวที่ผู้ใช้พิมพ์ในเทอร์มินัลหลอกอื่น ๆ ขณะที่พิมพ์ ปัญหาคือตัวละครทุกสองสามตัวมันจะ "ข้าม": มันจะแสดงหนึ่งตัวอักษรโกงในอุปกรณ์ปลายทางหนึ่ง แต่ไม่อื่น นอกจากนี้ยังป้องกันการประมวลผลคำสั่งใด ๆ จากอุปกรณ์ปลายทางหลอกของผู้ใช้ ฉันไม่แน่ใจจริงๆว่าทำไมสิ่งนี้จึงเกิดขึ้นและมีวิธีการปรับปรุงหรือไม่ สิ่งที่ฉันอยากเห็น USER TERMINAL | MY TERMINAL $ echo "Test" | # slick_command_here Test | echo "Test" …

2
วิธีการตั้งค่าเครื่องมือแก้ไข / โปรแกรมดูเริ่มต้นสำหรับ Midnight Commander เป็น Sublime
คำถามนั้นค่อนข้างตรงไปตรงมาดังนั้นจึงไม่มีคำอธิบายเพิ่มเติมตามที่ฉันต้องการ ฉันเพิ่งเพิ่มว่าฉันใช้ Ubuntu 13.04 ยินดีต้อนรับความช่วยเหลือใด ๆ
17 mc 

4
ฉันควรเขียนโฟลเดอร์ใดให้กับไฟล์ระดับกลางของฉันในฐานะนักพัฒนา
ฉันเริ่มเขียนสคริปต์ทุบตีบางอย่างสำหรับโครงการของฉันและพวกเขาต้องการไฟล์กลางหรือตัวแปรที่จะเขียน ฉันต้องการทราบว่าโฟลเดอร์ใดที่ฉันสามารถมั่นใจได้ว่ามีสิทธิ์เข้าถึงเมื่อมีคนรันสคริปต์ของฉัน เป็นการใช้งานทั่วไป/tmp/หรือไม่? หรือฉันควรใช้อย่างอื่น?

1
ln หมายถึงอะไร
ใน Linux คุณสามารถใช้lnคำสั่งเพื่อสร้างลิงก์ $ touch foo $ ln -s foo foo_link $ ls -l lrwxrwxrwx 1 cklein cklein 3 May 29 16:11 foo_link -> foo ฉันคิดว่า 'l' ในคำlnว่า "ลิงก์" แต่ "n" หมายถึงอะไร สิ่งที่lnยืนหยัดเพื่อ?
17 symlink  ln 

5
ฉันจะใช้การค้นหาได้อย่างไรเมื่อชื่อไฟล์มีช่องว่าง
ฉันต้องการไพพ์ชื่อไฟล์ไปยังโปรแกรมอื่น แต่พวกมันทั้งหมดทำให้หายใจไม่ออกเมื่อชื่อมีช่องว่าง สมมติว่าฉันมีไฟล์ที่เรียกว่า foo bar ฉันfindจะคืนชื่อที่ถูกต้องได้อย่างไร เห็นได้ชัดว่าฉันต้องการ: foo\ bar หรือ: "foo bar" แก้ไข : ฉันไม่ต้องการผ่านxargsฉันต้องการดึงสตริงที่จัดรูปแบบอย่างถูกต้องออกมาfindเพื่อที่ฉันจะได้ไพพ์สตริงของชื่อไฟล์โดยตรงไปยังโปรแกรมอื่น
17 find 

3
ย้ายไฟล์และลบไดเรกทอรีด้วย rsync หรือไม่
เมื่อเร็ว ๆ นี้ฉันต้องการลบไฟล์จำนวนมาก (มากกว่า 1 ล้านไฟล์) และฉันได้อ่าน: rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source rm -rfเป็นหนึ่งในวิธีที่ดีที่สุดมากที่สุดที่จะทำเช่นนั้นและฉันสามารถรับรองว่ามันเร็วกว่า ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ แต่จากความเข้าใจของฉันแล้วเหตุผลที่ประสิทธิภาพของ rsync มีบางอย่างที่ต้องทำตามวิธีที่รายการไฟล์ (LIFO แทนที่จะเป็น FIFO ที่ฉันคิดว่า) ตอนนี้ปัญหาคือฉันต้องย้ายไฟล์จำนวนมากด้วยวิธีที่มีประสิทธิภาพ หลังจากค้นหาแล้วฉันก็พบสิ่งนี้: rsync -av --ignore-existing --remove-source-files ~/source ~/destination ขณะนี้ลบทั้งหมดย้ายไฟล์ใน~/sourceไดเรกทอรียังคงมี เนื่องจากฉันมีโครงสร้างไดเรกทอรีคล้ายกับ "round-robin" จำนวนfiles/directoriesใกล้เคียงกับ 1 ดังนั้นฉันจึงถูกบังคับให้เรียกใช้คำสั่งแรกอีกครั้งเพื่อกำจัดไดเรกทอรีทั้งหมด: rsync -av --ignore-existing --remove-source-files ~/source ~/destination && \ rsync -av …

2
ขอสคริปต์เพื่อรับ
ฉันมีในพาร์ทิชันที่แยกต่างหากและติดตั้งที่มี/tmp noexecฉันใช้ Debian /tmpการติดตั้งแพคเกจบางส่วนล้มเหลวเพราะสคริปต์หลังการติดตั้งแพคเกจบางส่วนต้องหนีจาก ผมสงสัยว่าถ้ามันจะเป็นไปได้ที่จะเบ็ด "" สคริปต์ง่ายในการapt-getที่จะทำงานทุกครั้งก่อนapt-getและ remount ไป/tmp execและในทำนองเดียวกันให้นับใหม่noexecหลังจากapt-getเสร็จสิ้น
17 mount  apt  tmp 

1
pdflush, kjournald, swapd, interoperate ฯลฯ ทำอย่างไร?
เพิ่งเห็นคำถามที่จุดประกายความคิดนี้ ไม่พบคำตอบจริงๆที่นี่หรือผ่านเครื่อง Google โดยทั่วไปฉันสนใจที่จะรู้ว่าเคอร์เนลสถาปัตยกรรม I / O เป็นชั้น ตัวอย่างเช่นkjournaldส่งไปยังpdflushหรือในทางอื่น ๆ ? ข้อสันนิษฐานของฉันคือpdflush(เป็นแบบทั่วไปสำหรับ I / O ที่เก็บข้อมูลขนาดใหญ่) จะอยู่ในระดับที่ต่ำกว่าและเรียกใช้ SCSI / ATA / คำสั่งใดก็ตามที่จำเป็นในการดำเนินการเขียนจริงและkjournaldจัดการโครงสร้างข้อมูลระบบแฟ้มระดับสูงขึ้นก่อนการเขียน ฉันสามารถดูวิธีอื่น ๆ เช่นกันด้วยการkjournaldเชื่อมต่อโดยตรงกับโครงสร้างข้อมูลของระบบแฟ้มและpdflushตื่นขึ้นมาทุกขณะแล้วเขียนหน้า pagecache สกปรกไปยังอุปกรณ์ผ่านkjournald. อาจเป็นไปได้ว่าทั้งสองไม่โต้ตอบเลยด้วยเหตุผลอื่น โดยทั่วไป:ฉันต้องการวิธีที่จะเห็นภาพ (กราฟหรือเพียงคำอธิบาย) สถาปัตยกรรมพื้นฐานที่ใช้สำหรับการส่ง I / O ไปยังที่เก็บข้อมูลขนาดใหญ่ภายในเคอร์เนลลินุกซ์


2
tmux set-title ไม่ทำงาน?
ในการเริ่มต้นtmuxในการเข้าสู่ระบบเชลล์ทุกครั้งจะมีการเพิ่มสิ่งต่อไปนี้ลงใน~/.bashrc(บนเซิร์ฟเวอร์): if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then tmux attach || tmux new; exit fi ฉันยังต้องการเปลี่ยนชื่อหน้าต่างเป็นบางสิ่งเช่นuser@server(แทนuser@localhost) เมื่อ ssh เป็นโฮสต์ นี่คือฉัน~/.tmux.conf: set -g prefix C-a unbind C-b bind C-a send-prefix set -g set-titles on set -g set-titles-string "#T" bind-key o split-window -v bind-key e split-window …
17 tmux  xterm 

6
ldd บอกแอปของฉันว่า“ ไม่ใช่แบบปฏิบัติการได้”
ฉันมีแอปพลิเคชั่น 32 บิต (เรียกว่า uclsyn) ฉันได้รับจากอาจารย์ดาราศาสตร์ ฉันจัดการเพื่อให้มันทำงานบน CentOS ปีที่แล้ว แต่ตอนนี้เมื่อฉันตั้งค่า CentOS VM ใหม่มันจะไม่ทำงานและฉันไม่สามารถหาสาเหตุได้ มันกลับมาพร้อมกับ "ฆ่า" นี่คือการแลกเปลี่ยนในบรรทัดคำสั่ง: $ ./uclsyn_linux Killed $ ldd ./uclsyn_linux not a dynamic executable $ file ./uclsyn_linux uclsyn_linux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped บนเครื่องที่ทำงานอยู่ …
17 centos  libraries 

4
Linux, วิธีเปลี่ยนสถานะ HDD จาก ReadOnly หลังจากเกิดข้อผิดพลาดชั่วคราว?
ในเวลานี้ไม่มีคำตอบสำหรับปัญหานี้ โดยปกติหลังจากเกิดปัญหากับการอ่านหรือการเขียนเพื่อบล็อกอุปกรณ์เคอร์เนลตัดสินใจที่จะสลับการตั้งค่าสถานะสำหรับอุปกรณ์ทั้งหมดเป็นการอ่านอย่างเดียว หลังจากนี้การเขียนใด ๆ ไปยังพาร์ติชัน / ระบบไฟล์ใด ๆ ที่อยู่บนอุปกรณ์นี้ทำให้เกิดการสลับเป็นแบบอ่านอย่างเดียวพร้อมกับสถานะอุปกรณ์เนื่องจากการเขียนใด ๆ เป็นไปไม่ได้ ตัวอย่างจาก dmesg นี่คือการจำลองสำหรับ guest linux บน windows8 โดยใช้ VirtualBox เมื่อ defrag ใช้อิมเมจอุปกรณ์แขก: [11903.002030] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen [11903.003179] ata3.00: failed command: READ FPDMA QUEUED [11903.003364] ata3.00: cmd 60/08:00:a8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 …
17 linux  readonly  mount 

2
Linux: การแลกเปลี่ยนทั้งหมดที่ใช้ = swap ที่ใช้โดยกระบวนการ +?
ดังนั้นฉันกำลังพยายามตรวจสอบว่าการใช้ swap มาจากไหนในระบบที่มีการใช้ swap สูง: # free total used free shared buffers cached Mem: 515324 508800 6524 0 4852 27576 -/+ buffers/cache: 476372 38952 Swap: 983032 503328 479704 การเพิ่มค่า swap ที่ใช้ต่อกระบวนการ: # for proc in /proc/*; do cat $proc/smaps 2>/dev/null | awk '/Swap/{swap+=$2}END{print swap "\t'`readlink $proc/exe`'"}'; done | sort -n …
17 linux  memory  swap 

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