*공부한 내용을 토대로 혼자서 정리하는 글입니다.
틀린 부분이나 보충할 부분 지적 언제든 환영합니다 :)
리눅스(Linux)는 리누스 토발즈(Linus Tovalds)가 만든 오픈 소스 운영체제
1991년 대학생이었던 리누스 토발즈가 취미로 만들었다고 알려진 리눅스는 현재 가장 큰 사용자 기반을 가지고 있고, 공용 인터넷 서버에서 가장 많이 사용되며, 상위 500대 초고속 슈퍼컴퓨터에서 유일하게 사용되는 운영체제
즉, 사양이 낮은 컴퓨터에서도 우수한 성능과 기량을 발휘 할 수 있고, 뛰어난 성능이 필요한 경우에도 사용할 수 있는 운영체제라고 볼 수 있음
* pwd(print working directory) : 현재 위치 확인하기
입력 Code :
pwd
터미널의 프롬프트에
pwd
를 입력하고 Enter(엔터 키)를 누르면 현재 위치를 확인할 수 있음
* mkdir(make directories) : 새로운 폴더 생성하기
입력 Code :
mkdir Jam
터미널의 프롬프트에
mkdir
을 입력하고 만들고자 하는 폴더의 이름("Jam")을 입력하고 Enter(엔터 키)를 누르면 폴더를 생성함명령어와 폴더의 이름은 Space(스페이스 키)로 구분함
* ls(list) : 특정 폴더에 포함된 파일이나 폴더 확인하기
입력 Code :
ls
명령어
ls
를 입력하면, 명령어mkdir
을 이용해 생성한 폴더 "Jam"를 확인할 수 있음
- 명령어
ls
에는ls -a
와ls -l
이 있음
ls -a
: 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls -l
: 폴더나 파일의 포맷을 전부 표현하라는 의미
* 명령어를 이용해 폴더를 GUI의 탐색기로 실행하기
입력 Code :
nautilus .
명령어
mkdir
을 통해 생성한 "Jam" 폴더를 확인할 수 있음
* cd(change directory) : 폴더에 진입하기
입력 Code :
cd Jam
cd Jam
입력 후pwd
를 통해 "Jam" 폴더에 진입했음을 알 수 있음
* touch : 파일 생성하기
입력 Code :
touch jjam.txt
"Jam" 폴더 안에 "jjam.txt" 파일을 생성함
* GUI로 파일에 텍스트 입력하기
GUI 탐색기를 통해 "Jam" 폴더 내에 있는"jjam.txt" 파일을 실행 후 'Hello~' 입력 후 저장
* cat(con'cat'enate) : 파일의 내용을 터미널에 출력하기
입력 Code :
cat jjam.txt
cat
을 이용하여 "jjam.txt" 파일의 내용 'Hello~'를 확인할 수 있음
* rm(remove) : 폴더나 파일 삭제하기
입력 Code :
rm -rf abc
&rm abc.txt
-> 옵션
r
은 폴더를 지울 때 사용하고, 옵션f
는 질문을 받지 않고 지울 때 사용
-> 따라서 파일을 지울때는rm
, 폴더를 지울때는rm -rf
를 사용하면 됨
* mv(move) : 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
입력 Code :
mv abc.txt abc/
폴더나 파일을 이동할 때 사용
mv
의 또 다른 기능-> 파일 또는 폴더의 이름을 바꿀 수 있음
* cp(copy) : 폴더나 파일을 복사하기
입력 Code :
cp cp.txt pc.txt
&cp -rf cp1 cp2
-> 명령어
cp
를 그냥 사용하면 명령어rm
으로 폴더를 삭제할 때 처럼 메시지가 출력됨
-> 따라서 파일을 복사할 때는cp
, 폴더를 복사할 때는cp -rf
를 사용하면 됨
- CLI에서 환경에서 가장 사용하기 쉬운 에디터
AWS(Amazon Web Service)와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우 사용
입력 Code :
nano
nano
또는nano + 파일 이름
을 입력하여 nano 에디터를 실행할 수 있음-> 나노 실행 화면
- 나노 기능
1 ) 파일 열기
-
^R
,Ctrl + R
을 눌러 열기 가능
- but , 애초에 파일이름을 입력 (nano 파일이름
) 해 여는 것을 추천함2 ) 파일 편집 후 종료
-
^X
,Ctrl + X
를 눌러 파일의 변경사항이 존재하면, 종료시에 저장여부를 확인
-Ctrl + X
를 누르면수정한 버퍼 내용을 저장하시겠습니까?
라는 문구가 뜸
-Y
또는N
를 눌러 저장 여부를 결정할 수 있음3 ) 파일 저장
-
^O
,Ctrl + O
을 눌러 저장 가능
위치: /
이름: 루트
설명: 최상위(루트) 디렉토리디렉토리들의 절대 경로를 표기할 때 이 디렉토리로 부터 시작함
이름: /bin
설명: 이진파일(실행파일)
기본적인 명령어가 저장된 디렉토리
리눅스에서 자주 사용하는 mv, cp, rm등과 같은 명령어들이 이 디렉토리에 존재함
위치: /boot
이름: 부트
설명: 리눅스의 부팅에 필요한 정보를 가진 파일들이 있는 디렉토리
위치: /dev
이름: 디바이스
설명: 시스템 디바이스(장치)파일을 저장하고 있는 디렉토리
/dev/sda (하드디스크 장치파일), /dev/cdrom(CD-ROM)장치파일 등과 같은 장치 파일들이 여기에 위치해있다. 예를들어 마우스, 키보드등의 디바이스와 관련된 파일들.
즉, 물리적 장치가 파일화되어 저장
위치: /etc
이름:
설명: 설정 파일을 두는 디렉토리
위치: /home
이름: 홈
설명: 사용자들의 홈디렉토리가 있는 곳
사용자를 추가하면 사용자의 id와 동일한 디렉토리가 이곳에 자동으로 생성
위치: /lib
이름: 라이브러리
설명: 커널이 필요로 하는 각종 라이브러리 파일, 커널 모듈파일 등이 존재하는 디렉토리
위치: /media
이름: 미디어
설명: DVD, CD-ROM, USB 등의 외부 장치들의 마운트 포인트(연결)로 사용하는 디렉토리
위치: /mnt
이름: 마운트
설명: /media와 비슷한 기능을 한다.
다만 차이점은, Media는 OS에서 자동으로 마운팅해주는 포인트로 주로 사용되며 Mnt는 사용자가 직접 마운트하는 경로로 사용된다.
예를들어 컴퓨터에 USB꽂아 OS에 자동으로 마운팅된다면 주로 Media 폴더 내에,
외부에 있는 디스크등을 직접 명령어를 통해 마운트한다면 Mnt 디렉토리에 위치하게 된다.
위치: /opt
이름: 옵트
설명: 추가 응용프로그램 패키지 설치 장소
패키지 매니저가 자체적으로 설치/삭제를 수행함
위치: /proc
이름: 프로세스
설명: '가상파일시스템' 이라고 하는 곳으로 현재 메모리에 존재하는 작업들이 파일 형태로 존재하는 곳
프로세스 정보 등 커널 관련 정보가 저장
위치: /root
이름: 루트
설명: 관리자계정 root 사용자의 홈디렉토리 (/ 디렉토리와 다르다. 이건 사용자의 디렉토리)
위치: /sbin
이름: 시스템 바이너리
설명: 시스템 이진파일(실행파일)ifconfig, ethtool, halt, e2fsck와 같은 시스템 명령어들을 저장하고 있는 디렉토리
위치: /usr
이름: 유저
설명: 일반 사용자들이 사용하는 디렉토리
위치: /var
이름: 바
설명: 기타 모든 다용도로 사용될 수 있는 파일들이 저장되며 로그파일, 데이터베이스 캐싱파일, 웹서버 이미지 파일 등이 위치하는 디렉토리
위치: /sys
이름: 시스템
설명: 디바이스를 관리하기 위한 가상 파일 시스템 디렉토리이다.
위치: /run
이름: 런
설명: Run-time variable data를 관리한다. 부팅한 후의 시스템 정보를 관리하는 디렉토리이다.
위치: /tmp
이름: 템프
설명: 임시파일을 저장하기 위한 디렉토리이다.
재부팅 시에 삭제되며, 정기적으로 10일 정도 간격으로 삭제된다.
위치: /lost_found
이름: 로스트
설명: 휴지통 같은 개념이라 보면된다.
출처: https://lifegoesonme.tistory.com/457