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

ファイルの操作:コピー、名前変更、検索、分析、アーカイブなど。ファイル内のテキストの操作については、/ text-processingを参照してください。ファイルファイルマネージャー(以前のNautilus)に関する質問については、/ nautilusを参照してください。


2
画像に猫を使用すると何が生成されますか?
次のようなファイルを作成するとします。 touch myFile vimなどでテキストを入力し、それを使用cat myFileしてコンテンツをターミナルに吐き出します。 さて、画像に猫を使用するとどうなりますか?いう、 cat myPNG.png ゴミがたまにあります。catコマンドが何をしようとしているのか、そしてすべての「ゴミ」がどこから来ているのかを考えさせられました。ちょっと興味があるんだけど。
9 files  binary  cat 

6
複数のディレクトリの存在を確認する
作業ディレクトリに複数のディレクトリ、たとえばdir1、dir2およびが存在するかどうかを確認したいと思いdir3ます。 私は以下を持っています if [ -d "$PWD/dir1" ] && [ -d "$PWD/dir2" ] && [ -d "$PWD/dir3" ]; then echo True else echo False fi しかし、もっとエレガントな方法があるのではないかと思います。ディレクトリの名前にパターンがあると仮定しないでください。 目標は、いくつかのディレクトリの存在と他のディレクトリの非存在を確認することです。 私はBashを使用していますが、移植可能なコードが推奨されます。

4
1つの行に2つの条件/置換を含む複数のファイルの名前を変更しますか?
いくつかの画像の名前を変更しようとしています: IMG_1.JPG IMG_2.JPG IMG_3.JPG 私は交換したいIMGとimgして.JPGと.jpg-私は2番目の部分を行う方法を知っています: $ rename 's/\.JPG$/\.jpg/' *.JPG 私の問題は、私がように見えることはできませんということであるmv IMG_.JPGとimg_.jpg私はあなたに複数のパターンを渡すことができます知っている- renameが、私は改正小文字の値で既存のファイル名を使用するように見えることはできません。 これについてどうすればよいですか?
8 files  rename  replace 

1
LinuxでファイルをコピーするときにWindowsファイル属性を保持するにはどうすればよいですか?
Linuxマシンで実行されているカスタムBashスクリプトを使用して、FAT32形式のUSBドライブを大量に複製しています。 「非表示」などのWindowsファイル属性を保持する必要があります。 私が使用rsync(またはddとfindし、mkdir優れた安定性と最適な帯域幅の使用のためにI / Oの同期を強制するために、新しいバージョンでは)。 私は盲目的にしようとした-Xと-Aのためのスイッチrsync、いくつかのファイル属性を保持すると言われているが、彼らは、Windowsのファイル属性のために仕事にいないようです。 Linux環境でWindowsファイル属性を読み書きする方法はありますか? 簡単な方法がない場合は、コピー後に適用できます。 dd特に何百ものドライブを書き込む必要がある場合は、ソースファイルシステム全体が最適化されていないため、完全にソースファイルシステムにしたくありません。ドライブの容量は16 GBで、その上に数GBのファイルしかない場合があります。また、ダムddはすべての16 GBをコピーし、これが本番環境で機能するまでに時間がかかります。 私はウェブを検索しましたが、Linuxの拡張属性はWindowsのファイル属性とは何の関係もないようで、この情報を読み書きする方法(または単にファイルと一緒にコピーする方法)が見つかりませんでした。
8 files  windows 

1
bashで独自のcp関数を作成する
割り当てについては、関数cp(コピー)と同じ基本機能を持つbash関数を巧みに書くように求められます。1つのファイルを別のファイルにコピーするだけなので、複数のファイルを新しいディレクトリにコピーする必要はありません。 私はbash言語に慣れていないため、プログラムが機能しない理由を理解できません。元の関数は、ファイルが既に存在する場合はファイルの上書きを要求するので、それを実装しようとしました。それは失敗します。 ファイルは複数行で失敗しているように見えますが、最も重要なのは、コピー先のファイルがすでに存在するかどうかを確認する状態です([-e "$2"])。それでも、その条件が満たされた場合にトリガーされるはずのメッセージ(ファイル名...)が表示されます。 誰かがこのファイルを修正するのを手伝ってくれませんか?おそらく私の言語の基本的な理解に役立つ洞察を提供していますか?コードは以下の通りです。 #!/bin/sh echo "file variable: $2" if [-e file]&> /dev/null then echo "The file name already exists, want to overwrite? (yes/no)" read | tr "[A-Z]" "[a-z]" if [$REPLY -eq "yes"] ; then rm "$2" echo $2 > "$2" exit 0 else exit 1 fi else cat …

4
ファイルがメモリマップされているかどうかを確認するにはどうすればよいですか?
メモリマップファイルについて混乱しているので、いくつか質問があります。手伝っていただけるとありがたいです。 ファイルシステムのディレクトリを参照し、このディレクトリにファイルがあるとします。このファイルがディスクの領域を指すのではなく、メインメモリの領域を指すことは可能ですか? これが可能であれば、これを「メモリマップファイル」と呼びますか? そのようなファイルをファイルシステム内で移動mvする(つまり、そのようなファイルをディレクトリから別のディレクトリに移動する)意味は何ですか?私が理解しているのは、ファイルがメモリマップされているため、ファイルとやり取りするプロセスは常にメインメモリの事前定義された領域に書き込み、そのファイルを(たとえばを使用してvim)開くと、メインのその領域を読み取ります。メモリ(つまり、ディスクは含まれません)。したがって、ファイルをどこに移動しても、常に正しく機能しますか?はいの場合、ファイルシステム内でファイルを移動することには意味がありますか? ファイルがメモリマップされているかどうかを確認するコマンドはありますか? 最後に、メモリマップファイルをvimで開いて変更し、保存して閉じるとvim、どうなりますか?変更は単にメインメモリに書き込まれますか?その場合、このファイルを使用する他のプロセスは、今行った変更を確認できますか?私の経験では、他のプロセスは、でファイルに変更を加えたときに、ファイルに加えた変更を認識しませんでしたvim。これの理由は何ですか?
8 files  memory 

