LPIC ファイル操作周りについて
gzip コマンド
gzip [オプション] ファイル名
オプション | 説明 |
---|---|
-d | 圧縮ファイルを展開する。 |
-c | 標準出力へ出力 |
-r | ディレクトリ内のファイルすべてを圧縮 |
# ls
test test.txt
# gzip test.txt
# ls
test test.txt.gz
# gzip -d test.txt.gz
# ls
test test.txt
# gzip -c test.txt > test.txt.gz
# ls
test test.txt test.txt.gz
# ls test/
1.txt 2.txt 3.txt
# gzip -r test
# ls test
1.txt.gz 2.txt.gz 3.txt.gz
gunzip
コマンドはgzip -d
と同じ
bzip2 コマンド
bzip2
はgzip
よりも圧縮効率がよい。
gzip [オプション] ファイル名
オプション | 説明 |
---|---|
-d | 圧縮ファイルを展開する。 |
-c | 標準出力へ出力 |
# ls
test test.txt
# bzip2 test.txt
# ls
test test.txt.bz2
tarコマンド
よく使うので手短に
オプションは-cで作成-xで展開-tで内容の確認。 -z,-j,-Jはそれぞれgz,bz2,7z
cpioコマンド
ファイルをアーカイブにコピーしたり、アーカイブからファイルをコピーする。
cpio フラグ [オプション]
フラグ | 説明 |
---|---|
-i オプション パターン | アーカイブからファイルを抽出する |
-o オプション | アーカイブを作成する |
-p オプション ディレクトリ | ファイルを別のディレクトリにコピーする |
オプション | 説明 |
---|---|
-A | 既存のアーカイブにファイルを追加する |
-d | 必要ならディレクトリを作成する |
-r | ファイル名を対話的に変更する |
-t | コピーはせず、入力された内容を一覧表示する |
-v | ファイル名の一覧を表示する |
$ ls | cpio -o > archive
dd コマンド
入力側に指定したファイルからの入力をファイルもしくは標準出力に送る。 cpコマンドと違うのはHDDやCD-ROMなどのディバイスを扱えること。
# dd if=/dev/sdb of=/dev/sdc
SUID, SGID
とあるプログラムで誰が実行してもroot
ユーザで実行されるようにしたいときはSet User ID(SUID)が利用できる。
$ chmod u+s プログラム名など
もしくは644などの3桁のアクセス権に4000を加える事でSUIDを実現できる。
設定グループで実行されるようにしたい場合はSet Group ID(SGID)が利用できる。
$ chmod g+s プログラム名など
3桁のアクセス権に2000を加える事でSGIDを実現できる。
ステッキービット
書き込み権限があっても自分以外のユーザが所有するファイルを削除できないというような設定はスティッキービットを指定することでできる。/tmp
などで利用されている仕組み。
# chmod o+t dir
もしくは3桁のアクセス権+1000。
umask
umaskは
777- 3桁のアクセス権
で求まる数値。
# umask
0022
# umask 077
# ls -l hello.txt
-rw-------. 1 root root 0 Jun 8 17:53 hello.txt
ACL
アジアNo.1クラブを決めるサッカーの・・ではなく、chmodの3桁だけでは細かいアクセス制御を行うときに使える。Access Control List(ACL)
$ setfacl -m u:hoge:rw testfile (hogeユーザに読み書きを許可)
$ getfacl ファイル名 (ACL情報の取得)
chown, chgrp
よく使うので割愛
lnコマンド
ハードリンク、シンボリックリンクを作成する。
$ ln オリジナルファイル名 リンクファイル名 (ハードリンク)
$ ln -s オリジナルファイル名 リンクファイル名 (シンボリックリンク)
cpコマンドでリンクをコピーするとリンク先の自体65コピーされる。cp -d
とやればシンボリックリンク自体をコピーできる。