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

GNU Core Utilities คือการใช้งานเครื่องมือ GNU Core ของบรรทัดคำสั่งของระบบ POSIX รวมถึงเครื่องมือเช่น ls, cp, mv, rm, ฯลฯ

3
Mac OS X: ไม่พบ dircolors?
ฉันเพิ่งเปลี่ยนมาใช้ Macbook Air ผมติดตั้ง zsh ใช้ Homebrew แต่เมื่อฉันใช้บางส่วนของรหัสที่ฉัน ( แต่เดิมมี) ในของฉันฉันได้รับข้อผิดพลาดบอกว่า.zshrc.dircolors was not found ด้านล่างนี้เป็นรหัสที่เป็นปัญหา: zstyle ':completion:*' auto-description 'specify: %d' zstyle ':completion:*' completer _expand _complete _correct _approximate zstyle ':completion:*' format 'Completing %d' zstyle ':completion:*' group-name '' zstyle ':completion:*' menu select=2 eval "$(dircolors -b)" zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors …
19 shell  osx  coreutils 

6
มีการใช้งานจริงสำหรับคำสั่งปัจจัย GNU หรือไม่?
เมื่อมองผ่านGNU Coreutilsฉันเห็นfactorคำสั่งที่ฉันไม่เคยสังเกตมาก่อน อ่านหน้าคน: พิมพ์ปัจจัยหลักของแต่ละจำนวนเต็มที่ระบุ หากไม่มีการระบุไว้ในบรรทัดคำสั่งให้อ่านจากอินพุตมาตรฐาน มีการใช้งานจริงfactorหรือเป็นเพียงแค่ชุดสาธิต / ของเล่น?
17 command  gnu  coreutils 

2
coreutils ที่ utf ทราบหรือไม่?
เมื่อฉันใช้cutวันนี้ฉันพบว่ามันไม่ได้ใช้อักขระ UTF-8 เป็นตัวละคร แต่เป็น 3 ตัวเพราะความยาว 3 ไบต์ เรื่องนี้ดูเหมือนจะเป็นจริงสำหรับเครื่องมือต่าง ๆ มีรุ่นของcoreutilsUTF-8 ที่ทราบหรือไม่ localeผลลัพธ์ของฉัน: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= นี่คือเมื่อcutไม่ทำงาน echo 哈哈 | cut -c 2- ��哈 ผลลัพธ์ที่ถูกต้องควรเป็น 哈 หากcut -cทำงานกับอักขระหลายไบต์
16 unicode  coreutils  cut 

2
ปัญหาเกี่ยวกับคำสั่งติดตั้งเพื่อคัดลอกไดเรกทอรีทั้งหมด
ดังนั้นฉันจึงมี repo กับไฟล์ configบางตัวและฉันพยายามสร้าง a makefileเพื่อติดตั้งใน homedir ปัญหาที่ฉันมีคือเมื่อฉันเรียกใช้คำสั่งต่อไปนี้ในทุบตี install -m 755 -d ~/path/to/dotfilesDir/ ~/ ดูเหมือนไม่มีอะไรเกิดขึ้นในขณะที่ install -m 755 ~/path/to/dotfilesDir/{file1,file2,...} ~/ ทำงานตามที่ตั้งใจไว้ ทำไมโซลูชันแรก (ง่ายกว่าและสะอาดกว่า) ไม่ทำงาน

2
ลำดับของ tar ที่ทำงานกับไฟล์ถูกกำหนดอย่างไร
$ touch dir/{{1..8},{a..p}} $ tar cJvf file.tar.xz dir/ dir/ dir/o dir/k dir/b dir/3 dir/1 dir/i dir/7 dir/4 dir/e dir/a dir/g dir/2 dir/d dir/5 dir/8 dir/c dir/n dir/f dir/h dir/6 dir/l dir/m dir/j dir/p ฉันคาดว่าจะเป็นตัวอักษร แต่เห็นได้ชัดว่าไม่ใช่ นี่สูตรอะไร
15 linux  tar  gnu  coreutils 

5
วิธีรันคำสั่ง 1 จาก N ครั้งใน Bash
ฉันต้องการวิธีเรียกใช้คำสั่งแบบสุ่มพูด 1 จาก 10 ครั้ง มี builtin หรือ GNU coreutil ทำสิ่งนี้นึกคิด: chance 10 && do_stuff ที่do_stuffจะดำเนินการเพียง 1 ใน 10 ครั้ง? ฉันรู้ว่าฉันสามารถเขียนสคริปต์ได้ แต่ดูเหมือนว่าค่อนข้างง่ายและฉันสงสัยว่ามีวิธีที่กำหนดไว้หรือไม่

