Unix & Linux

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

4
การสร้างไฟล์เก็บถาวรโดยใช้ tar รวมถึง 'dotfiles' ทั้งหมด แต่ไม่รวมไดเรกทอรีย่อยทั้งหมดและ / wo โครงสร้างไดเรกทอรี
ฉันต้องการสำรองข้อมูล 'dotfiles' (fe .zshrc) ทั้งหมดภายใต้ไดเรกทอรีบ้านของฉันด้วยtarแต่ไม่รวมโครงสร้างไดเรกทอรีและไดเรกทอรีย่อยทั้งหมด ฉันได้ลองหลายครั้งด้วยคำสั่งที่แตกต่างกัน แต่สิ่งที่ดีที่สุดที่ฉันทำได้คือการเก็บถาวรซึ่งรวมถึงไดเรกทอรีที่ซ่อนอยู่$HOMEด้วย #!/bin/zsh BACKUPFILE=dotfile_backup.tar.gz tar --create --file=$HOME/$BACKUPFILE --auto-compress --no-recursion --exclude=. --exclude=.. --exclude=*/ --directory=$HOME .* ฉันคิดเกี่ยวกับการใช้findและการวางท่อผลลัพธ์เพื่อ tar แต่ไม่มีโชค มีใครบางคนรู้วิธีที่จะทำสิ่งนี้ให้สำเร็จซึ่งดูเหมือนจะง่ายหรือไม่? PS: ส่วนใหญ่เวลาที่ฉันใช้ tar เพื่อสร้างที่เก็บถาวรฉันต้องคิดถึงการ์ตูน xkcd: :)
18 tar 

2
เป็นอันตรายหรือไม่หากปิดหน้าต่างเทอร์มินัลโดยไม่ออกจากแอปพลิเคชันอย่างถูกต้อง
การใช้ Ubuntu 12.04 LTS คำถามของฉันคือถ้าฉันเริ่มต้นแอปพลิเคชันในหน้าต่างเทอร์มินัลแล้วมีอะไรที่ไม่ดีเกี่ยวกับการปิดหน้าต่างเทอร์มินัลโดยไม่ต้องออกจากแอปพลิเคชันก่อน ตัวอย่างเช่นฉันใช้ MATLAB ฉันเปิดสถานีและพิมพ์ matlab -nodisplay -nodesktop -nosplash จากนั้นเรียกใช้สคริปต์จำนวนมาก จากนั้นฉันก็สามารถทำได้ exit เพื่อสิ้นสุด MATLAB แล้วปิดหน้าต่างเทอร์มินัลหรือเพียงแค่ปิดหน้าต่างเทอร์มินัล ความแตกต่างระหว่างสองวิธีนี้จริงๆคืออะไร? วิธีที่สองจะ "ทำอันตราย" อย่างใดไหม? เป็นวิธีแรกที่ต้องการหรือไม่ ทำไม?

2
อินเตอร์เฟสเครือข่าย tun สำหรับทำหน้าที่อะไร
ฉันสังเกตเห็นเมื่อใช้ ifconfig ว่ามีอินเตอร์เฟสเครือข่ายชื่อ tun0 และมีที่อยู่ ipv4 การวิจัยแสดงให้เห็นว่ามันเป็นอุปกรณ์ในการขุดอุโมงค์ แต่ฉันไม่รู้ว่ามันถูกใช้อย่างไรสิ่งที่ใช้มันและทำไมมันถึงมีที่อยู่ IP ฉันเปิดใช้งาน iptables แล้วและดูเหมือนว่าจะมีการเชื่อมโยงระหว่าง iptables และ tun หากมีสิ่งนี้ช่วยได้

