よく使うLinuxコマンド・サンプル

ファイル・ディレクトリ操作

cd / pwd – カレントディレクトリー変更・カレントディレクトリ表示

#現在のディレクトリ表示
[root@localhost ~]# pwd
/root

#ディレクトリ移動
[root@localhost ~]# cd /home/admin/ドキュメント
[root@localhost ドキュメント]#

chmod – ファイル・ディレクトリのパーミッションの変更
[r(読み込み)=4, w(書き込み)=2, x(実行)=1] …すべての場合は4+2+1=7

[root@localhost ドキュメント]# chmod 777 test1.txt

[root@localhost ドキュメント]# ls -l
合計 0
-rwxrwxrwx 1 root root 0 11月  6 22:43 test1.txt

#a:すべて、u:ユーザー、g:グループ、o:その他
[root@localhost ドキュメント]# chmod a+rwx test1.txt

[root@localhost ドキュメント]# ls -l
合計 0
-rwxrwxrwx 1 root root 0 11月  6 22:43 test1.txt

cp – ファイルをコピー

[root@localhost ドキュメント]# cp test1.txt test2.txt

[root@localhost ドキュメント]# ls -l
合計 0
-rwxrwxrwx 1 root root 0 11月  6 22:43 test1.txt
-rwxr-xr-x 1 root root 0 11月  6 22:56 test2.txt

file – ファイル形式を確認

[root@localhost ドキュメント]# file test1.txt 
test1.txt: ASCII text

find – ファイル検索

[root@localhost ドキュメント]# find / -name "*test2*"
/home/admin/ドキュメント/test2.txt

[root@localhost ドキュメント]# find /home -name "*test*"
/home/admin/ドキュメント/test1.txt
/home/admin/ドキュメント/test2.txt

#iname:文字の大小を区別しない
[root@localhost ドキュメント]# find /home -iname "*test*"
/home/admin/ドキュメント/test1.txt
/home/admin/ドキュメント/test2.txt
/home/admin/ドキュメント/Test3.txt

ln – ファイルのハードリンク・シンボリックリンク作成

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test2.txt

#シンボリックリンク作成
[root@localhost ドキュメント]# ln -s test2.txt latest

[root@localhost ドキュメント]# ls -l
合計 0
lrwxrwxrwx 1 root root 9 12月  3 17:13 latest -> test2.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test2.txt

ls – ファイル一覧表示

[root@localhost ドキュメント]# ls -la
合計 4
drwxr-xr-x.  2 admin admin   40 12月  3 17:16 .
drwx------. 15 admin admin 4096  5月 26  2022 ..
-rw-r--r--   1 root  root     0 12月  3 17:12 test1.txt
-rw-r--r--   1 root  root     0 12月  3 17:12 test2.txt

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test2.txt

mkdir/ rmdir – ディレクトリ作成/削除

#ディレクトリ作成
[root@localhost ドキュメント]# mkdir folder1

[root@localhost ドキュメント]# ls -l
合計 0
drwxr-xr-x 2 root root 6 12月  3 17:22 folder1
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test2.txt

#ディレクトリ削除
[root@localhost ドキュメント]# rmdir folder1

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test2.txt

mv – ファイル・ディレクトリ移動と名前変更

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test2.txt

#ファイルの名前変更
[root@localhost ドキュメント]# mv test2.txt test3.txt

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test3.txt

rm – ファイル削除

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt
-rw-r--r-- 1 root root 0 12月  3 17:12 test3.txt

#ファイル削除
[root@localhost ドキュメント]# rm test3.txt 
rm: 通常の空ファイル 'test3.txt' を削除しますか? y

[root@localhost ドキュメント]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  3 17:12 test1.txt

#強制的にフォルダー削除
[root@localhost ドキュメント]# rm -Rf folder1

stat – ファイル属性や日付表示

[root@localhost ドキュメント]# stat test1.txt 
  File: test1.txt
  Size: 15        	Blocks: 8          IO Block: 4096   通常ファイル
Device: fd00h/64768d	Inode: 51815658    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-12-03 17:27:23.553126855 +0900
Modify: 2022-12-03 17:27:23.553126855 +0900
Change: 2022-12-03 17:27:23.554126855 +0900
 Birth: 2022-12-03 17:27:23.553126855 +0900

