디렉토리 이동 관련 명령어
[ 참고 ] 파일시스템 기본 구조
# man 7 hier
pwd CMD
[ 참고 ] PS1 변수 ($HOME/.bashrc)
# export PS1='[\u@\h \w]\$ ` // W ->w (워킹디렉토리)
cd CMD
경로(Part)
* 상대경로(Relative Path) # cd dir1 // 현재기준 시작 위아래
* 절대경로(Absolute Path) # cd /dir1 // 최상위 기준으로 시작
[ 참고 ] 자신의 홈디렉토리 이동
# cd
# cd ~
# cd $HOME
[ 참고 ] 지정된 사용자 홈디렉토리 이동
# cd ~fedora
[ 실무예 ] 이전 디렉토리로 이동하기
# cd -
[ 실무예 ] 옆에 있는 디렉토리로 이동하기
# cd ../dir2
디렉토리 관리 명령어
ls CMD(확인)
# ls -l dir1 (long ~ 길게 설명)
# ls -ld dir1
OPTIONS : -l(길게) , -d(디렉토리 속성), -R (체계적인), -a(all .까지), -i (inode번호), -h(인간적으로 2000k -> 2M), -t(시간별로), -r(꺼꾸로)
[ 참고 ] alias
(선언) # alias ls='ls -l | grep "^-"'
(확인) # alias
(해제) # unalias ls
[ 실무예 ] 실무에서 많이 사용되는 ls CMD
# cd /Log_dir
# ls -altr (가장밑에 있는게 가장 최근)
mkdir CMD(생성)
# mkdir -p dir1/dir2 (한번에 생성) // p = parents 아빠 없으면 생성 있으면 그냥흘러감
rmdir CMD(삭제)
# rm -rf dir1 << 요거를 기억하자
파일 관리 명령어
touch CMD
# touch -t 08301300 file1
cp CMD
# cp file1 file2
# cp file1 dir1
# cp -r dir1 dir2 ( dir2가 있는경우 없는경우)
OPTIONS: -r (디렉토리 복사할때), -i(인간적으로 물어봄) ,-f(강제), -p(퍼미션 복사)
[ 실무예 ] 설정 파일을 백업하는 경우
# cp -p httpd.conf httpd.conf.orig // 백업 -p 옵션 중요
# cp -a /stc /stc.orig // ex. 폴더 (소스코드가 들어가있는경우) // a 옵션안에 p옵션이 들어가있음
[ 실무예 ] 로그 파일 비우기
# cp / dev/null file.log
# cat / dev/null > file.log
# > file.log //요거 기억
mv CMD
# mv file1 file2
# mv file1 dir1
# mv dir1 dir2 (dir2 가 있거나 없거나)
OPTIONS: -i(인터렉티브), -f(force)
[ 참고 ] 와일드 캐릭터(Wild Character)
* ? {} []
rm CMD
# rm -rf dir1
[ 실무예 ] rm 명령어로 지운 파일 복원하기
( TUI ) extundelete CMD
( GUI ) TestDisk 툴
파일 내용 확인 명령어
cat CMD
# cat -n file1 // number
# cat file1 file2 > file3
more CMD
# CMD | more
# ps -ef | more
# cat /etc/services | more
# netstat -an | more
# systemctl list-unit-files // 요즘것들은 내장됨
| (파이프 명령어)
앞에 명령어 출력 결과를 뒤에 명령어 입력으로 인식
gedit ~/.bashrc // alias 생성
. ~/.bashrc // 적용
head CMD
# alias pps='ps -ef | head -1 ; ps -ef | grep $1 '
# alias nstate='netstate -antup | head -2 ; netstate -antup | grep $1'
tail CMD
# top
# tail -f /var/log/messages
# tail -f /var/log/messages | egrep -i '(warn|fail|error|crit|alert|emerg)'
# tail -f /var/log/messages /var/log/secure
[ 참고 ] telnet 서비스 기동하기
# yum install telnet telnet-server //설치
# systemctl start telnet.socket (# systemctl enable --now telnet.socket) // 현재시작
# systemctl enable telnet.socket // 부팅시에도 적용
# systemctl enable --now telnet.socket // 현재 + 부팅
기타 관리용 명령어
wc CMD
[ 참고 ] 데이터 수집(Data Gathering)
# ps -ef | tail -n +2 | wc -l
# cat /etc/passwd | wc -l
# rpm -qa | wc -l
# df -k / | tail -l | awk '{print %5}'
# cat /var/log/messages | grep 'Jan 19' | grep 'Started Telnet Server' | wc -l
su CMD
# su oracle // 현재상태 그대로 넘어가기
# su - oracle // oracle에서 처음 로그인한것처럼 넘어가기
sudo CMD(/etc/sudoers, /etc/sudoers.d/*)
# sudo CMD
# sudo -l (목록확인)
# sudo -i (관리자로 스위칭)
id CMD //명령어정도만
groups CMD // 명령어정도만
last CMD(/var/log/wtmp) 내용을 출력하는것 (ex 로그인 로그아웃)
# last -i
# last -f /var/log/wtmp.20230128
lastlog(/var/log/lastlog)
# 사용자가 서버에 마지막 로그인한 시간
lastb CMD(/var/log/btmp)
# 서버에 접근할때 실패한 기록들 , 사용자의 로그인 실패 기록
who CMD(/var/run/utmp)
# 내 서버에 누가 들어와있나
w CMD // 모니터링 느낌
[ 참고 ] 모니터링 구문
while true
do
echo "-----`date`-----"
CMD
sleep 2
done
[ 참고 ] watch CMD // 모니터링 느낌
exit CMD