리눅스 명령어 — 임세진
우리 팀은 7월에 공부하기로 한 책을 마무리했고 지금은 국가암호공모전에 집중하고 있다.
8월 달에는 각자 공부한 내용을 업로드하기로 했다.
필자는 최근에 공부한 리눅스에 대해 소개하려고 한다.
1. 리눅스란?
운영체제는 하드웨어와 소프트웨어를 연결해주는 등 다양한 역할을 한다.
리눅스는 윈도우와 같은 운영체제의 한 종류이고 주요 디렉터리의 계층구조 형태로 이루어져있다.
리눅스의 대표적인 특징은 오픈소스라는 것이다.
누구나 자신이 필요한대로 수정해서 사용이 가능하기 때문에 우분투, 센토스 등 다양하게 분화돼있다.
필자가 앞으로 소개하는 것은 센토스 버전이다.
2. 리눅스의 주요 디렉터리
- / : 리눅스 상에 존재하는 모든 파일과 디렉터리를 담고있는 최상위 디렉터리
- /boot : 리눅스 커널의 메모리 이미지와 부팅과정에서 필요한 각종 부팅 파일이 들어있다.
- /bin : 기본 명령어가 들어있다. ( * 명령어는 실행파일이기때문에 명령어를 치면 그 명령어의 실행파일이 실행되는 것임 )
- /root : 관리자의 홈 디렉터리 — root 전용
- /home : 관리자 외의 일반사용자들을 위한 홈 디렉터리가 만들어지는 위치
- /etc : 시스템이나 사용자 관리를 위한 자료 파일 및 각종 설정파일을 저장
- /dev : 장치 파일이 들어있다. ( HW -> 파일로 변환해서 관리 )
- /lib : 각종 프로그래밍 언어들의 라이브러리가 저장되는 위치
- /mnt : Remote Device를 이용하기 위한 연결 디렉터리
- /media : Local Device를 이용하기 위한 연결 디렉터리
- /sbin : 관리자 전용 명령어가 들어있다.
- /usr : 각종 소스파일 및 설치파일을 저장하는 공간
- /tmp : 임시 저장소
- /var : log와 같이 자주 변경되는 데이터를 저장하고, 각 사용자들의 메일함이 들어있는 디렉터리
- /proc : 커널의 이미지와 프로세스 정보들을 저장한다. ( * 커널의 정보가 들어가있는 중요한 파일 )
- swap : 가상 메모리
3. 접속
필자는 VMware라는 가상머신을 이용하여 리눅스 환경을 구축했고 putty (원격접속프로그램)로 원격접속하여 작업했다.
[root@VM ~] 은 root라는 계정을 가지고 VM이라는 컴퓨터에 로그인했다는 뜻이다.
여기서 ‘~’ 은 현재 로그인한 계정(root)의 홈디렉터리를 의미하고, ‘~’이 있는 영역은 현재 내가 위치한(작업 중인) 디렉터리를 나타낸다.
‘#’ 은 관리자(root)용 프롬프트로, 명령어를 입력할 수 있는 상태를 의미한다.
이때는 위의 관리자 계정때와 달리 ‘$’ 프롬프트가 있는 것을 확인할 수 있다.
‘$’는 일반사용자용 프롬프트이다.
4. 리눅스 명령어
[ 경로관련 명령어 ]
- pwd (print working directory)
현재 작업중인 경로를 확인할 때 사용하는 명령어
현재 root가 있는 위치가 /root임을 알 수 있다.
- cd (change directory)
리눅스 상의 경로를 변경할 때 사용하는 명령어
앞의 pwd 명령어를 통해 성공적으로 경로가 변경된 것을 알 수 있다.
- 절대경로
파일 시스템 전체를 기준으로 파일이나 디렉터리의 절대적인 위치를 사용하는 경로
- 상대경로
현재 작업하고 있는 디렉터리에서 파일이나 디렉터리의 상대적인 위치를 말한다.
내가 위치하고 있는 곳이 기준이 된다!
./ : 현재 디렉터리
../ : 상위 디렉터리
[root@VM itbank]# cd ../../ : 2번 상위 디렉터리로 이동
[파일 및 디렉터리 관련 명령어]
ls (list) : 디렉터리에 있는 내용(디렉터리, 파일 등)을 확인. 윈도우의 dir 명령과 비슷함.
보통 명령어 옵션을 같이 사용한다.
ls -l(long) : 자세한 내용을 출력. (내용 : 권한, 포함된 파일 수, 소유자, 그룹, 파일크기, 수정일자, 파일이름)
ls -a(all) : 숨겨진 파일이나 디렉터리도 보여줌.
하지만 ls -al을 했을 때는 .으로 시작하는 파일들이 더 있었다는 것을 알 수 있다.
파일명이 .으로 시작하면 숨겨진 파일이다.
- touch : 파일이나 디렉터리의 최근 업데이트 일자를 현재 시간으로 변경한다.
파일이나 디렉터리가 존재하지 않으면 빈 파일을 만든다.
hello파일을 vi로 편집한다.
“hello!”라는 텍스트를 추가했다.
:wq 라고 치고 엔터를 누르면 저장되고 vi편집기에서 나간다.
cat (concatenate)
- 파일의 내용을 출력
cp (copy) : 파일 혹은 디렉터리를 복사.
- 디렉터리 복사 시, -r 옵션을 주어야함.
rm (remove) : 파일이나 디렉터리를 삭제
- 디렉터리를 삭제시, r옵션을 줄 것. <디렉터리를 삭제할 때에는 하위 디렉터리까지 모두 삭제되므로 유의할 것>
- -f 옵션을 주면 사용자에게 삭제 여부를 묻지 않고 바로 삭제.