2017年10月30日システムLinux
はじめに
仕事でLinuxを使うことになり、Linuxコマンドを毎回調べるが面倒だったので
自分用にまとめた備忘録です。
ただせっかくまとめたのでブログにしちゃえってことで公開しました!
※細かい説明とかは省略してます。
もし、誤った内容がありましたらご指摘をお願いしますm(_ _)m
Linux初心者~Linuxコマンド~
キーコマンド
シェル
カーソル移動
コマンド | 内容 |
---|
Ctrl + b | 左へ移動 |
Ctrl + f | 右へ移動 |
Ctrl + a | 行頭移動 |
Ctrl + e | 行末移動 |
編集
コマンド | 内容 |
---|
Ctrl + h | カーソル位置から左の1文字を削除 |
Ctrl + d | カーソル位置から右の1文字を削除 |
Ctrl + w | カーソル位置から1単語削除 |
Ctrl + k | カーソル位置から行末まで削除 |
Ctrl + u | カーソル位置から行頭まで削除 |
コマンド履歴
コマンド | 内容 |
---|
Ctrl + p | 前のコマンド |
Ctrl + n | 次のコマンド |
その他
メタキャラクタ
メタ | 内容 |
---|
* | 0文字以上の任意の文字列 |
? | 任意の1文字列 |
[] | 指定の1文字 |
{} | カンマで抉った任意の文字列 |
$ ls /home/ユーザ名/*.txt
$ ls /home/ユーザ名/???.txt
$ ls /home/ユーザ名/[abc].txt
$ ls /home/ユーザ名/[0-9].txt
- 0から9で終わる.txtファイル一覧を表示
- []に記述する文字の並びは文字コードの昇順である必要がある
$ ls /home/ユーザ名/*[A-Za-z].txt
$ ls /home/ユーザ名/.{txt,html}
リダイレクション(標準出力/標準入力)
記号 | 内容 |
---|
> | 標準出力をファイルに設定(上書き) |
>> | 標準出力をファイルに設定(追記) |
< | 標準入力をファイルに設定 |
2> | 標準エラー出力をファイルに設定(上書き) |
2>> | 標準エラー出力をファイルに設定(追記) |
&> | 標準出力と標準入力をファイルに設定 |
コマンド
ファイル操作
ls
オプション | 内容 |
---|
-l | 詳細情報を表示 |
-a | 隠しファイルを表示 |
-F | ファイルの種類を表示(/:ディレクトリ,*:コマンド,@:シンボリックリンク) |
-h | ファイルの単位を表示(K:キロバイト,M:メガバイトなど) |
-t | タイムスタンプ順に表示 |
-r | 逆順に表示 |
-i | iノード番号を表示 |
$ ls
bin book.txt images list.txt sorce work
mkdir
$ mkdir /home/ユーザ名/hoge/
less
オプション | 内容 |
---|
-N | 行番号を表示 |
-x 4 | タブを4スペースで表示 |
-i | 大文字小文字区別なしに検索(小文字入力時) |
$ less /home/ユーザ名/hoge.txt
$ less /home/ユーザ名/hoge.txt | grep 'ほげ' | wc -l
cat
| オプション | 内容 |
|:–:|:–|
|-n|行番号付き|
* ファイル出力
$ cat /home/ユーザ名/hoge.txt
tail
$ tail /home/ユーザ名/hoge.txt
$ tail -f /home/ユーザ名/hoge.log | grep --line-buffered "ほげ"
zcat
$ zcat /home/ユーザ名/hoge.gz
cp
$ cp /home/ユーザ名/hoge.txt /home/ユーザ名/hoge2.txt
ファイル検索
find
$ find /home/ -name test.txt
$ find /home/ -name test.*
$ find /home/ -name test.???
$ find /home/ -name test.txt -ls
$ find /home/ -empty
$ find /home/ -mrtime 0
$ find /home/ -mmin 3
grep
$ grep -rn test /home/
$ grap -ri test /home/
$ grep -rE 'test|TEST' /home/
$ zgrep '/home/test.txt' *検索ワード* | wc
ファイル差分
diff
- hoge1.txtとhoge2.txtを比較し、差分結果を表示
$ diff /home/ユーザ名/hoge1.txt /home/ユーザ名/hoge2.txt
シンボリックリンク
ln
$ ln -s 元ファイル 先ファイル
unlink
$ unlink ファイル
圧縮・解凍
tar
オプション | 内容 |
---|
-c | 書庫を新規に作成する |
-f | 指定した書庫ファイルまたはデバイスを使用する。初期値は/dev/rmt0 |
-v | 処理したファイルの一覧を詳細に表示する |
-x | 書庫からファイルを取り出す |
-z | gzipを通して処理する |
$ tar zxvf ファイル名.tar.gz
$ tar zvcf ファイル名.tar.gz
同期
rsync
オプション | 内容 |
---|
-a | 元のパーミッションやグループなどを保持して同期 |
-v | 処理中の経過ファイル名を表示 |
-e | リモートシェルを指定 |
$ rsync -av /home/ /home_back/
$ rsync -av ssh /home/ ユーザ名@XXX.XX.X.X:/home/
パッケージ管理
yum
# yum clean all
# yum install パッケージ名
・PHP 5.6をインストール
# yum install --disablerepo=amzn-main --enablerepo=remi-php56 php php-fpm
# yum update パッケージ名
# yum remove パッケージ名
# yum list installed
# yum list updates
- インストールパッケージで利用不可なリポジトリーのパッケージ
# yum list extras
# yum info パッケージ名
# yum list パッケージ名
# yum check-update パッケージ名
# yum search パッケージ名
# yum history
# yum history info 実行履歴ID
# yum history undo 実行履歴ID
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -ivh remi-release-6.rpm
# less /etc/yum.repos.d/remi.repo
rpm
# rpm -ivh パッケージ名.rpm
# rpm -qa | grep パッケージ名
composer
# curl -sS https://getcomposer.org/installer | php
# composer create-project laravel/laravel プロジェクト名 --preger-dist
アカウント
useradd
オプション | 内容 |
---|
-m | ホームディレクトリの作成を自動でする |
-G | ユーザの所属グループを指定 ※複数は’,’ |
$ useradd -m ユーザ名
passwd
$ passwd ユーザ名
id
$ id ユーザ名
groups
$ groups ユーザ名
getent
$ getent group グループ名
usermod
$ usermod -G グループ名 ユーザ名
last
$ last
サービス
systemctl
# systemctl start サービス名
# systemctl stop サービス名
# systemctl enable サービス名
# systemctl disable サービス名
プロセス
ps
オプション | 内容 |
---|
-a | 自分以外のユーザのプロセスも表示 |
-e | 「実効命令 + 」に環境変数を不可 |
-f | ツリー形式で表示 |
-l | 標準のPID,TTY,TIME,CMDに加え,F,S,UID,PPID,C,PRI,NI,ADDR,SZ,VSZ,RSS,WCHAN,STATも表示する |
-x | 制御端末の無いプロセス情報も表示 |
-u | ユーザ名と開始時刻を表示 |
$ ps alx
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
100 0 1 0 0 0 1096 468 do_sel S ? 0:04 init [3]
:
140 0 563 1 0 0 2384 1224 do_sel S ? 0:00 httpd
:
:
100 500 683 681 9 0 1744 992 wait4 S pts/0 0:00 -bash
000 500 780 683 13 0 2484 832 - R pts/0 0:00 ps axl
$ ps axuf
kill
$ kill プロセスID
$ kill -STOP プロセスID
jobs
$ jobs
スケジュール
cron
$ crontab -u ユーザ名 { -l | -r | -e }
通信
wget
curl
ssh
$ ssh ホスト名
そのほか
which
$ which ls
alias ls='ls --color=auto'
/bin/ls
history
$ history
そのほか
ログファイル
- システム起動時のサービスの起動メッセージなどが記録されるファイル
# less /var/log/boot.log
- cronやatdのようなクロックデーモンのログが記録されるファイル
# less /var/log/cron
# less /var/log/maillog
# less /var/log/secure
- UUCP(Unix to Unix CoPy、2つのUNIX*システム間でデータ交換を行うための一連のプログラム群)のログが記録されるファイル
# less /var/log/spooler
- 上記以外のsyslogメッセージが記録されるログファイル
# less /var/log/messages
- インストールされているすべてのrpmパッケージ名を記録したファイル
# less /var/log/rpmpkgs
# less /var/log/yum.log
# less /var/log/letsencrypt
$ last
設定ファイル
# less /etc/yum.repos.d/remi.repo
権限(パーミッション)
d rwx rwx r-x
_ ___ ___ ___
| | | |
| | | └その他
| | └所有者グループ
| └所有者
└ファイル種別
参考サイト
UTの日常当ブログの管理者UT(プロフィール)です。
無理せず投稿をモットーに頑張っています。なので、更新頻度は低いです。
ディスカッション
コメント一覧
まだ、コメントがありません