본문 바로가기
Linux

Linux 기본 Command 정리

#OSX 환경

pwd

: 현재 위치 출력

 

clear

: 터미널에 출력된 내용 지우기

 

ifconfig, ipconfig getifaddr en0

: IP 알아내기

 

who

: 현재 로그인한 유저 출력

 

cd (change directory)

: 디렉토리 이동

 

cd . 

현재 디렉토리로 이동

 

> cd ..

현재 디렉토리 기준, 전 디렉토리로 이동

 

cd /

루트 디렉토리로 이동

 

cd dir_name

지정한 디렉토리로 이동

 

cd -

이동하기 전의 디렉토리로 이동

 

cd ~

홈 디렉토리로 이동

 

ls (list)

: 현재 디렉토리의 내용 출력 (기본적으로 숨겨진 파일, 디렉토리를 표시 하지 않음. 원하는 결과를 얻기 위하여 옵션을 조합)

 

ls -l (list)

현재 디렉토리의 내용을 좀 더 자세히 출력 (vertical 형태로 출력)

 

ls -a 

현재 디렉토리의 내용 출력 (숨겨진 파일, 디렉토리 전부 표시)

 

ls -S (size)

파일 크기 순으로 정렬하여 출력

 

ls -R (recursive)

하위 디렉토리의 내용까지 출력

 

ls -l dir_name

지정한 디렉토리의 내용 출력

 

ls -l z*

z 로 시작하는 파일과 디렉토리의 내용 출력

 

ls > test.txt

ls 의 출력 결과를 test.txt 파일에 저장 (파일이 없다면 생성, 있다면 덮어씌움)

ls 후의 '>' 는 redirection 연산자로 덮어씌우는 기능

 

> ls >> test.txt

ls 출력의 결과를 test.txt 파일에 붙여넣기

 

#그냥 보고 넘어갈 것 : https://opentutorials.org/course/2598/14199

> mail test@test.com << eot

> hi, my name is 

> eot

test@test.com 에 입력한 내용이 메일로 전송됨 (mail 이라는 프로그램 설치해야 함)

 

ls -r

역순으로 출력 (기본 알파벳 역순이며, 다른 옵션을 붙였을 때 해당 옵션에 따라서 역순으로 출력)

 

ls -t

최근 수정된 시간 순으로 출력

 

ls -h

파일이나 디렉토리의 크기에 단위를 붙여서 출력

 

ls -d

디렉토리 자체에 대한 정보만 출력

 

ll

현재 디렉토리 내용을 출력

 

mkdir

: 디렉토리 생성

 

mkdir dir

지정한 이름의 디렉토리 생성

 

mkdir dir1 dir2

복수의 디렉토리 생성

 

mkdir "dir name"

디렉토리 생성 (디렉토리명에 공백 포함)

 

mkdir dir{1,2,3,4,5}

패턴이 있는 디렉토리 생성 (복수)

 

> mkdir dir/subdir

하위 디렉토리까지 생성

 

> mkdir -m 644 dir

특정 권한 정보를 갖는 디렉로리 생성

 

rmdir

: 디렉토리 삭제

 

rmdir -r dir

단일 디렉토리 삭제

 

rmdir -r *

현재 디렉토리 안의 모든 디렉토리와 파일 삭제

 

rmdir -r dir*

현재 디렉토리 안의 dir로 시작하는 모든 디렉토리 삭제

 

rm (remove)

: 디렉토리 삭제, 해당 디렉토리 안의 파일 삭제

 

rm -d

디렉토리를 삭제하고 해당 디렉토리 안의 파일 삭제

 

rm -f

강제로 삭제

 

rm -i

삭제하는 대상에 대하여 동의를 구함

 

rm -R (rm -r)

해당 디렉토리 안의 모든 것 삭제 (밑 계층의 파일, 디렉토리 삭제)

 

rm -v

삭제된 디렉토리와 파일을 출력

 

sort

: 정렬 (기본 알파벳 순 정렬)

 

sort -f

파일을 대소문자 구분하지않고 정렬

 

sort -r

파일을 역순으로 정렬

 

mv (move)

: 파일이나 디렉토리 이동

 

cat

: 파일의 내용 출력

 

> cat test.txt

test.txt 의 내용 출력

 

touch

: 파일 생성. 파일이 존재한다면 기존 파일의 수정 날짜를 최신으로 변경

 

> touch test.txt

test.txt 라는 파일 생성 혹은 기존 파일의 수정 시간을 최신으로 변경

 

> touch -c test.txt

test.txt 의 날자 정보를 현재 시간으로 변경

 

> touch -r test1.txt test2.txt

