Linuxコマンド勉強
参考になるサイト
http://hydrocul.github.io/wiki/commands/find.html
# 1.cat
cat -n ファイル名称
# 2.more
more オプション ファイル名称
# 3.head
head -n 20 ファイル名称
# 4.tail
tail -n 20 ファイル名
tail -f ファイル名
# 5.tr
tr [元の文字] [変換後の文字]
# 小文字を全部大文字に変換
cat test.txt | tr [a-z] [A-Z]
# 6.wc
# バイト数だけを表示する
wc -c ファイル名
# 行数だけを表示する
wc -l ファイル名
# 単語数だけを表示する
wc -w ファイル名
# 7.stat
stat ファイル名
-----------------------------------------------
File: test.txt
Size: 48 Blocks: 0 IO Block: 4096 regular file
Device: 2h/2d Inode: 1407374883989969 Links: 1
Access: (0700/-rwx------) Uid: ( 1000/ dm946) Gid: ( 1000/ dm946)
Access: 2019-10-13 12:39:37.583846100 +0900
Modify: 2019-10-21 21:49:05.248230800 +0900
Change: 2019-10-21 21:49:05.248230800 +0900
Birth: -
-----------------------------------------------
# 8.cut オプション ファイル名
# -d:は「:」で列分割
# -f1は分割後の1列名
cut -d: -f1 /etc/passwd
# 9.diff
# A.txtとB.txtファイルが同じであるかどうかを比較する
diff --brief A.txt B.txt
# 2つのファイルの具体的な違いを表示する
diff -c A.txt B.txt
# 9.touch
touch オプション ファイル名
# -a 読み込み時間を修正 atime
# -m 修正時間を修正 mtime
# -d 読み込み時間と修正時間を同時に修正
# 空白のファイルfilenameを作成する
touch filename
# A.txtのファイルの読み込み時間と修正時間を"2019-10-22 22:30"に修正
touch -d "2019-10-22 22:30" A.txt
# 10.mkdir
mkdir folder1
mkdir -p a/b/c
# 11.cp
# cp オプション ファイル1 ファイル2
# -p:元のファイルの属性を保持
# -d:リンクファイルならものの属性を保持
# -r:フォルダのなかもコピー
# -i:ファイルが存在する場合、上書きするかを確認する
# -a:-pdrと同じ
# 12.mv
mv オプション ソースファイル フォルダ|ファイル名
# 13.rm
rm -f ファイル名
rm -rf フォルダ名
# 14.dd
# if:Inputファイル名
# of:Outputファイル名
# bf:ブロックサイズを設定
# count:ブロックの個数を設定
dd if=/dev/zero of=560_file count=1 bs=560M
# 15.file
# ファイルの種類を調べる
file ファイル名
# 16.tar
tar オプション ファイル名
# -c:圧縮ファイルを作成
# -x:ファイルを解凍する
# -t:圧縮ファイルの中身を表示する
# -z:gzipで圧縮か解凍
# -j:bzip2で圧縮か解凍
# -v:圧縮か解凍の過程を表示する
# -f:ターゲットファイル名
# -p:元のファイルの権限と属性を保持
# -P:絶対パスを使って圧縮する
# -C:解凍先のパスを指定する
tar -czvf パッケージ.tar.gz フォルダ
tar -cvf 2019102101.tar *
tar -xvf 2019102101.tar
tar -cxvf 2019102101.tar.gz *
tar -zxvf 2019102101.tar.gz
tar -czvf etc.tar.gz /etc
mkdir /test/etc
tar xzvf etc.tar.gz -C /test/etc
# 17.grep
grep オプション ファイル名
# -b:バイナリーファイルをテキストファイルとしてスキャン
# -c:スキャンできた行数だけを表示
# -i:大文字小文字を区別しない
# -n:行番号だけを表示する
# -v:反対方向で検索し、検索対象がない行だけを表示する
grep /sbin/nologin /etc/passwd
# 18.find
find パス 検索条件 操作
-name:名称
-perm:権限
-user:所有者
-group:グループ
-mtime -n +n:修正時間(-nはn日以内、+nはn日以前)
-atime -n +n:アクセス時間(-nはn日以内、+nはn日以前)
-ctime -n +n:ファイル権限修正時間 (-nはn日以内、+nはn日以前)
-nouser:所有者がないファイル
-nogroup:グループがないファイル
-newer f1 !f2:ファイルf1より新しいがf2より古いファイル
--type b/d/c/p/l/f:ブロック設備、ディレクトリ、...
-size:ファイルのサイズ
-prune:無視するディレクトリ
-exec ..... {}\;:検索結果を処理する命令
# /homeの配下から*.txtファイルを検索し、削除コマンドを作成してからrm.shに出力する
find /home -name "*.txt" -exec echo "rm -f "{} >> rm.sh \;
getconf ARG_MAX
# 1つのコマンドでパスワードを修正
echo "linuxprobe" | passwd --stdin root
# ! /bin/bash
echo "ファイル名前:$0"
echo "全部で$#のパラメータがあります。それぞれは$*です"
echo "1つめの引数は$1, 5つ目の引数は$5です"
[ -d /home1 ] && echo $?
[ -d /home1 ] || echo $?
[ ! $USER = root ] && echo "user" || echo "root"
# 指定日付の180前の日付を計算
date -d "20191024 10:39:00 180 days ago" "+%Y-%m-%d %T"
# 指定したフォルダの180より前の*.gzのファイルを検索する
find /home/my/ -type f -mtime +180 -name "*.gz"
FreeMem=`free -m | grep Mem: | awk '{print $4}'`
echo $FreeMem