Top 7 리눅스 실행 명령어 27436 People Liked This Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 리눅스 실행 명령어 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.maxfit.vn team, along with other related topics such as: 리눅스 실행 명령어 리눅스 ./ 없이 실행, 리눅스 ./ 의미, 리눅스 sh 실행, 리눅스 명령어 모음, 리눅스 cmd 실행, 리눅스 명령어 ll, 우분투 파일 실행 명령어, 리눅스 실행파일 만들기

리눅스 터미널에서 파일 실행하는 방법입니다. 이렇게 시작하는 파일들을 (Bash 쉘 스크립트라고도 부르죠) 다 똑같이 실행할 수 있습니다. 실행 방법은 온점과 슬래쉬( ./ )를 입력하고 그 뒤에 파일 이름을 입력하는 것인데요. 이라고 입력 하시면 실행이 됩니다.


리눅스 명령어 모음 | 초중급 개발자를 위한 기본 명령어 강좌
리눅스 명령어 모음 | 초중급 개발자를 위한 기본 명령어 강좌


원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소

  • Article author: forestunit.tistory.com
  • Reviews from users: 19597 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소 Updating …
  • Most searched keywords: Whether you are looking for 원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소 Updating * 이 시리즈는 윈도우나 iOS를 주로 사용하고 리눅스를 잘 모르는 사용자가 리눅스를 사용해야할 때를 위한 시리즈입니다. 리눅스 터미널에서 파일 실행하는 방법입니다. 보통 많이 봤던 .exe파일이나, .sh파일,..여행하고 리뷰하고 맛집탐방도 하고, 과학도 하는 미니도넛 입니다! 😊 늘 새롭고 재밌는 것을 찾고 있습니다.
  • Table of Contents:

TAG

관련글 관련글 더보기

인기포스트

티스토리툴바

원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, ...) :: 미니도넛의 정보저장소
원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소

Read More

원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소

  • Article author: www.mireene.com
  • Reviews from users: 1264 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소 … 시 반드시 ascii로 하고 나머지 그림(*.gif *.jpg)이나 자바 애플릿(*.), 실행파일(*.exe *.zip *.rar)등은 binary mode로 업로드 할 것. 리눅스 기본명령어 … …
  • Most searched keywords: Whether you are looking for 원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소 … 시 반드시 ascii로 하고 나머지 그림(*.gif *.jpg)이나 자바 애플릿(*.), 실행파일(*.exe *.zip *.rar)등은 binary mode로 업로드 할 것. 리눅스 기본명령어 … * 이 시리즈는 윈도우나 iOS를 주로 사용하고 리눅스를 잘 모르는 사용자가 리눅스를 사용해야할 때를 위한 시리즈입니다. 리눅스 터미널에서 파일 실행하는 방법입니다. 보통 많이 봤던 .exe파일이나, .sh파일,..여행하고 리뷰하고 맛집탐방도 하고, 과학도 하는 미니도넛 입니다! 😊 늘 새롭고 재밌는 것을 찾고 있습니다.
  • Table of Contents:

TAG

관련글 관련글 더보기

인기포스트

티스토리툴바

원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, ...) :: 미니도넛의 정보저장소
원포인트 Linux: 터미널에서 파일 실행하기 (.exe, .sh, …) :: 미니도넛의 정보저장소

Read More

[Ubuntu/Linux] 파일 실행하기 / 파일 열기 명령어

  • Article author: rk1993.tistory.com
  • Reviews from users: 21049 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Ubuntu/Linux] 파일 실행하기 / 파일 열기 명령어 Linux 파일 실행 명령어. 리눅스 초보에게는 파일 실행하기도 어렵다. 디렉토리 변경 후 ubuntu에서 파란색으로 되어있는 파일을 실행시키고 싶은데 … …
  • Most searched keywords: Whether you are looking for [Ubuntu/Linux] 파일 실행하기 / 파일 열기 명령어 Linux 파일 실행 명령어. 리눅스 초보에게는 파일 실행하기도 어렵다. 디렉토리 변경 후 ubuntu에서 파란색으로 되어있는 파일을 실행시키고 싶은데 … Linux 파일 실행 명령어 리눅스 초보에게는 파일 실행하기도 어렵다. 디렉토리 변경 후 ubuntu에서 파란색으로 되어있는 파일을 실행시키고 싶은데 마음대로 안된다. 그래서 검색을 해보니 아래와 같은 방식으로..우주먼지의하루
  • Table of Contents:

우주먼지의 하루

[UbuntuLinux] 파일 실행하기 파일 열기 명령어

Linux 파일 실행 명령어

Linux 리스트 확인 및 디렉토리 변경 명령어

[Ubuntu/Linux] 파일 실행하기 / 파일 열기 명령어
[Ubuntu/Linux] 파일 실행하기 / 파일 열기 명령어

Read More

리눅스 초보자를 위한 명령어 모음

  • Article author: seeuseeu.tistory.com
  • Reviews from users: 3134 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 리눅스 초보자를 위한 명령어 모음 오늘은 리눅스 시스템이 생소한 초보자들을 위해 리눅스 명령어들을 간단히 소개하고자 한다. … 소유자는 모든 권한을 가지고 그룹과 제 3자는 읽기와 실행만 가능. …
  • Most searched keywords: Whether you are looking for 리눅스 초보자를 위한 명령어 모음 오늘은 리눅스 시스템이 생소한 초보자들을 위해 리눅스 명령어들을 간단히 소개하고자 한다. … 소유자는 모든 권한을 가지고 그룹과 제 3자는 읽기와 실행만 가능.  업무상 가끔 리눅스 시스템에 접속할 일이 있는데 매일 사용하지 않기 때문에 명령어가 잘 기억나지 않는 경우가 많다. 그리고 윈도우 시스템처럼 마우스로 클릭하면서 이루어지는 작업이 아니기 때문에 생소..
  • Table of Contents:

네비게이션

리눅스 초보자를 위한 명령어 모음

리눅스 퍼미션

리눅스 필수 명령어

리눅스 기본 명령어

압축명령 사용법

사이드바

검색

리눅스 초보자를 위한 명령어 모음
리눅스 초보자를 위한 명령어 모음

Read More

¸®´ª½º ¸í·É¾î

  • Article author: coffeenix.net
  • Reviews from users: 34193 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about ¸®´ª½º ¸í·É¾î 리눅스 환경구성 및 오라클 설치 구축 시 많이 사용되었던 리눅스 명령어와 기타 … 현재 디렉토리에 있는 runInstaller라는 바이너리 파일을 실행하라는 의미이다. …
  • Most searched keywords: Whether you are looking for ¸®´ª½º ¸í·É¾î 리눅스 환경구성 및 오라클 설치 구축 시 많이 사용되었던 리눅스 명령어와 기타 … 현재 디렉토리에 있는 runInstaller라는 바이너리 파일을 실행하라는 의미이다.
  • Table of Contents:
¸®´ª½º ¸í·É¾î
¸®´ª½º ¸í·É¾î

Read More

