タグ付けされた質問 「filenames」

ファイル名は、特定のファイルシステムでファイルを一意に識別するために使用される名前です。

8
ディレクトリ内のファイルを拡張子でカウントする
テストの目的で、ディレクトリ内の画像ファイルの数を数え、各画像ファイルの種類をファイル拡張子(jpg = "yes"で分けます。これは、後でアクションを実行する別のスクリプトに役立つためです。各ファイル拡張子で)。JPEGファイルのみに次のようなものを使用できますか? jpg="" count=`ls -1 *.jpg 2>/dev/null | wc -l` if [ $count != 0 ] then echo jpg files found: $count ; jpg="yes" fi ファイル拡張子jpg、png、bmp、rawなどを考慮whileして、これを行うにはサイクルを使用する必要がありますか?

3
ドットで始まるファイル名が隠されているのはなぜですか?最初の文字としてドットを使用せずにファイルを非表示にできますか?
最初は偶然だと思っていましたが、今ではタグもあります。すべての隠しファイル名はドットで始まります。これは慣習ですか?なぜ選ばれたのですか?変更できますか?または、他の言葉で(関連する質問@evilsoupが他の多くの答えを暗示していると示唆したように):名前を変更せずにファイルを非表示にできます.か?(名前の最初の文字として使用します)?

2
GLOBIGNOREはどのように機能しますか?
bashのマニュアルページによると: GLOBIGNORE A colon-separated list of patterns defining the set of filenames to be ignored by pathname expansion. If a filename matched by a pathname expansion pattern also matches one of the patterns in GLOBIGNORE, it is removed from the list of matches. しかし実際には... $ bash --noprofile --norc bash-4.2$ touch …

2
UTF 8ファイル名?
UNIXベースのオペレーティングシステムでは、utf6ファイル名は許可されますか?その場合、ファイルをディスクに書き込むために特別なことをする必要があります。 私がやりたいことを説明させてください。ftp経由でリモートシステムにファイルを転送するアプリケーションを作成していますが、ファイル名は、utf8にある可能性のあるメタデータのセットを介して動的に設定されます。unix / linuxのディスクにファイルを書き込むために必要なことがあるかどうか疑問に思っています。 また、フォローアップとして、utf 8をサポートしていないシステムにutf 8ファイル名をアップロードした場合に何が起こるか誰もが知っていますか?

1
ドットドット(..)とは何ですか?シンボリックリンクと動作が異なるのはなぜですか?
..(二重ドット)の性質を理解しようとしています。アクセス方法によって異なるターゲットを指しているようです。 例:- /outer/ middle/ inner/ inner --> ./middle/inner/ 今、に/outer/middle/inner/..つながり/outer/middle/ますが、シンボリックリンクからアクセスすると、に/outer/inner/..つながり/outer/ます。..ここには2つの異なるものがあるようです。 ..正確には何ですか?シンボリックリンク?ハードリンク?または、ディレクトリにアクセスするときにパスに応じて動的に生成されますか?または、シンボリックリンクに関する私の理解が間違っている可能性があります。 編集: その他の関連する観察 /outer/ middle/ file inner/ f --> ./../file inner --> ./middle/inner/ 今、私は/outer/inner/fそれを介してファイルにアクセスしようとすると動作します。しかし、それは/outer/inner/../fileファイルを指し示していないため、そうすべきではありません。ファイルはにあり/outer/middle/inner/..ます。これは上記の動作と矛盾するようです!?

3
bashのファイル名展開メカニズムからいくつかのファイルを除外するにはどうすればよいですか?
ルートディレクトリにubuntuファイルシステムディレクトリがあり、誤って何百ものファイルをルートディレクトリにコピーしました。 私は直感的にファイルシステムを除外してコピーされたファイルを削除しようとしました rm -rf !{bin,sbin,usr,opt,lib,var,etc,srv,libx32,lib64,run,boot,proc,sys,dev} ./. 動作しません。全体を削除しながらいくつかのディレクトリを除外する適切な方法は何ですか? 編集:何をすべきかを知らずに、ここでコマンドを実行しないでください!

2
おそらく空白を含むファイル名のリストを扱うPOSIX準拠の方法
空白を含むファイル名を操作するための配列の使用を提案するBashスクリプトガイドを見てきました。ただし、DashAsBinShは配列には移植性がないことを示唆しているため、空白を含むファイル名のリストを扱うPOSIX準拠の方法を探しています。 以下のスクリプト例を修正して、 echo foo/target/a.jar foo/target/b.jar bar/target/lol whitespace.jar ここにスクリプトがあります #!/usr/bin/env sh INPUT="foo/target/a.jar foo/target/b.jar bar/target/b.jar bar/target/lol whitespace.jar" # this would be produced by a 'ls' command # We can execute the ls within the script, if it helps dostuffwith() { echo $1; }; F_LOCATIONS=$INPUT ALL_FILES=$(for f in $F_LOCATIONS; do echo `basename $f`; …

3
.py拡張子なしでターミナルからPythonスクリプトを実行する
scriptと入力するだけで、ターミナルからpythonスクリプトscript.pyを呼び出したいです。これは可能ですか?もしそうなら、どのように? #!/ usr / bin / env pythonをスクリプトの先頭に追加することでpython script.pyを入力しないようにできることはわかっていますが、スクリプトを実行するにはサフィックス.pyを追加する必要があります。