2
จะตรวจสอบ umask สำหรับผู้ใช้ทั้งหมดใน Linux ได้อย่างไร?
ภายใต้ AIX ฉันสามารถตรวจสอบumaskผู้ใช้ทั้งหมดด้วย: cut -d : -f 1 /etc/passwd | while read ONELINE; do lsuser -a umask "$ONELINE"; done แต่ฉันจะตรวจสอบการumaskตั้งค่าสำหรับผู้ใช้ทั้งหมดภายใต้ Linux ได้อย่างไร ( suสำหรับผู้ใช้ทุกคนและจากนั้นumaskคำสั่งมีวิธีใดที่ดีกว่าสำหรับมันหรือไม่) UPDATE1: ไม่ใช่สิ่งที่ดีที่สุดสำหรับsuผู้ใช้ทุกคนเพราะในบางเซิร์ฟเวอร์ RHEL เชลล์เริ่มต้นสำหรับผู้ใช้บางรายหยุด / ปิดระบบ .. : shutdown:x:6:0:shutdown;asdf;asdf;F:/sbin:/sbin/shutdown ดังนั้นถ้าฉันsuกับผู้ใช้ ... แล้วเซิร์ฟเวอร์ปิดตัวลง? UPDATE2:ฉันสร้างเงินรางวัลสำหรับคำตอบที่ไม่ใช่ su
18 umask 

3
วนรอบสองบรรทัดของไฟล์แบบขนาน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา เป้าหมายของสคริปต์ที่ฉันทำคือการเปรียบเทียบไฟล์สองชุด ชื่อไฟล์จะถูกจัดเก็บไว้ในสองไฟล์แยกกันหนึ่งพา ธ ต่อบรรทัด ความคิดของฉันคือมีสองwhile readลูปหนึ่งอันสำหรับแต่ละชื่อไฟล์ แต่ฉันจะผสมลูปทั้งสองเข้าด้วยกันได้อย่างไร while read compareFile <&3; do if [[ ! $server =~ [^[:space:]] ]] ; then #empty line exception continue fi echo "Comparing file - $compareFile" if diff "$compareFile" _(other file from loop?_) …

1
ฉันจะทำให้ tmux มอนิเตอร์หน้าต่างเพื่อไม่ทำงานได้อย่างไร?
ฉันได้เปลี่ยนจากหน้าจอเพื่อ GNU tmux ทั้งคู่คล้ายกันยกเว้น tmux นั้นยังคงอยู่ หน้าจอ GNU มีC-a _คำสั่ง ("เงียบ") คำสั่งนี้ทำให้หน้าจอ GNU ตรวจสอบหน้าต่างปัจจุบันและแจ้งเตือนฉันเมื่อไม่มีการใช้งาน 30 วินาที สิ่งนี้มีประโยชน์มาก: ตัวอย่างเช่นหน้าจอ GNU สามารถดูapt-get dist-upgradeกระบวนการที่ยาวนานและแจ้งเตือนฉันเมื่อ dpkg มีคำถามสำหรับฉัน tmux มีคำสั่งที่เทียบเท่าหรือไม่? ฉันพยายามค้นหาเว็บแต่ไม่พบคำตอบ
18 monitoring  tmux 

