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

ชื่อไฟล์เป็นชื่อที่ใช้เพื่อระบุไฟล์ที่ไม่ซ้ำกันในระบบไฟล์ที่กำหนด

7
หลีกเลี่ยงรายการไฟล์ที่ลงท้ายด้วย ~ (ไฟล์สำรอง)
ความต้องการของฉันคือรายการไฟล์ทั้งหมดในไดเรกทอรียกเว้นไฟล์ที่ลงท้ายด้วย~(ไฟล์สำรอง) ฉันพยายามใช้คำสั่ง: ls -l | grep -v ~ ฉันได้ผลลัพธ์นี้: asdasad asdasad~ file_names.txt normaltest.txt target_filename testshell1.sh testshell1.sh~ testshell2.sh testshell2.sh~ testtwo.txt testtwo.txt~ test.txt test.txt~ ฉันต้องการรับเฉพาะไฟล์เหล่านี้: asdasad file_names.txt normaltest.txt target_filename testshell1.sh testshell2.sh testtwo.txt test.txt
20 ls  filenames 

4
เปลี่ยนชื่อไฟล์จำนวนมาก (หรือแสดงอย่างถูกต้อง) ด้วยอักขระพิเศษ
ฉันมีกลุ่มไดเรกทอรีและไดเรกทอรีย่อยที่มีไฟล์ที่มีอักขระพิเศษเช่นไฟล์นี้: robbie@phil:~$ ls test�sktest.txt test?sktest.txt ค้นหาพบลำดับการหลบหนี: robbie@phil:~$ find test�sktest.txt -ls 424512 4000 -rwxr--r-x 1 robbie robbie 4091743 Jan 26 00:34 test\323sktest.txt เหตุผลเดียวที่ฉันสามารถพิมพ์ชื่อของพวกเขาบนคอนโซลได้ก็เพราะความสมบูรณ์ของแท็บ นอกจากนี้ยังหมายความว่าฉันสามารถเปลี่ยนชื่อพวกเขาด้วยตนเอง (และตัดอักขระพิเศษ) ฉันได้ตั้งค่า LC_ALL เป็น UTF-8 ซึ่งดูเหมือนจะไม่ช่วย (ยังไม่ได้อยู่ในเปลือกใหม่): robbie@phil:~$ echo $LC_ALL en_US.UTF-8 ฉันกำลังเชื่อมต่อกับเครื่องโดยใช้ ssh จาก mac ของฉัน มันคือการติดตั้ง Ubuntu: robbie@phil:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=7.10 DISTRIB_CODENAME=gutsy DISTRIB_DESCRIPTION="Ubuntu 7.10" Shell …

3
ไดเร็กทอรี. / และ ../ คืออะไร
คำถามง่าย ๆ แต่ฉันไม่แน่ใจว่าจะมองหาที่ไหนและ google ไม่ตอบสนองต่อช่วงเวลาและเครื่องหมายทับ ฉันแค่พยายามนับจำนวน # ของไฟล์และไดเรกทอรีในไดเรกทอรีปัจจุบัน (ไม่รวมโฟลเดอร์ย่อย / ไฟล์) และพยายามแยกความแตกต่างls -1 | wc -lและls | wc -lเนื่องจากดูเหมือนว่าเหมือนกัน ไซต์ที่ฉันกำลังดูพูดว่า"โปรดจำไว้ว่านี่เป็นการนับไดเรกทอรี. / และ .. / ด้วย" เกี่ยวกับคนที่มีls -1และฉันไม่แน่ใจว่านั่นหมายความว่ามันรวมถึงไดเรกทอรีก่อนหรือบางสิ่งบางอย่าง (ซึ่งฉันไม่ต้องการ) แต่ดูเหมือนจะไม่ทำเช่นนั้นจากการทดสอบ มีคนยืนยันว่าหนึ่งในนั้นจะเพียงพอที่สุดสำหรับการนับ # ของไฟล์และไดเรกทอรีในไดเรกทอรีปัจจุบันเท่านั้น (ไม่ใช่ย่อย) และสิ่งที่พวกเขาหมายถึงโดย. / และ .. / ไดเรกทอรี?