[root@localhost ドキュメント]# stat -f .
  File: "."
    ID: fd0000000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 4452864    Free: 2808695    Available: 2808695
Inodes: Total: 8910848    Free: 8770795

tar – アーカイブファイル作成・展開

[root@localhost ドキュメント]# ls -l
合計 0
drwxr-xr-x 2 root root 40 12月  4 20:03 folder1

#フォルダー圧縮
[root@localhost ドキュメント]# tar -zcvf folder1.tar.gz folder1
folder1/
folder1/test1.txt
folder1/test2.txt

[root@localhost ドキュメント]# ls -l
合計 4
drwxr-xr-x 2 root root  40 12月  4 20:03 folder1
-rw-r--r-- 1 root root 196 12月  4 20:06 folder1.tar.gz

#フォルダー展開
[root@localhost ドキュメント]# tar -zxvf folder1.tar.gz
folder1/
folder1/test1.txt
folder1/test2.txt

touch – 新規ファイル作成・タイムスタンプ変更

#新規ファイル作成
[root@localhost test]# touch test1.txt
[root@localhost test]# ls -l
合計 0
-rw-r--r-- 1 root root 0 12月  4 20:17 test1.txt

#タイムスタンプ変更
[root@localhost test]# touch -d "2022-11-11 15:00" test1.txt
[root@localhost test]# ls -l
合計 0
-rw-r--r-- 1 root root 0 11月 11 15:00 test1.txt

テキスト操作

cat – ファイルの内容表示

[root@localhost test]# cat test1.txt 
This is a pen.

diff – 差分出力

#差分出力 d=削除、a=追加
[root@localhost test]# diff test1.txt test2.txt 
1d0
< This is a pen.
2a2,3
> This is a ball.
> This is a car.

[root@localhost test]# diff -c test1.txt test2.txt 
*** test1.txt	2022-12-04 20:31:12.761722481 +0900
--- test2.txt	2022-12-04 20:34:53.591699706 +0900
***************
*** 1,2 ****
- This is a pen.
  This is a pencil.
--- 1,3 ----
  This is a pencil.
+ This is a ball.
+ This is a car.

[root@localhost test]# diff -q test1.txt test2.txt 
ファイル test1.txt と test2.txt は異なります

grep – 文字列抽出

[root@localhost test]# grep pen . -r -n
./test1.txt:1:This is a pen.
./test1.txt:2:This is a pencil.
./test2.txt:1:This is a pencil.

[root@localhost test]# grep pen /home/admin/ドキュメント/test -r -n
/home/admin/ドキュメント/test/test1.txt:1:This is a pen.
/home/admin/ドキュメント/test/test1.txt:2:This is a pencil.
/home/admin/ドキュメント/test/test2.txt:1:This is a pencil.

head / tail – 先頭・末尾の表示

[root@localhost log]# head /var/log/messages

[root@localhost log]# tail /var/log/messages

less – メッセージ・ファイルを一画面ずつ表示

[root@localhost log]# less /var/log/messages

more – メッセージ・ファイルを一画面ずつ表示
次の画面へ進みたいときは[スペース]キー、1行ずつ画面を進めたいときは[Enter]キー

[root@localhost log]# more /var/log/messages

sort – ファイルを行単位で並び替え

[root@localhost test]# cat test3.txt 
1
30
100
90
70

#-n 数字順でソート
[root@localhost test]# sort test3.txt -n
1
30
70
90
100

uniq – 重複行の削除

[root@localhost test]# cat test3.txt 
1
30
100
90
70
30
90
This is a pen.
This is a ball.
This is a pen.

[root@localhost test]# sort test3.txt | uniq --count
      1 1
      1 100
      2 30
      1 70
      2 90
      1 This is a ball.
      2 This is a pen.

wc – テキストファイルの文字数カウント

[root@localhost test]# wc test1.txt
 2  8 33 test1.txt

シェル関連

alias / unalias – コマンドのエイリアス(別名)登録・削除登録・削除

#aliasの設定
[root@localhost test]# alias ll='ls -al'

#aliasの実行
[root@localhost test]# ll
合計 12
drwxr-xr-x  2 root  root  57 12月  6 22:19 .
drwxr-xr-x. 3 admin admin 40 12月  4 20:17 ..
-rw-r--r--  1 root  root  33 12月  4 20:31 test1.txt
-rw-r--r--  1 root  root  49 12月  4 20:34 test2.txt
-rw-r--r--  1 root  root  67 12月  6 22:19 test3.txt

