본문 바로가기
정보보안/OS

[Linux] 우분투를 통해 배우는 Linux 기초 (Ubuntu 18.04v)

by 우동이 2020. 8. 11.
300x250

 


리눅스 관리를 위한 기초 명령어에 대해 배워보겠다

Ubuntu를 사용할거고 버전은 18.04버전 기준이다

사실 지난번 20.04버전을 설치했지만 

기존에 실습을 진행하던 가상머신이 있기에 부득이하게 구버전으로 진행하게 되었다

먼저 가상머신을 실행한다

다시 한번 말하지만 root계정으로 관리하는건 

좋지 않은 습관이니 꼭 일반 유저로 사용하는 걸 길들이도록 하자.

일반유저 계정으로 로그인 되었고 간단히 현재 디렉토리의 파일을 검색하고

만드는것까지 배워보자

 

# 파일 및 디렉토리 정보 
ls # 현 디렉토리의 파일 및 서브 디렉토리 출력
ls -a # 숨겨진 파일까지 출력
ls -l # 파일의 자세한 정보 출력
ls -F # 파일의 타입 출력

# 파일 생성
touch file_name # file_name의 빈 파일 생성
touch file01 # file01 파일 생성

#작업 디렉토리 변경
cd dir_name # dir_name 디렉터리로 위치 변경
cd /home/dir01 # 절대경로 디렉터리 변경
cd dir01 	   # 상대경로 디렉터리 변경

#현재 작업 디렉터리 확인
pwd

#디렉터리 생성
mkdir /home/dir01 # /home 내에 dir01이라는 디렉터리 생성 (절대경로)
mkdir dir01       # 현재 위치한 디렉터리에 dir01 디렉터리 생성 (상대경로)

#파일의 내용 보기
cat file01 # file01의 파일내용
cat /home/file01 # 절대경로로 file01의 파일내용 보기
more file01 # file01 파일내용(자세히)
more /home/file01 # 절대경로로 file01 파일내용 보기 (자세히)

#파일 복사&이동
mv file01 /home # file01을 /home 디렉티러로 이동
mv file01 file02 # file01을 file02로 변경

cp file01 file01 # file01을 file02로 복사
cp -r dir01 dir02 # dir01을 dir02로 복사 (디렉터리 복사시 -r 옵션)

#파일 지우기
rm file01 # file01 삭제

# 디렉토리 지우기
rm -r dir01 # -r옵션을 통해 rm 으로도 디렉터리 삭제가능
rmdir dir01 # dir01 지우기 하지만 파일이 존재하는 디렉터리는 삭제불가

# 파일 내 특정 string 라인 보여주기
grep "안녕하세요" file01 # file01에서 "안녕하세요"라는 문자열이 있는 라인 보여주기
grep root /etc/passwd # /etc는 시스템 운영을 위한 관리 파일들이 위치한 디렉토리 이다

#파일 찾기
find /home option # option별로 검색 기준이 다른데 먼저 디렉터리 기준으로 조회한다
find /home -name "file*" # 파일명으로 검색 *은 모든 파일 조회
find /home -inum 100 # 파일 inode num으로 찾기
find /home -size +100 # 파일 size로 찾기
find /home -mtime -4 # 파일 변경날짜로 찾기
find /home -user user01 # 소유자 유저로 찾기

여기까지가 파일 및 디렉터리 관리에 대한 기본적인 명령어이다.

파일과 디렉터리를 생성 및 삭제 검색까지 가능하다

물론 리눅스는 멀티 유저를 관리해야 하는 서버의 개념이 크기 때문에

이런 기초적인 명령어로는 모든 프로세스들을 관리해낼수 없다

이제 권한에 대해 알아볼텐데 처음에 sudo 로 root권한을

부여받아 사용하기 위해 파일과 디렉터리의 권한을 알아보자

ls -l # 현 디렉터리의 모든 파일과 서브 디렉터리의 권한까지 출력
ls -al # 현 디렉터리의 모든 파일(숨겨진)과 서브 디렉터리의 권한까지 출력

 

ls -l 사용으로 출력

ls -l을 통해 현 디렉터리 내의 파일과 서브 디렉터리의 권한을 출력했다

권한은 맨 처음에 drwxr-xr-x 형식의 알파벳이 나열되어있는 문자열이

그 파일의 권한이다

맨 앞자리가 d 이거나 -로 이루어져 있는데

d 일경우는 directory 디렉터리라는 거고

-일때는 file이라는 의미다

 

파일

디렉터리

r(read)

파일의 내용을 읽기

디렉터리의 내용을 보기

w(write)

파일의 내용을 변경 혹은 작성

디렉터리의 내용 변경(생성 및 삭제)

x(execute)

파일을 실행

디렉터리 탐색 가능

-(권한없음)

권한 X

권한 X

대략 권한은 이러한데 위를 모든 권한이 있는 디렉터리가 하나 있따고 예시를 들면

drwxrwxrwx rwx가 세번 반복 되는데

순서대로 

user의 권한 -> rwx

group의 권한 -> rwx

other의 권한 ->rwx

총 10자의 문자가 권한을 나타내도록 되어있다

#퍼미션 변경
chmod #퍼미션 변경

chmod

u(ser)

+

r(ead)

file name

g(roup)

-

w(rite)

o(ther)

=

x(execute)

 

chmod

r=4 w=2 x=1

file name

chmod를 통해 권한을 부여 및 변경할수 있는데 

처음 배웠을때 나름 까다로웠던 기억이 있다

먼저 심볼을 통해 퍼미션을 변경 하는 방법과 숫자로 퍼미션을 변경할수 있는데

나는 숫자로 변경하는게 제일 편했다

예를 통해 방법을 좀 익혀보자면

chmod 777 dir01 # dir01에 rxw->7 rwx->7 rwx->7 모든 권한을 부여
chmod 544 dir01 # dir01에 r-x->5 r-- ->4 r-- ->4 user에 읽기와 실행권한 group과 other에 읽기 권한만

사실 user에게 가장 높은 권한을 부여하고

계단식으로 group과 other로 갈수록 낮은 권한을 부여하게 되기 때문에

관례상 124, 427 등 말이 안되는 이런 권한이 부여될일은 거의 없다고 보면 된다

 

chmod u+rwx dir01 # dir01의 user에게 모든 권한을 부여
chmod g-x dir01 # dir01의 group에 실행 권한을 삭제

심볼을 사용해서 권한 부여도 해봤다

이왕이면 모든걸 다 아는게 나쁘지는 않다고 생각해서 해봤다

 

그 외 기본 퍼미션을 설정하는 umask

#기본 퍼미션 설정 및 확인
umask num

num에는 숫자를 넣어 기본 퍼미션을 변경할수있다

 

파일의 소유자 변경 chown

#파일의 소유자 변경
chown user file01 # file01의 소유자를 user로 변경

 

300x250

댓글