[리눅스 명령어 ] 리눅스 기초(명령어 위주)

 
명령어 도움말 보기

리눅스에는 많은 명령어가 있기 때문에 모두 외워서 사용할 수 없습니다.
 
때문에 명령어에 대한 도움마을 얻을 수 있는 명령어가 있는데 man 명령어 입니다.

man 명령어는 manual의 약자로 다음과 같이 사용합니다.

 

리눅스 명령어

명령어 사이를 세미콜론으로 구분하면 연속으로 실행할때 사용한다는 의미이다.

fdisk -l /dev/sdb; fdisk -l /dev/sdc

(연속두번의 fdisk가 실행된다)

pwd : 현재 디렉터리 보여준다

ls -l : 현재 디렉터리의 파일리스트

ls -a : 현재 디렉터리의 목록(숨김파일 포함)

ls *.확장자

ls -l /etc/sysconfig/a* : 해당 디렉터리에 있는 목록 중에서 앞글자가 a인것들 목록

cd /etc : etc폴더로 이동

halt -p : 종료한다

df : 시스템에 마운트된 하드디스크를 확인할때 사용한다.

 

cd 명령어 관련

. 현재 디렉터리 .. 현재 디렉터의 상위 디렉터리

cp ../lib/abc .

: 현재 디렉터리의 상위 디렉터리(..)아래에 있는 /lib/디렉터리의 abc 파일을 (.)현재 디렉터리에 복사해라

 

mv : 파일이나 디렉터리 이동

mkdir : 디렉터리 생성

cat : 파일 내용을 보여줌

 

head, tail : 텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력함

head anaconda-ks.cfg : 해당 파일의 앞 10핼을 화면에 출력

head -3 anaconda-ks.cfg : 해당파일의 앞 3행을 화면에 출력

tail -5 anaconda-ks.cfig : 마지막 5행만 화면에 출력

 

권한이 필요한 명령어

rm : 파일이나 디렉터리 삭제

rmdir : 디렉터리 삭제(비어있어야한다)

cp : 파일이나 디렉터리 복사

 

파일실행

./파일명

 

다른사용자로 접속

su - 사용자 아이디 : 루트의 경우에는 비번없이 가능

exit : 위의 su를 사용한 경우 다시 root로 돌아감

 

네트워크 관련명령어

systemctl restart network : 네트워크 재시작

  - restart말고도 start, stop, status 가 있다.

ifconfig ens32 : 네트워크 정보확인

nmtui

  - 자동 ip 또는 고정 ip 사용 결정

  - ip주소 서브넷마스크 게이트웨이 정보 입력, dns 정보입력, 네트워크 카드 드라이버 설정

  - 네트워크 장치의 설정

ifup 장치이름 : 장치를 작동시켜주는 명령어

ifdown 장치이름 : 장치를 끄는 명령어

ifconfig 장치이름 : 해당 장치의 ip주소와 관련된 정보 출력

ping ip주소  또는 url : ping테스트

 

기타 팁

파이프 : |

  - 2개의 프로그램을 연결해준다.

  - ls -ls /etc | more : more를 사용해서 1페이지씩 나눠서 보겠다를 추가한것

필터 : grep, tail, wc, sort, awk, sed

  - ps -ef | grep bash : ps -ef는 모든 프로세스 번호 출력 bash라는 글자가 들어간 프로세스만 출력

프로세스

  - ps : 현재 프로세스 확인

  - kill : 프로세스 강제종료

  - pstree : 프로세스 트리형태 (부모와 자식관계)

  - jobs : 현재 백그라운드로 가동중인 프로세스 확인

  - 모든 명령어에 &를 붙이면 자동으로 백그라운드로 실행된다. 예) gedit &

 

 


블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 기본 명령어- 2

 


 

앞에서 리눅스에 대한 간단한 정보확인, 이동 등등의 명령을 알아보았다.

 

이제 본격적으로 파일을 만들어보고 디렉토리도 만들어보고 지워보고

복사도해보고 파일속 내용도 명령어로 확인해보고.. 등등 실습해보자.


