Tangwx

Tangwx

博客网站

vimの使用

vim 使用#

mkdir フォルダ名 フォルダを作成する

rm -rf ファイル名 ファイルを削除する

cp 元のファイルのパス 宛先のパス 単一のファイルをコピーする

cp 元のファイルのパス -r 宛先のパス フォルダをコピーする

mv 元のファイルまたはフォルダ名 変更後の名前 ファイルまたはフォルダの名前を変更する

ファイルを表示する: cat ファイル名

検索結果を別のファイルに保存する: grep 検索内容 ファイル名>新しいファイル名

cat ファイル名 | grep 検索内容 ファイル名>新しいファイル名

権限を追加する

chmod +x ファイル名

test.sh を作成する:

date

x 権限を追加する

chmod +x test.sh

sh ファイルを実行する

./test.sh
[test@iZuf64fh3qqfih9qs3bh1oZ tang]$ vi test.sh
[test@iZuf64fh3qqfih9qs3bh1oZ tang]$ ll
total 36
drwxrwxr-x 9 test test  4096 Sep 15 17:15 1
-rw-rw-r-- 1 test test   878 Sep 15 17:32 SentimentModel_def
-rw-rw-r-- 1 test test 14794 Sep 15 17:10 SentimentModel.py
-rw-rw-r-- 1 test test     5 Sep 15 20:22 test.sh
-rw-rw-r-- 1 test test    76 Sep 15 19:16 test.txt
drwxrwxr-x 2 test test  4096 Sep 15 19:21 xieqiang
[test@iZuf64fh3qqfih9qs3bh1oZ tang]$ chmod +x test.sh
[test@iZuf64fh3qqfih9qs3bh1oZ tang]$ ll
total 36
drwxrwxr-x 9 test test  4096 Sep 15 17:15 1
-rw-rw-r-- 1 test test   878 Sep 15 17:32 SentimentModel_def
-rw-rw-r-- 1 test test 14794 Sep 15 17:10 SentimentModel.py
-rwxrwxr-x 1 test test     5 Sep 15 20:22 test.sh
-rw-rw-r-- 1 test test    76 Sep 15 19:16 test.txt
drwxrwxr-x 2 test test  4096 Sep 15 19:21 xieqiang
[test@iZuf64fh3qqfih9qs3bh1oZ tang]$ ./test.sh 
Wed Sep 15 20:23:15 CST 2021

空のファイルを作成する touch ファイル名

Linux のテキストファイルの改行文字を表示する
cat -A ファイル名

コピー&ペースト
yy 行全体をコピーする
p ペーストする

行を削除する
dd カーソルがある行を削除する
ndd カーソルがある行から下に n 行削除する
dG カーソルがある行から最後の行までのデータを削除する

選択したテキストを削除する
コマンドモードでテキストを選択するには、vまたはCtrl+vを使用し、xを押します

選択したテキストをコピーする
コマンドモードでテキストを選択するには、vまたはCtrl+vを使用し、yでコピーし、p(またはP)で貼り付けます

行番号を表示する
:set nu

行番号を解除する
:set nonu

複数のファイルを編集する
:n 次のファイルを編集する
:N 前のファイルを編集する
:files 現在開いているすべてのファイルをリストする

DOS と Linux の改行文字
dos2 unix [-kn] ファイル [新しいファイル] Unix に変換する
unix2 dos [-kn] ファイル [新しいファイル] DOS に変換する

ワイルドカードと特殊文字
* 0 個以上の文字(または数字)を表す
? 1 つの文字を表す
# コメント、スクリプトでよく使用され、説明と見なされる
\ エスケープ文字、特殊文字またはワイルドカードを通常の文字に戻す

| パイプのコマンドを区切る

; コマンドの連続を区切る(注意:パイプコマンドとは異なる)

& コマンドをバックグラウンドで実行する

! 論理的な「非」(not)の意味

/ パスの区切り記号

> >> 出力のリダイレクト、それぞれ「置換」と「追加」を意味する

' 変数の置換機能を持たない

" 変数の置換機能を持つ

`` ` ` ``の間には実行可能なコマンドがあります

() 子シェルの開始と終了

[] 文字の組み合わせ

{} コマンドブロックの組み合わせ

パイプコマンド(pipe)
1、cut
echo $PATH|cut -d ':' -f 3

2、シェルの \r を削除する
cat my_shell.sh|tr -d '\r' > my_shell.sh