1
`set -e` และ` grep` idiom เพื่อป้องกันการออกจาก shell script ก่อนเมื่อไม่พบ pattern
ต้องการความช่วยเหลือ - ในบริบทของเชลล์สคริปต์บน GNU / LINUX ทุบตี: set -eฉันมักจะใช้ บ่อยครั้งที่ฉันต้องการgrepและไม่ต้องการให้สคริปต์ยุติการทำงานหากgrepมีสถานะออกจากการ1ระบุรูปแบบที่ไม่พบ บางครั้งฉันได้พยายามที่จะแก้ปัญหานี้มีดังนี้: (ลองฉัน) ถ้าset +o pipefailและเรียก grep ด้วยบางอย่างเช่นนี้grep 'p' | wc -lฉันจะได้รับพฤติกรรมที่ต้องการจนกว่าผู้ดูแลในอนาคตจะเปิดpipefailใช้งาน นอกจากนี้ฉันชอบเปิดใช้งานpipefailสิ่งนี้ไม่ได้ผลสำหรับฉัน (ลอง II) ใช้รูปแบบการจับคู่ลายเส้นและsedหรือawkเท่านั้นจากนั้นwcจับคู่บรรทัดเพื่อทดสอบรูปแบบที่ตรงกัน ฉันไม่ชอบตัวเลือกนี้เพราะใช้sedจะgrepดูเหมือนว่าวิธีแก้ปัญหาสำหรับปัญหาที่แท้จริงของฉัน (ลอง III) อัน นี้เป็นรายการโปรดของฉัน - สิ่งที่ชอบ:set +e; grep 'p'; set-e ความเข้าใจ / สำนวนใด ๆ ที่จะได้รับการชื่นชมมากที่สุด - ขอบคุณ
15 bash  grep  gnu  coreutils 