[Linux] 명령어 정리 (Ubuntu 사용)

  • Article author: velog.io
  • Reviews from users: 6990 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Linux] 명령어 정리 (Ubuntu 사용) daemon: 항상 실행되고 있다. 테스트를 위해 apache2 웹서버 설치. $ sudo apt-get install apache2. 설치 후 / … …
  • Most searched keywords: Whether you are looking for [Linux] 명령어 정리 (Ubuntu 사용) daemon: 항상 실행되고 있다. 테스트를 위해 apache2 웹서버 설치. $ sudo apt-get install apache2. 설치 후 / … 디렉토리 목록 확인
    `
    $ ls
    `
    `
    $ ls -al
    `
    `
    $ ls -l
    `
    감춰진 파일은 .이 붙는다. a 옵션을 사용하면 해당 파일을 확인할 수 있다.

    현재 위치 확인
    `
    $ pwd
    `

    새 디렉토리 생성
    `
    $ mkdir [디렉토리명] `
    `
    $ mkdir

  • Table of Contents:

디렉토리 관련 명령어

파일 관련 명령어

현재 위치 확인

명령창 내용 삭제

명령어 도움말 확인

패키지 매니저 (Package Manager)

다운로드

why CLI

IO Redirection

디렉토리 구조

프로세스 관련 명령어

백그라운드 실행

daemon 항상 실행되고 있다

cron (정기적으로 실행시키고 싶은 작업이 있을 때)

단축키 만들기

bashrc 파일

다중 사용자

permission (권한)

IP 주소 확인

웹서버

SSH

포트 (port)

도메인과 DNS (Domain Name System)

rsync

암호화

[Linux] 명령어 정리 (Ubuntu 사용)
[Linux] 명령어 정리 (Ubuntu 사용)

Read More

꼭 필요한 리눅스 명령어

  • Article author: www.nextree.co.kr
  • Reviews from users: 41299 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 꼭 필요한 리눅스 명령어 쌍느낌표(Double exclamation) ‘!!’ 는 바로 직전 명령어를 실행한다. 다음 예제를 보자. !! | grep Linux. 이 기능을 다음과 같이 쉽게 응용 할 수 있다. …
  • Most searched keywords: Whether you are looking for 꼭 필요한 리눅스 명령어 쌍느낌표(Double exclamation) ‘!!’ 는 바로 직전 명령어를 실행한다. 다음 예제를 보자. !! | grep Linux. 이 기능을 다음과 같이 쉽게 응용 할 수 있다.
  • Table of Contents:

1 명령어 cd

2 명령어 history

3 특수문자 { }

4 특수문자

5 특수문자

6 특수문자 [ ]

7 백그라운드에서의 프로그램 실행

8 검색 명령

9 접근 권한

10 yum 시스템을 최신 버전으로 유지하기

11 설치하고 싶은 유틸리티 찾기

꼭 필요한 리눅스 명령어
꼭 필요한 리눅스 명령어

Read More

[linux] 리눅스 명령어 정리 :: 무한삽질 개발자

  • Article author: jju-code.tistory.com
  • Reviews from users: 24864 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [linux] 리눅스 명령어 정리 :: 무한삽질 개발자 ls 는 현재 위치의 파일 목록을 조회하는 명령어이다. 주요 옵션으로는. F : 파일 유형을 나타내는 기호를 파일명 끝에 표시한다. (디렉토리는 ‘/’, 실행 … …
  • Most searched keywords: Whether you are looking for [linux] 리눅스 명령어 정리 :: 무한삽질 개발자 ls 는 현재 위치의 파일 목록을 조회하는 명령어이다. 주요 옵션으로는. F : 파일 유형을 나타내는 기호를 파일명 끝에 표시한다. (디렉토리는 ‘/’, 실행 … 꼭 알아야할 리눅스 기본 명령어 10가지 1. ls – 현재 위치의 파일목록을 조회하는 명령어 2. cd – 디렉토리를 이동하는 명령어 3. touch – 파일의 용량이 0인 파일을 생성, 날짜 변경하는 명령어 4. mkdir – 디렉..
  • Table of Contents:
[linux] 리눅스 명령어 정리

꼭 알아야할 리눅스 기본 명령어 10가지

그 외 명령어

01 ls (list segments) – 파일 리스트 보기

02 cd (change directory) – 디렉토리를 변경

03 touch – 빈파일을 생성

04 mkdir (make directory) – 디렉토리 생성

05 cp (copy) – 파일을 복사

06 mv (move) – 파일이름(rename) 위치(move) 변경

07 rm (remove) – 파일 삭제

08 cat (catenate) head tail – 화면에 내용을 출력

09 redirection ( ” ” )

10 grep – 파일 내에서 지정한 패턴이나 문자열을 찾기

11 pwd – 현재의 디렉토리 경로를 보여주기

12 alias

13 find – 각종 파일디렉토리 검색하기

14 man – 명령어의 모든 정보 확인하기

[linux] 리눅스 명령어 정리 :: 무한삽질 개발자
[linux] 리눅스 명령어 정리 :: 무한삽질 개발자

Read More

[리눅스] which 명령어: 실행 파일 위치 출력 – LainyZine

  • Article author: www.lainyzine.com
  • Reviews from users: 3068 ⭐ Ratings
  • Top rated: 3.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [리눅스] which 명령어: 실행 파일 위치 출력 – LainyZine 리눅스에서 실행가능한 명령어의 위치를 찾을 때 which 명령어를 사용합니다. 이 글에서는 which 명령어의 사용법과 동작 원리, 옵션에 대해서 알아 … …
  • Most searched keywords: Whether you are looking for [리눅스] which 명령어: 실행 파일 위치 출력 – LainyZine 리눅스에서 실행가능한 명령어의 위치를 찾을 때 which 명령어를 사용합니다. 이 글에서는 which 명령어의 사용법과 동작 원리, 옵션에 대해서 알아 … 리눅스에서 실행가능한 명령어의 위치를 찾을 때 which 명령어를 사용합니다. 이 글에서는 which 명령어의 사용법과 동작 원리, 옵션에 대해서 알아봅니다.
  • Table of Contents:

which 명령어로 실행 파일 경로 찾기

$PATH 환경변수와 which 명령어

$PATH 환경변수와 which의 동작 원리

-a 옵션 모든 실행 파일 경로 출력

종료 코드(Exit Status)

추천 문서

[리눅스] which 명령어: 실행 파일 위치 출력 - LainyZine
[리눅스] which 명령어: 실행 파일 위치 출력 – LainyZine

Read More

리눅스 / 명령어 / history / 이전에 실행했던 명령어 목록 출력하는 명령어 – MANUAL FACTORY

  • Article author: www.manualfactory.net
  • Reviews from users: 27679 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 리눅스 / 명령어 / history / 이전에 실행했던 명령어 목록 출력하는 명령어 – MANUAL FACTORY 최근 실행한 10개의 명령어를 출력합니다. !! !!를 입력하고 엔터를 누르면 직전에 실행했던 명령어를 다시 실행합니다. !n. …
  • Most searched keywords: Whether you are looking for 리눅스 / 명령어 / history / 이전에 실행했던 명령어 목록 출력하는 명령어 – MANUAL FACTORY 최근 실행한 10개의 명령어를 출력합니다. !! !!를 입력하고 엔터를 누르면 직전에 실행했던 명령어를 다시 실행합니다. !n. history history는 이전에 실행했던 명령어 목록 출력하는 명령어입니다. history 이전에 실행했던 명령어 목록을 일련번호와 함께 출력합니다. history n 최근 n개의 명령어 목록을 출력합니다. history 10 최근 실행한 10개의 명령어를 출력합니다. !! !!를 입력하고 엔터를 누르면 직전에 실행했던 명령어를 다시 실행합니다. !n 일련번호가 n인 명령어를 실행합니다. !202 번호가 202인 명령어를 실행합니다.
  • Table of Contents:
리눅스 / 명령어 / history / 이전에 실행했던 명령어 목록 출력하는 명령어 – MANUAL FACTORY
리눅스 / 명령어 / history / 이전에 실행했던 명령어 목록 출력하는 명령어 – MANUAL FACTORY

Read More


See more articles in the same category here: 180+ tips for you.

리눅스 초보자를 위한 명령어 모음

업무상 가끔 리눅스 시스템에 접속할 일이 있는데 매일 사용하지 않기 때문에 명령어가 잘 기억나지 않는 경우가 많다.

그리고 윈도우 시스템처럼 마우스로 클릭하면서 이루어지는 작업이 아니기 때문에 생소하기도 하다.

검정색 커맨드 창에서 온통 영어뿐인 화면에서 일을 한다는건 초보자들에겐 여간 까다로운 일이 아니며 지레 겁부터 먹게 된다.

오늘은 리눅스 시스템이 생소한 초보자들을 위해 리눅스 명령어들을 간단히 소개하고자 한다.

리눅스 퍼미션

▶파일 혹은 디렉토리에 접근할 수 있는 권한을 말한다. 이 권한을 통해서 사용자는 파일이나 디렉토리에 대하여 다른 사용자의 접근을 제어 가능하다.

Owner (소유자) Group (그룹) Other (그 외 사용자)

r w x r w x r w x r : read(읽기) / w : write(쓰기) / x : execute(실행) 4 2 1 4 – 1 4 – 1 읽기는 4, 쓰기는 2, 실행은 1로 표현하여 합산한다. 7 5 5 소유자는 모든 권한을 가지고 그룹과 제 3자는 읽기와 실행만 가능.

리눅스 필수 명령어

명령어 설명 MS-DOS 비교 ./x x 프로그램 실행(현재 디렉토리에 있는 것) x ↑/↓ 이전, 다음에 입력했던 명려어 doskey cd x(또는 cd /x) 디렉토리 x로 가기 cd cd..(또는 cd ../) 한 디렉토리 위로 가기 cd.. x 다음[tab][tab] x로 시작하는 모든 명령어 보기 – adduser 시스템에 사용자 추가 / ls (또는 dir) 디렉토리 내부 보여주기 dir cat 터미널 상의 텍스트 파일 보기 type mv x y 파일 x를 파일 y로 바꾸거나 옮기기 move cp x y 파일 x를 파일 y로 복사하기 copy rm x 파일 지우기 del mkdir x x라는 디렉토리 만들기 md rmdir x 디렉토리 x 지우기 rd rm -r x 디렉토리 x를 지우고 하위도 다 지우기 deltree rm p 패키지 지우기 – df (또는 df x) 장치 x의 남은 공간 보여주기 chkdsk top 메모리 상태 보여주기(종료는 q) men man x 명령어 x에 관한 메뉴얼 페이지 얻기 / less x 텍스트 파일 x 보기 type x | more echo 어떤것을 echo 화면에 인쇄한다. echo mc unix를 위한 노턴 커맨드 nc mount 장치에 연결(해제는 unmount) – halt 시스템 종료 – reboot 시스템 다시 시작하기 [ctrl] + [alt] + [del]

리눅스 기본 명령어

명령어 설명 사용방법 du 디스크 사용량 확인 자신의 디스크 공간을 확인할 때 # du 특정 디렉토리의 사용량을 확인할 때 # du -s diretory_name ls 파일과 디렉토리의 구조 확인 -h : 파일의 크기를 단위별로 보기 좋게 보여준다. -l : 속성값, i노드값 등 파일에 관한 상세 정보를 표시한다. -a–all : .을 포함한 경로안의 모든 파일을 표시한다. -t : 파일이 생성된 시간별로 표시한다. -C : 도스의 dir/w명령과 같 이 한줄에 여러개의 정보를 표시한다. -R : 도스의 dir/s 명령과 같이 서브디렉토리 내용까지 보여준다.

(예)아래와 같이 혼합해서 사용이 가능하다. # ls -al # ls -aC # ls -R cd 원하는 디렉토리로 이동 . : 현재 디렉토리 .. : 상위디렉토리로 이동 ~ 또는 $HOME : 어느곳에서든지 사용자의 홈디렉토리로 바로 이동 ~username : 해당 사용자의 홈디렉토리로 이동 cp 파일 복사(copy) -a : 원본 파일의 속성은 그대로 유지하면서 복사한다. -p : 원본 파일의 소유자, 그룹권한 정보들을 그대로 유지하면서 복사한다. -r/-R : 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사한다. -i : 사용자에게 물어보고 복사한다. -v : 복사 상태에 대해 자세히 보여준다. mv 파일 이동 혹은 파일 이름 변경 -v : 이동하기전 각각의 파일 이름을 출력한다. 파일의 이름 변경에도 활용 가능하다. mkdir 디렉토리 생성 (예) # mkdir guest : guest 라는 디렉토리를 생성한다. rm 파일 삭제 (예) # rm aaa.html : aaa.html 파일을 삭제한다. # rm -r <디렉토리 명> : 해당 디렉토리 전체를 삭제 # rm -i a.* : a로 시작하는 모든 파일을 일일이 삭제할 것인지 확인하면서 삭제한다. rmdir 디렉토리 삭제 (예) # rmdir AAA : AAA라는 디렉토리 삭제 rm명령어로 삭제되기 때문에 잘 사용하지 않는다. pwd 현재 작업중인 디렉토리의 절대 경로를 확인 # pwd put ftp 상태에서 파일 업로드 여러 파일은 mput >(m)put filename.html get ftp 상태에서 파일 다운로드 여러 파일은 mget >(m)get filename.html chmod 파일이나 폴더의 권한 설정 예) -rwxr-xr-x filename rwx : 처음 3개(사용자 자신의 사용 권한) r-x : 그다음 3개(그룹 사용자의 사용 권한) r-x : 마지막 3개(전체 사용자의 사용 권한)

읽기(read) : 파일 읽기 권한 쓰기(write) : 파일 쓰기 권한 실행(execution) : 파일 실행 권한 없음(-) : 사용권한 없음

(예)명령어 사용법 chmod [변경모드] [파일]

# chmod 766 aaa.html : aaa.html 파일에 자신은 모든 권한을 주고, 그룹사용자와 전체 사용자에게는 읽기와 쓰기 권한만 준다. alias 명령어 축약 자주 사용하는 명령어를 줄여서 실행 가능하게 하는 기능이다. alias[단축어] = “[실제 명령어]”

(예) # alias y = “pwd” : y를 치면 pwd가 실행되어 진다. cat 임의의 입력을 출력해서 보여줌 -b : 공백이 없는 출력에 순서를 매긴다. -n : 모든 출력에 순서를 매긴다. -s : 수많은 근접한 공백들을 밀착시킨다. #cat filename more 한 화면씩 보기 # more <옵션> v : vi 편집기로 전환 b : 이전 페이지 q : more 상태를 빠져나감 h : 도움말 = : 현재 line number를 보여줌 *Space bar : 다음 페이지로 넘어간다. *Return(enter) key : 다음 줄을 보여준다. who(w) 현재 login하고 있는 사용자의 목록을 보여준다. # who df 사용자 자신의 HDD의 상세 정보를 표시 사용중인 HDD의 파티션 정보, 전체용량, 사용중인 용량, 남은 용량 등을 %로 보여준다. # df sync 버퍼 작업 처리 버퍼에 있는 최신 데이터를 HDD로 즉시 쓰게 한다. 변경한 데이터가 갑작스런 전원 이상에도 문제 없도록 해준다. 리부팅이나 전원을 종료할 때 사용한다. # sync # sync(2~3회 가량) cat head tail 파일 내용만 보기 # cat filename : 파일의 내용을 모두 보여준다. # head -n filename : n줄 만큼 위세서부터 보여준다. # tail -n filename : n줄 만큼 아래에서부터 보여준다.

압축명령 사용법

명령어 설명 사용방법 tar .tar, _tar로 된 파일을 묶거나 풀때 사용하는 명령어 x : 묶음을 해제 c : 파일을 묶음 v : 묶음/해제 과정을 화면에 표시 z : gunzip을 사용 f : 파일 이름을 저장 p : 권한을 원본과 동일하게 유지 (예) # tar cvf [filename(.tar, _tar)] # tar xvf [filename(.tar, _tar)] compress 확장자 .Z 형태의 압축파일 생성 # compress filename : 압축시 # uncompress filename : 압축해제 gzip 확장자 .gz, .z 형태의 압축파일 생성 # gzip filename : filename.gz로 압축 # gzip -d filename : 압축해제 기타 – 서브 폴더 압축 # gzip -r 디렉토리명 : 디렉토리안의 모든 파일 압축 개개의 파일을 개개의 .gz로 압축

– 서브 폴더 압축해제 # gzip -dr 디렉토리명 : 디렉토리안의 모든 파일의 압축해제

당신이 좋아할만한 기사

[Linux] 명령어 정리 (Ubuntu 사용)

디렉토리 관련 명령어

디렉토리 목록 확인

$ ls

$ ls -al : 감춰진 파일은 .이 붙는다. a 옵션을 사용하면 해당 파일을 확인할 수 있다.

$ ls -l

새 디렉토리 생성

$ mkdir [디렉토리명]

$ mkdir -p [디렉토리명/디렉토리명/디렉토리명…] : 여러 디렉토리 생성

디렉토리 이동

$ cd [디렉토리명]

$ cd .. : 부모 디렉토리로 이동

tip) 디렉토리명이 너무 길 때, 조금만 쓰고 tab키 누르면 자동완성

디렉토리 삭제

$ rm -r [디렉토리명]

: -r (remove directories and their contents recursively; 해당 디렉토리 아래 있는 내용들도 삭제한다.)

파일 관련 명령어

비어있는 파일 생성

$ touch [파일명]

파일 삭제

$ rm [파일명]

파일 복사

$ cp [파일위치 및 파일이름] [목적지 파일위치 및 파일 이름]

파일 이동 (파일 이름을 바꿀 때에도 사용)

$ mv [파일위치 및 파일이름] [목적지 파일위치 및 파일 이름]

$ mv [원래 파일 이름] [바꾸고 싶은 파일 이름]

파일 만들고 편집 (nano 에디터)

$ nano [파일명] : 새 파일 작성 or 존재하는 파일 수정

파일 내용 보기

$ cat [파일명]

파일 위치 검색

$ locate *.log : (확장자가 .log인 파일 찾기)

: 디렉토리를 뒤지는게 아니라 데이터베이스(mlocate)를 뒤져서 찾는다.

$ find . *.log : 디렉토리 뒤짐

$ whereis ls

$ whereis rm

: 실행파일 위치 찾기

현재 위치 확인

$ pwd

명령창 내용 삭제

$ clear

명령어 도움말 확인

$ [명령어] –help

$ man [명령어] : /[찾고싶은단어] 사용해서 단어찾기 가능, 그 상태로 n을 누르면 다음 단어 찾기

패키지 매니저 (Package Manager)

기본으로 내장되어 있는 패키지(프로그램)가 아닌 새로운 패키지(프로그램)를 설치하려고 할 때 도와주는 소프트웨어 (안드로이드의 구글플레이, iOS의 앱스토어 같은 ..)

apt, yum 등이 있음.

패키지 목록 업데이트

$ apt-get update

패키지 매니저를 통해 설치할 수 있는 패키지 목록들을 업데이트한다. (설치하기전에)

패키지가 설치되는게 아니라 패키지 목록들이 업데이트 되는 것.

패키지 찾기

$ apt-cache search [패키지명]

저장된 패키지 목록 중에 해당 패키지 찾기..?

관련된 패키지 목록까지 나온다.

패키지 설치

$ apt-get install [패키지명]

패키지 업그레이드

$ apt-get upgrade

$ apt-get upgrade [패키지명]

패키지 삭제

$ apt-get remove [패키지명]

패키지를 설치하는 순서 (항상 이 순서를 따르는게 좋음.)

패키지 목록 업데이트 (apt-get update) 패키지 설치 (apt-get install)

다운로드

파일을 다운로드 (wget 사용)

$ wget -O [저장할 파일명] [다운로드 url]

소스코드 다운로드 (git 사용)

git 설치

$ apt-get install git 소스코드 다운

$ git clone [소스코드 url] [디렉토리명] : 명시한 디렉토리에 소스코드 다운받는다.

why CLI?

1. 순차적 실행 (using semicolon)

ex) $ mkdir why; cd why

언제 유용한가?

하나하나의 명령들이 1000시간이 걸린다고 할 때, 명령어 하나하나씩 치는 것과 여러개를 한번에 치는 것은 차이가 있음.

(여러 개 명령어를 한 번에 치면 알아서 마지막 결과만 나타남.)

2. 파이프라인

명령어의 연결

어떤 프로세스의 출력을 다른 프로세스의 입력으로 . . .

원하는 정보가 포함되어 있는 행을 출력

ex)

$ grep linux linux.txt : ‘linux’가 포함된 행 출력

$ ls –help | grep sort : ls –help에서 ‘sort’가 포함된 행을 출력 (ls –help의 출력을 grep의 입력으로)

$ ls –help | grep sort | grep file : ls –help에서 ‘sort’와 ‘file’이 포함된 행을 출력

IO Redirection

output

$ ls -l > result.txt : result.txt 확인해보면 ls -l 출력물 담겨있음. error (에러 결과를 저장하려면? ‘2>’ 를 사용한다. (standard error를 가리킴))

ex) 해당 디렉토리에 rename2.txt가 없을 때

$ rm rename2.txt 2> error.log : error.log에 에러 내용이 담겨있음. input

$ cat hello.txt : cat의 cammand-line arguments로써 역할

$ cat < hello.txt : hello.txt 내용을 standard input으로.. $ head -n1 < linux.txt > one.txt : linux.txt 내용을 input, one.txt에 출력물을 저장

디렉토리 구조

/bin: 사용자가 사용하는 명령어 모음

/sbin: 관리자가 사용하는 명령어 모음

/etc: 프로그램 설정을 관리하는 디렉토리

/etc/init.d: daemon의 목적을 가진 프로그램들 있음.

/var: 내용이 바뀔 수 있는 파일들 모음

/tmp: 임시파일들. 컴퓨터가 꺼지면 날아간다.

/home: 사용자들의 파일들이 저장되는 디렉토리

/lib: /bin과 /sbin에 있는 프로그램들이 사용하는 라이브러리 모음

/usr: 유저가 다운받은 프로그램들 저장..

프로세스 관련 명령어

프로세스 목록 확인

$ ps

백그라운드 프로세스 목록까지 확인

$ ps aux

$ ps aux | grep apache2 : ‘ps aux’의 출력에서 apache2가 포함된 행 출력

프로세스 강제 종료

$ kill [pid]

그 외 프로세스 목록 확인 명령어

$ top

$ htop (top과 비슷하지만, 시각적인 면에서 더 좋음)

백그라운드 실행

ex) nano 에디터 실행하다가 ctrl + z -> 백그라운드에서 돌아가도록 등록

백그라운드로 돌아가는 프로그램 확인

$ jobs

: +가 붙어있는 프로그램 -> fg 실행했을 때, 실행되는 프로그램

: -가 붙어있는 프로그램 -> fg 실행했을 때, + 다음으로 실행될 프로그램

foreground로 돌아가기

$ fg

$ fg %번호 : 해당 번호 프로그램으로 돌아간다.

백그라운드 프로그램 죽이기

$ kill

$ kill -9 %번호 : 강제종료

daemon: 항상 실행되고 있다.

테스트를 위해 apache2 웹서버 설치

$ sudo apt-get install apache2

설치 후 /etc/init.d에 가보면 apache2가 있다.

apache2 켜기

$ sudo service apache2 start

잘 켜진지 확인

$ ps aux | grep apache2

apache2 끄기

$ sudo service apache2 stop

꺼져있는지 확인

$ ps aux | grep apache2 : 목록에 나타나지 않음.

cron (정기적으로 실행시키고 싶은 작업이 있을 때)

$ crontab -e : 처음 실행했을 땐, 에디터 골라야 함

m h dom mon dow command

m: 분 주기

ex) 10: 매 시간 10분에 한 번

ex) */1: 1분에 한 번

h: 시간 주기

ex) *: 시간에 상관 없이

ex) 1: 매 1시에

dom: day of month

ex) 24: 매 달 24일에 한 번

mon: month

dow: day of week (요일)

command: 주기적으로 실행할 명령어

테스트

1. command 자리에 date >> date.log 입력 (>>는 해당 파일 아래로 쭉 출력결과가 쌓임)

2. $ tail -f date.log (꼬리에 새로운 텍스트가 추가 될 때, 실시간으로 표시해줌.)

에러가 난 경우도 로그로 남기는게 좋다.

*/1 * * * * date >> date.log 2>&1

: 표준 출력을 date.log에 남기고 표준 에러가 발생하면 표준 출력으로 리다이렉션

: date.log에 에러도 함께 저장됨

단축키 만들기

$ alias l=’ls -al’

-> l을 입력하면 ls -al의 출력이 나옴

.bashrc 파일

bash가 시작되었을 때 실행됨.

다중 사용자

$ id : 현재 접속한 계정의 정보 확인

$ who : 이 컴퓨터에 누가 접속해있는가

~$로 끝나면 일반 사용자

~#로 끝나면 root 사용자

sudo (super user do)

리눅스는 다중 사용자 운영체제

사용자마다 어떤 일에 대한 권한이 있음.

중요한 일에 대한 권한은 super user(root)만 가지고 있음.

따라서 super user의 권한이 필요할 때 sudo를 사용한다.

직접 root계정에 접속해서 명령어를 실행 시킬 수도 있지만, 안전을 위해 일반 사용자로 로그인 후 sudo를 사용하도록 하자.

사용자 추가

$ sudo useradd -m [사용자명]

-> /home에 가보면 사용자가 추가된 걸 볼 수 있음.

-> 그러나, 이렇게 만들면 해당 계정에서 sudo 명령어를 사용할 수 없음.

sudo 사용할 수 있도록 변경

$ sudo usermod -a -G sudo [사용자명]

비밀번호 설정

$ sudo passwd [사용자명]

로그인 (su 사용)

$ su – [사용자명]

permission (권한)

$ ls -l

-> -rw-rw-r– 1 egoing egoing 0 Dec 4 23:19 perm.txt

(1) type (2) access mode (r: read, w: write, x: execute) (3) owner (4) group – file: -, directory: d [owenr 권한] rw- [group의 권한] rw- [other의 권한 (!owner && !group)] r– egoing egoing

권한 변경 (chmod)

u: owner

g: group

o: other (not owner, not group)

a: all

$ chmod o-r perm.txt

: perm.txt파일의 other read 권한 삭제

$ chmod o+r perm.txt

: perm.txt파일의 other read 권한 허가

execute

$ nano hi-machine.sh

#!/bin/bash echo ‘hi hi hi hi’

파일 실행 시도 1

$ ./hi-machine.sh -> 허가 거부 뜸

파일 실행 시도 2

$ /bin/bash hi-machine.sh -> 실행됨

owner 실행 권한 추가하기

$ chmod u+x hi-mashine.sh -> 해당 파일 초록색으로 표시됨

파일 실행 시도 3

$ ./hi-machine.sh -> 실행됨

directory

r 모드: 해당 디렉토리에 소속된 파일이나 디렉토리를 열람할 수 있는지?

w 모드: 해당 디렉토리 내부를 수정 할 수 있는지? (파일 생성, 수정, 삭제, 파일이름 변경 등)

x 모드: 해당 디렉토리로 들어갈 수 있는지?

chmod 명령어의 -R 옵션: 재귀적으로 해당 디렉토리 안에 있는 것들의 mode를 모두 바꾼다.

Numerical permissions

숫자 의미 영문으로 표현 0 none — 1 execute only –x 2 write only -w- 3 write and execute -wx 4 read only r– 5 read and execute r-x 6 read and write rw- 7 read, write and execute rwx

ex) $ chmod 111 perm.txt -> –x–x–x로 변경됨.

‘=’ 사용

추가/삭제 개념이 아니라 아예 바뀌는 것

$ chmod a=r perm.txt -> owner, group, other read만 가능

$ chmod a= perm.txt -> owner, group, other 아무 권한 없음.

IP 주소 확인

$ ip addr : 컴퓨터 IP 확인 (private ip)

$ curl ipinfo.io/ip : ipinfo.io/ip 입장에서 접속된 ip (public ip)

웹서버

웹서버 설치 (apache2)

$ sudo apt-get update

$ sudo apt-get install apache2

웹서버 시작, 중지, 재시작

$ sudo service apache2 start

$ sudo service apache2 stop

$ sudo service apache2 restart

$ sudo apt-get install elinks

$ elinks http://10.0.2.15/ (컴퓨터 IP 입력) -> local 서버 접속

웹서버의 설정

/etc/apache2 에 아파치 설정파일 있음. (apache2.conf)

웹서버가 어떤 storage에서 파일을 찾을 것인가는 설정파일에서 확인.

default는 /var/www/html 인데, 설정 바꿔서 변경시킬 수 있음.

이때 /var/www/html를 document root라고 부른다. (웹페이지를 찾는 최상위 디렉토리)

웹서버의 로그 확인

/etc/apache2/sites-enabled/000-default.conf 가보면 로그는 어디에 기록할지 명시해둔 부분이 있다. (/var/log/apache2)

access.log: 누군가가 웹서버에 접속할 때마다 기록이 남겨짐.

error.log: 에러 로그 확인 가능

실시간으로 확인하려면?

$ tail -f /var/log/apache2/access.log

SSH

다른 컴퓨터를 원격제어 할 때 사용

클라이언트를 원격접속 시도하려는 컴퓨터, 서버를 원격접속 당하는 컴퓨터라고 한다면, 클라이언트 컴퓨터에는 ssh client 프로그램이 있어야하고 서버에는 ssh server 프로그램이 있어야 한다.

오늘날 대부분의 유닉스 계열 시스템에서는 ssh 서버가 설치되어있기 때문에 설치할 필요가 거의 없다.

원격 접속 시도

$ ssh 계정명@접속아이피

(처음 접속하면 진짜 접속할 건지 물어보는데 yes 하면 됨.)

(처음 접속하면 진짜 접속할 건지 물어보는데 yes 하면 됨.) 포트번호와 함께 접속 시도

$ ssh -p 포트번호 계정명@접속아이피

ssh 심화수업 – 비밀번호 입력없이 로그인하기

접속을 시도하는 컴퓨터: 내 컴퓨터

접속 대상이 되는 컴퓨터: 원격 컴퓨터

원격 컴퓨터에 내 컴퓨터의 공개키를 저장해두면, 원격 컴퓨터에 로그인 없이 (비밀번호 입력없이/인증 없이) 로그인 가능

어떤 컴퓨터가 인증된 컴퓨터?

원격 컴퓨터의 ~/.ssh/authorized_keys 파일에 들어있는 키 목록을 보고 판단한다. (authorized_keys 파일은 있을 수도 있고 없을 수도 있음.)

원격 컴퓨터에 내 컴퓨터를 인증시키는 방법

ssh 공개키 비밀키 만들기 [내 컴퓨터에서 실행]

$ ssh-keygen

Q. Enter file in which to save the key? : (저장되는 위치) 엔터

Q. Enter passphrase : 비밀번호 쓰려면 입력하고 아니면 그냥 엔터

~/.ssh 들어가보면 id_rsa(ssh private key), id_rsa.pub(ssh public key)가 있음. (id_rsa는 절대로 비공개) authorized_keys 파일 끝에다가 내 컴퓨터의 id_rsa.pub 내용을 붙여넣는다. (ssh-copy-id 명령어를 사용하여 안전하게 붙여넣자.) [내 컴퓨터에서 실행]

-> $ ssh-copy-id (원격 컴퓨터 계정)@(원격 컴퓨터 주소)

-> 원격 컴퓨터의 비밀번호 입력 잘 붙여넣어졌는지 확인 [원격 컴퓨터에서 실행]

$ cat ~/.ssh/authorized_keys 로그인 없이 로그인 시도 [내 컴퓨터에서 실행]

$ ssh (원격 컴퓨터 계정)@(원격 컴퓨터 주소)

-> 비밀번호 입력 없이 로그인 가능

포트 (port)

default port (기본적으로 쓰도록 약속)

ex) 웹서버는 80, ssh 서버는 22

각 서버들은 해당 포트에서 대기중이다. (listen)

약 65000개의 포트가 있는데, 그 중에 1024개의 well-known 포트가 있다. (잘 알려진 포트)

도메인과 DNS (Domain Name System)

사용자가 google.com 이라고 브라우저 주소창에 입력하면 DNS 서버가 google.com 이름을 가진 IP를 찾아서 사용자 컴퓨터에 알려준다. 사용자 컴퓨터는 그 IP 정보로 google.com에 접속

/etc/hosts 파일: 아이피-도메인 명시해둔 것?

ex) hosts파일에 127.0.0.1 google.com 추가하고 브라우저에 google.com 이라고 입력했을 때, 127.0.0.1 웹서버와 매칭됨.

추가하고 브라우저에 google.com 이라고 입력했을 때, 127.0.0.1 웹서버와 매칭됨. /etc/hosts에서 먼저 찾아보고, 찾아봤을 때 없으면, DNS 서버에서 찾고..

만약 /etc/hosts에 있으면 DNS 서버는 관련없음.

/etc/resolv.conf -> nameserver 적혀있음.

$ host [도메인] -> 호스트 정보 나옴 (어떤 아이피로 연결되어 있는지)

서브도메인

하나의 도메인 구입으로 여러 도메인 사용할 수 있음.

ex) admin.egoing.ga , blog.egoing.ga , news.egoing.ga

, , 서로 다른 아이피를 가리키게

하나의 도메인으로 여러 사이트를 운영!

rsync

동작방법 예시

$ mkdir src

$ mkdir dest

src 디렉토리안에 파일 생성

$ touch test{1..10} : test1~test10까지 생성됨.

$ rsync -a src/ dest -> src 아래 있는 파일들이 dest 폴더안으로 복사된다.

(a 옵션 : 아카이브 모드로 동작. 파일 뿐만 아니라 디렉토리도 복사되고, 권한과 같은 파일/디렉토리 속성이 바뀌면 반영되고, 변경사항들만 전송)

dest 폴더 가서 test10 삭제

$ rm test10

$ rsync -av(더 자세하게 출력) src/ dest 실행 -> dest안에 있던 test10 다시 생김.

src 폴더 가서 추가 파일 생성 후, rsync 해보면 src에서 만든 파일 만이 dest 안에 생성된다.

컴퓨터와 컴퓨터 사이에 전송

$ rsync -azP ~/rsync/src/ k8805@대상아이피:~/rsync/dest

az: 압축한다.

P: 전송되는 상황을 progress bar로 보여준다.

암호화

대칭적인 방식

어떤 정보를 암호화/복호화 할 때 키를 사용하는데, 암호화 했을 때와 복호화 했을 때 같은 키를 사용한다면 대칭적인방식

비대칭적인 방식

ssh-keygen으로 만든 private key, public key를 사용

암호화 할 때에는 private key, 복호화 할 때에는 public key를 사용

private key, public key는 짝꿍이다.

대표 주자: RSA

RSA 동작방식

ssh client로 ssh server에 접속하면 ssh server는 랜덤한 키를 생성하여 client 컴퓨터에게 준다. ssh client는 id_rsa 파일(private key)이 있는지 찾는다. 있으면 그 파일을 이용해서 전달 받은 랜덤키를 암호화 시킨다. 암호화된 결과를 ssh server에게 전송 ssh server는 authorized_keys에 저장된 공개키를 이용해서 전달받은 암호화된 파일을 복호화 한다. 복호화된 결과가 처음에 전달한 랜덤키와 같으면 인증 성공

꼭 필요한 리눅스 명령어

여러 프로젝트를 진행하다보면, 리눅스 또는 유닉스를 다룰수 밖에 없는 상황이 오게 마련입니다. 그러한 상황에 직면했을때 매번 웹 검색을 하거나 그나마 몇가지 알고 있는 명령어만 가지고 반복작업을 통해 해결하곤 합니다. 그 간의 경험을 바탕으로 알고나면 단순한 반복 작업을 간단하게 해결 할 수 있는 몇가지 팁을 소개합니다.

이 글은 현재 프로젝트에서 사용중인 CentOS Linux 기준으로 작성이 되었지만, 대부분의 리눅스에서 사용되어지는 bash셸(Bourne Again Shell) 및 공통 유틸리티에 대해서 다루므로 특정 리눅스 배포판에 관계없이 대부분 사용할 수 있습니다.

대부분의 리눅스관련 서적과 같이 명령어를 정리하자면, 글이 장황해지고 포스팅으로써 분량이 맞지 않기 때문에 커맨드라인을 효과적으로 사용 할 수 있는 유틸리티를 중심으로 소개합니다.

1. 명령어: cd

cd –

위와 같이 ‘cd -‘ 를 사용하여 이전 디렉토리로 전환을 쉽게 할수 있다.

하지만 이것의 문제점은 바로 이전의 위치만 가능하다는데 있다. 만약에 현재 위치를 기억해두고, 다른 여러디렉토리를 이동후 기억된 위치로 되돌아가고자 할때 유용하게 사용할수 있는 것이 있다.

pushd, popd

위와 같이 ‘pushd’ 명령어를 사용하여 현재 디렉토리 위치를 저장하고 다른디렉토리로 이동하게 된다. 그 이후 여러다른 디렉토리로 이동후에 언제라도 ‘popd’를 사용하여 이전에 기억해둔 곳으로 전환할 수 있다.

2. 명령어: history

!!

쌍느낌표(Double exclamation) ‘!!’ 는 바로 직전 명령어를 실행한다. 다음 예제를 보자.

!! | grep Linux

이 기능을 다음과 같이 쉽게 응용 할 수 있다. 이전 명령어에 쉽게 추가하기

sudo !!

다음과 같이 root 권한 명령어인데 ‘sudo’ 없이 사용한 명령어를 쉽게 불러와 사용할수 있다. 이는 방향키를 올려서 이전 명령어를 불러 오고 다시 앞쪽으로 이동하여 에디트하는 번거로움을 피할수 있다.

echo !! > script.sh

가끔 출력 결과를 파일이나 스크립트로 저장할 필요가 있을때가 있다. 이런 경우 ‘!!’를 사용하여 반복을 피할 수 있다.

지금까지 ‘!!’에 대해서 알아보았다. 하지만 ‘!’의 기능은 조금 다른데, 이는 명령어 이력번호를 호출하는데 사용된다. 다음 예제를 보자.

!이력번호

history

이 명령어를 치면 아래와 같이 이전 명령어들이 각각 고유 식별번호가 존재하는데, 그 식별번호를 사용하여 재 사용이 가능하다. 다음 예제를 보자.

!1093

이 명령어는 1093번 명령어를 재실행한다.

!-이력상대순번

마지막 명령어로 부터 뒤로 두번째 명령어를 재호출할때 !-2 이렇게 사용하면 된다.

이전 명령어의 argument로 명령어 실행

사실 이건 알아도 자주 안써서 기억 할 수 없기 때문에 거 의 사용 하지 못한다..

그 외 다음과 같다.

!^ 이전 명령어의 첫번째 argument이다.

이전 명령어의 첫번째 argument이다. !$ 이전 명령어의 마지막 argument이다.

이전 명령어의 마지막 argument이다. !* 이전 명령어의 전체 argument가 있다.

다음과 같이 응용도 가능하다, 바로 이전의 인수가 아닌 특정 명령어의 인수를 사용할 수 있다.

$ ls !ls:2

‘![keyword]’ 이전 명령어의 keyword로 명령어 실행

!ls ls로 시작되는 명령어중 가장 최근 명령어를 찾아서 재 실행한다. (IBM AIX 등의 korn셸에서는 r ls )

vi 모드

커맨드 라인 인터페이스에서 입력 모드를 vi 모드를 사용하면, 이전 명령어를 검색하여 좀 더 효율적인 히스토리 기능을 사용할 수 있다.

다음처럼 설정하여, 커맨드라인 에디트를 vi로 사용한다. 기본적으로 emacs로 설정되어 있다. ($HOME/.bash_profile 에 설정하면, 다음 로그인시에 기본으로 설정이 된다.)

$ set -o vi

$set -o 를 입력하면 전체 커맨드 라인 옵션이 나오는데 vi 모드가 on 되어 있는지 확인하자.

다음은 vi 모드에서 커맨드 라인 사용 방법이다. (vi에 익숙한 사용자는 바로 알겠지만, vi 에디터를 모르더라도 다음 부분만 익히면 된다.)

ESC 키를 쳐서 명령어 모드(ex mode)로 진입한다. (vi 에디터와 동일)

$ /uname <엔터>

이후부터, n 키를 치면서 다음 명령어를 순차적으로 검색할 수 있다.

원하는 명령어를 찾고 나서 수정을 원하는 단어까지 w 키를치고 커서를 빠르게 이동하자

단어까지 이동하였으면 cw 입력하여 단어 편집 상태로 진입하여 타이핑하면 빠르게 커맨드 라인 입력을 할 수 있다.

(사실 저는 거의 vi모드로 대부분 커맨드 명령어를 처리합니다. )

Control-R

컨트롤키와 r 키를 동시에 입력하면, 검색어 문자 입력 대기 상태로 진입한다.

(reverse-i-search)”:

키워드를 입력할때마다 점진적으로 히스토리에서 검색한다. 다시 한번더 컨트롤 + r 키를 입력하면 순차적으로 그 이전의 명령어를 검색하여 보여준다. 원하는 명령어를 찾으면 바로 엔터를 입력 또는 명령어를 수정할때는 왼쪽 또는 오른쪽 방향기로 이동 후 수정한다.

이상 히스토리 기능에 대해서 살펴 보았습니다. 이것 외에도 이전명령어 치환하는 기능 등이 있으나 개인적으로도 이정도 기능외는 잘 사용하지 않을뿐더러 사용하지 않으면 잊어버리기 때문에 무용지물이 되버리곤 합니다. 이상의 기능만 잘 활용하면 커맨드 라인에서 키보드 타이핑을 하는 고통을 일부나마 줄일수 있을것이라 생각합니다.

3. 특수문자 { }

커맨드 라인 인터페이스에서 콤마는 파일명을 나열하고 명령에게 인수로 전달한다.

touch 유틸리티는 파일의 접근, 수정 시간을 현재 시간이나 사용자가 명시한 시간으로 바꾼다. 파일이 존재하지 않을 경우에는 빈 파일을 생성한다.

mkdir 유틸리티는 디렉토리 생성한다.

다음과 같이 파일명 인수가 콤마 갯수 만큼 확장하고 명령어에게 전달하고 있음을 확인 할 수 있다.

echo 유틸리티는 셸이 전달하는 인수를 출력한다.

4. 특수문자 ?

물음표 기호(?)는 셸에게 파일명을 생성케 하는 특수 문자다. 이 문자는 기존의 파일명에 있는 문자를 하나에 해당된다.

5. 특수문자 *

별표(*)는 물음표와 비슷한 기능을 수행하지만, 어떤 개수의 문자열에라도 대응될 수 있다는 점이 다르다.

6. 특수문자 [ ]

문자 주위를 둘러싼 괄호 기호 [ ]는 셸이 각각의 문자를 포함하는 파일명을 검색하게한다.

7. 백그라운드에서의 프로그램 실행

지금까지의 예제에서 명령은 모두 포그라운드에서 실행됐다. 포그라운드에서 명령을 실행하면 셸은 명령의 실행이 끝날 때까지 기다렸다가 사용자에게 프롬프트를 내보낸다. 반면 백그라운드에서 명령을 실행하면 사용자는 이명령의 실행이 끝날 때까지 기다릴 필요 없이 바로 다른 명령을 실행할 수 있다.

작업(job)은 파이프로 연결 가능한 여러 개의 명령을 가리킨다. 포그라운드 작업의 경우에는 한 윈도우나 한 화면에서 하나의 작업만 실행할 수 있다. 그러나 백그라운드 작업의 경우에는 여러 개를 실행하는 것이 가능하다. 사용자는 한번에 하나 이상의 작업을 실행함으로써 리눅스의 중요한 기능 중 하나인 멀티태스킹(multitasking) 기능을 사용할 수 있다. 실행 시간이 길면서 작업 진행에 대한 별도의 감시가 필요치 않은 명령을 실행할 때는 백그라운드 실행 기능이 매우 유용하다.

백그라운드에서 명령을 실행하려면 커맨드 라인의 마지막에서 RETURN 키를 입력하기 전에 & 기호를 입력한다. 그러면 셸은 작업에 번호를 매기고 이 작업 번호를 괄호로 둘러싸서 출력한다. 작업번호 뒤에는 PID(Process Identification) 번호가 나온다. 명령 뒤에 나오는 [1]이라는 숫자는 셸이 이 작업에 대한 작업 번호를 1을 할당했다는 것을 의미한다.

백그라운드 작업의 실행이 끝나면 다음과 같은 메시지를 볼 수 있다.

[1]+ Done program

포그라운드에서 백그라운드로의 작업 이동

포그라운드 작업의 실행은 작업 보류 키, 일반적으로 CONTROL-Z 키를 입력함으로써 일시 중지할 수 있다. 셸은 프로세스를 멈추고 키보드로부터의 표준 입력을 중지시킨다. 이때 사용자가 bg 명령과 작업 번호를 입력하면 중지된 작업은 백그라운드로 옮겨서 다시 시작된다. 중지된 작업이 하나밖에 없다면 작업 번호를 입력할 필요가 없이 fg만 입력한다. 만약 백그라운드 작업이 하나 이상이라면 fg 인수로써 %번호를 입력해야한다.

kill : 백그라운드 작업의 중단

인터럽트 키(보통은 CONTROL-C)로는 백그라운드에서 실행되는 프로세스를 중단할 수 없다. 이러한 경우에는 kill 명령어를 사용해야 한다. 커맨드 라인에 kill과 중단하려는 프로세스의 PID를 입력하거나 퍼센트 기호(%)와 작업 번호를 입력한다.

여기서 잠깐!

kill 명령어 대해서 시그널에 대해서만 잠깐 언급을 하자면, 가끔 습관적으로 무조건 강제 종료 시그널(-9)를 날리는 분을 계신데.. Java 데몬이나 기타 서버를 종료 시킬때 무조건 강제 종료시키기 보다 서버에게 종료시 자원 정리 시간을 주어 안전하게 종료하게 하자.

SIGTERM(15) 시그널

: 프로세스에게 보내어 DB 접속 및 각종 아직 커밋이 되지 않은 정보를 안전하게 저장할 수 있도록 기회를 준다. 프로세스가 이 시그널에도 무 반응시에만 강제 시그널를 보낸다.

kill 13377 ( kill -15 13377 또는 kill -TERM 13377 )

SIGHUP(1) 시그널

: 재 시작 시그널이다. ( kill -1 13377 또는 kill -HUP 13377 )

SIGKILL (9)

: 묻지도 따지지도 않고(?) 무조건 강제 종료한다. ( kill -9 13377 )

8. 검색 명령

리눅스에서 명령을 입력하면 셸은 프로그램에서 사용하는 디렉토리를 검색해 처음 이름이 일치하는 프로그램을 실행한다. 이때 검색하는 디렉토리 목록을 검색 경로(search path)라고 한다. 검색 경로를 변경하는 방법은 PATH 환경변수를 변경하는 것이다. 사용자가 검색 경로를 변경하지 않으면 셸은 표준 디렉토리만 검색해 보고 검색 작업을 멈추게 된다. 물론 표준 디렉토리 외의 다른 디렉토리에도 유용한 유틸리티가 존재할 수 있다.

which / whereis: 유틸리티의 위치 검색

which 유틸리티는 유틸리티 파일의 전체 경로를 보여줌으로써 유틸리티(명령어)의 위치를 알려준다. 셸은 검색 경로를 탐색해서 처음 나오는 명령을 실행한다. which 는 이런 경우 셸이 어떤 프로그램을 실행할지를 알려준다.

which유틸리티는 명령어가 예상 외의 동작을 수행할 경우 유용하다. which를 실행 해 보면 표준이 아닌 버전의 툴을 실행하고 있는지, 혹은 자신이 원하는 툴과는 전혀 다른 툴을 실행하고 있는지를 알 수 있게 될 것이다.

다음과 같이 which ls 명령어로 확인 해 보면 alias가 먼저 실행한다는것을 알 수 있다.

참고) 역슬래쉬()를 명령어 앞에 사용하면 alias 가 아닌 실제 명령어를 실행한다. ex) \ls

프로그램의 이름이 주어지면 which는 검색 경로에 있는 디렉토리를 차례대로 검색, 프로그램의 위치를 찾는다. 검색 경로에 해당 프로그램이 하나 이상 존재하는 경우에 which는 처음 나오는 명령에 대한 정보만 보여준다.

whereis 유틸리티는 표준 디렉토리(standard directory) 목록을 통해 파일을 검색하며, 검색 경로와는 독립적으로 작동한다. whereis는 사용자가 지정한 바이너리(실행)파일, 매뉴얼 페이지 및 프로그램 소스 코드의 위치 검색에 사용할 수 있는 데, 이 유틸리티는 which와 달리 모든 해당 파일에 대한 정보를 보여준다.

apropos: 키워드 검색

특정 작업을 수행하는 데 필요한 명령을 알지 못한다면 apropos 유틸리티로 키워드를 검색하면 된다. (apropos를 제대로 실행하려면 makewhatis로 whatis 데이터베이스를 설정하고 주기적으로 관리해야 한다. 이 작업은 보통 cron으로 처리한다.) 이 유틸리티는 man 페이지의 맨 위에 나오는 짧은 설명줄(description line)에서 키워드를 검색해 일치하는 항목이 있는 명령만 보여준다. man 유틸리티를 -k(keyword) 옵션과 함께 사용하면 apropos를 실행한 것과 동일한 결과를 볼 수 있다.

다음 예제는 apropos를 who 키워드와 함계 호출한 결과를 보여준다. 이 키워드와 관련된 다른 유용한 유틸리도 찾아서 보여준다.

locate: 파일 검색

locate유틸리티는 로컬 시스템에서 파일을 검색하는 작업을 수행한다. locate는 updatedb 유틸리티로 생성/업데이트한 locate 데이터베이스가 있어야만 정확하게 검색할 수 있따. 일반적으로 이 데이터베이스는 cron 스크립트로 하루에 한 번씩 업데이트된다.

grep: 파일명 검색 또는 파일내 문자열 검색

which / whereis / apropos / locate 등은 유틸리티 검색 하는데 사용되지만, grep 유틸리티는 하나 이상의 파일에서 행 단위로 간단한 문자열이나 정규 표현식으로 표현된 pattern을 찾는다.

-r 옵션은 하위디렉토까지 모두 검색한다.

-l 옵션은 파일내의 텍스트와 패턴이 매치되는 텍스트를 출력하지 말고 매칭된 파일 목록만 출력한다.

-L 옵션은 -l 옵션과 반대로 비 매칭된 파일 목록을 출력한다.

9. 접근 권한

접근 권한

파일에 접근할 수 있는 사용자 유형은 다음 3가지로 구분할 수 있다.

파일의 소유자(owner)

파일 소유자가 속해 있는 그룹 멤버(group)

그 밖의 모든 사람(other)

각 사용자별 읽기, 쓰기, 실행 의 파일 접근 권한을 설정 할 수 있으므로 모두 9가지 방법이 있다는 것을 의미한다.

ls -l 권한 보기

첫 번째 문자 하이픈(-)으로 표기되어 있다. 이 파일은 일반 파일이기 때문이다. (디렉토리는 d가 표시된다.)

그 다음에 오는 문자 9개는 각 사용자별 owner, group, other 에 읽기(r), 쓰기(w), 실행(x) 권한이 부여된다. (- 문자는 권한이 없음을 나타낸다.)

접근 권한 변경은 두가지 심볼릭과 절대값으로 변경이 가능하다.

접근권한 변경: 심볼릭

심볼릭 모드: 사용자 종류

심볼릭 모드: 연산자

심볼릭 모드: 퍼미션

파일 소유자는 어떤 사용자에게 파일 접근 권한을 줄지, 그리고 어떤 접근 권한을 줄지를 결정해서 설정할 수 있다. 파일 소유자는 chmod(change mode) 유틸리티를 사용해서 파일의 접근 권한을 변경할 수 있다.

심볼릭 접근 권한 변경 예) chmod a+rw letter

의미: 모든(a) 사용자에게 읽고 쓰는 권한(rw)을 부여(+)하라.

다음은 접근 권한의 변경 유틸리티 chmod 로 심볼릭 모드 사용 예이다.

접근권한 변경: 절대값

8진수를 사용하여 접근 모드를 설정할 수 있다.

절대값 접근 권한 변경 예) chmod 755 letter

의미: 소유자는 모든 권한을 그외 그룹과 다른 사용자는 읽기와 실행 권한을 부여하라

다음은 접근 권한의 변경 유틸리티 chmod 로 절대값 모드 사용 예이다.

참고1) 셸 스크립트의 경우, 읽기와 실행 퍼미션이 있어야 실행할 수 있지만 바이너리 파일은 실행 퍼미션만 있어도 실행할 수 있다.

참고2) 디렉토리 경우 실행 퍼미션이란? 디렉토리 안으로 진입 가능 여부를 뜻한다.

10. yum : 시스템을 최신 버전으로 유지하기

패키지 갱신과 설치

리눅스 초기 릴리즈에는 갱신을 관리하는 툴이 없었다. RPM 툴로 개별 소프트웨어 패키지를 설치하거나 갱신할 수 있었지만, 패키지와 그 패키지와 종속 관계를 갖는 패키지를 찾는 일은 전적으로 사용자의 몫이었다.

Terra Soft, 이 회사는 자동으로 패키지를 찾고 종속 관계를 검사하는 Yellow Dog Updater를 만들었다. 이 후 다른 배포판에 포팅되었다. Yellow dog Updater, Modified ( Yum ) 는 RedHat 또는 CentOS 리눅스의 기본 패키지 관리자 이다.

패키지 저장소 환경파일

환경파일 : /etc/yum.conf

업데이트

시스템 유틸리티이므로 루트 사용자에서 실행을 해야한다. update 옵션은 설치된 모든 패키지를 갱신한다. 설치된 패키지의 패키지 헤더를 내려받은 후 계속 진행할 것인지 묻고, 갱신된 패키지를 내려받아 설치한다.

$ yum update

패키지 설치

새로운 패키지와 그것과 종속 관계를 가지는 패키지를 설치하려면, yum install 명령어 다음에 패키지 이름을 붙인다.

$ yum install telnet

패키지 삭제

비숫한 구문을 사용하여 yum으로 패키지를 삭제 할 수 있다.

$ yum remove telnet

11. 설치하고 싶은 유틸리티 찾기

자신이 설치하고 싶은 어플리케이션에 대해서 패키지명을 모르면 설치를 할 수 없다. 또한 자신이 원하는 유틸리티가 어느 패키지에 속해 있는지 알 수 없을때, 다음과 같이 검색하여 찾아 볼 수 있다.

1. 먼저 패키지 목록 조회를 하라.

# yum list vimtutor

Error: No matching Packages to list

2. 유틸리티 이름으로 검색을 하라.

# yum search vimtutor

No Matches found

3. 패키지 내에 서 제공하는 파일명을 검색 하라.

# yum provides vimtutor

You can use “*/vimtutor” and/or “*bin/vimtutor” to get that behaviour

No Matches found

4. 위에서 제시한 방법대로, 패키지 서브 디렉토리 까지 검색하라

# yum provide */vimtutor

vim-enhanced-7.2.xxxxxxx

위와같이, 출력이 되었다면 찾기에 성공한것이다. 그럼 이것을 설치해야 하는데, 다음처럼 패키지명(버전 문자 이전까지)만 입력하면 대부분 설치가 가능하다.

$ yum install vim-enhanced

설치가 성공적으로 끝나면 vimtutor 를 실행하여 제대로 설치되었는지 확인 해보자.

5. 위 4가지 방법으로 못 찾으면, 인터넷 검색을 적극 활용하여 해결의 실마리를 찾도록 한다.

이상으로 간단하게 정리하고 마무리를 하고자 합니다. 실무에서 가장 빈번하게 쓰이는 커맨드 유틸리티를 중점적으로 알아보았고, 백그라운드 프로세스 관리와 파일 접근 권한 관리에 대해서 알아 보았습니다. 또한 명령어 검색 및 소스파일내 문자열 검색 까지 살펴 보았고요, 마지막으로 패키지 유지 관리까지 정리해 보았습니다.

제가 프로젝트에서도 이 정도 사용있으며 그렇게 큰 불편없이 잘 사용하고 있습니다. 그외 간단한 셸 스크립트 정도만 익혀두시면, 정기적인 백업 스크립트를 만들어 스케줄에 등록하여 사용 할 수도 있어 활용범위가 넓어 질것입니다. 끝까지 읽어 주셔셔 감사합니다.

참조 도서 및 사이트

Practical Guide to Linux Commands, Editors, and Shell Programming by Mark G. Sobell, Published July 1st 2005 by Prentice Hall

20 interesting and extremely helpful Linux command line tricks

So you have finished reading the 리눅스 실행 명령어 topic article, if you find this article useful, please share it. Thank you very much. See more: 리눅스 ./ 없이 실행, 리눅스 ./ 의미, 리눅스 sh 실행, 리눅스 명령어 모음, 리눅스 cmd 실행, 리눅스 명령어 ll, 우분투 파일 실행 명령어, 리눅스 실행파일 만들기

Leave a Comment