ファイル・ディレクトリ操作
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