#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 |