//------------------------ 正規表現 ----------------------------------------------------------
1、grep [-acinv] ' 検索文字列 ' ファイル名
パラメータの説明:
-a : バイナリファイルでもテキストファイルとしてデータを検索する
-c : ' 検索 ' 文字列が見つかった回数をカウントする
-i : 大文字と小文字を区別しない
-n : 行番号を出力する
-v : ' 検索文字列 ' の内容がない行を表示する

2、[] を使用してグループ文字列を検索する
grep -n 't[ae]st' ファイル名 [] 内の文字数に関係なく、1 つの文字を表すため、'tast' と 'test' の 2 つの文字列を検索します
grep -n '[^g]oo' ファイル名 g を含まない oo を取り出す
grep -n '[^a-z]oo' ファイル名 小文字を含まない oo を取り出す(数字と英字の場合は [a-zA-Z0-9])

3、行の先頭と末尾の文字 ^ $

grep -n '^the' ファイル名` 行の先頭にtheが含まれる文字列を取得する(注意:[]内と外では異なる意味を持ちます。[]内では逆選択を表し、[]外では行の先頭を表します)
grep -n '\.$' ファイル名` ピリオドが行の末尾にある行を取得する

4、任意の 1 文字。と繰り返し文字 *
grep -n 'g..d' ファイル名 g と d の文字を含む行を取得し、g と d の間には 2 つの文字が存在する必要があります
grep -n 'oo*' ファイル名 1 つ以上の o を含む行を取得する(* は 0 個以上の任意の文字を表します)

5、繰り返し文字の範囲 {}
grep -n 'o\{2,5\}' ファイル名 2〜5 個の o を含む行を取得する(注意::{} はシェルで特殊な意味を持つため、使用する際はエスケープ文字 \ が必要です)

6、sed ツールの概要
削除
cat -n /etc/passwd | sed '2,2d' 2 行から 12 行まで削除する
cat -n /etc/passwd | sed '12,$d' 12 行から最後の行まで削除する
cat -n /etc/passwd | sed '2a hello wanlx' 2 行の後に hello wlx を追加する
cat -n /etc/passwd | sed '5i hello wanlx' 5 行の後に hello wlx を追加する
cat -n /etc/passwd | sed '2,5c hello wanlx' 2〜5 行を hello wlx に置き換える
cat -n /etc/passwd | sed -n '5,7p' 5〜7 行を表示する

7、awk ツールの概要(便利なもの)
スペースとタブで文字列を分割する

//-------------------- シェルスクリプトの学習 -------------------------------------------------------------
1、判定記号 [] の使用
1.1 各コンポーネントの間にはスペースを入れる必要があります。例:[ "$HOME" == "$MAIL" ]
1.2 中括弧内の変数は、ダブルクォーテーションで設定することが最善です。
1.3 中括弧内の定数は、シングルクォーテーションまたはダブルクォーテーションで設定することが最善です。

2、シェルスクリプトのトレースとデバッグ
sh [-nvx] filename.sh
-n スクリプトを実行せず、構文の問題のみをクエリします
-v スクリプトの内容を実行する前に画面に表示します
-x 使用されるスクリプトの内容を画面に表示します(スクリプトの実行をトレースする)

//---------------- 定期的なジョブの実行 --------------------------------------------------
crontab [-u ユーザ名] [-l|-e|-r]
パラメータ
-u このタスクはrootのみが実行できるため、他のユーザーのcrontabを作成 / 削除する
-e crontabの作業内容を編集する
-l crontabの作業内容を表示する
-r crontabの作業内容を削除する(すべての内容)

30 10 * * * /bin/sh /root/shell_script/mongodb/mongo_log_mgr.sh

ジョブを編集する
crontab -e
編集が完了したら、crondサービスを再起動する(redhat6.4では再起動は不要です)
/etc/init.d/crond restart

システムから送信されるメールのアドレスを設定する
vi /etc/crontab そして、MAILTOを変更する

//--------------- バックグラウンドジョブの管理 -------------------------------------------
kill -signal %ジョブ番号
パラメータ
-l 使用可能なシグナル(signal)を一覧表示する
signal 後続のジョブに対して何を指示するかを示す(何をするかわからない)。man 7 signal で確認できます
-1 パラメータの設定ファイルを再読み込みする(リロードのようなもの)
-2 キーボードからの入力と同じ動作をする
-9 ジョブを即座に強制的に削除する
-15 通常のプログラムの方法でジョブを終了する

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。