Linux는 1991년 Linus Torvals가 개발한 운영체제이다. Unix 운영체제를 기반으로 만들어진 운영체제로 누구나 소스코드를 활용, 수정 및 재배포가 가능해서 지속적인 업그레이드가 이루어진다. 대표적인 리눅스 배포판으로는 Ubuntu, Fedora, Debian, CentOS 등이 있는데 나는 주로 Ubuntu를 사용한다.
Linux 안정성, 보안, 자유 및 사용자 지정 가능성 등의 특징으로 유명하며, 서버 환경부터 개인 컴퓨터, 모바일 기기, 임베디드 시스템까지 다양한 플랫폼에서 활용된다.
리눅스는 커멘드 라인을 기반으로 만들어져 있기 때문에 AWS배포시에도 CLI를 이용하여 작업을 해야한다.
CLI(Command-Line Interface) 터미널에서 작업할때 유용한 명령어들을 정리했다.
pwd: 현재 위치 확인하기
mkdir: 새로운 폴더 생성하기 EX) mkdir helloWorld
ls: 특정 폴더에 포함된 파일이나 폴더 확인하기
cd: 폴더에 진입하기 EX) CD helloWorld
touch: 파일 생성하기 EX) touch hi.txt
〉: 실행 결과를 파일로 저장하기
EX) ls > ls.txt 를 입력하면 ls.txt에 ls 명령어의 실행 결과가 저장된다.
echo: echo 뒤의 내용을 화면에 출력해주는 역할
EX) echo hello 를 입력하면 hello가 출력된다.
EX) echo lissomeheena@gmail.com > hi.txt 를 입력하면 hi.txt에 lissomeheena@gmail.com가 저장된다.
cat: 파일의 내용을 터미널에 출력하기 EX) cat hi.txt
cat 명령어 대신 쓰는 다른 명령어들 :
rm: 폴더나 파일 삭제하기 EX) rm hi.txt
mv: 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
EX) mv bye.txt bye/ 를 입력하면 "bye.txt"를 폴더 "bye"로 옮긴다.
cp: 폴더나 파일을 복사하기
EX) cp -rf bye hi를 입력하면 폴더 "bye"를 복사해 새로운 폴더 "hi"를 만듭니다.
chmod: 권한을 변경하는 명령어
EX) 파일에 대해 소유자에게 읽기, 쓰기, 실행 권한을 부여하려면: chmod u+rwx filename
EX) 그룹에 대해 읽기와 실행 권한을 부여하려면: chmod g+rx filename
EX) 기타 사용자에게 쓰기 권한을 제거하려면: chmod o-w filename
EX) 모든 사용자에게 읽기 권한을 부여하려면: chmod a+r filename
명령어 옵션 -r 과 -f:
r은 recursive의 약자로 특정 행동을 순환적으로 반복한다
f는 force의 약자로 어떤 행위를 강제한다
리눅스에서 ls -l를 입력하면 다음과 같은 결과가 보여진다.
$ ls -l
total 3
drwxrwxr-x 2 user user 4096 Dec 1 10:00 dir1
-rw-rw-r-- 1 user user 12 Dec 1 09:45 file1.txt
-rw-rw-r-- 1 user user 24 Dec 1 09:45 file2.txt
시작이 d면 directory(폴더)이고, -면 not directory이다.
이후 3자리씩 owner, group, other에 대한 권한들을 보여준다.
r - read permission - 읽기 권한
w - write permission - 쓰기 권한
x - execute permission - 실행 권한
user:
user는 파일의 소유자이다. 기본적으로 파일을 만든 사람이 소유자가 된다. 따라서 user를 소유자라고 하기도 한다.
group:
group에는 여러 user가 포함될 수 있다. 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다. 많은 사람이 파일에 액세스해야 하는 프로젝트가 있다고 가정한다면 각 user에게 일일이 권한을 할당하는 대신에 모든 user를 group에 추가하고, 파일에 group 권한을 할당할 수 있다.
other:
파일에 대한 액세스 권한이 있는 다른 user이다. 파일을 만들지 않은 다른 모든 user를 의미한다. 따라서 other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수도 있다.