4
dirname และ basename เทียบกับการขยายพารามิเตอร์
มีเหตุผลใดที่จะชอบอีกรูปแบบหนึ่งหรือไม่ ประสิทธิภาพความน่าเชื่อถือความสะดวกในการพกพา? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" ผลิต: /some/long/path/to /some/long/path/to a_file a_file (v1 ใช้การขยายพารามิเตอร์เชลล์ v2 ใช้ไบนารีภายนอก)

1
แป้นพิมพ์ลัดของเมาส์เพื่อคัดลอกพา ธ ไปยังไฟล์ในเครื่องมือจัดการไฟล์ของ Gnome
มีลีนุกซ์เทียบเท่ากับ Windows Shift + คลิกขวาตามลำดับหรือไม่ ฉันใช้สิ่งนี้กับไฟล์และไดเรกทอรีเป็นจำนวนมากเพื่อให้ได้ตัวเลือก 'คัดลอกเป็นเส้นทาง' ที่ซ่อนอยู่ในเมนูป๊อปอัป มันช่วยประหยัดการพิมพ์จำนวนมาก (และการพิมพ์ผิด) เมื่อใช้บรรทัดคำสั่ง ฉันหวังว่าลีนุกซ์จะมีบางอย่างที่คล้ายกันดังนั้นฉันสามารถไปที่หน้าต่าง 'ไฟล์' ใน GUI (Gnome3 ในกรณีของฉัน) และเพียงคัดลอกไฟล์หรือตำแหน่งไดเรกทอรีเป็นเส้นทางแล้ววางลงในหน้าต่างเทอร์มินัล ฟังก์ชั่นนี้จะมีประโยชน์เป็นพิเศษใน Linux เนื่องจากเชื่อมั่นในเทอร์มินัลมาก! เป็นไปได้ไหม

1
รายชื่อไดเรกทอรีไม่ได้เรียงอย่างเต็มที่
ฉันมีรายการไดเรกทอรีต่อไปนี้ในระบบ Debian Linux อย่างไรก็ตามสิ่งหนึ่งที่แปลกก็คือไฟล์ populate.sql ดูเหมือนจะไม่ได้เรียงกับส่วนที่เหลือ -rw-r--r-- 1 user1 user1 10004 Jul 28 13:16 populate2.sql -rw-r--r-- 1 user1 user1 10244 Jul 28 13:16 populate3.sql -rw-r--r-- 1 user1 user1 10359 Jul 28 13:16 populate4.sql -rw-r--r-- 1 user1 user1 11618 Jul 28 13:16 populate5.sql -rw-r--r-- 1 user1 user1 11654 Jul 28 13:17 …

2
เหตุใดความยาวเส้นทางซ็อกเก็ตจึง จำกัด เพียงหนึ่งร้อยตัวอักษร
บนชื่อพา ธ ของระบบ Unix มักจะไม่จำกัดความยาว (เช่น 4096 ตัวอักษรบน Linux) ... ยกเว้นเส้นทางของไฟล์ซ็อกเก็ตซึ่ง จำกัด อยู่ที่ประมาณ 100 ตัวอักษร (107 ตัวอักษรบนLinux ) คำถามแรก: ทำไมถึงมีข้อ จำกัด ต่ำ ผมได้ตรวจสอบว่ามันดูเหมือนเป็นไปได้ที่จะหลีกเลี่ยงข้อ จำกัด นี้โดยการเปลี่ยนไดเรกทอรีการทำงานปัจจุบันและการสร้างในไดเรกทอรีต่างๆหลายซ็อกเก็ตไฟล์ทั้งหมดที่ใช้เส้นทางเดียวกัน./myfile.sock: ใช้งานของลูกค้าดูเหมือนจะถูกต้องเชื่อมต่อกับเซิร์ฟเวอร์กระบวนการคาดว่าแม้แม้ว่าlsofการแสดงทั้งหมด ของพวกเขาฟังบนเส้นทางไฟล์ซ็อกเก็ตเดียวกัน วิธีนี้เป็นวิธีที่เชื่อถือได้หรือฉันแค่โชคดี? พฤติกรรมนี้มีเฉพาะกับ Linux หรืออาจใช้วิธีแก้ปัญหานี้กับ Unixes อื่นเช่นกัน?