test2.txt 의 날짜 정보를 test1 의 날짜 정보와 일치하도록 변경

 

head

: 출력되는 라인의 가장 앞부터 출력 (기본 값 10)

 

> ls -l | head -n1

현재 디렉토리의 내용을 표시하되, 위에서 1줄만 출력

 

tail

: 출력되는 라인의 가장 뒤부터 출력 (기본 값 10)

 

> ls -l | head -n1

현재 디렉토리의 내용을 표시하되, 뒤에서 1줄만 출력

 

find

: 파일이나 디렉토리 찾기 

* . 현재 디렉토리, / 루트 디렉토리, ~ 홈 디렉토리 (find 다음 지정하는 위치를 기준으로 하위 디렉토리로 내려가면서 검색 수행)


> find . -name test.txt

. 현재 디렉토리부터 하위 디렉토리로 내려가면서 파일명 "test.txt" 찾아서 출력

 

> find . -type f -name test.txt

타입으로 찾기 (파일명 test.txt)

 

> find . -type d -name dir

타입으로 찾기 (디렉토리명 dir)

 

> find . -type f -name "*.txt"

확장자 .txt 파일 전부 찾음

 

> find . -type f -perm 644

파일 권한이 644 출력

 

> find . -type f ! -perm 777

파일 권한이 777이 아닌 것

 

> find . -perm -u=s

user의 권한 super 출력

 

> find . -perm -o=r

other 권한 read 출력

 

> find . -perm -g=x

other group 권한 executable 출력

 

> find . -perm .a=x

모두(user, other, other group)가 실행할 수 있는 파일, 디렉토리 출력

 

> find . -type f -perm 0777 -print -exec chmod 644 {} \;

파일 권한 0777 찾아서 출력 후, 권한 644 로 바꾸기

 

> find . -type f(d) -empty

현재 디렉토리에서 파일(디렉토리)가 비어있는 것 출력

 

grep

: 파일 안의 내용 전부 찾아서 출력

 

grep -r test ~/Document/*

Document 의 모든 하위 디렉토리의 파일에서 test 라는 단어 전부 출력

 

grep -w test

파일 안에 정확히 "test" 라는 단어 찾아서 출력 (tested, tests, testdata 는 출력되지 않음)

 

grep -i test

파일 안에 test 라는 단어 전부 출력 (대소문자 구분 없이: Test, TEST, testT..)

 

grep -l test

test 라는 단어가 들어간 파일 리스트 출력

 

> grep -c test

test 단어 전부 찾고 카운팅한 결과 출력

 

whereis

: 실행 파일 찾아서 출력

 

> whereis ls

 

ps

: 현재 실행되고 있는 프로세스 출력

 

> ps aux

현재 실행되고 있는 프로세스의 상태 출력

 

> pa aux | grep apache

현재 실행되고 있는 프로세스 출력 후, apache 라는 문구를 전부 찾아서 표시

 

> ps -ef

부모 프로세스와 자식 프로세스의 관계 출력

 

; & && 차이점

: 리눅스 명령어를 연속적으로 사용할 때 사용

 

; : 앞의 명령어의 실패 여부에 상관없이 다음 명령어를 실행 

& : 앞의 명령어는 백그라운드로 돌리고, 동시에 뒤의 명령어를 실행

&& : 앞의 명령어가 성공했을 때에만, 뒤의 명령어 실행

 

> mkdir test; cd test

test 디렉토리 생성 후 테스트 디렉토리로 이동 (test 디렉토리가 이미 있는 경우, 생성하지 않고 test 디렉토리로 이동)

 

> mkdir test & cd test

test 디렉토리 생성 후 test 디렉토리로 이동 (test 디렉토리가 이미 있는 경우, 생성하지 않고 test 디렉토리로 이동)

 

> mkdir test && cd test

test 디렉토리 생성 후 test 디렉토리로 이동 (test 디렉토리가 이미 있는 경우, 생성하지 않고 test 디렉토리로 이동하지 않음)

 

echo &?

: 이전 명령어가 반환한 값 알아내기.

return 값으로 0 이 나오면 정상적으로 수행, 1 이 나오면 정상적으로 수행되지 않음. 

존재하지 않는 명령어를 실행하면 127 이 return 됨.

 

 

 

#자주 쓰는 커맨드 모음 

ls -la

ls -laR

ls -lt

ls -ltr

ls -ltrhR

scutil --get LocalHostName

 

'Linux' 카테고리의 다른 글

Back 실행  (0) 2020.08.25
Linux Permission(권한)에 대한 간단 정리  (0) 2020.08.20
Linux 디렉토리 구조  (0) 2020.08.20