리눅스 파일 구성
리눅스는 최상위1개 그리고 그 다음 2번째 디렉터리 몇가지를 주 축으로 아래로 파생 되어 나가는 트리 구조를 갖습니다. 총사령관이 '/'이고 그 다음 각 그룹의 부대장들이 있고 이런 식인 거죠. 하지만 '/'는 사실 아무 의미 없고 그 다음 부대장들이 의미 있는 디렉토리의 시작 이라고 보면 됩니다.
어떤 폴더의 주소를 설명 해 줄때 '/home/rick' 이런식으로 설명 해 주면 됩니다. 또한 자주 쓰는 용어 중에 '. (점)' 은 현재 디렉토리, '.. (점점)'은 바로 전(상위) 디렉토리를 나타냅니다.
아래는 리눅스 최상위 디렉토리의 의미를 나타냅니다.
/bin | ls, mount, rm 등과 같은 기본적인 리눅스 명령어들이나 실행 파일이 위치. binary의 약자 |
/boot | 리눅스 커널, 부트로더 설정 파일과 같이 시스템 초기화시 필요한 파일 위치 |
/dev | 리눅스에서 하드웨어 장치들을 대신하는 디바이스 파일들이 위치. developer의 약자 |
/etc | 시스템 모양과 동작을 결정하는 각종 시스템 설정 파일들이 위치 |
/home | 여러 사용자들의 홈 디렉터리들이 위치 (주로 메인이 됨) |
/lib | 중요한 동적/공유 라이브러리와 커널 모듈들이 위치함. library의 약자 |
/lost+found | 파일 시스템의 오류로 인한 비정상적인 파일이 위치. fsck 명령이 사용 함 |
/media | 외장하드, 플로피디스크, CD 와 같이 외부 장치가 자동으로 마운트 되는 위치 |
/mnt | 네트워크 파일 시스템과 같은 임시 마운트 장치를 위한 마운트 위치. mount의 약자 |
/opt | 시스템에 옵션으로 추가하는 패키지들을 저장하는 곳. option의 약자 |
/proc | 커널이 프로세스에게 정보를 전달할 수 있도록 만들어진 가상 파일 시스템. /process |
/root | 시스템 관리자인 슈퍼 유저의 홈 디렉토리 |
/sbin | 슈퍼 유저가 사용할 수 있는 중요한 관리 명령어들이 위치. system binary |
/srv | HTTP 또는 FTP와 같은 서비스들의 데이터 디렉터리. service의 약자 |
/sys | 커널 관점에서 시스템 정보를 획득하거나 설정할 수 있는 가상 파일 시스템. system의 약자 |
/tmp | 응용 프로그램이 사용하는 임시 파일들이 위치. temporary의 약자 |
/usr | 대부분의 유틸리티, 응용 프로그램 및 설정 파일, 라이브러리 등이 위치함. (/usr/bin: 응용프로그램, /usr/lib: 라이브러리, /usr/share: 각종 관련 자원 파일, /usr/local: 기타 추가 설치 파일)/ user의 약자 |
/var | 빠르게 갱신되거나 변화하는 가변 데이터들이 위치함(/var/log: 시스템 로그 파일들, /var/maili: 메일, /var/www: 웹 서버 파일). variable의 약자 |
리눅스 명령어
리눅스에 기본적으로 터미널창(ctrl + alt + t)을 열고 아래와 같이 명령어를 칩니다.
명령어 (옵션) 매개변수
명령어 다음 옵션을 치고 그다음 매개변수 순으로 오죠.
- Ctrl + z
프로세스 중단
- Ctrl + c
프로세스 종료
- update
리눅스에서는 소프트웨어 패키지 파일인 .deb확장자를 사용 합니다. 이는 apt-get(원격 서버로부터 패키지를 설치 할 수 있는 도구)를 이용 해 패키지 파일들을 업데이트하고 업그레이드 합니다. 이해가 안가면 그냥 파일들을 apt-get 을 통해 업데이트하고 업그레이드 해서 최신 버전을 쓰게 한다고 생각 하시면 될 듯 합니다.
※ 참고로 apt-get은 쵝느 그냥 apt로 대체 되어 가고 있습니다. apt로 사용 하셔도 무방 합니다.
아래 명령을 통해 최신 업데이트 할 수 있는 파일을 검색하고 그 리스트를 사용자에게 알려 줍니다.
sudo apt-get update
- upgrade
위 업데이트로 정보는 주지만 업그레이드는 안해줍니다. 아래 명령을 통해 최신 버전으로 패키지들을 업그레이드 해 줍니다.
sudo apt-get upgrade
- install
새로운 패키지를 설치 할 때 사용 합니다. [패키지 이름]란에 다운로드 할 패키지 이름을 적습니다.
sudo apt-get install [패키지 이름]
- remove
다운로드 한 패키지 들을 지울 때 사용 합니다.
sudo apt-get remove [패키지 이름]
- ls
예를들면 전체 폴더를 출력해라 라고 하면,
ls
전체 폴더를 최근 날짜 기준으로 출력해라 하면 아래와 같습니다.
ls -t
전체 출력이라 매개변수는 딱히 없구요.
- cd
또 자주 쓰는 명령어는 'cd' 입니다.
'cd'는 폴더를 이동할 때 쓰는 겁니다.
cd | /home으로 이동 |
cd .. | 이전(상위) 폴더로 |
cd ../.. | 상위의 상위 폴더로 |
cd /filename | 현재 위치에서 'filename'이란 폴더로 진입 |
그 외 중요한 명령어들을 아래 적겠습니다. 다시 한번 말씀 드리지만 외우실 필요 보단 한번 보고 넘어 가시고 나중에 사용 하시면서 다시 찾아 보며 익히시면 되겠습니다.사람의 언어든 컴퓨터 언어나 명령어든 주입식 암기 보다는 사용을 통해 자연스럽게 익히는게 최고라고 생각 합니다.
sudo | super do | 최고 관리자 권한을 빌려 모든 쓰기, 읽기 등을 수행 |
pwd | print working directory | 현재 작업 디렉터리 출력 |
cd | change direcroty | 디렉토리 변경 |
ls | list segments | 현재 디렉토리의 파일 출력 |
rm | remove | 폴더나 파일 삭제 |
mv | move | 폴더나 파일을 다른 디렉토리로 이동 |
cp | copy | 폴더나 파일을 다른 디렉토리로 복사 |
mkdir | make directory | 디렉토리 생성 |
rmdir | remove directory | 디렉토리 제거 |
touch | 수정시간 갱신 | |
tar | tape archive | 압축 풀기 |
gzip | .gz 확장자로 압축 하기 | |
man | manual | 도움말 |
chmod | change mode | 권한 제어 |
diff | difference | 파일간의 차이점 비교 |
du | disk usage | 해당 폴더의 용량을 KB, kilobyte로 나타낸다 |
df | disk free | 전체 파일 시스템의 공간 |
free | 메모리 할당을 자세하게 나타냄 | |
top | 전체 프로세스 목록과 cpu 및 메모리 점유율 실시간으로 나타냄 | |
kill | 현재 사용중인 프로세스 강제 종료 | |
ifconfig | interface configuration | 네트워크 인터페이스 장치 확인 |
ping | 네트워크 성능 확인 용 | |
cron | 정해진 시간에 특정 명령 수행 |
그 외 주요 용어 및 기능
- 셸 프롬프트 (shell prompt)
터미널을 열면 바로 내 채팅창의 ID 같이 아래처럼 나오게 된다.
pi@raspberrypi:~ $
여기서 의미는 아래와 같다.
pi | 계정 ID |
@ | 앞 뒤 구분 용 |
raspberrypi | Host 이름 |
~ | /home/pi(계정 ID)를 담고 있음 |
$ | 앞 뒤 구분 용 |
- tap 기능
또한 팁이 있다면 'cd'를 작성 중 한 글자라도 친후 'tap'을 치면 바로 글자가 생성 됩니다. 예를 들자면 현재 폴더안에 '/bin, /bol, /system' 이라는 3개의 폴더가 있다고 하면 'cd /s' 까지만 치고 탭을 누르면 'cd /system'이 자동 완성 됩니다. 하지만 그럼 'b'는 2개라 안될까요? 라고 질문을 한다면 중복이 있다면 중복 되는걸 보여주고 제가 한글자 더 칩니다. 예를 들어 'cd /bi'까지 치고 다시 탭 하면 'cd /bin'이 완성이 됩니다.
- 절대경로 상대경로
절대 경로란 사용자의 컴퓨터 상의 최상위 디렉토리부터 의 경로 이다.
cd /home/work/project/linux_project
절대 경로로 프로그래밍을 자주 하는게 좋은건 아닌것이 다른 사람이 내 코드를 이용 할때 그 사람의 폴더 트리 환경에 따라 계속 수정을 해야 한다.
상대경로란 현재 위치서 부터 그 대상 디렉토리 까지의 경로이다. 내 위치가 위 경로에서 'linux_project'인데 상위의 상위인 'work'폴더로 가고 싶다면?
cd ../../work
- ~
터미널 창에서 ~ (물결모양)의 의미는 '/home/계정'이라고 보시면 됩니다.
원본출처 : https://mickael-k.tistory.com/36