# cd dirA
# cd ~
# pwd
# cd ~kosa #일반 사용자 kosa 홈
[root@localhost kosa]#
# cd ~root
# pwd
-
: 직전 디렉토리로 이동# cd dirB
# ls ~+ #현재 디렉토리 list
# ls ~- #직전 디렉토리(/root) list
# cd /usr/bin
# cd -
# cd -
*
: 와일드카드# ls fi*
file file1 fileB fileF
# ls *B
fileB
?
: 대체# ls f???B
fileB
# ls dir?
dirA:
fileX fileY fileZ
dirB:
fileX fileY fileZ
dirC:
dirCC fileAA fileD fileX fileY fileZ touch_file
dirY:
dirZ
[AC] : A와 C
[A-C] : A부터 C
# ls file[AB]
fileB
# ls dir[AC]
dirA:
fileX fileY fileZ
dirC:
dirCC fileAA fileD fileX fileY fileZ touch_file
# ls dir[A-C]
dirA:
fileX fileY fileZ
dirB:
fileX fileY fileZ
dirC:
dirCC fileAA fileD fileX fileY fileZ touch_file
[root@localhost ~]#
변수선언
''
/ " "
# echo $USER
root
# echo '$USER'
$USER
# echo "$USER"
root
# echo "\$USER"
$USER
: 실행# echo date
date
# echo `date`
Thu Apr 7 15:40:06 KST 2022
# echo "The current time is `date`"
The current time is Thu Apr 7 15:40:25 KST 2022
표준 입력 재지정
stdin; 0
키보드
# cat 0< /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
표준 출력 재지정
ps
: 실행중인 프로세스의 목록 출력# ps 1> process_list
# cat process_list
PID TTY TIME CMD
2289 pts/0 00:00:00 bash
2316 pts/0 00:00:00 ps
# echo "---My Proccess List---" > process_list
# ps >> process_list
# cat process_list
---My Proccess List---
PID TTY TIME CMD
2289 pts/0 00:00:00 bash
2336 pts/0 00:00:00 ps
표준 에러 재지정
# su - kosa
$ echo "TEST" > /tmp/test.txt
$ find /tmp -type f -exec grep TEST {} \; -print
2> /dev/null
: null에 에러 버리고 나머지 출력$ find /tmp -type f -exec grep TEST {} \; -print 2> /dev/null
TEST
/tmp/test.txt
1> test 2>&1
: test에 에러 입력$ find /tmp -type f -exec grep TEST {} \; -print 1> test 2>&1
$ more test
|
:앞 명령어의 출력(stdout)을 다음 명령어의 입력(stdin)으로 연결ps -ef
: 실행중인 모든 프로세스의 정보를 출력# ls -l /etc | wc -l #라인 수
# ps -ef | more
# ps -ef | grep bash
# cat /etc/ssh/sshd_config | grep -n "22"
# grep -n "22" /etc/ssh/sshd_config
# history
# history > history.txt
# history 5
# history | head -3
# history | tail -3
# ls
# !! # 마지막 명령 다시 수행
# !10 # 10번째 명령 다시 수행
# MyName="Minha"
# echo $MyName
Minha Seo
# exit
# echo $MyName #MyName 변수 삭제됨
# vi /etc/profile
MyName="Minha"
# exit
# source /etc/profile #/etc/profile 실행
# echo $MyName
$ vi .bash_profile
MyName=Minha
$ source .bash_profile #bash_profile 실행
$ echo $MyName
Minha
$ vi .bashrc
MyName=Minha
$ source .bashrc
$ echo $MyName
Minha
# ps
# ps -f
# ps -ef
# ps -ef | more
# ps -ef | grep bash
# pstree
$ pgrep -x bash #ID
$ pgrep -n sh
$ pgrep -u 1000
$ pgrep -l bash #이름 + ID
$ pgrep -lt pts/1 #터미널 접속 정보
# sleep 1000 &
[1] 3548 #sleep 프로세스 ID
# pgrep -l sleep
3548 sleep #sleep 프로세스 ID
# kill 3548 #ID로 kill
[1]+ Terminated sleep 1000
# pgrep -l sleep #kill됨
# sleep 2000 &
3553 sleep
# pgrep -l sleep
3553 sleep
# pkill sleep #이름으로 kill
[1]+ Terminated sleep 2000
# pgrep -l sleep #kill됨
&
: background 실행fg %1
: foreground 실행# sleep 60 &
[1] 3584
# jobs
[1]+ Running sleep 60 &
# fg %1
sleep 60
bg %1
: background 실행# sleep 60
^Z
[1]+ Stopped sleep 60
# bg %1
[1]+ sleep 60 &
# jobs
[1]+ Running sleep 60