よく使うLinuxコマンド RedHat系

コピペ出来るようによく使うLinuxコマンドを具体例付でまとめてみた

cpコマンド

ファイルやディレクトリをコピーするコマンド

オプション

オプション説明
-fコピー先に同名のファイルがあれば上書きする
-iコピー先に同名のファイルがあれば上書きするかどうか確認する
-pコピー元ファイルの属性(所有者、所有グループ、アクセス権、タイムスタンプ)を保持したままコピーする
-r、-Rディレクトリ内を再帰的にコピーする(ディレクトリをコピーする)
-dシンボリックリンクをシンボリックリンクとしてコピーする
-aできる限り元ファイルの構成と属性をコピー先でも保持する(-dpRと同じ)
引用:LPICレベル1 あずき本
具体例

data.txtファイルをdata.BAK.txtという名前でコピーする

[root@ src]# ls
data.txt

#コピー作成
[root@ src]# cp data.txt data.BKUP.txt

[root@ src]# ls
data.BKUP.txt  data.txt
具体例

/usr/local/src/直下にある「dir1」ディレクトリを/tmp/bkupディレクトリにコピーする

[root@ src]# cp -r /usr/local/src/dir1/ /tmp/bkup

findコマンド

検索コマンド

検索式

検索式説明
-name ファイル名ファイル名で検索する
-atime 日時最終アクセス時刻で検索する
-mtime 日時最終更新時刻で検索する
-pem アクセス権アクセス権で検索する
-size サイズファイルサイズで検索する
-type ファイルの種類ファイルの種類で検索する
f:ファイル
l:シンボリックリンク
d:ディレクトリ
-user ユーザー名ファイルの所有者で検索する
-printマッチしたファイルを表示する(省略可能)
-exec コマンド || \;マッチしたファイルに対してコマンドを実行する
-ok コマンド || \;マッチしたファイルに対してコマンドを実行する(確認あり)
具体例

/etcディレクトリ以下から、ファイル名が「sshd_config」であるファイルを検索する

[root@ /]# find /etc -type f -name "sshd_config"
/etc/ssh/sshd_config
具体例

/varディレクトリ以下から、フォルダ名が「tmp」であるフォルダを検索する

[root@ /]# find /var -type d -name "tmp"
/var/opt/remi/php80/tmp
/var/tmp
具体例

/etcディレクトリ以下から、ファイル名の末尾が「.conf」であるファイルを検索する

[root@ /]# find /etc -type f -name "*.conf"
/etc/man_db.conf
/etc/abrt/gpg_keys.conf
/etc/abrt/abrt.conf

grepコマンド

文字列検索コマンド

オプション
-rオプション:再帰的に検索するオプション

具体例

/etcディレクトリ以下から、再帰的に、文字列「localdomain」を含むファイルを検索する

[root@ /]# grep -r "localdomain" /etc
/etc/sysconfig/network-scripts/network-functions:        '(none)' | 'localhost' | 'localhost.localdomain')
/etc/sysconfig/network-scripts/network-functions:        # ['(none)', 'localhost' or 'localhost.localdomain' are not valid]
/etc/hostname:localhost.localdomain
/etc/pki/tls/certs/make-dummy-cert:     echo localhost.localdomain
/etc/pki/tls/certs/make-dummy-cert:     echo root@localhost.localdomain
/etc/hosts:127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
/etc/hosts:#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

chmodコマンド

アクセス権を変更するコマンド

オプション

オプション説明
-vコマンド実行結果を表示
-c変更があった場合のみ、実行結果を表示
-R指定したディレクトリ以下にある全ファイルのアクセス権を変更する
具体例

「dir」ディレクトリ以下(再帰的に)のパーミッションを777から775に変更する

※パーミッションを777から775に変更
【777】drwxrwxrwx
「所有者」「所有グループ」「その他」は、「読取」「書込」「実行」の権限を持っている

【775】drwxr-xr-x
「所有者」は、「読取」「書込」「実行」の権限を持っている
「所有グループ」は、「読取」「実行」の権限を持っている
「その他」は、「読取」「実行」の権限を持っている

#「dir」ディレクトリのパーミッションは777であることを確認
[root@ src]# ls -l
drwxrwxrwx 2 root root 4096 Oct 12 11:48 dir

#パーミッションを777から755に変更
[root@ src]# chmod -cR 755 dir
mode of ‘dir’ changed from 0777 (rwxrwxrwx) to 0755 (rwxr-xr-x)

#「dir」ディレクトリのパーミッションは775であることを確認
[root@ src]# ls -l
drwxr-xr-x 2 root root 4096 Oct 13 11:48 dir

chownコマンド

ファイルやディレクトリの所有者を変更するコマンド。変更できるのは、rootユーザーのみ。

オプション

オプション説明
-R指定したディレクトリとその中にある全ファイルをの所有者を変更する
具体例

「testfile」ファイルの所有者をlinuxからlpicに変更する