3
変数に有効なファイル名のみが含まれていることを確認するにはどうすればよいですか?
以下のスクリプトを前提として/home/charlesingalls/、パス(../home/carolineingalls/)やワイルドカードなどではなく、有効なファイル名のみが引数に含まれていることをどのように確認できますか? 与えられたハードコードされたディレクトリから単一のファイルをスクリプトが削除できるようにしたいだけです。このスクリプトは、特権ユーザーとして実行されます。 #!/bin/bash rm -f /home/charlesingalls/"$1"

7
X日より古いファイルを検索し、サイズ別に出力します
私は数日より古いファイルを取得し、すべての情報(サイズ、フルパスなど-によって提供されるものと同様のものls)を含むサイズに基づいて降順で一覧表示しようとしています。 私は古いファイルを見つけることができますが: find . -mtime +10 必要な情報を一覧表示できません。
8 files 

5
「>」またはその他の異常な文字で始まるファイルを削除する方法[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Unix&Linux Stack Exchangeのトピックとなるようにしてください。 4年前休業。 というファイルを誤って作成しました > option[value='2016'] どうすれば削除できますか? My attempts: $ rm "> option[value='2016']" rm: cannot remove ‘> option[value='2016']’: No such file or directory $ rm \> o* rm: cannot remove ‘>’: No such file or directory rm: cannot remove ‘o*’: No such file or directory $ …
8 files  rm 


4
フォルダ内の不足しているファイルの名前を印刷する方法は?
フォルダに2000個以上のファイルがありますが、フォルダから欠落しているファイルはほとんどありません。 ファイルの名前は GLDAS_NOAH025SUBP_3H.A2003 001.0000 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 001.0600 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 001.1200 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 001.1800 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.0000 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.0600 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.1200 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.1800 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 003.0000 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003003.0600 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 003.1200 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 003.1800 .001.2015210044609.pss.grb 001日を示し0000、時間を示します。 フォルダーにないファイルを見つける方法は?私はグーグルでいくつかの答えを得ましたが、それらを実装する方法を理解できませんでした。

2
整数を括弧で囲んでスペースなしでファイルをソートする
私はこのようにファイルをソートしようとしています(これはサブルーチン名のリストです) cfn=(1370) __lib_file_MOD_file_open fn=(1368) __universe_MOD_general_boot fn=(916) __universe_MOD_general_main fn=(6142) __grid_var_MOD_get_overlap ... 括弧内の整数による。私は最初にsortコマンドを試しました sort -t '=' -k 2 routine_list.txt しかし、fn =(916)は出力の最後に来ます。 fn=(1368) __universe_MOD_general_boot cfn=(1370) __lib_file_MOD_file_open fn=(6142) __grid_var_MOD_get_overlap ... fn=(916) __universe_MOD_general_main 番号を昇順で並べ替えたい(916-> 1368-> 1370-> ...)いくつかのコマンドまたはオプションを使用するだけで、これを比較的簡単に行うことはできますか?
8 files  sort 

1
権限がmysqlログへの書き込みを拒否しました
私はVagrantで新しいUbuntu(Vivid 15.04)インストールをテストしていて、mysqlで問題が発生し、カスタムの場所にログを記録しています。 では/var/log/syslogI GET /usr/bin/mysqld_safe: cannot create /var/log/mysqld.log: Permission denied 私ls -l /varが得るなら drwxrwxr-x 10 root syslog 4096 Jun 8 19:52 log / var / logを見るとファイルが存在しません それが問題の原因であるかどうかを特定するために一時的にapparmorを無効にしたと思いましたが、それでも問題が発生しているかどうかはわかりません権限)。 mysqlとして手動でファイルを作成しようとすると、拒否されます(テストのためにbashアクセスを一時的に許可しましたが、後で削除します)。 touch /var/log/mysql.log touch: cannot touch ‘/var/log/mysql.log’: Permission denied 別の実行中のサーバー(centos)を見ると、上記のようなアクセス許可がある(そしてmysqlユーザーとして書き込む)ので、mysqlは通常、/ var / logディレクトリにアクセスするためのアクセス許可をどのように取得するのでしょうか。通常の実行でそのフォルダにアクセスしますか? これが私のmysqlのapparmorプロファイルです /usr/sbin/mysqld { #include #include #include #include #include capability dac_override, …

4
stdinのサイズを取得するにはどうすればよいですか?
大きなディレクトリを圧縮しようとしていますが、結果のファイルのサイズを正確に知りたいです。 私は使ってみましたdu: $ tar -cv dir | du -h - du: cannot access '-': No such file or directory 次に、「-」のファイルバージョンを使用してみました。 $ tar -cv dir | du -h /dev/stdin 1.0K この数値は正確ではないと確信しています。stdinのサイズを取得するにはどうすればよいですか?

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