[개발] OS를 알아야 개발이 보인다! LINUX 기본 명령어 정리
프리모아_IT기술파트너
·2015. 12. 29. 18:57
안녕하세요. 프리모아의 Mac 입니다.
IT 인프라의 변화중 가장 큰 파급력을 주는 것은 OS의 세대교체가 아닐까 싶습니다.
일반적으로 사용되는 WIndows도 새로운 버전이 나올 때 마다 이슈가 되고 있는데요.
아무래도 OS가 변경되면 사용하는 어플리케이션이나 환경이 크게 바뀌기 때문이 아닐까 싶습니다.
LINUX는 약 2012년 부터 UNIX 를 대체하는 OS로 각광 받고 있는데요.
LINUX는 가장 대표적인 오픈소스 OS라 할 수 있습니다.
사용자들이 손쉽게 구해서 자신에 맞게 환경을 바꿔 사용 할 수 있을 뿐더러, 파생되어 나온 OS들도 점차 다양해 지고 있습니다.
수많은 유져들이 직접 OS에 기능을 추가하며 보안, 네트워크 등도 점점 발전 하고 있습니다.
필요한 기능이 있다면 얼마든지 추가를 할 수 있고, 유저들간의 공유로 더 많은 기능과 안전성을 보장 받을 수 있는 이러한 장점 때문에 스마트폰의 OS로 자리 잡고 있는 것입니다.
LINUX 가 스마트폰의 OS로 자리 잡음에 따라서 많은 프리랜서 앱 개발자분들도 LINUX를 다루는 일이 많아졌는데요.
오늘은 그런 프리랜서분들을 위해 LINUX 의 수많은 명령어중 기본적인 명령어를 정리해 보도록 하겠습니다.
1. LINUX 명령어의 정의
LINUX 의 명령어는 /bin, /bin /usr/bin 파일 및 /usr/sbin 디렉토리 아래에 있습니다.
LINUX 의 명령어는 대소문자를 구분합니다. passwd 와 같이 입력한 텍스트가 암호화 되는 경우 Caps Lock키를 잘 확인해야 합니다.
대부분의 명령어에는 help 옵션이 있어서 옵션에 대한 세부 옵션들의 설명을 볼 수 있습니다.
명령어 옵션의 경우 여러가지를 중첩하여 사용이 가능합니다. ex) ls -al > ls 명령어 실행 시 -a 옵션과 -l 옵션을 동시에 적용합니다.
LINUX의 파생 OS들은 일부를 제외하고 거의 동일한 명령어 체계로 되어있습니다.
2. 계정관련 명령어
usradd [계정명] > 입력한 계정명으로 계정을 생성합니다.
passwd [계정명] > 지정한 계정의 Login 비밀번호를 변경합니다. 동일한 비밀번호를 2회 정확히 입력해야 변경됩니다.
su [계정명] > 지정한 계정으로 변경합니다. 하위 권한의 계정으로는 비밀번호 입력 없이 변경이 가능합니다.
usrmod -c [코멘트] [계정명] > 지정한 계정에 대한 코멘트를 임의로 변경 할 수 있습니다. 코멘트의 내용은 아무 내용이나 상관 없습니다.
usrmod -d [디렉토리] [계정명] > 지정한 계정의 홈 디렉토리를 변경 할 수 있습니다.
usrmod - u [숫자] [계정명] > 지정한 계정의 UID 를 변경 할 수 있습니다.
usrmod - s [쉘 디렉토리] [계정명] > 지정한 계정의 쉘 디렉토리를 변경 할 수 있습니다. 쉘 디렉토리를 변경 할 경우 해당 계정에서는 지정된 쉘 디렉토리 안의 명령어만 사용 가능합니다.
groupadd [그룹명] > 사용자 그룹을 생성합니다.
groupdel [그룹명] > 사용자 그룹을 삭제합니다.
groupmod -n [변경할그룹명] [그룹명] > 그룹명을 변경합니다.
groupmod -g [그룹명] > 지정한 그룹의 ID를 지정합니다.
groupmod -a -G [그룹명] [계정명] > 계정을 그룹에 추가합니다.
groups [그룹명] > 그룹에 대한 정보를 확인합니다.
3. 디렉토리 관련 명령어
pwd > Print Working Directory. 현재 작업중인 디렉토리의 위치를 확인합니다.
cd [옵션] [디렉토리 절대경로] > 디렉토리를 이동하는데 사용합니다. 현재 디렉토리의 하위 디렉토리로 이동시에는 경로에서 현재까지를 제외한 하위 경로만 적어도 이동됩니다. 옵션을 사용시 디렉토리의 경로를 지정하지 않습니다.
옵션 |
/ |
root 디렉토리로 이동합니다. |
.. |
한단계 상위 디렉토리로 이동합니다. |
|
~ |
현재 계정의 홈 디렉토리로 이동합니다. |
ls [옵션] [디렉토리 절대경로] > 지정한 디렉토리 안의 파일을 보여줍니다. 경로를 입력하지 않을 시 현재 디렉토리안의 목록이 출력됩니다. 옵션 없이 사용 가능합니다.
옵션 |
-a |
ls와 동일한 기능을 하며 숨김 파일을 출력해줍니다. |
-l |
ls와 동일한 기능을 하며 파일과 디렉토리의 세부 정보를 출력합니다. |
|
-h | 읽기 쉬운 방식으로 정렬하여 출력 |
mkdir [디렉토리명] > 현재 위치의 하위 경로에 디렉토리를 만듭니다.
mkdir -p [디렉토리경로] > 지정된 경로에 디렉토리를 추가합니다. 상위경로중에 생성되지 않은 디렉토리도 함께 생성합니다.
4. 파일 관련 명령어
cat [옵션] [파일명 or 파일 경로] > 파일의 내용을 확인합니다. 옵션없이 사용 가능합니다.
옵션 |
-b |
파일의 내용이 잇는 줄만 줄 번호를 붙여 표시합니다. |
-n |
파일의 모든 라인에 줄 번호를 붙여 표시합니다. |
|
-s |
파일에 빈 줄이 연속적으로 있을 경우 1줄만 표시합니다. |
cp [옵션] [파일명] [복사할 경로] > 복사할 경로에 해당 파일을 복사합니다.
옵션 |
-a |
복사할 파이르이 구성과 속성도 함께 복사합니다. |
-v |
복사의 진행상태를 표시해줍니다. |
rm [옵션] [파일명] > 현재 폴더 안의 파일을 삭제합니다. 파일의 절대경로를 입력하여도 가능합니다. 삭제여부를 확인합니다.
옵션 |
-f |
파일을 강제적으로 삭제합니다. OS에 필요한 시스템파일도 강제적으로 삭제 할 수 있으므로 주의해야 합니다. |
-i |
파일을 삭제시 삭제여부를 확인 하지 않습니다. |
5. 외부 저장장치 관련 명령어
mount > 현재 마운트 되어있는 장치들을 보여줍니다.
mount -a > /etc/fstab 에 지정된 모든 장치를 마운트 합니다. 하드디스크의 마운트 정보도 포함하고 있어 해당 정보를 잘못 수정할 경우 부팅이 불가능합니다.
umount [장치명] > 연결된 장치의 연결을 해제한다. 장치명은 장치의 이름이 아닌 /dev/sda1 과 같이 합니다. mount된 장치의 폴더 안에서 umount 명령을 실행 할 경우 실행되지 않습니다.
6. 시스템 관리에 관한 명령어
top > 현재 실행중인 프로세스의 리스트 정보를 알 수 있습니다.
free > 메모리의 사용량을 확인 할 수 있습니다.
kill [프로세스의 PID] > 실행중인 프로세스를 종료 할 수 있습니다.
kill -9 [프로세스의 PID] > 정상적으로 종료가 되지 않는 프로세스 혹은 좀비 프로세스등을 강제로 종료합니다.
fsck [옵션] [파일시스템 옵션] [장치명 or 마운트포인트]> file system check 의 약자로 파일 시스템을 검사해서 오류를 수정하는데 사용합니다.
옵션 |
-s |
fsck 동작을 시리얼 화 합니다. 대화형 모드에서 여러 파일 시스템을 점검 할 때 유용합니다. |
-t |
검사할 파일 시스템의 형식을 지정합니다. -A 와 함께 사용하면 /etc/fstab 파일에 기술된 파일 시스템중 해당하는 형식의 파일 시스템들만 검사하게 됩니다. 파일 시스템 형식 앞에 no 를 붙이게 되면 해당 파일 시스템을 제외한 다른 파일 시스템들을 검사합니다. |
|
-A |
/etc/fstab 파일에 기술되어 있는 파일 시스템들을 지정된 순서에 맞게 모두 검사합니다. 일반적으로 rc 스크립트를 자동으로 검사하도록 설정합니다. |
|
-N |
실행하지 않으며 수행 내용을 시뮬레이트 합니다. |
|
-P |
-A 플래그와 같이 사용될 때 다른 파일 시스템과 함께 병렬 처리하여 루트 파일 시스템을 점검하도록 합니다. 루트 파일 시스템에 오류를 일으 킬 수 있으므로 웬만하면 사용하지 않는 것이 좋습니다. |
|
-R |
-A 플래그와 같이 사용 될 때 루트 파일 시스템을 제외시킵니다. |
|
-V |
실행되는 각 파일 시스템용 명령을 포함하여 자세히 출력합니다. |
|
파일 시스템 특정옵션 |
-a |
어떠한 질문 없이 자동으로 보수합니다. |
-r |
오류가 발생할 때마다 사용자에게 확인을 요구합니다. |
|
-n |
몇몇 파일시스템에 특정되어 문제를 수정하지 않으며 오류 내용을 표준 출력으로만 보고합니다. |
|
-y |
몇몇 파일시스템에 특정되어 감지된 파일 시스템 오류를 자동으로 수정하도록 합니다. |
이상 프리모아의 MAC 이었습니다.
'IT & 비즈니스 > 개발' 카테고리의 다른 글
[개발] 앱개발을 쉽고 편하게! 앱개발자를 위한 개발키트! (0) | 2016.01.21 |
---|---|
[개발] 제3의 모바일 OS. TIZEN은 무엇인가? (0) | 2016.01.04 |
[개발] 2016년 개발자 커뮤니티 활동 현황 (0) | 2015.12.17 |
[개발] 개발자라면 알아두어야 할 2016년 IT 전망 (0) | 2015.12.14 |
[개발] 개발자는 왜 체크남방을 입는가? (0) | 2015.12.11 |