4
แตกไฟล์ SFX ใน Linux
ฉันกำลังพยายามแยกไฟล์ SFX ภายใต้ Linux Mint 15 (64 บิต) แต่มันไม่ทำงาน ฉันทำ chmod + x บนไฟล์และพยายามเรียกใช้เหมือนสคริปต์ที่ไม่มีโชค (มันทำให้ฉันมีข้อผิดพลาดว่าไม่มีไฟล์หรือไดเรกทอรีดังกล่าวสิ่งที่น่าสนใจคือสิ่งนี้ใช้ได้กับฉันเมื่อฉันใช้ Linux Mint 14 (64 บิต) ฉันพบบทความที่กล่าวถึงการสนับสนุน glibc และวิธีการกระจายที่ใหม่กว่าได้ลบไบนารี glibc 32 บิต แต่ฉันไม่แน่ใจว่านี่ถูกต้องในกรณีของฉันหรือไม่เพราะฉันไม่ได้ใช้ RHEL แก้ไข: ฉันลืมที่จะพูดถึงว่าฉันลองวิธีการแก้ปัญหาที่โพสต์ในบทความนั้น แต่มันไม่ได้แก้ไขปัญหา ฉันได้ลองใช้ 7z, 7za, unzip และ unzipsfx โดยไม่ประสบความสำเร็จ unzipsfx ทำให้ฉันมีข้อผิดพลาด "unzipsfx: หาตัวเองไม่ได้! [unzipsfx]" ซึ่งฉันพบว่าค่อนข้างแปลก ข้อควรทราบ: sfx อาศัยคลังเก็บอื่นอีกหกแห่งในรูปแบบ rar ฉันไม่ได้จัดการกับ zip, …
18 linux  rar 

1
วิธีเปลี่ยนเส้นทาง stdout และ stderr ไปยังไฟล์และแสดง stderr ไปยังคอนโซล?
ฉันรู้วิธีเปลี่ยนเส้นทางไปยังไฟล์และใช้ที ในระดับพื้นฐาน ดังนั้น $ alias outanderr='bash -c "echo stdout >&1; echo stderr >&2"' # A fake "application" displaying both output and error messages. $ outanderr 1>file # redirect stdout to a file, display stderr stderr $ outanderr 2>file # redirect stderr to a file, display stdout stdout $ outanderr 1>file …

4
ฉันจะรับชุดแพทช์เคอร์เนล linux จากรายการส่งจดหมายได้อย่างไร
ฉันไม่สมัครสมาชิกรายชื่อส่งเมล linux-kernel แต่ฉันต้องการรับชุดข้อมูลแก้ไขที่โพสต์เมื่อไม่กี่สัปดาห์ก่อนและนำไปใช้กับเคอร์เนลของฉันเพื่อทดสอบ ฉันคุ้นเคยกับการแพตช์อาคารและอื่น ๆ คำถามของฉันคือวิธีที่ดีที่สุดในการรับสำเนาชุดแพทช์นี้ มันไม่ได้ใช้กับ repo Git ใด ๆ ที่ฉันรู้มันเพิ่งถูกโพสต์ไปยังรายชื่อผู้รับจดหมายเพื่อการสนทนา ฉันพบไซต์จำนวนมากที่เก็บรายชื่อการส่งเมล linux-kernel และฉันสามารถดูชุดของแพทช์ที่นั่น แต่ไม่มีไซต์ใด ๆ ที่มีวิธีการใด ๆ (ที่ฉันสามารถหาได้) ในการดาวน์โหลดอีเมลดิบดังนั้นฉันจึงสามารถใช้ " "หรือ" แพทช์ "หรืออะไรก็ตาม เพียงคัดลอก / วางเนื้อหาจากเว็บเบราว์เซอร์ของฉันดูเหมือนว่าจะไม่ประสบความสำเร็จมากเนื่องจากความแตกต่างของช่องว่าง ฯลฯ ผู้คนจัดการสิ่งนี้ได้อย่างไร

3
การเข้ารหัสอักขระรองรับมากขึ้น cat และน้อยกว่า
ฉันมีไฟล์ข้อความที่เข้ารหัสดังต่อไปนี้ตามfile: ข้อความ ISO-8859 ที่มีตัวต่อบรรทัด CRLF ไฟล์นี้มีข้อความภาษาฝรั่งเศสด้วยสำเนียง เปลือกของฉันสามารถแสดงการเน้นเสียงและemacsในโหมดคอนโซลสามารถแสดงการเน้นเสียงเหล่านี้ได้อย่างถูกต้อง ปัญหาของฉันที่more, catและlessเครื่องมือที่จะไม่แสดงไฟล์นี้ได้อย่างถูกต้อง ฉันเดาว่าหมายความว่าเครื่องมือเหล่านี้ไม่สนับสนุนชุดการเข้ารหัสอักขระนี้ มันเป็นเรื่องจริงเหรอ? เครื่องมือเหล่านี้รองรับการเข้ารหัสอักขระได้อย่างไร


5
ผู้ใช้จะไม่ให้เชลล์บันทึกคำสั่งของเขาลงในประวัติศาสตร์ในสถานการณ์ใด
หากฉันเพิ่มexport HISTCONTROL=ignorespaceเข้า.bashrcมาทุบตีจะไม่บันทึกคำสั่งใด ๆ ที่มีช่องว่างก่อนหน้าพวกเขาลงในประวัติศาสตร์ แต่ฉันไม่เข้าใจว่าสถานการณ์จะเป็นประโยชน์หรือไม่ ใครช่วยยกตัวอย่างบ้าง

2
จะอัพเกรดไลบรารีที่แชร์โดยไม่มีข้อผิดพลาดได้อย่างไร
ที่นี่มันบอกว่าคุณสามารถเขียนไฟล์ปฏิบัติการใหม่และกระบวนการจะทำงานได้ดี - มันจะถูกอ่านอีกครั้งเมื่อกระบวนการรีสตาร์ท อย่างไรก็ตามเมื่อฉันพยายามที่จะแทนที่ไฟล์ไบนารีในขณะที่กระบวนการกำลังทำงาน (กับ scp จาก dev เป็นเซิร์ฟเวอร์ทดสอบ) ก็ระบุว่า 'ไฟล์ไม่ว่าง' และถ้าฉันแทนที่ไฟล์ไลบรารีที่ใช้ร่วมกัน (* .so) กระบวนการทั้งหมดที่ลิงก์ล้มเหลว ทำไมเป็นเช่นนั้น ฉันพลาดอะไรไปรึเปล่า? ฉันจะแทนที่ไฟล์ไบนารีโดยไม่หยุด / หยุดทำงานกระบวนการได้อย่างไร

3
การติดตั้งแพคเกจเฉพาะที่ให้กับผู้ใช้ - แนวทางปฏิบัติที่ดีที่สุด
ฉันต้องการติดตั้ง Git ภายในเครื่องให้กับผู้ใช้บนเซิร์ฟเวอร์ RHEL (ฉันไม่มีสิทธิ์เข้าถึงรูท) อะไรคือวิธีการที่สะอาดที่สุด / เป็นระเบียบที่สุดของคุณในการติดตั้งซอฟต์แวร์ลงในบัญชีผู้ใช้ท้องถิ่น ติดตั้งทุกอย่างในไดเรกทอรีผู้ใช้ที่บ้าน? เลย์เอาต์ของไดเรกทอรีจะเป็นอย่างไร คุณจะติดตั้งจากแหล่งที่มาหรือ RPM หรือไม่? ถ้าจาก RPM คุณจะใช้ YUM หรือ RPM หรือไม่?

1
วิธีการทำ 'หัว' และ 'หาง' ในอินพุตที่มีการ จำกัด ด้วย null ในทุบตี?
findคำสั่งสามารถส่งออกชื่อของไฟล์เป็นสตริงที่คั่นด้วย null (ถ้า-print0มีให้) และxargsสามารถใช้พวกเขาด้วยการ-0เปิดตัวเลือก แต่ในระหว่างมันเป็นเรื่องยากที่จะจัดการกับคอลเลกชันของไฟล์ - sortคำสั่งมี-zสวิทช์ที่ทำให้มันเป็นไปได้ที่จะจัดเรียงไฟล์เหล่านั้น แต่headและtailไม่ได้พวกเขา ฉันจะทำheadและtailป้อนข้อมูลด้วยตัวคั่นที่ไม่มีค่าในวิธีที่สะดวกได้อย่างไร (ฉันสามารถสร้างสคริปต์ทับทิมสั้นและช้าได้เสมอ แต่ฉันหวังว่าอาจมีวิธีที่ดีกว่า)

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