Shellメモ
Shell
if文
IF[ $0-eq 0]
THEN
echo "success"
ELIF[ $0-eq 1]
THEN
echo "failed,code is 1"
FI
for文
#FOREACH
for i in $@
do
echo $i
done
#FOR
for((i =0; i <10; i++))
do
echo $i
done
while文
while["$ans"!="yes"]
do
read -p "please input yes to exit loop:" ans
done
head | tail
#上からN行目以前の内容を取得
head +20 notes.log
#下からN行目以前の内容を取得
head -20 notes.log
#監視
tail -f notes.log
#上からN行目以後の内容を取得
tail +20 notes.log
#下からN行目以後の内容を取得
tail -20 notes.log
grep
#検索したい文字を含む行を取得
grep "string" *.txt
#検索したい文字を含まない行を取得
grep -V "string" *.txt
#正規表現を使用
grep -E "string[0-9]" *.txt
#他の使用例
cat file | grep "string"
find
#ファイルやフォルダを検索コマンド
#名前指定でファイルやフォルダ検索
find path -name "*.txt"
find path -name "*.txt" -type f #ファイルのみ検索
find path -name "*.txt" -type d #フォルダのみ検索
#権限指定で検索
find path -perm 777
#ユーザーで検索
find path -user root
#変更時間で検索
find path -mtime -5 #5日以内のもの
find path -mtime +3 #3日以前のもの
#サイズで検索
find path -size +1024k #1M以上のもの
find path -size -1024k #1M以下のもの
#検索したものに他の処理を追加
find path -name "*.txt"|xargs rm -rf #削除
find path -name "*.txt"|xargs ls -l #権限を見る
sed
#2行目を表示($は最後行)
sed -n '2'p file
#1行目~4行目を表示
sed -n '1,4'p file
#正規表現使用、losを含む行をを表示
sed -n '/los/'p file
#正規表現使用、4行目からlosを含む行までの内容をを表示
sed -n '4,/los/'p file
#1行2行目を表示しない
sed -n '1,2'd file
awk
#ファイル内の全部列を表示
awk '{print $0}' file.txt
#ファイル内の第1列と第7列を表示
awk '{print $1,$7}' file.txt
#ファイル内の第1列と第7列を表示(「:」で分割した列)
awk -F: '{print $1”\t”$7}' file.txt
#ファイル内の第3行目の第1列を整数に変換して表示(NRは行の意味、NFは列の意味)
awk '{if(NR==3){print int($1)}}' file.txt
#ファイル内の[192.168.100.1]を含む全部列を表示(「!~」は含まない)
cat file | awk '{print $1~/192.168.100.1/{print $0}}'
crul
uniq
#重複内容を排除して表示
uniq file
#重複回数を表示
uniq -c file
#重複行のみ表示
uniq -d file
sort
#昇順
sort file
#降順
sort -r file
#「:」で分割、一列目の降順
cat file | sort -t: -k1 -r
less
コマンド | 動作内容 | |
---|---|---|
読込 | r | 画面を再描画します。 |
読込 | R | 画面を再描画します。(閲覧中に変更があった場合にその内容が反映されます。) |
読込 | F | ファイルの最終行を読み続けます。(「tail -f」コマンドと同様) |
移動 | SPACE | 1画面進めます。 |
移動 | d | 半画面進めます。 |
移動 | RETURN | 1行進めます。 |
移動 | b | 1画面戻ります。 |
移動 | u | 半画面戻ります。 |
移動 | y | 1行戻ります。 |
移動 | g, < | ファイルの先頭に移動します。 |
移動 | G, > | ファイルの終端に移動します。 |
検索 | /パターン | 「パターン」マッチする前方検索を行います。 |
検索 | ?パターン | 「パターン」マッチする後方検索を行います。 |
検索 | n | 前回の検索を繰り返します。 |
検索 | N | 前回の検索を逆方向へ繰り返します。 |
ヘルプ | h, H | ヘルプを表示します。 |
終了 | q, Q, :q, :Q, ZZ | 終了します。 |
その他
#プロセスを調べる
ps -ef | grep ssh
#行数を統計する
xxxx | wc -l
#フォルダコピー(dir2存在しない場合)
cp -r dir1 dir2
#ファイルを5行ごとに分割
split -5 file newfile
Author And Source
この問題について(Shellメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/heyunzhou/items/e034a85a6798a8075c3d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .