본문 바로가기
Ghost의 Linux/Ghost의 Linux 명령어

Linux의 기초? ~.~

by dark ghost 2012. 5. 21.
728x90
반응형

Linux 명령어.

ls 지금 있는 폴더의 파일을 보여준다.

[option]

-l 파일의 자세한 정보

-a .을 포함한 경로안의 모든 파일을 나열한다.

-c 파일 최근 변경 시간에 따라 정렬해서 보여준다.

-d 경로안의 내용을 나열하지 않고 보여준다

-i 파일 왼쪽에 index번호를 보여준다.

-k 파일 크기가 나열되면,kb단위로 보여준다.

-m 파일을 가로로 나열한다.

-n 이름의 나열에서 UID,GID번호를 사용한다.

-r 파일의 정렬 순서를 내림차순으로 한다.

-F 파일의 형식을 알리는 문자를 포함해서 출력

-R 하위 경로와 그 안에 있는 모든 파일들도 나열한다

--color

[root@localhost ~]#ls -l

-rw-r—r-- 1 root root 4096 Feb 12 20:10 filename

허가권 링크 그룹 소유주 용량 마지막사용일 파일이름

링크 : (연결하는 단축아이콘의 갯수)


drwxr~~ d는 디렉토리


@바로가기 아이콘

*는 실행파일


-Fl 파일의 자세한 정보를 나타낸다. 뭘 링크하는지 볼 수 있음.

uname 시스템의 정보를 보여준다.

[option]

-m 시스템의 하드웨어 타입을 보여준다.

-n nodename

-r 운영체제 릴리즈 넘버를 보여준다.

-s 운영체제의 이름을 보여준다.

-v 운영체제의 버전을 보여준다

-a 위의 모든 정보를 보여준다.

-i 아키텍쳐 넘버

-p 프로세서 넘버

--help 해당명령어의 도움말을 보여준다.

//localhost 현재 컴퓨터가 어디에 속해있는지 알려준다.

//i686-cpu 1.7이상 i636-하드웨어자체 i386-시스템 프로그램에대한 아키텍쳐//구성배경

 

cal 달력출력

-j 율리우스력으로 출력한다.

-y 현재 년도 모든 달을 모두 보여준다.

-V 버전 정보를 보여준다

touch 파일을 만들고 파일에 접근하거나 수정한 시간을 변경한다.

-a 최근 파일 사용시간만 업데이트 한다.

-c 지정한 파일이 없더라도 파일을 생성하지 않는다.

-d time 현재시간 대신 지정한 시간으로 변경한다.

-m 파일이 수정된 시간을 변경한다.

-r file 지정한 파일의 시간으로 변경한다.

-t time 현재시간 대신 지정한 시간으로 변경한다.

date 필요에 따라 시간과 날짜를 다양한 포멧으로 출력하는 명령어

-d 지정한 date값과 같이 시간과 날짜를 보여준다.

-f 지정한 날짜 파일에서 각각의 줄에 대한 날짜를 보여준다.

-l ISO-8601 포맷으로 보여준다

-r 지정한 파일이 마지막으로 수정된 날짜를 보여준다

-R RFC-922 데이트 문자열로 보여준다.

-s 지정한 string으로 시간을 맞춘다.

date +%m%d 달와 날짜만 보겠다


date +%H%M%S 시간분초


리눅스는 자동으로 시간을 업데이트 해주지 않기 때문에

자주 시간을 업데이트 해줘야한다.

rdate -s time.bora.net

//서버시간으로 맞춘다.

 

*날짜를 받아와 파일명으로 만들기*

set $(date) //배열에 날짜/시간을넣는다.

echo %1 //배열순서로 출력

echo %2


touch $4.log //배열 4번 인덱스안의 문자열로 파일이름을 지정한다.


pwd 현재 사용하는 디렉토리의 절대 경로를 보여주는 명령어

man 명령어

:명령어에 대한 메뉴얼을 보여준다.

mkdir

:디렉토리 생성

-m 퍼미션 디렉토리의 권한을지정

-p 상위 디렉토리가 없을 시 상위 디렉토리까지 생성

rmdir

:디렉토리 삭제

-p 하위항목을 같이지우나, 하위항목이 비어있어야 한다.

rm -r 디렉토리명

:하위 디렉토리까지 삭제할 수 있다.

touch명령어

:기존에 존지하지 않는 파일을 지정하면 빈 파일을 만들어주고

:기존에 존재하는 파이을 지저하면 파일이나 디렉토리의 수정시간이나 접근시간등을 현재시간으로 업데이트 시켜준다.

cp

:복사명령어

-a 원본 파일의 속성, 링크 정보를 유지하면서 복사

-b 복사할 대상을 덮어쓰거나 지울 때를 대비해서 백업파일 만듦

-d 심볼릭 파일 자체를 심볼릭 정보와 함께 복사할 때 사용