4
ถูกต้องหรือไม่ที่จะใช้อักขระพิเศษบางตัวเมื่อตั้งชื่อไฟล์ใน Linux?
มันถูกต้องที่จะใช้ตัวอักษรพิเศษบางอย่างเช่น+, &, ', .(dot) และ,(จุลภาค) โดยทั่วไปในชื่อไฟล์ ฉันเข้าใจว่าคุณสามารถใช้-และ_ไม่มีปัญหา แต่การทำวิจัยบางอย่างฉันไม่สามารถหาสิ่งที่แน่นอนเกี่ยวกับสัญลักษณ์อื่น ๆ ; บางคนบอกว่าคุณทำได้บางคนบอกว่าคุณทำไม่ได้และบางคนบอกว่ามันเป็น "ไม่สนับสนุน" ให้ใช้มัน

1
cp: ไม่สามารถ stat `/vol/examples/tutorial/science.txt ': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
ฉันลองคำสั่งcp /vol/examples/tutorial/science.txt .แล้วก็พบข้อผิดพลาด - cp: cannot stat `/vol/examples/tutorial/science.txt': No such file or directory ฉันไม่เข้าใจว่าทำไมสิ่งนี้จึงเกิดขึ้น ฉันไปที่โฟลเดอร์บ้าน cygwin และสร้างโครงสร้างโฟลเดอร์ที่จำเป็นและไฟล์ข้อความ ฉันตรวจสอบโครงสร้างโฟลเดอร์และชื่อด้วย นอกจากนี้ฉันไป~/vol/examples/tutorialแล้วcat science.txtและฉันสามารถอ่านเอกสาร ถ้าอย่างนั้นทำไมคำสั่ง CP ถึงใช้งานไม่ได้?
18 bash  filenames 


2
วิธี zip ไดเร็กทอรีด้วยการเข้ารหัสสำหรับชื่อไฟล์?
ใช้บรรทัดคำสั่งฉันรู้ว่าฉันสามารถเข้ารหัสไดเรกทอรีด้วยคำสั่งต่อไปนี้: zip -er Directory.zip /path/to/directory อย่างไรก็ตามสิ่งนี้ไม่ได้เข้ารหัสชื่อไฟล์ด้วยตนเอง หากมีคนวิ่ง: unzip Directory.zip และป้อนรหัสผ่านไม่ถูกต้องซ้ำ ๆ คำสั่ง unzip จะวนซ้ำตามชื่อไฟล์ที่มีอยู่ทั้งหมดจนกว่าจะป้อนรหัสผ่านที่ถูกต้อง ตัวอย่างผลลัพธ์: unzip Directory.zip Archive: Directory.zip creating: Directory/ [Directory.zip] Directory/sensitive-file-name-1 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-1 incorrect password [Directory.zip] Directory/sensitive-file-name-2 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-2 incorrect password [Directory.zip] Directory/sensitive-file-name-3 password: password incorrect--reenter: password incorrect--reenter: …

