카테고리 없음

리눅스 명령어

CodeWithBeam 2024. 8. 6. 23:48

명령어 연습본

 ☑️ Linux 배경

리눅스는 1991년 핀란드의 대학생이었던 리누스 토르발스(Linus Torvalds)에 의해 만들어졌다. 당시 토르발스는 헬싱키 대학교에서 운영 체제를 배우고 있었으며, 미닉스(MINIX)라는 교육용 운영 체제를 사용하고 있었는데 학습용으로 설계되어 상업적으로 사용하기에는 제한이 있었다. 토르발스는 이런 미닉스의 제한된 기능에 불만을 품고, 자신만의 운영 체제를 만들기로 결심하게 되었다고 한다. 처음에 그는 이를 "취미 프로젝트"로 시작했는데 시간이 지나면서 성능과 안정성이 개선되었고, 다양한 플랫폼에서 사용될 수 있도록 확장되었다. 그리하여 오늘날 리눅스는 서버, 데스크톱, 모바일 기기, 임베디드 시스템 등 여러 분야에서 널리 사용되고 있으며, 오픈 소스 소프트웨어의 성공적인 사례로 꼽히고 있다.

 

☑️ 리눅스의 주요 특징

1. 오픈 소스
    : 리눅스는 GPL(GNU General Public License)에 따라 배포되며, 누구나 소스 코드를 볼 수 있고, 수정 및 배포할 수 있다. 
2. 안정성과 보완성
    : 리눅스는 높은 안정성과 보안성을 자랑한다. 다중 사용자 및 다중 작업 환경에서 견고하게 작동하며, 커널 구조가 안전하게 설계되어 있다.
      또한 커뮤니티의 지속적인 코드 리뷰와 보안 패치가 이루어지기 때문에 보안 취약점이 빠르게 해결된다.

3. 다중 사용자 및 다중 작업 지원
     : 리눅스는 다중 사용자가 동시에 시스템을 사용할 수 있게 설계되어 있으며, 여러 작업을 동시에 수행할 수 있는 멀티태스킹을 지원한다.
4.높은 커스터마이징 가능성
     : 사용자가 시스템의 모든 부분을 자유롭게 조정하고 최적화할 수 있다. 다양한 데스크탑 환경(GNOME, KDE 등)과 윈도우 매니저를 선택하         여 사용자 인터페이스를 변경할 수 있다.

 

☑️ 리눅스 명령어

:리눅스에서는 다양한 명령어를 사용하여 시스템을 관리하고 작업을 수행할 수 있다.

 

(1) 파일 및 디렉토리 관리(자주 쓰임)

  • pwd : 작업 디렉토리의 경로를 출력한다.
  • ls : 디렉토리 내용 목록을 표시한다.

        옵션) ls -al : ls -a와 ls -l을 합쳐 출력

        옵션) ls -a : 숨겨진 파일을 포함하여 모든 파일과 디렉토리를 나열

        옵션) ls -l :파일과 디렉토리의 상세 정보를 길게 출력

  • cd : change directory/ 디렉토리를 변경한다.

        기본사용법) cd /path/to/directory

        옵션) .. : 부모 디렉토리로 이동

        옵션) - : 직전 디렉토리로 이동

        옵션 ~ : 홈 디렉토리로 이동

        옵션) / : 루트 디렉토리로 이동

        옵션) ../directory_name : 부모 디렉토리의 하위 디렉토리로 이동

  • touch : 새로운 파일을 생성한다.
  • mkdir : 새로운 디렉토리를 생성한다.

        옵션) mkdir -p : 상위 디렉토리까지 포함하여 필요한 디렉토리를 모두 생성

                 mkdir -p /path/to/directory_name

        옵션) -m : 디렉토리를 생성할때 특정 권한 모드를 설정(숫자형식)

                  mkdir -m 755 directory_name

  • rm [filename]: 파일을 삭제한다. 

        옵션) rm -r : 디렉토리와 그 안의 모든 파일 및 하위 디렉토리를 삭제

                 (r = recursive 재귀적)

        옵션) rm -d : 빈 디렉토리로 삭제'

        옵션) rm -i : 안전하게 대화형 방식으로 제거

 

(2) 파일 작업

  • cp : copy/ 파일이나 디렉토리를 복사한다.

     ex) a.txt 를 b.txt로 복사하고 싶다면 -> cp a.txt b.txt

         one(directory)를 two(directory)로 복사하고 싶다면 cp -r one two

  • mv : move/ 파일이나 디렉토리를 이동하거나 이름을 변경한다.
  • cat : concatenate/ 파일내용을 출력한다.

        옵션) cat file1.txt file2.txt > combine.txt ->1,2 파일내용을 결합하여 새로운 파일에 저장 

        옵션) cat file1.txt >> file2.txt -> 1의 내용을 2에 추가

  • chmod : 파일 및 디렉토리의 권한을 변경한다.
  • nano : 사용자 친화적인 텍스트 편집기로, 명령줄 인터페이스에서 파일을 편집하는데 사용

       옵션) ^o : 파일 저장/ ^x : 편집기 종료 / ^w 검색모드

  • locate : 파일 데이터베이스를 이용하여 빠르게 파일을 찾는 명령어

       ex) locate filename

             sudo updatedb ->데이터베이스 업데이트

  • find : 파일 시스템을 탐색하여 다양한 조건으로 파일을 찾는 명령어이다. find 명령이 시작하라는 파일 트리 지점 아래에 파일과                    디렉터리를 모두 나열한다.

*locate와 find는 비슷해보이지만

locate의 경우 파일 시스템 전체가 아닌 업데이트 되는 파일 데이터 베이스를 참조한다.

따라서 빠른 검색이 장점이지만 검색 조건이 제한적이고 파일의 이름이나 경로에 기반한 검색만 가능하다.

find의 경우 파일 시스템을 직접 검색하기 때문에 locate 보다 검색 속도는 느리지만

현재 파일 시스템 상태를 다 반영하고 파일이름, 크기, 수정시간, 소유권 등 다양한 조건을 조합하여 복잡한 검색이 가능하다.