-f 복사할 파일이 존재할 때 삭제하고 복사

-i 복사할 파일이 존재하는 경우 복사할 것인지 물어봄

-l 디렉토리가 아닌 경우 복사 대신 하드 링크로 만듦

-p 원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사

-r 서브 디렉토리 내에 있는 모든 파일 까지 통째로 복사

-s 디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만듦

-u 대상 파일보다 원본 파일이 새로운 것일 때 복사

-v 복사 상태를 보여줌

mv

:이동명령

-b 복사할 대상을 덮어쓰거나 지울 때를 대비해서 백업 파일 만듦

-f 복사할 파일이 존재할 때 삭제하고 복사

-i 복사할 파일이 존재하는 경우 복사할 것인지 물어봄

(alias에서 -i가 기본으로 들어가 있음)

-u 대상 파일보다 원본 파일이 새로운 것일 때 복사

-v 파일 옮기기 전의 과정을 보여줌

rm

:파일삭제명령어

-f 삭제할지 물어보지 않음

-i 삭제할 것인지 물어봄

-r, -R 일반 파일이면 그냥지우고 디렉토리일 경우 그 하위경로와 파일을 모두지움

-v 삭제되는 파일의 정보를 보여줌

*) rm -rf * 하면 하위 모두 삭제된다.

cat

:파일의 내용을 화면에 출력

:more과 같이 쓰면 단위별로 끊어서 출력 ex)cat /etc/inittab | more

-b 줄 번호를 나타냄

-e 제어문자를 ^ 형태로 출력하며 끝에 $을 추가

-n 줄번호를 공백을 포함하여 화면 왼쪽에 나타냄

-s 중복되고 겹치는 빈 행은 하나의 빈 행으로 처리

-v 행바꿈 문자, tab을 제외한 제어문자를 ^형태로 출력

-E 각 행 끝에 $ 문자 출력

-T tab문자를 출력

-A -vET와 같음


장점 : 행번호 출력

more

:파일출력시 화면단위로 끊어서 보여준다.

-숫자 출력행수를 지정

-c 위에서부터 한 행씩 지운 후 한 행씩 출력

-d 프롬프트를 출력

-f 화면 단위의 행이아니라 논리적인 단위의 행을 보여준다

-s 여러 개의 빈 공백행을 하나로 취급

-p 스크롤하지 않으며 화면을 지우고 출력

-u 밑줄 치기를 금지

장점 : 원하고하는 내용만큼 출력가능

less

:more을 보완한 명령어

-a 마지막 라인이 화면에 출력되고 나서 탐색 시작

-c 필요할 때 전체화면을 다시 갱신

-C -c와 같지만 갱신할 때 화면 전체를 지우고 시작

-e 두 번째로 파일의 끝에 도달하면 자동적으로 종료

-E 파일의 끝에 도달하면 자동적으로 종료

-i 대소문자를 구분하여 탐색

-q 특정 에러가 없으면 소리 안냄

-Q 소리 안냄

-s 연속되는 공백 라인은 하나의 행으로 처리

-x n(숫자) 수치를 지정하여 탭 간격 조정

-N 행번호 붙여서 출력한다

장점 : 화면의 단위로 출력되지만 행번호 붙여서 자유롭게 화면 올리고 내리면서 볼 수 있음

nl

:무조건 행번호를 붙여서 출력(cat -n)

head

:파일의 처음 시작 부분의 몇 줄을 출력 하고자 할 때 사용.

:아무런 옵션 없으면 처음 10줄을 보여줌.

↔ tail

파일의 끝 부분만 출력하고자 할때 사용. 기본 10.

ex)로그 모니터링

tail -f /var/log/messages

case) cat passwd | more

cat의 출력을 more가 입력으로 받아 재연산한다.

cat -n passwd | tail -25 | head -10

last

:계정사용자들의 로그인정보를 보여주는 명령어

:모든 계정의 접속정보

last 아이디 아이디의 접속정보

-숫자 :숫자행 만큼 결과 확인

-R : 호스트접속기록을 제외한 결과만을 출력

-a : 호스트 정보를 마지막 열에 출력

-d : 외부에서 접속한 정보와 reboot에 관한 정보만 출력

lastb

:접속 실패 로그를 출력

lastlog

:사용자의 마지막 로그인 정보만을 출력

lastlog -u fedora

= lastlog | grep fedora

groups

:사용자가 속한 그룹을 보여준다.


id

:사용자의 uid, gid, group를 보여줌

:uid-유저의 id / gid-그룹의 id

-g 기본 그룹의 gid 출력

-G 사용자가 속한 모든 그룹의 gid를 출력

-u 사용자의 uid를 출력

-n -u와 사용하여 숫자 대신 이름 출력


who

:현재 로그인된 사용자의 정보

whoami