cat
 

cat명령어는 해당파일의 내용을 보게해주는 명령어이다.

만약에 test.txt 이란 파일이 있다면 그 안에 내용을 보여준다.

 

아래는 cat 명령어 입력한것과 결과물이다.

 

물론 test.txt는 실습을 위해 미리 만들어 둔 파일이므로

실제 파일을 만들어 보는 작업은 다음포스트 vi 에디트 실습 때 하겠다.

 
일단은 ls을 처본 결과 이상한 파일들이 있는데 cat 뒤에다가 저 파일 명을 입력해서

안 속을 들여다 보는 것도 나쁘진 않을것 같다.


어쨋든 요점은 파일 속 내용을 보여주는 명령이라고 기억해놓자.
 
mkdir
 
mkdir 명령어는 디렉토리를 새롭게 생성할 때 사용하는 명령어이다.

전에 리눅스 디렉토리에 관해 많이 알아보았는데 /root, /home, /etc 등등

 
이 리눅스에 기본적으로 가지고있는 디렉토리말고

우리가 뭐 새롭게 파일들을 따로 저장해둔다던가 그런 일반 디렉토리를 만들고 싶을 때

사용하는 명령어라고 보면 되겠다.

 
디렉토리는 하나의 폴더라고 생각하면 되겠다.
 

아래는 mkdir 명령을 통해 디렉토리를 만들어보는 작업을 한 것이다.

 

mkdir water 라는 명령을 쳐서 water 라는 이름을 가진 디렉토리를 생성하고

 

전에 알아보았던 ls, pwd, cd 명령을 응용해서 새로만든 디렉토리에 이동해보고 디렉토리안 파일들 확인해보고

현재 디렉토리가 어디에 위치해 있는지 알아보는 작업을 하였다.

 

ls를 입력해 봤을때 water 디렉토리 안은 아무것도 안뜨는걸로 보아 파일이 아예 없는것을 짐작 할 수 있다.

 

다음 포스트에 vi 에디트를 알아봄과 동시에 파일 옮기기, 파일 복제, 파일 덮어씌우기, 파일 지우기,

디렉토리 지우기 등등에 대해 알아보자.

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 기본 명령어-1

 

 

 

리눅스 계정 패스워드변경 (passwd), 디렉토리파일 확인 명령 (ls) 을 앞서 알아보았다.

그렇다면 리눅스에서 자주쓰이는 명령어와 기본명령어를 알아보자.

 

pwd

 
pwd는 현재 위치를 나타낸다.

내가 현재 어떤 디렉토리에 위치해있는지 알려주는 명령어이다.
 

pwd의 명령어를 입력하면 아래와 같다.
 

pwd를 입력해본 결과 /root로 뜨는것을 확인할 수 있다.

이는 현재 디렉토리가 /root 홈 디렉토리라는것을 알 수 있다.
 

cd

 
cd는 윈도우에서도 사용된다.

우리가 명령 프롬프트 창에서 해당 파일 디렉토리를 찾아갈 때 많이 쓰인다.
 

pwd로 현재 디렉토리가 /root 임을 확인했다.

나는 /home 디렉토리로 이동하고싶다. 그렇다면
 

cd /home 명령을 입력해서 현재디렉토리를 /home 디렉토리로 이동하는것이다.

 
cd명령을 입력하면 아래와 같다.
 

위에 그림을 보면 ~ 부분이 home 으로 바뀌는것을 볼 수 있다.

이는 /home 디렉토리가 현재 디렉토리임을 뜻한다.
 

아까 pwd 명령을 응용해보면 /home 이라고 뜨는것을 확인 할 수 있다.

man 또는 --help

 
man은 명령어의 사용법에 관해 알려주는 명령어이다.

명령어가 명령어의 사용법을 알려주니 어떻게보면 우습다

man 명령어는 --help의 기능을 한다.

--help 또한 사용법에 관해 알려주는 명령어이다.

 
형식
 

#[리눅스명령어] --help

#man [리눅스명령어]
 

