리눅스 기본 명령어 정리
리눅스에서는 많은 명령어를 지원합니다.
저도 아직 배워가는 단계로 부족한게 많아요 ㅎㅎ
혹시 보시고 이상한게 있으면 댓글로 알려주세요~~
명령어 기초편
하위폴더 및 모든 파일을 복사하기
cp -rf ./../../mh.bae/VS950/vs950_ics_git/svlte_modem/ .
하위폴더 및 모든 파일을 지우기
rm -rf svlte_modem
ls -l => 좀 더 구체적인 정보 제공(파일형태와 사용권한, 하드링크번호, 소유자, 그룹, 파일크기, 시간, 연도, 파일명)
file 파일명 => 파일의 정보 보여줌
경로명 쓰다가 Tab 2번 하면, 뒷경로 자동 완성
cd ../폴더명 => 상위로 갔다가 폴더명의 하위폴더로 이동
mkdir -p 경로명 => 하위경로명으로 depth를 길게 해서 만들 경우, 없는 폴더가 있으면, 알아서 확인해준다.
자주 사용할만한 명령어
0. Screen 걸어놓기 (터미널 창 닫아도 됨)
-> screen -R 설정할이름
screen 창 에서 실행할 명령어 수행시킴
ctrl + A + D 로 screen 빠져나감
screen -list 목록에서 확인
list목록에서 숫자가 붙은 full name을 복사해서 screen -R 이름 으로 다시 들어갈 수 있음.
exit 로 screen 빠져나가면 됨.
1. find 로 이름 기준 검색하기
ex) find . -name '*webidl*'
2. grep 으로 파일내 특정 단어로 검색하기
-> grep -wrns "검색어" *
(*는 모든 파일에서 찾겠다는 것임. , 옵션은 하위폴더 등등 으로...)
3. repo forall -c git clean -xdf 클린
4. fuser -m 디렉토리 및 파일명 --> 해당 path에 rw시도중인 pid 알려줌
위 명령어에서 검색된 pid를 가지고,
ps | grep pid명 --> 해당 pid 정보
5. 압축하기 : tar -cvzf 파일이름 압축할파일 혹은 /디렉토리
압축풀기 : tar -xvzf 파일이름
많은 소스파일을 인덱싱해서 편리하게 파악하는 방법 (Source Insight 같은 기능)
ctags -R => 현재 폴더 하위까지 범위로 해서 tags 파일 생성
(리눅스코드는 ==>ctags -R --language-force=c++)
---> vim 으로 tags가 있는 폴더에서 해당 폴더나 하위폴더의 파일들을 vim으로 열면,
ctrl + ] : 정의 따라가기
ctrl + T : 되돌아가기
ctrl + W + F : 헤더파일 따라가기
vim -t 함수명 : 함수명있는 곳으로 tag jump (set cst, set tag+=/경로명/tags 를 .vimrc에 추가해야 가능)
========================================================================
명령어 응용편
▶ df
하드 디스크의 용량이 얼마나 남아 있는지 확인하는 명령어
-a : 디폴트로 생략된 0 브록 크기의 파일 시스템도 보여줌
-i : 파일 크기를 블록 대신 inode로 디스크 정보를 보여줌
-k : 파일 크기를 킬로바이트(kb)로 보여줌
-T : 파일 시스템의 종류와 함 께 디스크 정보를 보여줌
-t : fstype 값을 가진 파일 시스템에 대한 디스크 정보
-h : 쉬운 용량 표시 단위로 표기(예 : 1G 250M 1K)
▶ ps
작동중인 프로세스 상태 체크하기
-l : 긴 포맷으로 출력
-u : 실행한 유저와 실행 시간을 표시
-j : "job"형식으로 표시
-s : 시그널(signal) 포맷으로 표시
-m : 메모리 정보 표시
-a : 다른 유저의 프로세스 현황 표시
-x : 터미널 제어없이 프로세스 현황을 표시
-ef : 가장 많이쓰는 옵션이죠 ^^
▶ kill
실행중인 프로세스를 재활성화하거나 완전히 죽이고자 할 때 쓰이는 명령
-1, -HUP : 프로세스를 재활성화함
-9 : 프로세스를 강제로 죽임
▶ 로그인 화면 바꾸기
/etc/issue -> 콘솔접속시(로컬)
/etc/issue.net -> 원격접속시
/etc/motd -> 로그인 성공시
/etc/rc.d/rc.local -> 부팅시
▶ RPM 패키지 설치 확인 및 설치 경로 확인하기
rpm -qa 패키지명 -> 설치 확인
rpm -ql 패키지명 -> 설치 경로 확인
▶ 시스템 사용자 보기
현재 시스템에 어떤 사용자가 접속되어 있는지 확인하려면 w, who, finger 명령을 실행하면 된다.
▶ 커널 메시지 보기
dmesg, cat /var/log/dmesg, cat /var/log/messages
▶ 사용중인 커널 버전 알아보기
uname -r , uname -a
▶ 최신 커널 버전 벙보 알아보기
finger @finger.kernel.org
▶ 시스템 하드웨어 정보 보기
cat /proc/cpuinfo -> CPU
cat /proc/meminfo -> Memory
cat /proc/interrupts -> interrupts
▶ 작동중인 커널 모듈 확인하기
/sbin/lsmod 명령을 실행
▶ 패킷 전달 과정 체크
traceroute
▶ NTFS 모듈 설치하기
페도라 코어에서는 윈도우 NT 계열의 파일 시스템(NTFS)을 지원하지 않으므로, 윈도우 엑스피 파티션을 마운트하려면 ntfs모듈을 설치해야 합니다.
yum install ntfs-3g
▶ badblocks을 이용한 하드 디스크 불량블럭 검사
badblocks -s /dev/sda
▶ 업데이트된 커널 소스 설치
yum install yum-utils
yumdownloader --source kernel --enablerepo updates-source
========================================================================
** adb shell 기준
1. cat /proc/kmsg > /persist-lg/kmsg.txt <== kmsg를 /persist-lg/kmsg.txt 에 저장
2. logcat > /persist/log.txt <== Android log를 /persist/log.txt에 저장
3. ps -aux | grep 프로세스명 <= 해당 프로세스의 정보를 보여줌
pstree <= 현재 실행중인 프로세스를 tree로 보여줌 (부모-자식 관계)
4. adb 안될때,
adb devices
adb kill-server
adb start-server
또 안되면 재부팅
5. kill -9 PID
kill -l <= signal 번호가 나온다??
6. logcat & => &을 옵션으로 두면, 해당 명령이 죽지않고, 백그라운드에서 돌게된다.
7. prop 파일 내용 수정해서 적용하기
단말에 존재하는 system/build.prop
Cmd> adb root
Cmd> adb remount
Cmd> adb pull system/build.prop
Cmd> 다음과 같이 수정함
ro.product.model=LG-F180L
ro.product.manufacturer=LGE
Cmd> adb push build.prop /system/
Cmd> adb reboot
'나는 프로그래머다! > Linux' 카테고리의 다른 글
Linux - 시그널 Signal (Ctrl+c, Ctrl+z) (0) | 2018.05.13 |
---|---|
Linux - 디렉토리 용량 확인 (0) | 2018.05.13 |
임베디드 리눅스 시스템 스터디 (0) | 2017.09.26 |
top 명령어 (실시간 CPU 사용률 체크) (0) | 2017.08.04 |
쓰레드 함수 (pthread) 알아 보기 (2) | 2017.08.01 |
grep 명령어 - 문자열 패턴 검색 (0) | 2017.07.07 |
vi 편집기 기본 명령어 (0) | 2017.07.07 |
Container_of 매크로 (0) | 2016.11.09 |