2
`ที 'สำหรับคำสั่ง
teeสามารถเปลี่ยนเส้นทางอินพุตมาตรฐาน piped ในการส่งออกมาตรฐานและไฟล์ echo Hello, World! | tee greeting.txt คำสั่งด้านบนจะแสดงคำทักทายบนหน้าจอเทอร์มินัลและบันทึกไว้ในเนื้อหาของgreeting.txtไฟล์สร้างไฟล์หากไม่มีชื่อนั้น นอกจากนี้ยังมีการ-aสลับteeเพื่อผนวกไฟล์ที่มีอยู่แทนการเขียนทับ มีวิธีที่สะดวกในการเปลี่ยนเส้นทางอินพุต piped ไปยังคำสั่งและเอาต์พุตมาตรฐานแทนที่จะเป็นไฟล์หรือไม่? ฉันกำลังพยายามสร้างสคริปต์ตัวตัดbukuเพื่อคัดลอกไปยังตัวเลือกหลัก URL ของบุ๊กมาร์กที่ระบุโดยหมายเลขดัชนี # bukuc: #!/bin/sh url=$(buku -f 1 -p $1 | cut -f 2) # NUMBER : URL echo $url # DISPLAY echo $url | xsel # PRIMARY SELECTION ที่นี่ฉันใช้echo สองครั้งแรกสำหรับการแสดงบน terminal แล้วบันทึกในการเลือกหลัก (คลิปบอร์ด) ฉันจินตนาการถึงบางสิ่งecho …

4
จัดเรียงตามค่าฐานสิบหก
การใช้ coreutils sortฉันจะจัดเรียงตัวเลขโดยใช้ค่าเลขฐานสิบหก (ฟิลด์) ได้อย่างไร ฉันคาดหวังบางอย่างตามสายของ sort -k3,3x file_to_sort แต่ดังกล่าวxไม่ได้อยู่ แก้ไข: ทางออกที่ดีที่สุดที่ฉันได้พบคือ: { echo ibase=16; cut -d' ' -f3 file_to_sort; } | bc | paste -d: - file_to_sort | sort -t: -k1,1n | cut -d: -f2- โดยที่cut -d' ' -f3แยกฟิลด์ค้นหา (นี่คือ-k3,3- ซึ่งอาจแตกต่างกันไปแน่นอน) และbcทำการแปลงเป็นทศนิยม (ต้องใช้ hex ตัวพิมพ์ใหญ่โดยไม่มี0xคำนำหน้าตรงกับกรณีของฉัน) จากนั้นฉันเข้าร่วมเรียงลำดับและแยกคอลัมน์
14 sort  coreutils 

3
อะไรคือจุดที่แท้จริงของตัวเลือก -f บน rm?
โดยการอ่าน GNU coreutils man page สำหรับrmหนึ่งในตัวเลือกคือ-fตามคู่มือ -f, --force ignore nonexistent files and arguments, never prompt ตอนนี้ฉันทำการทดสอบและแสดงให้เห็นว่าถ้าฉันใช้สิ่งที่ชอบ rm -f /nonexisting/directory/ มันจะไม่บ่น สิ่งที่ใครบางคนสามารถได้รับจากตัวเลือกดังกล่าวจริง ๆ ? รวมทั้งตัวอย่างที่พบบ่อยที่สุดของ "การลบไดเรกทอรี" โดยใช้rmคือสิ่งที่ต้องการ rm -rf /delete/this/dir -rตัวเลือกที่จะทำให้ความรู้สึก แต่-f?
14 rm  options  coreutils 

2
`ทดสอบ 'และ` [' - ไบนารีต่างกันมีความแตกต่างกันอย่างไร
ผมสังเกตเห็นในขณะที่ตอบคำถามที่ว่าคนอื่นtestและ[เป็นไบนารีแตกต่างกัน แต่[manpage ดึงขึ้นtestมา นอกจากข้อกำหนดสำหรับการจบ]แล้วยังมีความแตกต่างหรือไม่? ถ้าไม่ทำไมพวกเขาแยกไบนารีแทนที่จะถูกเชื่อมโยงกัน? (พวกเขายังสร้างbashภายในและbashไม่แสดงความแตกต่างเช่นกัน)

2
`du -s. 'และ` du -hs.' ให้ผลลัพธ์ที่แตกต่าง (บน OS X)
ความแตกต่างที่มีและไม่มี-hควรเป็นหน่วยที่มนุษย์อ่านได้ใช่ไหม เห็นได้ชัดว่าไม่มี ... $ du -s . 74216696 . $ du -hs . 35G . หรือบางทีฉันเข้าใจผิดและผลลัพธ์ที่du -s .ไม่ได้อยู่ในหน่วย KB?
12 osx  coreutils 

1
พฤติกรรมของคำสั่ง `du` พร้อมกับ` `-L 'flag
ฉันสังเกตเห็นพฤติกรรมแปลก ๆ พร้อมduคำสั่งเมื่อใช้กับ-Lตัวเลือกบรรทัดคำสั่ง ฉันใช้ Slackware 14 และ Coreutils 8.19 ในการทำให้เกิดพฤติกรรมแปลก ๆ ให้สร้างสองโฟลเดอร์: mkdir foo mkdir bar สร้างไฟล์ภายในหนึ่งในโฟลเดอร์: perl -e 'print "A"x10000' > foo/text และ symlink ในโฟลเดอร์อื่น: ln -s ../foo/text bar/text ตอนนี้ถ้าคุณพิมพ์: du -h -L bar คุณจะได้รับ: 16k bar เนื่องจาก symlink ถูกยกเลิกการลงทะเบียน แต่ถ้าคุณพิมพ์: du -h -L * คุณจะได้รับ: 16K foo 4.0K …

1
มีวิธีที่จะแสดง: - ลิงก์ - หรือถอยกลับสำเนาสามัญใน cp (จาก coreutils GNU)?
มีวิธีที่จะบอกcpไป--link(เช่นสร้างการเชื่อมโยงยาก) แต่ถอยกลับในกรณีที่ฉันกำลังพยายาม hardlinks ระหว่างอุปกรณ์? ลิงก์ระหว่างอุปกรณ์เป็นไปไม่ได้และอาจทำให้เกิดความcpล้มเหลว เหตุผลที่ฉันถามคือเพราะฉันต้องการใช้สิ่งนี้ในGNUmakefileและต้องการบรรทัดคำสั่งที่อ่านได้มากกว่าหนึ่งที่ซับซ้อนและยาว (หรือฟังก์ชั่นสำหรับเรื่องนั้น) คำถามสำหรับ GNU coreutils (7.4 และ 8.13) หมายเหตุ: ตอนนี้การแก้ปัญหาจะเป็นเช่น (GNU ทำไวยากรณ์สูตร): cp -fl $^ $@ || cp -f $^ $@ หลักสูตรนี้จะให้ข้อความแสดงข้อผิดพลาดปลอมในกรณีที่ลิงก์ระหว่างอุปกรณ์แม้ว่าจะประสบความสำเร็จในการcpโทรครั้งที่สองแล้ว นอกจากนี้สิ่งนี้จะได้รับการขยาย (รูปแบบต้นฉบับดูเหมือนว่าจะอ่านได้ทั้งหมด) จะไม่สามารถอ่านได้อีก

1
มีข้อเสียใด ๆ ของ `cp --sparse = always` หรือไม่?
มีเหตุผลใด ๆไม่ได้ที่จะใช้การใช้งาน--sparse=alwaysด้วยการภาวนาทุกcp? info cp พูดว่า: ‘--sparse=WHEN’ A “sparse file” contains “holes”—a sequence of zero bytes that does not occupy any physical disk blocks; the ‘read’ system call reads these as zeros. This can both save considerable disk space and increase speed, since many binary files contain lots of consecutive zero …

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