Linux

LinuxとはLinuxカーネルを利用したUnix系OSです。

.bash_profile

bashが対話型ログインシェルとして起動されると、/etc/profile ファイルからコマンドを読み込んで実行する。

次に、ログインユーザのホームディレクトリから次のファイルを上から順に検索して、最初に見つかったファイルからコマンドを読み込んで実行する。

  1. ~/.bash_profile
  2. ~/.bash_login
  3. ~/.profile

これらのファイルが複数存在していても、最初に見つかったファイル以外はコマンドを読み込まない。たとえば、~/.bash_profile があれば ~/.bash_login は読み取られない。

chmod

chmod (change mode) コマンドを使って、ファイルやディレクトリのパーミッションを変更できる。

アカウント user group other
モード r w x r w x r w x
2進数 1 1 1 1 0 1 1 0 1
8進数 7 5 5
$ chmod 0755 bin

git

UbuntuやLinux Mintなど、DebianベースのLinuxディストリビューションの場合、apt-getコマンドを使ってgitをインストールする。

$ sudo apt-get install git

git clone

既存のGitリポジトリのクローン(複製)を作成する。

$ git clone https://github.com/account/example.git

git config

Gitの初期設定として、コミットログに記載されるユーザ名とメールアドレスを設定する。

$ git config --global user.name sato.neo
$ git config --global user.email mail@example.com

GitHubにpushするときに毎回パスワードを聞かれないようにするには、認証情報をキャッシュするよう設定する。

$ git config --global credential.helper cache

パスワードのキャッシュがタイムアウトする時間を変更するには、次のようにする。

$ git config --global credential.helper 'cache --timeout=3600'

dpkg

dpkg (package manager for Debian) はDebianパッケージを管理するコマンドである。

インストールされているパッケージを表示するには、-l または --list オプションを指定してdpkgコマンドを実行する。引数には、パッケージ名またはパッケージ名の一部を指定する。

$ dpkg -l git

パッケージをインストールするには、-i または --install オプションを指定してdpkgコマンドを実行する。

$ sudo dpkg -i example.deb

/etc/hostname

/etc/hostname はホスト名を設定するファイルである。

$ cat /etc/hostname
sakura

/etc/hosts

/etc/hosts は各ホスト名のIPアドレスを設定するファイルである。

$ cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	sakura

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

/etc/issue

/etc/issue はLinuxディストリビューションに関する情報が格納されているファイルである。

$ cat /etc/issue
Linux Mint 20 Ulyana \n \l

/etc/os-release

/etc/os-release はLinuxディストリビューションに関する詳細な情報が格納されているファイルである。

$ cat /etc/os-release
NAME="Linux Mint"
VERSION="20 (Ulyana)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 20"
VERSION_ID="20"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=ulyana
UBUNTU_CODENAME=focal

/etc/profile

/etc/profile とは、どのログインユーザでも共通の処理を記述したスクリプトシェルである。ログインシェルがshまたはbashの場合、ユーザがログインしたとき自動的に実行される。

/dev/null

特殊なデバイスとして、ヌルデバイス(/dev/null)を指定することもできます。出力先とした場合、何も出力しないのと同義になります。入力元とした場合、常に EOF が入力されます。

$ echo hello > /dev/null

標準出力をヌルデバイスにリダイレクトした場合、/dev/nullというファイルに出力するのではなく、どこにも出力しないことになります。