위에서 알아보았던 명령어를 응용해서 사용법 정보를 알아보자.

 
ls라는 명령어에 대한 사용법을 알고싶다 그러면
 

ls --help 또는 man ls 라고 입력해주면 된다.
 

결과는 아래와 같다.

ls --help 결과


man ls 결과

more
 

위에 명령을 입력할 때 잘 보면 | more 가 뒤에 붙어서 입력한 것을 확인할 수 있는데

이 more 명령어는 정보가 많을때 한페이지 분량으로 부터 시작해서

엔터를 처가며 조금씩 조금씩 볼 수 있게 해주는 명령어라고 보면 된다.

| ( 쉬프트키+역슬래쉬 ) 은 파이프라고 불리우는데

또다른 명령을 한줄에 여러개 쓸 때 사용된다.

whereis


실행파일 위치, 메뉴얼 파일 위치를 출력한다.
 

예를들어 앞 포스트서 보았던 패스워드 변경 명령어 passwd를 들면

whereis passwd 라고 입력해보자.

결과는 아래와 같다.

whereis 명령어는 많이 쓰이는 명령어는 아니므로 이런게 있다 정도만 알아두면 되겠다.

 

 

               

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

>Telnet 접속하고자하는HOST [PortNumber]

이 명령어가 제대로 수행되면 로그온 절차가 시작됩니다.

 

 

 

1. 압축하기 : tar cvfz [경로]000.tar.gz

2. 압축풀기 : tar xvfz [경로]000.tar.gz

3. ls : 현재 디렉토리의 파일 리스트를 보여줌.

 ls -al : 파일의 속성(크기, 퍼미션, 히든 파일)을 보여줌.

 ls -at : 파일이 생성된 시간까지 보여줌.

4. cd : 지정된 경로로 디렉토리를 이동할 수 있다.

ex) cd /; cd /bin/src; cd ;                    /* cd는 현재 디렉토리를 보여주고, 해당경로를 지정하였을 때 이동한다.*/

5. chmod : 파일이나 디렉토리의 퍼미션을 변경해줌.

ex) chmod 755 test01.java

6. mkdir : 디렉토리를 생성

ex) mkdir test01

7. rmdir : 디렉토리를 제거

ex) rmdir : testdir

8. rm : 디렉토리 및 파일을 제거(지움)

rm -r : 해당 경로에 포함된 디렉토리까지 지움

rm -f : 지움 명령을 다시 한번 확인하지 않고 바로 지움.

rm -rf : 디렉토리를 강제로 지움. 디렉토리가 비워져 있지 않아도 강제로 지움.

ex) rm -rf testdir

9. cp : 디렉토리 및 파일을 복사.

cp -r : 해당 경로에 포함된 디렉토리까지 복사

ex) cp test01.java test02.java                        /* test01.java를 test02.java로 같은 디렉토리 내에 복사*/

ex) cp -r testdir /workspace/test/testdir        /* 현재 디렉토리 내에 있는 testdir 디렉토리를 /wokrspace/test/testdir로 복사 */

10. mv : 디렉토리 및 파일을 이동시키거나 이름을 변경

ex) mv test01.java test02.java                        /* test01.java를 test02.java로 이름 변경*/

ex) mv test01.java ../test                              /* test01.java를 현재 디렉토리 내에 있는 test디렉토리로 이동*/

ex) mv testdir testdir01                                 /* testdir을 testdir01로 이름 변경*/

11. du : 디스크 사용에 관한 정보를 알려줌

ex) du / (리눅스의 총용량)

 

12. 기타 명령어

Telnet의 명령어는 대부분 유닉스/리눅스 명령어와 부합되어 있다.

각 장비 및 시스템에 포팅되어 있는 버전에 따라 각 명령어가 조금씩 다르니 확인 후 사용해야 함.

 

adduser : 유저를 만들 때 사용하는 명령

chown : 파일이나 디렉토리의 ownership을 바군다

ex) chown lp /dev/lp

diskinfo : 시스템에 설치되어 있는 디스크의 정보를 보여준다.

ex) diskinfo /dev/rdisk/c0t6d0