#alias一覧表示
[root@localhost test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -al'
(以下省略)

#aliasの削除
[root@localhost test]# unalias ll

printenv – 設定されている環境変数を表示

[root@localhost test]# printenv
LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
XDG_MENU_PREFIX=gnome-
LANG=ja_JP.UTF-8
GDM_LANG=ja_JP.UTF-8
HISTCONTROL=ignoredups
DISPLAY=:0
HOSTNAME=localhost.localdomain
COLORTERM=truecolor
USERNAME=root
XDG_VTNR=2
SSH_AUTH_SOCK=/run/user/0/keyring/ssh
which_declare=declare -f
XDG_SESSION_ID=2
USER=root
DESKTOP_SESSION=gnome
WAYLAND_DISPLAY=wayland-0
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/b244f63f_e1f2_4c43_ad24_fca5d244a08c
PWD=/home/admin/ドキュメント/test
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HOME=/root
XDG_SESSION_TYPE=wayland
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
XDG_SESSION_DESKTOP=gnome
GJS_DEBUG_OUTPUT=stderr
MAIL=/var/spool/mail/root
VTE_VERSION=5204
SHELL=/bin/bash
TERM=xterm-256color
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
XDG_CURRENT_DESKTOP=GNOME
GNOME_TERMINAL_SERVICE=:1.69
SHLVL=2
XDG_SEAT=seat0
GDMSESSION=gnome
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=root
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
XDG_RUNTIME_DIR=/run/user/0
XAUTHORITY=/run/user/0/.mutter-Xwaylandauth.YI38V1
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin
DEBUGINFOD_URLS=https://debuginfod.centos.org/ 
HISTSIZE=1000
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/6137,unix/unix:/tmp/.ICE-unix/6137
LESSOPEN=||/usr/bin/lesspipe.sh %s
BASH_FUNC_which%%=() {  ( alias;
 eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
_=/usr/bin/printenv

echo – メッセージや環境変数の表示

[root@localhost test]# echo $LANG
ja_JP.UTF-8
[root@localhost test]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin
[root@localhost test]# echo -e "This is a \n pen."
This is a 
 pen.

export – 環境変数やシェル変数を設定

#環境変数を登録
[root@localhost ~]# export JAPAN="Japanese Language"

#環境変数を表示
[root@localhost ~]# printenv | grep JAPAN
JAPAN=Japanese Language

#環境変数を削除
[root@localhost ~]# export -n JAPAN

#環境変数を表示
[root@localhost ~]# printenv | grep JAPAN

history – コマンドの入力履歴表示

#履歴を表示
[root@localhost ドキュメント]# history
    1  yum -y update
    2  reboot
    3  passwd

#履歴を3件表示
[root@localhost ドキュメント]# history 3
  954  ls
  955  pwd
  956  history 3

[root@localhost ドキュメント]# history -w history.txt
[root@localhost ドキュメント]# ls
history.txt  test1.txt  test2.xt

set – シェル設定確認・変更

[root@localhost ~]# set
BASH=/usr/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
BASHRCSOURCED=Y
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_VERSINFO=([0]="2" [1]="7")
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="4" [2]="20" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")
BASH_VERSION='4.4.20(1)-release'
COLORTERM=truecolor
COLUMNS=87
CONF_FILE=/etc/vdoconf.yml
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
DEBUGINFOD_URLS='https://debuginfod.centos.org/ '
DESKTOP_SESSION=gnome
DIRSTACK=()
DISPLAY=:0
EUID=0
GDMSESSION=gnome
GDM_LANG=ja_JP.UTF-8
GJS_DEBUG_OUTPUT=stderr
GJS_DEBUG_TOPICS='JS ERROR;JS LOG'
GLUSTER_BARRIER_OPTIONS=$'\n        {enable},\n        {disable}\n'
(以下省略)

shopt – bashシェルオプションの表示・設定

[root@localhost ~]# shopt
autocd         	off
cdable_vars    	off
cdspell        	off
checkhash      	off
checkjobs      	off
checkwinsize   	on
cmdhist        	on
compat31       	off
compat32       	off
compat40       	off
(以下省略)

which – コマンドのパス確認

[root@localhost ドキュメント]# which openssl
/usr/bin/openssl
タイトルとURLをコピーしました