コピペ出来るようによく使う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 GID GIDを変更する -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
コメント