꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

시스템 프로그래밍

쉘 (shell) 명령어

gold_dragon 2021. 4. 29. 21:40

쉘이란 사용자와 하드웨어 또는 운영체제간의 인터페이스를 말합니다. 사용자의 명령을 해석해서 커널에 명령을 요청해주는 역할을 하며, 관련된 시스템콜을 사용해서 프로그래밍이 작성되어 있습니다.

쉘 종류

Bourne-Again Shell (bash) : GNU 프로젝트의 일환으로 개발됐습니다. 리눅스에서 거의 default로 돼있습니다.

Bourne shell (sh)

C shell (csh)

Korn Shell (ksh) : 유닉스에서 가장 많이 사용합니다.

리눅스 기본 명령어 정리

다중 사용자 관련 명령어에 대해서 알아보겠습니다.

 

whoami

사용자가 누구인지 알려주는 명령어입니다.

 

passwd

로그인한 사용자 ID의 암호를 변경합니다.

 

useradd

사용자 기본 설정을 자동으로 하지 않습니다.

 

adduser

사용자 기본 설정을 자동으로 수행합니다. 홈디렉터리 생성과 기본 설정이 자동적으로 진행됩니다.

 

sudo

root 계정으로 로그인 하지 않은 상태에서 root 권한이 필요한 명령을 실행할 수 있도록 합니다. sudo 명령어를 사용할 수 있는 아이디를 설정할 수 있습니다.

 

su

su root의 경우 현재 사용자의 환경설정 기반으로 root로 변경되고 su - root의 경우 변경되는 사용자의 환경설정을 기반으로 root로 전환됩니다.

 

다음으로는 파일 및 권한 관련 명령어에 대해서 알아보겠습니다.

 

pwd

현재 directory 위치를 확인할 수 있습니다.

 

cd

directory를 이동하는 명령어입니다. 'cd ~'은 home directory로 이동할 수 있습니다.

 

ls

파일 목록을 확인할 수 있는 명령어입니다. dir 명령어와 같습니다. 'ls -al'의 경우 숨김 파일과 권한을 확인할 수 있습니다. *로 임의 문자열을 포함한 목록을 확인할 수 있고, ?는 한 글자 단위로 확인할 수 있습니다.

 

man

명령어의 옵션을 확인할 수 있는 명령어입니다. 'man ls'의 경우 ls 명령어의 옵션을 확인할 수 있습니다.

 

* 파일마다 소유자, 소유자 그룹, 모든 사용자에 대해 읽고, 쓰고, 실행하는 권한을 설정할 수 있습니다. 소유자 접근 권한 정보는 inode에 저장됩니다.

https://brunch.co.kr/@jehovah/12 참조

 

chmod

파일 권한을 변경할 수 있는 명령어입니다.

패스트캠퍼스 시스템 프로그래밍 강의 참조

ex) chmod g+rx test.c

숫자를 사용하는 방법도 있습니다.

패스트캠퍼스 시스템 프로그래밍 강의 참조

ex)

rwxrwxrwx = 777

r-xr-xr-x = 555

r-------- = 400

rwx------ = 700

 

chown

소유자를 변경할 수 있는 명령어입니다.

chown [옵션][소유자:소유그룹][파일]

ex)

chown root:root file

chown root: file

chown :root file

 

cat

파일의 내용을 볼 수 있는 명령어입니다.

 

head/tail

파일 내용의 앞의 10줄 혹은 뒤에 10줄을 볼 수 있습니다.

 

more

파일 내용을 화면 크기에 맞게 볼 수 있으면서 다음 장을 볼 수 있습니다.

 

rm

파일을 삭제할 수 있는 명령어입니다.

r옵션: 하위 디렉토리를 포함한 모든 파일을 삭제합니다.

f옵션: 강제로 파일이나 디렉토리를 삭제합니다.