리눅스를 공부하자(RHCSA 대비)
1. 가상머신에 CENTOS 7 설치
끝
맨위의 /은 루트디렉터리이다. 루트의 개념은 이따 알아보자
그 아래에 여라가지 home, tmp, lib가 있고 home 아래에 jane will zeb이 있고 will 아래에 work play가 있다.
이처럼 리눅스는 최상위 디렉터리 아래에서부터 기본 디렉터리로 내려오고 그 아래에 계속해서 생성할 수 있다.
이처럼 트리구조로 이루어진 리눅스에서 경로라는개념이 존재하고 절대경로와 상대경로라는 개념이 존재한다
절대 경로는 처음 루트 디렉터리를 시작하여 해당 경로까지의 절대적인 위치를 알려주는것이다
예를들어 play라는 절대 경로를 보자
루트디렉터리 /을타고 그아래 home 그아래 will을 타고 도착한다.
그러면 절대 경로는 ?
/home/will/play가 되는것이다
그럼 usr 밑에 bin은 어떻게 표시가 되는걸까 ?
/usr/bin이 되는것이다
이와 다른개념으로 상대 경로가 있다.
상대경로
(참고로 리눅스에서 이전 디렉터리로 가려면 ..을 입력하면 이전디렉터리로 이동한다)
내 위치는 현재 home 밑에 will 이라고 가정하자
여기서 절대경로로 play에 가려면
/home/will/play를 입력해야 했다.
하지만 상대경로의 개념은 현재 내위치를 기반으로 디렉터리를 이동하기 때문에
바로 cd play를 하면 play로 갈수있다.
그럼 will 에서 usr 밑에 빈으로 가보자 그럼
cd ../../usr/lib이다
..으로 일단 home으로가고 그 다음 ..으로 /간다음 home lib순으로 가는것이다.
3. root 계정
root계정의 개념은 뭘까 ?
root는 리눅스의 최고 권력자이다.
무엇이든 할 수있다.
예를들어 비밀번호 규칙을 10자리이상 특수문자1개이상 대문자 1개이상을 설정해도 루트는 이것을 무시하고 계정을 생성할 수 있다. 또한 프로세스를 마음대로 끄고 키고 할 수있으며, 시스템에 대한 모든 조작을 할 수 있다.
root 계정을 사용하면 편하지만 root 계정이 도난 당한다면 시스템은 매우 위험해진다.
그래서 리눅스에서 root 계정을 쓰는것을 비추천한다.
4. 디렉터리와 파일
디렉터리 = 폴더
파일 = 파일
5. 리눅스 명령어 정리 ~
pwd
print working directory의 준말로 현재 작업중인 디렉터리를 출력하는것을 의미한다.
루트의 홈디렉터리에서는 /root를 표시
이런식으로 표시 !
CD
change directory의 준말로 디렉터리 이동할때 쓰는 명령어 이다.
보통 cd <디렉터리명> 으로 쓴다.
루트 디렉터리로 이동
해당 사용자의 홈 디렉터리로 이동
임의의 디렉터리로 이동
상위 디렉터리로 이동
ls
list의 약자이다.
디렉터리의 내용을 보여준다
ls <디렉터리명>을 주로 쓴다
<디렉터리명>이 없을시 현재 디렉터리의 내용을 표시한다.
현재 디렉터리 내용 표시
자세히 표시
숨김 파일까지 자세히 표시
이외에도 ls -il로 inode 번호도 볼 수 있다.
cal, date, uptime
cal은 calender의 약자로 달력을 뜻한다.
현재 날짜 표시
임의 날짜 선택
date 날짜 확인
uptime 현재 리눅스가 얼마나 가동됬는지 나타내어준다 .
uptime 명령어는 현재시간, 시스템 실행시간, 로그인된 사용자 수, 그리고 부하율을 표시한다
위의 실행결과를 보면 09:45:39 이 현재시간을 나타내며, 31 min 이 시스템의 실행시간을 나타낸다.
2 users 는 두명의 사용자가 시스템에 로그인된 상태임을 나타내며,
load average 이하가 각각 1분, 5분, 15분간의 시스템 부하율을 나타낸다.
free
메모리 사용량과 여유량 그리고 캐싱으로 사용되는 메모리가 얼마나 있는지 파악할 수 있다.
- [total] : 설치된 총 메모리 크기 / 설정된 스왑 총 크기
- [used] : total에서 free, buff/cache를 뺀 사용중인 메모리. / 사용중인 스왑 크기
- [free] : total에서 used와 buff/cahce를 뺀 실제 사용 가능한 여유 있는 메모리량 / 사용되지 않은 스왑 크기
- [shared] : tmpfs(메모리 파일 시스템), ramfs 등으로 사용되는 메모리. 여러 프로세스에서 사용할 수 있는 공유 메모리
- [buffers] : 커널 버퍼로 사용중인 메모리
- [cache] : 페이지 캐시와 slab으로 사용중인 메모리
- [buff/cache] : 버퍼와 캐시를 더한 사용중인 메모리
- [available] : swapping 없이 새로운 프로세스에서 할당 가능한 메모리의 예상 크기. (예전의 -/+ buffers/cache이 사라지고 새로 생긴 컬럼)
깊게 알필욘 없다. 대충 파악하자
df
df 명령을 사용하면 리눅스 시스템 전체의 (마운트 된) 디스크 사용량을 확인할 수 있다.
파일시스템, 디스크 크기, 사용량, 여유공간, 사용률, 마운트지점 순으로 나타난다.
USB메모리나 SD카드의 저장공간도 여기서 확인이 가능하다
-h 옵션은 단위표현을 보기 쉽게 바꾸어 준다.
du
u 명령은 특정 디렉토리를 기준으로 디스크 사용량을 확인할 수 있다.
history
역사 ??? 지금까지 했던 명령어들을 보여준다
clear
입력시 깨끗하게 터미널을 정리해준다
exit
명령어를 사용하면 실행중인 명령을 취소하거나 터미널을 닫는다.
whatis
명령어의 설명을 간략하게 보여주는 명령어이다.
type
type은 지정된 명령어가 쉘에 내장된 명령어인지, 외부명령어인지, 앨리어스 명령어인지 등을 확인하는 명령어이다.
man
명령어에 대한 설명을 자세히 보여준다 .
내용이 많다.
last
리눅스 명령어 last는 로그인과 재부팅 로그를 출력하는 명령어다.
W
서버에서 접속한 사용자의 접속정보 및 작업 정보 내용을 확인하는 명령어이다.
hostname
호스트 이름확인
hostname <호스트네임> 입력하면 호스트네임이 바뀐다 하지만 리부팅하면 원래대로 돌아온다.
그래서 /etc/sysconfig/network에서 호스트네임부분을 변경해주면 영구 적용된다.
uname
시스템 정보 출력
touch
주로 파일생성할때 사용한다.
mkdir
디렉터리를 생성할때 사용한다.
cp
파일을 복사할때 사용
mv
파일을 이동할때 생성
rmdir
비어있는 디렉터리를 삭제할때 쓴다.
rmdir -r 은 디렉터리 안에 파일까지 다 삭제한다 (조심)
rm
파일을 삭제한다.
rm -r은 디렉터리를 삭제한다.
tar
파일을 묶는다
tar -cvf [파일명.tar] [폴더명]
묶인 파일을 푼다.
tar -xvf [파일명.tar]
cat
파일 출력
echo
노래방 에코라고 생각하자 그대로 출력해준다.
head
파일의 내용을 위에서 부터 출력한다.
tail
파일의 내용을 아래에서 부터 출력한다.
diff
diff명령어는 differences의 약자로 두 파일 사이의 내용을 비교하는 명령어이다
sudo
superuser do
현재 계정에서 root 권한을 이용하여 명령어를 실행할 때 사용
퍼미션 디나이 된것
su
switch user
현재 계정을 로그아웃을 하지 않고 다른 계정으로 전환하는 명령어
find
파일 위치 검색
- find [경로] [옵션] [조건] [action] : 기본파일찾기
- [옵션] -name, -user(소유자), -newer(전, 후), -perm(허가권, -size(크기)
- [aciton] -print(디폴트), -exec(외부명령 실행)
사용 예
#find /etc -name "*.conf"
#find /bin -size +10k -size =100k
#find /home -name "*.swp" -exec rm {} \;