:내가 누구인가?

-i idle time과 함께 사용자 출력

-m who 명령을 실행한 사용자 표시

-q 사용자 이름과 사용자수 출력

-w, -T 각 사용자의 메시지 설정 상태 출력

-H 헤드라인 정보 표시

w

:사용자들의 프로세스 정보를 확인

wc

:파일 내의 문자수, 단어수, 라인수를 확인하고자 할 때 사용된다.

-l 라인수

-w 단어수

-c 문자수

su

:다른 사용자의 권한으로 shell을 실행한다.

로그아웃없이 다른 사용자로 전환

:su로 로그인하면 사용자 설정은 가져오지 않는다.

그러므로 su - 아이디 입력해서 환경변수를 읽어온다.

su - 로그인 사용자의 환경변수를 읽음

watch

:명령을 계속 감시한다.

ex)watch w - 어떤 명령을 실행하고 있는지 바로 알 수 있다.

rpm

:몇개의 프로그램이 설치되어 있는지 보여준다.

chown

:파일에 대한 사용자와 그룹의 소유권 변경

ex)

chown 소유자 파일명

chown fedora chownfile1

결과 : fedora root //fedora로 소유자가 바뀜

chown .그룹 파일명

chown .user1 chownfile1

결과 : fedora user1 //그룹 소유자가 user로 바뀜

chown 소유자:그룹 파일명

chown root:root chownfile1

결과 : root root //사용자 root 그룹의 소유자 root

chown -R fedora:fedora testDir1

//하위 폴더 및 파일의 소유자까지 변경한다

chomod

:허가권 조정

1)심볼모드

u+rwx,u-rwx...

2)수치모드

--x 1

-w- 2

r-- 4

.

.

rwx 7

Sticky bit

:특수권한

:쓰기 권한은 주지만 삭제권한을 없앨때 사용한다.

:파일을 만든사용자나 관리자만이 파일의 삭제권한을 갖게 된다.

폴더 허가권

|

폴더 소유주삭제

| no

파일 소유주삭제

| no

deny 거부

chmod 1757 /StickyDir

SetUID SetGID sticky bit

4 2 1

setUID

:setUID비트가 설정되어 있다면 다른 사용자들이 그 파일을 실행하였을 경우 실행되는 동안에는실행시킨 사용자의 권한이 아닌 파일의 소유자권한으로 실행이 되게 하는 것이다.

cmp

:두개의 파일을 비교해서 다른 점을 간단하게 보여준다.

diff

:두개의 파일을 비교해서 차이점을 상세하게 보여준다.



 

sort

:파일의 텍스트를 정렬한다.(기본은 오름차순)

-n 숫자로 정렬한다.

-r 내림차순으로 정렬

-o 출력 결과를 파일에 저장한다.

-t 필드 구분자를 지정한다

-k 정렬할 필드를 지정하다.

file

파일의 종류를 알 수 있는 명령어

grep

:파일 내에 특정한 패턴을 검색하여 그 패턴을 포함하는 모든 줄을 화면에 출력하는 명령어

find

:원하는 파일을 찾을 때

-name 파일 이름을 기준으로 검색

-perm 파일 권한을 기준으로 검색

-type 파일의 종류를 기준으로 검색

b:블록파일

c:문자

d:디렉토리

f:파일

l:링크

s:소켓

-size 파일의 크기를 기준으로 검색

+n :n보다 크다

-n :n보다 작다

n :n이다

b :512-byte

c : byte

k : kilobyte

w : 2-byte

-link 링크의 개수를 기준으로 검색

-user 사용자 ID를 기준으로 검색

-atime 특정 기간 이상 접근하지 않은 파일을 기준으로 검색

-mtime 특정 기간 이상 수정되지 않은 파일을 기준으로 검색

-inode number 지정된 inode 번호와 파일을 찾는다.

-print 표준출력으로 검색된 파일 출력

-exec command {}\; 찾은 각 파일에 대해 지정된 명령을 실행

-ok command {}\; 실행여부를 사용자에게 확인 후 명령을 실행

gzip ↔ gunzip

:파일을 압축할 때 사용된다.(한개씩 압축)

bzip2 ↔ bunzip2

:높은 압축률을 가진 압축 유틸

-d 압축 푸는 옵션 bunzip2와 동일

-c 파일을 압축 또는 풀어서 표준 출력으로 보낸다.

-z 파일을 압축한다.

-t 지정된 파일의 무결성을 검사하지만, 압축을 풀지 않는다.

-f 압축 ,해제할 때 같은 이름의 파일이 있을 경우 덮어쓰기 한다.

-k 파일을 압축이나 해제할 때 원본 파일을 지우지 않는다.

-q 경고 메세지가 나오지 않는다.

-v bzip2 작업사항을 자세히 볼 수 있다.

