cd
change directoryの略
カレントディレクトリ(現在位置)を変更
mkdir
make directoryの略
新しいディレクトリを作成
pwd
print working directoryの略
カレントディレクトリ(現在の位置)を表示
rmdir
remove directoryの略
空のディレクトリを削除。
中身があるディレクトリを削除する場合は、代わりにrm -rコマンドを使用。
cat
concatenateの略
一つ以上のファイルの内容を順番に表示
rm -r
removeの略
指定したファイルやディレクトリを削除。-rオプションを追加することで、ディレクトリとその中身全てを再帰的に削除
rmdir
remove directoryの略
空のディレクトリを削除。内容があるディレクトリは削除できない
ps
process statusの略
現在動作中のプロセスの情報を表示
ls -al
listの略
ディレクトリの内容を表示。
-a:隠しファイルも含めて全てのファイルを表示
-l:詳細な情報(ファイルの所有者、サイズ、最終更新日など)と共に表示
id
ユーザのUID(ユーザID)やGID(グループID)、所属グループなど、ユーザの身元情報を表示
su
substitute userまたはswitch userの略
別のユーザのシェルを開始。特にユーザ名を指定しない場合デフォルトはroot
su -
suコマンドと同じだが、-オプションを追加することで新しいユーザのホームディレクトリに移動し、そのユーザの環境変数を設定
sudo
superuser doの略
他のユーザ(デフォルトではスーパーユーザ)としてコマンドを実行
一時的に管理者権限を得て作業を行える
grep
ファイルや標準入力から指定したパターンに一致する行を検索し表示
aptとapt-get
UbuntuなどのDebianベースのLinuxディストリビューションでソフトウェアパッケージを管理するためのコマンド。apt-getは古いコマンドで、aptはこれをより使いやすくした新しいコマンド。例えば、パッケージをインストールするためにはapt install [package]またはapt-get install [package]を使う
ssh
secure shellの略
ネットワーク経由で別のコンピュータに安全にログインしたり、コマンドを実行したりするためのコマンド
psql
PostgreSQLデータベースのCLI。データベースへのクエリの実行や管理を行う
chmod
change modeの略
ファイルやディレクトリのパーミッション(アクセス権)を変更
adduser
新しいユーザアカウントをシステムに追加
cp
copyの略
ファイルやディレクトリをコピー
cp オプション ソース ディスティネーション → 覚え方 cpおそいでーー
よく使うオプション -r -f -u
-r:ディレクトリとその内容を再帰的にコピー
-f:強制的にコピーを行い、必要ならば既存のファイルを上書き
-u:ソースファイルが既存のファイルより新しい場合にのみコピー
scp
SSH(Secure Shell)プロトコルを使用してリモートホスト間でコピー
ファイルやディレクトリをコピー
scp オプション ソース ディスティネーション → 覚え方 scpおそいでーー
よく使うオプション -P -r
-P:リモートホストへの接続に使用するポート番号。デフォルト22
-r:ディレクトリとその内容を再帰的にコピー
たとえばwslのubuntuとロリポップサーバーのように、サーバーとクラアントの双方にbashがある場合、どちらのbashを使っているかを意識すること。
sshで接続したbashはそこがローカル(./とか短いやつ、urlじゃない方)になる、サーバーであってもbashがサーバー側で動いてるならサーバーがローカルになる。
passwd
ユーザのパスワードを変更
tar
'tape archive'の略で、複数のファイルやディレクトリを一つのアーカイブファイルにまとめたり、その逆の操作を行ったりします。gzipやbzip2などと組み合わせてファイルの圧縮・解凍も行います。
mv
'move'の略で、ファイルやディレクトリの名前を変更や、別の場所に移動
cc
C 言語のソースコードをコンパイル。基本的な形式は cc source.c で、これにより source.c という C 言語のソースコードファイルがコンパイルされ、結果として実行可能なバイナリファイル a.out が生成
さらに詳細なオプションを付けることで、出力ファイルの名前を指定したり、最適化のレベルを設定したり、特定のライブラリとリンクできる
rsync
ファイルとディレクトリの同期を行うためのツール
基本的な使い方
ローカルのディレクトリを同期する:
rsync -av /path/to/source/ /path/to/destination/
リモートホストのディレクトリと同期する:
rsync -av /path/to/local/dir user@remotehost:/path/to/remote/dir
またはリモートからローカルへの同期:
rsync -av user@remotehost:/path/to/remote/dir /path/to/local/dir
オプションの説明
-a: ファイルの属性を保持しながら、ディレクトリを再帰的にコピー
-v: 処理中のファイル情報を詳細に表示
--progress: 各ファイルの転送進捗を表示
-z: ネットワーク経由で転送するデータを圧縮
--delete: 同期先のディレクトリから、同期元に存在しないファイルを削除
パスの最後にスラッシュ(/)をつけるかどうかで挙動が異なる。
/source/(スラッシュあり)ではsourceディレクトリ内の内容が転送対象
/source(スラッシュなし)ではsourceディレクトリ自体が転送対象
~/src/a と ~/dst があった場合
rsync -av ~/src/ ~/dst とすると ~/dst/aとなり
rsync -av ~/src ~/dst とすると ~/dst/s/a