- 루트 디렉터리에서 시작하여 목적지 디렉터리로 향하는 경로
- 현재 디렉터리가 어디인지 관계없이 해당 파일(디렉터리)를 지정하는 경로는 동일하다.
- 루트 디렉터리 지정 방법
/
- 따라서 루트 디렉터리 아래에 있는 usr에 가고 싶다면 다음과 같이 표시한다.
/usr
- 만약 hyun으로 가고 싶다면 다음과 같이 표시한다.
/yang/seung/hyun
- 현재 자신의 위치, 즉 현재 디렉터리에서 목적지를 향하는 경로를 나타낸다.
- 현재 디렉터리가 다르면 목적 디렉터리가 같아도 경로는 달라진다
- 예를 들어 /yang/seung/hyun일때 usr 디렉터리와 win 파일을 상대 경로로 지정하면 다음과 같다
./../../../usr ./win
- 맨 앞에 .(닷)은 현재 디렉터리를 의미하고, ..은 1단계 위에 있는 디렉터리(부모 디렉터리)를 의미한다.(./은 생략이 가능하다.)
- 리눅스의 파일 시스템은 트리 형태를 갖는다.
- 최상단 : /(루트 파일 시스템)
- root, etc, home, var, usr, boot
root -> root 사용자(super user) 홈 디렉토리 home -> 일반 사용자들의 홈 디렉토리가 있는 공간 etc -> 구성파일들이 존재하는 디렉토리 var -> 시스템 내에서 실시간으로 만들어지는 log와 같은 파일들이 담긴다. usr -> 주로 실행파일들이 존재한다. boot -> 부팅을 위한 커널이 존재하는 공간
PC나 서버는 도메인 이름을 입력했을 경우 1. 캐시 검색, 2. /etc/hosts 파일 검색, 3.DNS 서버에게 Query한다.
[root@yang ~]# root : 현재 사용자 yang : 서버의 이름
- ~ : 현재 위치가 root의 홈 디렉토리이다.(/root)
[root@yang ~]# hostnamectl set-hostname websrv [root@yang ~]# cat /etc/hostname websrv [root@yang ~]# su <-- root로 재 로그인 [root@websrv ~]#
- DC에서는 /etc/hostname에 DC 내의 서버들의 이름과 IP를 등록해 둔다.
- 하지만 서버가 너무 많다면 DC내에 사설 DNS를 구축하여 사용할 수 있다.
ls
- ls는 디렉터리 안에 있는 파일이나 디렉터리를 알아보기 위해 사용하는 명령어이다.
ls -F
- 파일, 실행파일, 디렉터리를 구분하기 위해 사용
/ 디렉터리 @ 심볼릭 파일 * 실행 가능 파일
ls -a
- 일반 파일(디렉터리) 외에 닷 파일 표시
ls -l
- 최종 갱신일 및 파일 소유자, 권한 표시
mkdir
- 디렉터리 생성
mkdir -p
- 지정한 디렉터리 경로가 존재하지 않으면 중간에 있는 디렉터리와 새로운 디렉터리를 함께 생성한다.
$ mkdir -p yang1/yang2 -> yang1과 yang2는 없는 디렉토리이므로 둘다 생성
cat
- 텍스트 파일의 내용을 표시한다.
cat -n
- 표시할 파일의 내용에 줄 번호를 추가한다.
cat yang1 > yang2
- yang1의 파일 내용을 yang2 파일에 저장합니다. (yang2은 없어도 자동으로 생성되며 파일 내용도 함께 저장된다.)
cp
- 파일을 복사할때 사용
cp -i
- 같은 이름의 파일이 있으면 덮어쓰기 여부를 확인한다. (보통 vi ~/.bashrc에 alias 별칭으로 저장해 사용한다.)
cp -r
- 디렉터리 통채로 복사한다.
cp yang1 yang2
- yang1의 파일을 yang2로 복사하면서 이름을 yang2로 변경한다. (yang2은 없어도 자동으로 생성되며 파일 내용도 함께 저장된다.)
mv
- 파일을 이동할때 사용
mv -i
- 같은 이름의 파일이 있으면 덮어쓰기 여부를 확인한다. (보통 vi ~/.bashrc에 alias 별칭으로 저장해 사용한다.)
mv yang1 yang2
- yang1의 이름을 yang2로 이동하면서 이름을 yang2로 변경한다. (yang2은 없어도 자동으로 생성되며 파일 내용도 함께 저장된다.)
rm
- 파일을 삭제한다.
rm -i
- 삭제 여부를 사용자에게 확인한다. (보통 vi ~/.bashrc에 alias 별칭으로 저장해 사용한다.)
rm -r
- 비어있지 않은 디렉토리 삭제
rm -f
- 파일 삭제(force, 물어보지말고 그냥 삭제)
rm yang1 yang2 yang3
- yang1, yang2, yang3 파일을 한번에 삭제한다.
yum -y install tree
touch
- 파일의 최종 갱신일을 현재 시각으로 변경한다. 파일이 존재하지 않으면 빈 파일을 새롭게 생성한다.
touch -t
- touch -t 202208031530 yang 형식으로 작성한다면 해당 파일의 최종 갱신일을 2022년 8월 3일 15시 30분으로 변경한다.
pwd
- 현재 디렉터리를 표시한다.
cd yang
- yang 디렉터리로 이동한다.
cd
- 홈 디렉터리로 이동한다.
rmdir
- 비어 있는 dir 디렉터리를 삭제한다.
rm -rf
- 해당 디렉터리를 통째로 삭제한다. (-r 지정한 디렉터리를 통째로 삭제, -f 사용자 확인 없이 모두 삭제)
clear
- 터미널 상 출력 내용을 지운다.
head yang
- yang 파일의 앞부분 10줄을 표시한다.
head -3 yang
- yang 파일의 앞부분 3줄을 표시한다.
tail yang
- yang 파일의 끝부분 10줄을 표시한다.
tail -3 yang
- yang 파일의 끝부분 3줄을 표시한다.
uniq yang
- 텍스트 파일 yang 각 줄의 전후로 비교하여 중복을 제거해서 표시한다.
uniq -u
- 중복되지 않은 줄만 출력한다.
uniq -d
- 중복되는 줄만 출력한다.
grep hello yang
- hello로 지정한 문자열이 yang으로 지정한 파일에 있는지 검색해서 해당하는 문자열을 포함한 줄을 검색한다.
grep ^hello yang
- yang파일에 hello로 시작하는 줄이 있는지 검색하여 표시한다.
grep -n hello yang
- yang파일에 hello라는 문자열을 포함하는 줄과 줄 번호를 표시한다.
ls | grep a
- 현재 디렉터리에서 a 라는 이름의 디렉토리나 파일이 있다면 화면에 보여달라.
chmod -R
- 서브 디렉터리 이하도 한꺼번에 변경된다.
chmod u+x yang
- yang 파일의 권한을 소유자가 쓰기 가능하도록 변경한다. (연산자를 사용한 방식)
chmod 777 yang
- yang 파일의 권한을 소유자가 읽고, 쓰고, 실행 가능하도록 변경한다. (8진수를 사용한 방식)
권한 설정
[연산자 사용 방식]
- 대상 : 소유자(u), 소속 그룹(g), 기타(o), 모두(a) - 설정 방법 : 추가(+), 삭제(-), 새로 설정(=) - 허가 조건 : 읽기(r), 쓰기(w), 실행(x)
[8진수 사용 방식]
- 소유자(0~7) + 소속 그룹(0~7) + 기타(0~7)
gzip yang
- yang파일을 gzip형식으로 압축한다.
ungizp yang.gz
- gzip형식의 yang.gz파일을 압축 해제한다.
ps
- 현재 실행중인 프로세스 상태를 표시한다.
PID TTY TIME CMD 2704 pts/0 00:00:02 bash 18124 pts/0 00:00:00 ps
- PID는 프로세스 ID, TTY는 프로세스가 실행된 터미널, TIME은 CPU 시간, CMD는 실행한 명령어 이다.
ps 1000
- 프로세스 ID가 1000인 프로세스 상태를 표시한다.
kill 100
- 프로세스 ID가 100인 프로세스를 종료한다.
kill %1
- 작업 번호 1인 프로세슷를 종료한다.
sleep 3
- 3초간 정지후 다시 동작한다.
sleep 1m 30s
- 1분 30초간 정지후 다시 동작한다.(d일h시m분s초)
date
- 현재 시각을 표시한다.
date 080316002022
- 현재 시각을 8월 3일 06시 00분 2022년으로 설정한다.
cal
- 오늘 날짜의 달력을 표시한다
cal 4 2022
- 22년 4월 달력을 표시한다
whoiam
- 자신의 사용자 명을 표시한다.
groups
- 자신이 소속된 그룹명을 표시한다.
- groups user - user 사용자가 소속된 그룹명을 표시한다.
id
- 자신의 사용자 정보를 상세히 표시한다.
- id user - user의 사용자 정보를 상세히 표시한다.
w
- w 명령어를 실행하면 다음과 같은 사용자 정보를 보여준다.
passwd
- 자신의 암호를 변경해준다.
passwd yang
- 일반 사용자의 비밀번호를 잊어 버렸다면 슈퍼 사용자 root로 비밀번호를 변경 할 수 있다.
df
- 애플리케이션 설치나 큰 파일을 작성할 때 여유 공간이 충분한지 확인하기 위한 명령어 이다.
df -h
- 사람이 읽기 쉬운단위로 표시한다.
uname
- 시스템 명을 표시한다.
uname -a
- 모든 시스템 정보를 표시한다.
Linux -> 시스템 명 kvm1 -> 호스트 명 5.18.15-1.el7.elrepo.x86_64 -> Os 릴리스 번호 #1 SMP PREEMPT_DYNAMIC Thu Jul 28 09:26:15 EDT 2022 -> 커널 컴파일 정보 x86_64 -> 머신 타입 x86_64 -> 프로세서 타입 x86_64 -> 파드웨어 플랫폼 GNU/Linux -> Os
다음 내용은 추후에 다시 정리 하겠습니다. 215