3
วิธีการตัดเครื่องหมายทับสุดท้ายของเส้นทางไดเรกทอรี?
ฉันมีสคริปต์ที่ต้องการไดเรกทอรีเป็นหนึ่งอาร์กิวเมนต์ ฉันต้องการที่จะสนับสนุนทั้งสองรูปแบบ: หนึ่งเหมือน a/b/c (ไม่มีฟันแทงตอนท้าย) และอีกอันก็เหมือน a/b/c/ (มีเครื่องหมายทับที่ท้าย) คำถามของฉัน: ด้วยรูปแบบใดรูปแบบหนึ่งทั้งสองฉันจะเปลี่ยนรูปแบบแรกให้เป็นแบบเดิมได้อย่างไรและตัดเครื่องหมายสแลชสุดท้ายของรูปแบบที่สองเพื่อแปลงเป็นรูปแบบแรก

4
สไตล์ / แนวปฏิบัติที่ดีสำหรับตัวคั่นในชื่อไฟล์ (หรือไดเรกทอรี) [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันไม่แน่ใจว่านี่เป็นคำถามที่ "ถูกต้อง" หรือไม่ที่จะโพสต์ที่นี่ ฉันอาจถามเพิ่มเติมเกี่ยวกับ "ความคิดเห็น" มากกว่าคำตอบที่เป็นหมวดหมู่จริง ๆ (จากคำตอบที่ได้ผลหรือไม่และก็เป็นเช่นนั้น) ฉันสงสัยว่าตัวแยกชื่อจะเป็นมิตรกับลินุกซ์มากที่สุด(หรือเฉพาะเจาะจงมากขึ้นคือเป็นมิตรกับ Bash ) และเป็นมิตรกับมนุษย์ในเวลาเดียวกัน สมมติว่าฉันต้องการสร้างไดเรกทอรีที่มีบางสิ่งที่เกี่ยวข้องกับMr. Foo Bar ( Fooเป็นชื่อแรก, Barเป็นนามสกุล) การมีชื่อ " Foo-Bar/" นั้นสะดวกมาก -เป็นตัวละคร "ปกติ" ไม่จำเป็นต้องหลบหนีมันแสดงให้เห็นอย่างชัดเจนFooและBarเป็นสองสิ่งที่แยกจากกัน ... Nice ตอนนี้ " Foo.Bar" ค่อนข้างยุ่งยาก บางคนอาจคิดว่าFoo.Barเป็นไฟล์ (โดยคร่าวๆก่อนโดยเฉพาะถ้าคุณไม่มีเทอร์มินัลที่เปิดใช้งานการระบายสี) โดยที่ " Foo" เป็นชื่อไฟล์และนามสกุลไฟล์ " Bar" ฉันยังสามารถใช้ " Foo Bar" …
16 linux  bash  filenames 

4
เติมชื่อไฟล์อัตโนมัติในไดเรกทอรี
คำถามนี้ค่อนข้างคล้ายกับคำถามนี้แต่ฉันไม่เข้าใจวิธีแก้ปัญหา ฉันรู้ด้วยบทช่วยสอนนี้แต่ฉันก็ยังไม่สามารถเข้าใจสิ่งที่ฉันทำผิดได้ ฉันกำลังพยายามเติมข้อความอัตโนมัติในรายการไดเรกทอรีที่อยู่ใน/something/: $ ls /something/ One Other Three ในแบบที่จะเกิดขึ้น: $ hi [TAB] One Other Three $ hi O[TAB] One Other เฉพาะเมื่อคำแรกเป็นhiและไม่เพียง /something/แต่ภายใน นี่คือสิ่งที่ฉันกำลังทำอยู่.profile: _codeComplete() { local cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=( $(compgen `ls /something/` -- $cur) ) } complete -F _codeComplete "hi "

6
วิธีรับไฟล์ N ล่าสุดในไดเรกทอรี?
ฉันมีไฟล์หลายไฟล์ที่เรียงลำดับโดยชื่อไฟล์ในไดเรกทอรี ฉันต้องการคัดลอกไฟล์ N สุดท้าย (พูด, N = 4) ไปยังโฮมไดเร็กตอรี่ของฉัน ฉันควรทำอย่างไร cp ./<the final 4 files> ~/

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