Linux

OSも少しは分かってないと折角作ったシステムも動かせないんや・・・

こんにちは。 プログラムだけでなく、色々とやらせてもらっている筆者です。

今回の記事から、自分の今の業界歴を記載していきたいと思います。

自身が成長していく過程を残したいというのと、 良く言う

このクソコードを書いたのは誰だぁ!?

俺だった😂

を味わうためにも残していきます。

ついでに、新しく転職を目指す方、同じくらいの経歴の方に、「ふーん。◯◯年もやってるのにこの程度で働けるのか⭐️」と参考になれば幸いです。

前回の記事でインターネットに繋げないサーバーにCentOS7環境を構築した時の、TIPSみたいなものをまとめさせていただておりましたが、今回はそれ以前の最低限覚えておかないと、折角作ったシステムを動かすこともできないな・・・と思ったコマンド等をまとめておきます。

ディレクトリ移動・ディレクトリ内の確認など

指定したディレクトリにあるファイルの情報などを吐き出す。 オプション指定で、ディレクトリだけを表示したり、隠しファイルも含めた全てのファイル・ディレクトリを表示したりする。

ちなみに、簡単にいうと、ディレクトリはWindowsでいうフォルダのことです。

ls -aとかしないと、.から始まる隠しファイルが見えません。(後述する.bashrcとか)

ls #基本(listの略)
=>Applications            Downloads  smaple.txt

ls -l #ファイル内のディレクトリのアクセス権限などの情報も含め表示
=>
drwx------@  3 imanau  staff    96  6 30 15:19 Applications
drwx------+ 39 imanau  staff  1248 10 12 22:09 Downloads

ls -a #隠しフィルも含めたファイル・ディレクトリを出力
=>Applications            Downloads    .bash_profile

pwd #カレントディレクトリまでのパスを表示(print working directoryの略)
=>/Users/imanau

cd /User/imanau #ディレクトリを移動(change directoryの略)

ファイル・ディレクトリを検索したい

Windowsでいうと、フォルダの全件検索など。 私のような素人では、どこに何のファイルがあるか分からなくなること多数。

指定した文字列がファイルやディレクトリの名前に含まれている物を出力してくれるfindコマンドと、ファイルの中身に指定した文字列が含まれている物を出力してくれるgrep -rコマンド(オプション付き)はよく使います。

更にパイプ「|」と呼ばれるコマンドを利用すると、コマンドの結果などを別のコマンドに引き渡すことができます。

find ./ -name pg_hba.conf -type f 
#今いるディレクトリの配下にある、pg_hba.confという名前のファイルを探して欲しい
=>/usr/local/___ #結果

grep 'koreha tesuto desu' -r ./
#'koreha tesuto desu'という文字列が内容に記載されているファイルを検索

ls -a | grep .bash
=>
.bash_history
.bash_profile
.bash_sessions
.bashrc
#ls -aでどわーっと出力される結果の中から、.bashという文字列が含まれた結果だけを抽出

ファイル・ディレクトリコピー・削除・移動

##削除
rm ファイル名
rm -d ディレクトリ名
rm -r -d ディレクトリ名 #プロジェクトフォルダ内を再帰的に削除したい場合など
#※linuxでは簡単にディレクトリやファイルを消去できます。取り扱い要注意です。マジで環境ぶっ壊れます。

##コピー
cp  コピー元 コピー先

##ファイル移動
mv 移動元 異動先

ここまでで最低限のファイル操作ができると思います。 OSの環境構築などでないない限り、最低限システムの操作はできると思います。

パッケージや必要なソフトウェアをインストールする時に利用する

例えば、Railsの環境を整えるにしても、まずは rubyはもちろんのこと、mysqlやpostgresql等の準備をする必要があります。

その時に多用したコマンド群です。

yum install パッケージ名
#必要なソフトウェアを指定すれば、それに必要なパッケージなどもまとめてダウンロードしてインストールしてくれる神コマンド。普段何気なく使うが、オフラインになるとこのコマンドの偉大さが分かる。Ubuntではapt系のコマンドだったり。

yum list installed
#yumでインストール済みのパッケージの一覧を表示する

yum list installed | grep postgres
#応用。yumでインストール済みのパッケージの一覧からpostgresという文字列の含まれた結果を出力する

また、Windowsでも良くファイルを「zip」や「lzh」といった形に圧縮することが良くあると思います。

複数のファイルを一つのファイルにまとめるために、アーカイブということが行われるのですが、tarはそのアーカイブ化をする時に良く使われる形式だそうです。

ようは、必要なパッケージをダウンロードしてきたりすると、この.tar形式でまとめられていることが多いので、展開するために必要なコマンドがtarコマンドです。

tar xvf imanau.tar
#imanauとかいうふざけた名前のtarファイルを展開(解凍)する

history
#これまで打ってきたコマンドを出力してくれる。どんな手順で操作したか見るために必須。

ユーザーログイン時などに、自動で実行されるコマンドを定義しておく。


vi ~/.bash_profile
#テキストエディタで.bash_profileという隠しファイルを開く。実行したいコマンド等を定義しておく。ちなみに急に初心者がviエディタを使うと、使い方が分からず困ります。使い方を学ぶか、nanoエディタを使いましょう。


その他にもインターネットに繋げないサーバーに環境を構築したときに手助けしていただいたコマンドなどは前回の記事にまとめてあるので、省きます。