Linuxコマンド

よく使うコマンド

 コマンド   動作
pwd 現在のディレクトリ表示
cd ディレクトリ移動
ls ファイル、ディレクトリを一覧表示
rm ファイル、ディレクトリ削除
mkdir ディレクトリ作成 $mkdir file
toutch ファイル作成 $touch file1.txt
cp ファイル、ディレクトリのコピー
mv ファイル、ディレクトリの移動
find ファイル、ディレクトリ検索
grep ファイルの中から特定の単語を検索
diff 差分

pwd Print Working Directory
カレントディレクトリを表示する

owner@ownernoMacBook-Pro ~ % pwd
/Users/owner
PATHについて

pwdでは絶対PATHが表示される。
絶対PATH:一番上のディレクトリからのPATH
相対PATH:カレントディレクトリからのPATH

カレントディレクトリがBorad_app/Users/owner/ps1/Board_appの場合
appディレクトリを参照したい場合

######絶対PATH
/Users/owner/ps1/Board_app/app

######相対PATH
./app

.はカレントディレクトリ、..はひとつ上のディレクトリを示す。

cd:ディレクトリ移動

cdChange Directory、
cd ..1つ前にいたディレクトリへ戻れる。
~カレントディレクトリへ移動

ls:ファイル、ディレクトリを一覧表示

-a隠しファイルを見ることができる。
-ltr最後に更新があったファイルをソートして一番下に表示する

owner@MacBook-Pro laravel_umarche % ls -ltr
total 8
-rw-r--r--   1 owner  staff  2699 12 26 02:22 docker-compose.yml
drwxrwxr-x@  5 owner  staff   160 12 26 02:22 web_umarche
drwxrwxr-x@ 31 owner  staff   992  1 12 04:11 umarche

owner@MacBook-Pro ~ % ls -a
.           .lemminx        Desktop
..          .local          Documents
.CFUserTextEncoding .m2         Downloads
.DS_Store       .nodenv         Library
.Trash          .npm            Movies
.atom           .rbenv          Music
.bash_profile       .ruby-version       Pictures
.bundle         .sqlite_history     Public
.cache          .ssh            exam
.chromedriver-helper    .sts4           git
.circleci       .viminfo        js1
.config         .vscode         node_modules
.docker         .webdrivers     ps1
.eclipse        .wget-hsts      rubybook
.gem            .yarnrc         workspace2
.git            .zsh_history        workspace3
.gitconfig      .zshrc
.gitignore      Applications
rm:ファイル、ディレクトリ削除

rmremove
ディレクトリを削除する場合-rオプションをつける。 workspaceディレクトリを削除。

owner@MacBook-Pro ~ % ls
Applications    workspace
owner@MacBook-Pro ~ % rm -r workspace
owner@MacBook-Pro ~ % ls
Applications    
cp:ファイル、ディレクトリコピー

cp copy
$ cp -rp コピー元 コピー先 /Users/owner/workspace内にあるtmpファイルをownerへコピーし移動

owner@MacBook-Pro workspace % ls
tmp

owner@MacBook-Pro workspace % cp -rp tmp /Users/owner 
mv:ファイル、ディレクトリの移動

mv move
/Users/owner/workspace/test内のtmpファイルをworkspaceへ移動

owner@MacBook-Pro test % mv tmp /Users/owner/workspace
owner@MacBook-Pro workspace % ls
tmp
名前の変更もできる
#tmp1ファイルをdemoに変更
owner@MacBook-Pro test % ls
tmp1
owner@MacBook-Pro test % mv tmp1 demo
owner@MacBook-Pro test % ls
demo
拡張子.txtのファイルをすべて移動

$ mv *.txt /Users/owner/git/my_app

find ファイル ディレクトリ検索

例)dockerから始まるファイルを検索

owner@MacBook-Pro laravel_umarche % find . -name "docker*" -ls
23047061        8 -rw-r--r--    1 owner            staff                 848 11 16 12:16 ./umarche/vendor/laravel/sail/stubs/docker-compose.stub
27852420        8 -rw-r--r--    1 owner            staff                2699 12 26 02:22 ./docker-compose.yml
23072407        8 -rw-r--r--    1 owner            staff                 600 11 16 13:35 ./.git/logs/refs/heads/docker_setting
23079247        8 -rw-r--r--    1 owner            staff                 286 11 16 13:25 ./.git/logs/refs/remotes/origin/docker_setting
23081513        8 -rw-r--r--    1 owner            staff                  41 11 16 13:35 ./.git/refs/heads/docker_setting
23080020        8 -rw-r--r--    1 owner            staff                  41 11 16 13:25 ./.git/refs/remotes/origin/docker_setting
diff 差分確認
owner@MacBook-Pro diff % sdiff -w 155 file1.txt file2.txt
                                         >   iiiiiiiiiiiiiiiiiiii
aaaaaaaaaaa                                 aaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaa                               |  aaaaaaaaaaaa
aaaaaaaaaaa                                 aaaaaaaaaaa
aaaaaaaaaaa                                  |  iiiiiiiiiiii
aaaaaaaaaaa                                  |
aaaaaaaaaaa                                  <
iiiiiiiiiii                                  <
iiiiiiiii                                    <
iiiiiiiii                                    <
i                                        <
圧縮解凍

例) logディレクトリをlog.tar.gzファイルに圧縮するコマンド

tar cvfz log.tar.gz log/

解凍は

tar xvzf log.tar.gz