linux/ubuntu常用bash/shellコマンド


一度やってみると、印象がいいので、特別な記憶は必要ありません.多くの命令を使って自然に覚えています.
1.コマンドヘルプの使用を習得する
1.1コマンドの簡単な説明の表示
whatis command
#          (       man    )

whatis -w "loca*"
#     

info command
#          

1.2 manを使用する(manのヘルプマニュアルでは、ヘルプドキュメントを9つのカテゴリに分類します.キーワードによっては複数のカテゴリが存在する可能性があります.特定のカテゴリを指定して表示する必要があります.(一般的にbashコマンドをクエリーし、1つのカテゴリに分類します)
man command
#     command     

1.3パスの表示
which command
#      binary      

whereis command
#          

まとめ:whatis/info/man/which/whereis/
2.書類及び命令管理
2.1作成と削除
mkdir
  :rm
      :rm -rf file  
    :rm *log 
    :find ./ -name “*log” -exec rm {}
  :mv
  :cp (    :cp -r )

find ./ | wc -l
#            

cp -r source_dir  dest_dir
#     

2.2ディレクトリの切り替え

    /    :cdcd -
   home  : cd or cd ~
      : pwd
         path: $cd path

2.3目次項目のリスト
           lsls -lrt

.bashrcで別名を設定できます
alias lsl='ls -lrt'
alias lm='ls -al|more'

これによりlslを使用すると、ディレクトリ内のファイルが変更時間に従ってソートされることを表示できます.リスト表示;各ファイルの前にid番号を追加します(よりきれいに見えます):
ls | cat -n

注意:.bashrcは/home/あなたのユーザー名/フォルダの下に、ファイルを隠すように保存されます.ls-aを使用して表示できます.
2.4ディレクトリおよびファイルfind/locateの検索
ファイルまたはディレクトリの検索:
$find ./ -name "core*" | xargs file

ターゲットフォルダにobjファイルがあるかどうかを検索します.
$find ./ -name '*.o'

現在のディレクトリとサブディレクトリを再帰して、すべての.oファイルを削除します.
$find ./ -name "*.o" -exec rm {} \;

findはリアルタイム検索で、より速いクエリーが必要な場合はlocateを試してみてください.locateはファイルシステムのインデックス・データベースを構築します.ファイルの更新がある場合は、定期的に更新コマンドを実行してインデックス・ライブラリを更新する必要があります.
$locate string

stringを含むパスを探します.
$updatedb

findとは異なり、locateはリアルタイム検索ではありません.最新のファイルインデックス情報を取得するには、データベースを更新する必要があります.
2.5ドキュメントの内容を表示ファイルを表示する:cat vi head tail more
表示時に行番号を同時に表示するには、次の手順に従います.
$cat -n

ページごとにリストの内容を表示します.
$ls -al | more

最初の10行だけを見ます.
$head - 10 **

ファイルの最初の行を表示します.
$head -1 filename

ファイルの最後から5行目を表示します.
$tail -5 filename

2つのファイルの違いを表示します.
$diff file1 file2

テキストの最新情報を動的に表示します.
$tail -f crawler.log

2.6ファイル内容の検索
egrepを使用してファイルの内容をクエリーします.
egrep '03.1\/CO\/AE' TSF_STAT_111130.log.012
egrep 'A_LMCA777:C' TSF_STAT_111130.log.035 > co.out2

2.7ファイルとディレクトリ権限の変更
         chown
     、 、      chmodchown -R tuxapp source/
         : chmod a+x myscript

2.8ファイルに別名を追加
シンボルリンク/ハードリンクの作成:
ln cc ccAgain :   ;    ,     ;
ln -s cc ccTo :    (   );   ,       ;(    ccTo       )

2.9配管とリダイレクト
         ,   |
  :      ;
    ,       ,  ,   :&&: ||
ls /proc && echo  suss! || echo failed.

ネーミングが成功したか失敗したかをプロンプトできます.
上記と同じ効果は次のとおりです.
if ls /proc; then echo suss; else echo fail; fi

リダイレクト:
ls  proc/*.c > list 2> &l 
#                   ;

等価なものは次のとおりです.
ls  proc/*.c &> list

ファイルを空にします.
:> a.txt

リダイレクト:
echo aa >> a.txt

2.10環境変数の設定
アカウントを起動した後、自動的に実行されるのはファイルが.profileで、このファイルを通じて自分の環境変数を設定することができます.
インストールされたソフトウェアパスは、一般的にpathに追加する必要があります.
PATH=$APPDIR:/opt/app/soft/bin:$PATH:/usr/local/bin:$TUXDIR/bin:$ORACLE_HOME/bin;export PATH

2.11 Bashショートカット入力または削除
ショートカット:
Ctl-U               ,      ,    
Ctl-W                        
Ctl-H   backspace,         
Ctl-R

2.12総合応用
検索レコード.logにAAAが含まれていますが、BBBのレコードが含まれていない合計数:
cat -v record.log | grep AAA | grep -v BBB | wc -l

2.13まとめ
    ,     、  、  、  : mkdir rm mv

        : find locate

      :cat vi tail more

      : ; | && >

参考文献:https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.html