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