Linux_파일 및 디렉토리 관리

lil·2023년 2월 11일
0

LinuxEssential

목록 보기
3/13

디렉토리 이동 관련 명령어

[ 참고 ] 파일시스템 기본 구조
# 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

0개의 댓글