3
「find -exec」を別の「find -exec」内にネストすることは可能ですか?
次のようなものは私が後だ何何ですが、私のコードは仕事、私は脱出どんなにしない{}と+ ; find ./ -maxdepth 1 -type d -name '.*' -exec \ find {} -maxdepth 1 -type f -name '*.ini' -exec \ md5sum \{\} \\; \; このUnix-&-Linuxの質問を見た後、次のコードが機能することがわかりましたが、それ自体はfindをネストしていません。 find ./ -maxdepth 1 -type d -name '.*' \ -exec bash -c 'for x; do find "$x" -maxdepth 1 -type f -name "*.ini" …


2
シェルコマンドのディレクトリ名の後にスラッシュ(/)
ここで少し質問があります。 私は2つのファイルを持っている場合は、と言うfileaとfileb、mv filea fileb希望 削除する fileb 名前fileaを変更fileb その後、私は2つのディレクトリを持っているならば、と言うdiraとdirb、mv dira dirbう に移動diraしますdirb(になりますdirb/dira) どちらの場合も通知もメッセージもないことに注意してください。これは私にはかなり矛盾しています。私はの内容でmv dira dirb上書きdirbする必要があると思いますdira(または2つのディレクトリをという名前のディレクトリの下にマージしdirbます)。 スラッシュを含むディレクトリ名(などdira/)はディレクトリのように扱われ、スラッシュを含まない名前(などdira)はファイルのように扱われることを覚えています(もちろん、ある程度まで)。とにかく今私はシェル(zshとおそらくbash)にスラッシュを使用してディレクトリの表記を尊重させたいと思います。それを強制できる端末オプションはありますか? 明確にするために、ここに私の望ましい行動があります: mv dira dirbdirbの内容で上書きされますdira mv dira dirb/結果diraに移動されるdirb(中dirb/dira) 誰かが私と同じように考えましたか?それとも私はただ変ですか?

2
`..`ではなくドットファイルに展開されるシェルファイル名パターン?
最近、シェルパターンが予期せぬ方法で拡大したために、ちょっとした事故が起こりました。/rootディレクトリ内の多数のドットファイルの所有者を変更したかったので、 chown -R root .* 当然のことながら、.*に拡大し..ているが、災害のビットでした。 私はbashこの動作でいくつかのシェルオプションを調整することで変更できることを知っていますが、デフォルト設定では、ディレクトリ内のすべてのドットファイルに展開されますが、では.あり..ませんか?

1
大文字と小文字を区別しないファイルシステムは、大文字と小文字の両方のファイル名をどのように表示しますか?
この質問は、先日、ファイル名に関して意見のあるフレームワークに依存する開発プロジェクトに取り組んでいたときに思いつきました。フレームワーク(ここでは無関係)は、大文字が最初のファイル名を表示することを望んでいました。これは私に考えさせられました。 大文字と小文字を区別しないファイルシステムで、extFATまたはHFS +(具体的には大文字と小文字を区別しない)と言うと、ファイルシステムはファイル名の大文字と小文字の両方の同じファイルへのアクセスをどのように提供します。 例えば: $ cd ~/Documents $ pwd /home/derp/Documents $ cd ../documents $ pwd /home/derp/documents $ cd ../docuMents $ pwd /home/derp/docuMents $ cd ../DOCUMENTS $ pwd /home/derp/DOCUMENTS $ cd ../documentS $ pwd /home/derp/documentS これらのコマンドはすべて同じディレクトリに解決されます。この動作、具体的pwdにbashはこの場合の関数からの出力は、私が見たいと思うものを私に見せているだけですか? もう一つの例: $ ls ~/Documents Derp.txt another.txt whatThe.WORLD ここでのファイルシステムは、ユーザーまたはプログラムによって作成された元のファイル名のケースを報告します。 正しい大文字と小文字のASCII文字の任意の組み合わせでアクセスできるように、ファイルシステムスタックのどの時点で、人間が読み取れるファイル名が作成時に保存されますか(大文字と小文字など)。これはどこか正規表現のトリックなのでしょうか、それとも何か他のことが起こっているのでしょうか? 編集:私が興味を持っている動作は、さらに研究した後、大文字と小文字を区別しないファイルシステムで見つかったようです...

7
ベース(末尾のマイナス)ファイル名の最後の3文字を抽出する最短の方法
私は、ファイルのベース名(ベース名によって、私はパスなしで意味の最後の3つの文字にshスクリプト内の変数を設定しようとしていると接尾辞なし)。私はこれを行うことに成功しましたが、純粋に好奇心から、より短い単一のコマンドを使用できるかどうか疑問に思っています。もともと、私はでワンライナーを持っていましたawkが、それはかなり長かったです。現在、私はこの2行のスクリプトを持っています(完全なファイル名がにあると仮定$1): filebase=`basename "$1"` lastpart=`echo -n ${filebase%.*} | tail -c3` したがって、たとえば、「/ path / to / somefile.txt」は、「ile」で終わり$lastpartます。 どういうわけかbasename、ビットを組み合わせて接尾辞を単一のコマンドに取り除くtailことができますか?接尾辞は不明なので、のパラメーターとして使用することはできませんbasename。 主な目標は、実際にはできるだけ短くすることではなく、できるだけ一目で読めるようにすることです。このすべての実際のコンテキストは、スーパーユーザーに関するこの質問です。ここでは、かなり単純な答えを考えています。

5
URLに基​​づいてwgetまたはcurlの出力をカスタムファイル名に書き込む
たとえば、リンクがありhttp://www.abc.com/123/def/ghi/jkl.mnoます。wgetor curlを使用してダウンロードし、出力ファイルの名前をとして取得しますdef_ghi_jkl.mno。ここで、部分def_ghiはリンクから取得されます。 このwgetコマンドをスクリプトに追加して、複数のファイルをダウンロードし、出力ファイル名を明示的に指定できないようにします。
12 filenames  wget  curl 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.