date : 현재 시각 표시

echo : 표준 출력에 문자열을 출력

exit : 로그아웃하고 프로그램 종료

file : 파일 내용의 성격을 보여준다(파일의 종류를 알아볼 때)

finger : 현재 로그인 되어 있는 사용자의 인적사항을 출력한다.

find : 파일 시스템에서 파일이나 디렉토리를 찾을 때 사용

ex) find /-name core -print

grep : 파일 내에서 특정 패턴을 찾는다

ex) grep 0- l ifconfig /sbin/init.d/*

gzip : 압축명령

gunzip : 압축해제명령

jobs : 백그라운드에서 실행되고 있는 작업들의 작업번호, 작업 상태등을 보여줌.

kill : 실행 중인 프로세서를 강제종료할 때.

ex) kill -9 924

last : 최근 접속한 사용자의 이름과 장소, 시간 등을 알려줌

lp : 시스템의 기본 프론터에 파일을 프린트 함.

lpstate -t : 모든 프린터 스풀러에 관련된 정보를 보여줌

mail : 다른 사용자에게 편지 보내기

more : 텍스트 파일 내용을 페이지 단위로 봄(더 보려면 spacebar 누름, 한줄 보기는 enter)

ps -ef : 시스템에서 수행되고 있는 모든 프로세스를 보여줌

passwd : 암호 변경

shutdown : 시스템 끔

top : 주기적으로 변하는 프로세스의 정보를 보여줌

useradd : 사용자 추가

userdel : 사용자 삭제

usermod : 사용자 권한 주기

what : 파일의 버전 정보를 보여줌

who : 로그인 된 사용자 목록을 보여줌

who am i : 현 사용자의 로그인 명, tty 및 로그인한 날짜/시간을 보여줌

who -r : 현재의 run state를 보여줌

sort :  파일정렬

sleep : 지정한 시간만큼 쉰다.

shutdown -h now : 당장 종료

shutdown -r now : 시스템 리부팅

userdel pr 디렉토리명 : 사용자의 홈디렉토리까지 삭제

 

13. vi : Linux의 vi edit 기능을 수행함.

vi edit는 크게 입력모드와 명령모드로 구분된다.

 

>>입력모드 : 입력모드로 전환하기 위해서 다음과 같이 i,a,o,O를 타입핑해야 한다.

i 커서가 놓여 있는 위치의 문자 앞에 삽입

a 커서가 놓여 있는 위치의 문자 뒤에 삽입

o 현재행의 아래행을 밀어내고 입력모드로 전환

O(대소문자 구분) 현재행을 한줄 아래로 밀어내고 입력모드로 전환

입력모드를 벗어나려면 ESC 키를 누르면 명령모드로 돌아온다.

 

>>명령모드

:q                 저장하지 않고 종료

:q!                강제 종료

:w                저장

:w!               강제로 저장

:wq              저장하고 종료(=:x)

:wq!             강제로 저장하고 종료

:w file_name  새이름으로 저장

-> 커서이동 :명령모드에서 이동할 수 있다(리눅스에서는 일반 방향키로도 이동이 가능)

h(왼쪽), (아래쪽)j, k(위쪽), l(오른쪽),

w(오른쪽), b(왼쪽), 0(행의 처음으로 이동), $(행의 마지막으로 이동)

-> 텍스트교체

R(커서가 있는 자리부터 여러문자를 교체)

r (커서가 있는 자리부터 한글자만 교체)

-> 삭제명령

dw   한 단어 삭제

dd    한 줄 삭제

D     커서 위치부터 행 끝까지 삭제

x      한 글자 삭제

-> 자르기와 붙여넣기

y(텍스트를 복사), yy(한줄을 복사)

->범위지정

:행번호(문서의 지정 번 행으로 이동)

:$(행의 마지막으로 이동), :$=(현재 편집중인 텍스트 내용이 총 몇 줄인지 확인)

:시작행,마지막행d (시작행부터 마지막행까지 지움)

:시작행,마지막행y (시작행부터 마지막행까지 임시버퍼에 저장)

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,