#所有者がlinuxである
[root@ src]# ls -l testfile
-rw-rw--r-- 1 linux staff 2048 Jun 27 10:00 testfile

#testfileファイルの所有者をlpicに変更
[root@ src]# chown lpic testfile

#所有者がlpicである
[root@ src]# ls -l testfile
-rw-rw--r-- 1 lpic staff 2048 Jun 27 10:00 testfile

chgrpコマンド

ファイルやディレクトリのグループを変更するコマンド。一般ユーザーでも使うことができるが、実行するユーザーが所属しているグループに限られる。スーパーユーザーの場合は、どのグループにでも変更することができる

オプション

オプション説明
-R指定したディレクトリとその中にある全ファイルをの所有グループを変更する
具体例

「testfile」ファイルの所有グループをstaffからlpicに変更する

#所有グループがstaffである
[root@ src]# ls -l testfile
-rw-rw--r-- 1 linux staff 2048 Jun 27 10:00 testfile

#testfileファイルの所有者をlpicに変更
[root@ src]#chgrp lpic testfile

#所有グループがlpicである
[root@ src]# ls -l testfile
-rw-rw--r-- 1 lpic lpic 2048 Jun 27 10:00 testfile

useraddコマンド

ユーザーアカウントを作成する

オプション

オプション説明
-c コメントコメントフィールドを指定する
-d パスホームディレクトリを指定する
-g グループ名/GIDプライマリグループを指定する
-G グループ名/GIDプライマリグループ以外に所属するグループを指定する
-s パスデフォルトシェルを指定する
-Dデフォルトの設定値を表示もしくは設定する
-mホームディレクトリを自動的に作成する※Debian系、GNU/Linux
具体例

「apache」ユーザーをプライマリグループ「apache」グループで作成する

[root@ /]#useradd -g apache apache

usermodコマンド

既存のユーザアカウントを変更するコマンド。
主に、グループにユーザーを追加したい場合によく使う。

オプション
省略

注意点
ユーザーのサブグループにグループを追加したい場合は、-aGオプションをつける
https://ex1.m-yabe.com/archives/2867

具体例

「testuser」ユーザーのサブグループに「apache」グループを追加する

#「testuser」ユーザーは、「testuser」グループに所属している
[root@ /]$ grep testuser /etc/group
testuser:x:1001:

#「testuser」ユーザーのサブグループに「apache」グループを追加する
[root@ /]# usermod -aG apache testuser

[root@ /]# grep testuser /etc/group
testuser:x:1001:
apache:x:48:admin,root,testuser

groupaddコマンド

グループを作成するコマンド

具体例

devグループを作成する

[root@ /]# groupadd dev

#グループ一覧を確認
[root@ /]# cat /etc/group
mysql:x:993:
redis:x:992:
dev:x:1003:

groupmodコマンド

既存のグループ情報を変更するコマンド

オプション

オプション説明
-g GIDGIDを変更する
-n グループ名グループ名を変更する
具体例

devグループの名称をdevelopに変更する

[root@ /]# groupmod -n develop dev

tarコマンド

アーカイブにまとめたり、展開するコマンド

オプション
省略

具体例

「latest-ja.tar.gz」を展開する

[root@ src]# ls
latest-ja.tar.gz

#展開
[root@ src]# tar xvf latest-ja.tar.gz

[root@ src]# ls
latest-ja.tar.gz  wordpress
具体例

「wordpress」フォルダをアーカイブ名「wordpress.tar.gz」として圧縮する

[root@ src]# ls
latest-ja.tar.gz  wordpress

#圧縮
[root@ src]# tar zcvf wordpress.tar.gz /usr/local/src

[root@ src]# ls
latest-ja.tar.gz  wordpress  wordpress.tar.gz

SSH

リモートホストにログインするコマンド。引数にはホスト名かIPアドレスを指定する

オプション

オプション説明
-p ポート番号ポート番号を指定する
-l ユーザー名接続するユーザーを指定する
-i ファイル名秘密鍵ファイルを指定する
具体例

ホスト:1XX.XXX.XX.XXX、SSHPORT:12345、adminユーザーでログインする

ssh -p 12345 admin@1XX.XXX.XX.XXX

lsofコマンド

開いているポートを確認するコマンド。
また、ssコマンド、netstatコマンド、nmapコマンドでも開いているポートを確認することができる

オプション

オプション説明
-i開いているポートの情報を表示する
-i:ポート番号指定したポート番号が使われている通信を表示する
具体例

#-Pを指定することでポート番号で情報表示できる
[root@tk2-105-54208 /]# lsof -i -P
sshd        909   root    3u  IPv4   80727      0t0  TCP *:12345(LISTEN)
mariadbd    930  mysql   24u  IPv4   17013      0t0  TCP *:3306 (LISTEN)
mariadbd    930  mysql   27u  IPv6   17014      0t0  TCP *:3306 (LISTEN)

その他

パーミッション
https://qiita.com/shisama/items/5f4c4fa768642aad9e06

コメント

タイトルとURLをコピーしました