-1~-9 압축할 때의 블록 크기를 정해준다.

zcat 파일명.gz

: = gunzip -c 파일명.gz

:압축된 파일을 풀지 않고 내용을 확인한다.(gzip만 해당됨)

tar

:여러개의 파일이나 디렉토리를 한 개의 tarfile로 만들 때 사용한다.

-c 여러개의 파일을 하나의 파일로 묶을때

-v 생성과정을 보여 줌

-x 아키이빙을 해제한다.

-r 아카이빙에 파일을 추가적으로 삽입한다.

-u tar파일과 새로운 디렉토리 내의 파일과 비교하여 최근 파일을 아카이브에 추가

-t tar파일의 내용을 확인할 때

-z gzip과 관련하여 압축이나 해제를 한꺼번에 할 때

-j, -i bzip2를 이용해서 압축한다.(j-64비트, i-32비트)

ps

:실행되고 있는 명령으를 확인 -ef

-e 모든프로세스

-f 출력포맷(모두)

파일 기술자



 

0 stdin

1 stdout

2 stderr

방향재지정자

CMD < filename CMD에 파일내용을 전달.

CMD > filename 파일에 CMD실행 내용 전달.

CMD >> filename 파일에 CMD실행 내용 추가.

CMD << filename (x)

history

:과거에 썼던 명령어가 stack에 저장되어 있다.

(bash쉘만 가능 . Sh쉘은 히스토리 기능이 없다.)

:1000개까지 저장.

-c 현재까지 사용한 명령 삭제

tip)히스토리 남기지 않으려면

/etc/profile에서 HISTSIAE, HISTFILESIZE0으로 한다.

로그아웃시 히스토리 삭제하려면

vi ~/.bash_logout 에서

history -c 로 수정

dmesg

시스템이 부팅될 때 화면에 출력되는 내용을 다시 보여준다

ps

:실행중인 프로그램을 보여준다.

ps -ef 작업관리자 호출

-e 모든 프로세스 리스트를 출력한다

-f 프로세스의 모든 정보를 출력한다.

-p 지정된 프로세스에 대한 정보를 출력한다

-t 지정된 터미널에 연관된 프로세스 정보를 출력한다

-u 지정된 사용자에 연관된 프로세스 정보를 출력한다

a 다른 사용자의 프로세스 상태도 표시한다

x 화면에 보이지 않는 프로세스까지 모두 표시한다


PID : 프로세스 ID

PPID : 부모프로세스의 번호

C: cpu에 대한 사용량

STIME : 시작시간

TTY : 터미널

TIME : 사용시간

CMD : 실행중인 명령

ps axu | less 다른 사용자의 프로세스 상태까지도 표시

top

:실시간으로 프로세스의 상태나 CPU, 메모리, 접속한 사용자의 수 등을 알 수 있게 된다.

 

프로세스 관리 (백그라운드와 포그라운드)

내눈앞에서 보여지고 있지 않은 상태 - 백그라운드

내눈앞에 보여지고 있는 상태포그라운드

&명령

cat &

find / -name a&

바로 백그라운드로 실행시킨다.

bg

:백그라운드에서 실행시킨다.

ex) bg 1

cat &

fg

:백그라운드에서 포그라운드로 불러들이낟.

ex) fg 1

kill

:프로세스를 죽인다.

:백그라운드에서 실행되는 프로세스는 종료시키지 못한다.

이때 kill을 사용.

-9 : 강제적으로 정한걸 죽인다.

-15 : 관련된것까지 싹 죽인다.

lsof

:프로세스가 사용하는 라이브러리를 확인할 수 있다.

lsof PID번호

pmap

:대상 프로세스의 주소 공간을 살펴 볼 수 있다.

pmap PDI

pstree

:프로세스의 부모 자섹관계를 트리구조로 보여준다.

pstree PID

pwdx

:현재 작업디렉토리를 본다

pstack

:stack trace를 표시 할 수 있다.

rpm

:Redhat Package Management

:패키지 관리 시스템

:패키지 이름은 [패키지이름-릴리즈버젼-아키텍쳐.rpm]으로 구성되어 있다.

-q 질문한다.

-a 모든것 -qa 설치된 모든것을 질문한다

-e 패키지 제거하기(+ --nodeps 의존성 무시)

-i 새로설치

-U 업그레이드

h, --hash #으로 진행상태 표시

oldpackage 다운그레이드

percent 퍼센트로 표시

test 동작하는지 검사한다.

yum

:의존성이 있는 다른 패키지가 있어야 하는 경우 자동으로 먼저 설치 해준다.

install

update

check-update

remove

info

-y 설치시 물음에 y로 답변

chkconfig

:설정변경

chkconfig –-list sendmail 메일설정보기

chkconfig –-level 3 sendmail off

inittab3레벨에서 sendmail설정끄기

 

728x90
반응형

댓글