자주 쓰는 Shell 명령어 정리
Cat
파일 내용을 출력하는 명령어
# proc 디렉토리에는 시스템 정보들이 모여있음
$ cat /proc/cpuinfo
# 파일 내용 저장도 가능하다.
# $ cat [파일 주소] > [저장할 문서 이름]
$ cat /proc/cpuinfo > bts.txt
Find
파일을 찾는 명령어
# find [경로] -name "파일명"
# 경로를 적을 때에는 항상 뒤에 '/'를 붙여주자
# 전 영역에서 kfc.txt라는 파일 찾기
$ find / -name "kfc.txt"
# 단어에 config가 포함된 파일, 디렉토리 찾기
$ find / -name "*config*"
# 파일만 찾기
$ find [경로] -name "파일명" -type f
# 디렉토리만 찾기
$ find [경로] -name "파일명" -type d
접근 권한에 따라 파일을 못 찾을 수도 있음
이 명령어 또한 결과를 '>' 를 이용해 저장할 수 있음
Grep
문자열을 검색하는 명령어 / 정규표현식 사용 가능
# 사용법
$ grep [찾을 단어] [어디서 찾을 지] [옵션]
# meminfo 파일 내 "kB" 문자열 검색하기 <-- kB 문자열이 포함된 한 줄이 출력됨
$ grep kB ./meminfo
# 현재 디렉토리에 있는 모든 파일 중, "ache"가 들어있는 라인 모두 출력
$ grep ache ./8 -r
# 다른 명령어 출력 결과에 문자열 검색하기 <-- 출력 결과를 파이프 오른쪽으로 넘겨서 처리하는 원리
$ ls -al | grep .v
Cat & Grep 활용
# 1. meminfo 파일 내에서, File이란 단어를 포함하는 라인 출력
$ cat /proc/meminfo | grep File
$ grep File /proc/meminfo
# 2. linux 디렉토리가 시스템 어디에 있는 지 + 경로에 include가 있어야 한다
$ sudo find / -name "linux" -type d | grep include
History
명령어 사용 이력이 출력된다.
![num] : 특정번호 명령어가 수행되었다는 의미
$ history
$ !680 # 680번 째 사용했던 명령어를 재사용한다.
Symbolic Link
명령어 만들기
# 1. ls 바이너리의 위치를 찾는다.
$ which ls
# 2. ln 명령어 <-- 파일이나 디렉토리를 링크(link)하는 데 사용
# $ ln [옵션] [file1] [file2] <-- file1을 file2가 가리키게 되는 것
# -s : 심볼릭 옵션
$ ln -s /usr/bin/ls bts
# 3. bts를 실행하면, ls가 실행되도록 만든 것
$ ./bts
파일 용량 확인하기
# 디렉토리 or 파일의 용량을 확인
# -s 옵션 = 디렉토리 개별이 아닌, 총 사용량만을 출력함 <-- 디렉토리는 항상 4KB
# -h 옵션 = 사람이 보기 쉽게 출력
# 사용법
$ du -sh [파일명]
file
어떤 종류의 파일인 지 확인할 수 있음
$ file [파일명]
여러 가지 명령어를 동작하는 C언어 프로그램 작성
먼저 test.c 파일에 다음 내용을 작성
이후 gcc로 컴파일 후, 작동해보면 다음 창이 나타난다.
gcc ./test.c -o ./now
이후 어느 디렉토리에서든 작동시키려면, /usr/bin/ 에 실행파일을 옮기면 된다.
! now 위치를 절대경로로 입력해야 한다.
sudo ln -s ~/workplace/dinner/now /usr/local/bin/now