Linux

Linux 단축키(업데이트 중)

코딩공부 2021. 9. 24. 16:21
  • 파일 시스템을 위한 명령어
    - mk dir
    디렉토리 생성
    - rmdir
    디렉토리 삭제
    - touch
    빈 파일 생성
    - mv
    파일이동 / 변경
    - rm
    파일 삭제
      - rm 은 파일은 삭제되는데 디렉토리는 지울 수 없음
      - rm - r folder를 삭제 할 수 있음 (안에 내용까지 같이 삭제됨) 

      - rm -ri 를 사용하면 안에 파일 삭제 하는지 물어볼 수도 있음

    - cp
    파일 복사 

  • 파일 찾기와 파일 정보 확인하기 
    - find

      ex) find ./ -name *.java                    ./ or .  = 현재 디렉토리 ( /슬래쉬 생략가능 ) 
           find . -name *.java -size +1c        java중에 크기가 1byte 이상을 찾음 ( +는 이상 - 는 이하 )
                                                       c를 안붙이면 기본값이 512byte    1 = 512byte 
           find / -name *.java                    검색시에 root 계정이 아니면 권한 때문에 검색제한이 되는 폴더들이 많음
    - cat ( 파일에 대한 정보 )
      ex) cat Hello.java                       
                                                       class Hello{
                                                             public static void main(String[] args) {
                                                                  System.out.println("Hello Linux");

                                                               }
                                                          }
- head
  ex) head -n2 Hello.java     (위에서 2줄만 검색)
                                                   class Hello{
                                                         public static void main(String[] args) {

- tail 
  ex) tail -n2 Hello.java     (아래에서 2줄만 검색)
                                                               }
                                                          }

 

- grep ( 문서 내 내용 검색 )
  ex) grep class Hello.java 
       결과 : class Hello{

       grep "Hello Li" Hello.java ( 띄어쓰기가 있을 경우 " " 으로 묶어줌) 
       결과 : System.out.println("Hello Linux");

       grep -i "hello Li" Hello.java ( 대소문자 구분 없이 검색시에 -i ) 
       결과 : System.out.println("Hello Linux");

- cp (파일 복사)
  ex) cp Hello.java Hello2.java 
- ls (검색) 
  ex) ls 
       결과 : Hello1.java Hello2.java
       ls Hello[12].java ( Hello1.java 또는 Hello2.java 검색 )
       결과 : Hello1.java Hello2.java
       ls Hello?.java ( ? or * 을 사용해서 도 검색 가능 )
       결과 : Hello1.java Hello2.java

- cmp
  ex) cmp Hello.java Hello1.java 
       결과 : Hello.java Hello1.java differ : byte 97, line 3 ( 다른곳이 어딘지 찾을 수 있다)

 

- diff 
  ex) diff Hello.java Hello1.java 
       결과 :
               < System.out.println("Hello Linux");
                ---
               > System.out.println("Hello Linux1");


- mv ( 이동 및 이름변경 )
  ex) mv Hello.java Hello  ( 같은 디렉토리 내에서 mv를 사용하면은 파일 이름이 변경됨) 

- file ( 파일인지 디렉토리인지 ) 
  ex) file Hello 
      결과 : Hello: c++ source, ASCII text 

- car
- which

유용한 명령어

- history ( 지금 껏 사용했던 명령어들 보기) 

- !숫자 ( 히스트로에 나와있던 명령어에 해당하는 숫자를 입력하면 해당 명령어 다시 수행) 

- redirect ( 화면에 출력되는게 아니라 파일로 만들어줌 )
  ex ) history > test 
       결과 : test 라는 파일이 생성됨
 
        echo  "hello" 
        결과 : hello
        echo "Hello" > test ( test파일에 덮어쓰기가 된다 ) 
        echo "Okay" >> test ( test파일에 데이터를 추가 하는것) 

- piping ( |(역슬래쉬) 를 사용하여 추가 작업을 할 수 있음 ) 
  ex ) cat test
       결과 : Hello
               Okay 

        cat test | grep He
        결과 : Hello

        ls - l | less

        cat test | sort 
        결과 : Hello
                Okay 

        cat test | sort  -r 

        결과 : Okay 
                Hello
  

        touch test1; echo "okay~"  >> test1; cat test1

        ( 여러가지 작업을 순서대로 실행, 1.test1 생성 2. okay를 리다이렉션 3. test1출력 )
        결과 : okay 

 

  • source
    스크립트 파일을 수정한 후에 수정된 값을 바로 적용
    (재시작을 해야 적용되지만 재시작 않고 적용할 수 있음)
    ex) source /etc/bashrc
  • echo
    인수로 전달되는 텍스트/문자열을 표시하는데 사용

  • ss ( Socket Statistics)
    리눅스에서 네트워크 상태를 확인하기 위해 흔히 사용하는 명령어로는 netstat 를 들수 있는데,
    대체 명령어로 ss도 사용할 수 있음.
    ex) ss -lnt
    State                       Recv-Q                      Send-Q                                            Local Address:Port                                             Peer Address:Port                      Process
    LISTEN                      0                           4096                                              127.0.0.53%lo:53                                                    0.0.0.0:*
    LISTEN                      0                           128                                                     0.0.0.0:22                                                    0.0.0.0:*
    LISTEN                      0                           100                                                           *:8080                                                        *:*
    LISTEN                      0                           128                                                        [::]:22                                                       [::]:*​



  •  systemctl (서비스 제어 명령어)

    [명령 종류]
    - disable : enable 한 서비스 해제
    - enable : 시스템이 재부팅하면 자동으로 서비스 실행하도록 등록
    - reload : 서비스를 중지하지 않고 설정 값을 반영 (서비스가 중지되면 안되는 경우 사용)
    - restart : 서비스 재시작 (중지 -> 시작) : 보통 변경한 설정 후에 많이 사용
    - status : 서비스 상태 확인 (서비스가 구동 중인지 아닌지 알 수 있음)
    - stop : 서비스 중지
    - start : 서비스 시작

    systemctl [명령] [서비스명] : 서비스명 입력할 때 [서비스명].service를 다 쳐야하는 경우도 있습니다.
    ex) systemctl start httpd             - 아파치 서비스 시작
         systemctl start tomcat.service - 톰캣 서비스 시작


  •  ps (Process State - 프로세스 상태 확인)
    ps 명령어는 실행중인 프로세스 목록과 상태 출력 (CPU 사용률과 사용중인 프로세스를 확인용도)
    ex) ps -ef 
    UID          PID    PPID  C STIME TTY          TIME CMD
    root           1       0  0 Sep17 ?        00:00:21 /lib/systemd/systemd --system --deserialize 25
    root           2       0  0 Sep17 ?        00:00:00 [kthreadd]
    root           3       2  0 Sep17 ?        00:00:00 [rcu_gp]

  • grep
    입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어

  • scp (Secure Copy) 
    리눅스 환경에서 remote로 전송할 수 있습니다.
    즉, 외부로 복사하거나 외부 파일을 복사하여 가져올 수 있습니다. 
    일반적인 cp 명령어의 앞에 s를 붙여 scp를 사용
  •  

'Linux' 카테고리의 다른 글

profile, bashrc 설정 파일  (0) 2022.03.17
Ubuntu20.04 Mysql 외부접속 허용  (0) 2021.11.25
Linux에서 service 등록 하는 이유  (0) 2021.09.30
init.d, systemd 비교  (0) 2021.09.30
ssh - windows에서 linux(ubuntu)로 파일 전송하기  (0) 2021.09.24