카테고리 없음

리눅스 2주차

joonkong1 2024. 12. 1. 19:27

1. 기본 명령어

지난 주차에는 디렉토리와 파일을 이동하고 내용을 확인하는 방법에 대해 공부했다.

 

 

1) 생성과 삭제

 

다음으로는 디렉토리와 파일을 생성하고 삭제하는 방법에 대해 알아보았다.

 

 

  • mkdir
    디렉토리를 생성하는 명령어이다.

한번에 여러 개를 만들 수도 있다.

 

 

생성한 디렉토리보다도 하위 디렉토리를 만들고 싶을 때는 /를 이용하면 된다.

내가 원하는 위치에 생성되었는지 확일할 떄는 tree가 더 편하다.

 

 

하지만 상위 디렉토리부터 하위 디렉토리까지 하나씩 만드는 것이 번거로울 때는

-p 옵션을 추가하면 내가 입력한 최상위 디렉토리부터 최하위 디렉토리까지 한번에 생성된다.

 

 

 

  • rmdir
    디렉토리를 삭제하는 명령어이다. 하지만 디렉토리 안에 또 다른 디렉토리나 파일이 있다면 삭제할 수 없다.

 

 

 

  • rm
    파일이나 디렉토리를 삭제하는 명령어이다. 디렉토리를 삭제하는 경우에는 -r 옵션을 추가해야 한다.
    (파일에는 -r을 붙이던 말던 상관 없어서 상시 붙이고 사용하는 것도 나쁘지 않을 것 같다.)

삭제 전에 한번 더 물어봐준다.

 

 

 

때문에 하위 디렉토리가 많은 디렉토리를 삭제하는 경우에는 이렇게 번거롭다는 단점이 있다.

 

그래서 추가하는 옵션이 -f이다.

귀찮게 물어보지 말고 강제로 전부 삭제하라는 뜻이다.

 

 

하지만 'rm -rf  *'은 현재 디렉토리 내의 모든 것을 삭제하기 때문에

루트 디렉토리에서 쓸 경우 대참사가 일어날 수 있다.

때문에 현재 상황에 맞는 옵션을 추가해서 사용하는 것이 안전하다.

1. 현재 디렉토리 내의 dir어쩌구를 모두 삭제하라

2.  /root/test의 모든 것들을 삭제하라

 

이런 식으로 상황에 맞는 명령을 내리면 루트 디렉토리 내를 텅 비워버리는 참사를 막을 수 있을 것이다.

 

 

    • touch
      파일과 디렉토리의 날짜 및 시간 정보를 변경하거나 비어있는 파일을 생성할때 사용하는 명령어이다.

디렉토리와 다르게 흰색으로 표시된다.

 

ls -l을 통해서 알 수 있듯 파일을 생성한 날짜와 시각이 표시된다.

이것은 -t 옵션으로 변경할 수 있다.

내 생일로 해봤다.

 

반대로 기존 파일에 touch를 사용하면 현재 시간으로 변경할 수 있다.

 

 

추가적으로 괄호를 사용하면 많은 파일을 한거번에 만드는 데에 용이하다.

 

 

# touch file{1..100}

 

touch file{138382,9458673,20394}

 

 

 

 

  • cp
    파일 및 디렉토리를 같은 디렉토리 또는 다른 디렉토리로 복사하는 명령어이다.

-p  원본 파일 속성 정보를 그대로 유지하여 복사한다.

-r   디렉토리를 복사할때 사용한다. 복사 위치에 해당 디렉토리가 없다면, 디렉토리를 자체가 복사된다. 맊약, 복사 위치에        해당 디렉토리가 있다면, 디렉토리 앆으로 디렉토리가 복사된다.

 

'.' 을 입력하면 이름을 변경하지 않는다.

 

 

 

dir1 디렉토리가 dir2 디렉토리 안에 하나 더 생성됐다.

 

 

 

현재 존재하지 않는 디렉토리를 입력하면 새로 생성된 디렉토리 안에 복제한다.

 

 

 

 

  • mv 
    파일 및 디렉토리의 이름을 변경하거나 다른 디렉토리로 이동시키는 명령어이다.

 

 

file1 -> file11

dir1 -> dir11

 

 

만약 이미 있는 파일을 지정하면 이름이 변경되는 것이 아닌 이동을 하게 된다.

 

 

 

 

  • cat
    ASCII text 로 구성된 여러 개의 파일들을 나열하여 파일 내용을 출력할때 사용하는 명령어이다.
    -n 옵션을 사용하면 줄번호도 같이 생성된다.
  • more
    출력 내용을 한 페이지씩 출력한다.
  • head
    첫 번째 줄부터 n 번째 줄까지 출력한다.
  • tail
    마지막 줄부터 위로 n 번째 줄까지 출력한다.

cat

 

 

head, tail

 

 

 

 

 

  • ;
    명령어를 둘 다 실행한다

 

 

 

 

 

  • file
    파일 유형을 확인할 수 있다.

cat으로 내용을 볼 수 있을지 없을지 확인이 가능하다.

 

 

 

  • grep
    출력 결과 내용 또는 파일 및 디렉토리 안에 있는 숫자, 문자, 글자, 문자열, 기호를 검색하는 명령어이다.

-w    해당 문자맊 검색

-v     해당 문자를 제외한 나머지 검색

-i      대소문자 구분하지 않고 검색

-E    여러개의 문자 검색

 

 

 

 

  • egrep
    출력 결과 내용 또는 파일 및 디렉토리 안에 있는 숫자, 문자, 글자, 문자열, 기호 여러 개를 검색하는 명령어이다.
    (사실상 grep -E와 역할이 거의 같다)

 

/etc/services의 내용 중에서

telnet이나 ssh나 http로 시작하는 열들을 찾아줘

라는 뜻

 

 

추가적으로 검색기능이 있는 몇가지 명령어를 더 알아봤다.

  • which
    $PATH 환경변수에 등록된 디렉토리 내에서만 파일을 검색하는 명령어이다.
    (또한 alias 명령어가 있는 경우에는 alias 명령어 정보도 같이 출력한다.)
  • find 
    경로를 지정하여 파일과 디렉토리를 검색하는 명령어이다.

 

 

기타 관리 명령어

 

  • wc
    표준 출력에 대한 라인, 단어, 문자 개수를 출력하는 명령어이다.
  • su, su-
    다른 계정으로 전환할때 사용하는 명령어이다.
  • id, groups
    계정 ID 정보 확인, 계정 그룹 정보 확인
  • last, lastlog, lastb
    로그인 히스토리, 가장최근에 로그인한 사용자 정보, 로그인 실패 정보를 확인할 수 있다.
  • who, w
    현재 시스템에 접속된 계정, ip주소, 실행한 프로세스 정보를 확인하는 명령어이다.
  • cmp, diff
    두 개의 파일을 비교하여 다른 내용을 확인할 수 있는 명령어이다.
  • sort
    출력하는 내용을 정렬할때 사용하는 명령어이다. 정렬의 기준은 오름차순이 기본값이다.