본문 바로가기

개발자/Linux 리눅스

리눅스 명령어 모음

반응형

 

 

 

자주 사용하는 리눅스 명령어 모음

 

생활코딩에서 모두에게 제공하는 리눅스 수업은 다음 링크로 배울 수 있다. 꼭 배워두시길 부탁드린다. ㅎㅎ

 

https://opentutorials.org/course/2598

 

 

1. 리눅스 시스템 종료 방법
shutdown -h now
halt
init 0
 
- shutdown 명령어
shutdown -h +10 (10분후 종료, h:halt)
shutdown -r 22:00 (오후 10시에 재부팅, r:reboot)
shutdown -c (예약된 shutdown 명령 취소)
shutdown -k now (종료 메시지는 보이나 종료 안됨)
 
2. 재부팅
shutdown -r now
reboot
init 6
 
3. 로그아웃
logout
exit
 
- init명령어(런레벨, Runlevel)
0번 : 종료모드
1번 : 단일 사용자 모드(시스템 복구시 사용)
2번 : NFS 없는 다중 사용자 모드
3번 : 텍스트 모드의 다중 사용자 모드
4번 : 없음
5번 : x윈도우 모드의 다중 사용자 모드
6번 : 재부팅 모드
</etc/inittab 에 지정되어 있음>
 
4. vi(visual) ; vi 에디터
vi test.txt
 
5. man(manual) ; 매뉴얼 페이지
man <명령어>
 
6. genisoimage ; iso 생성
genisoimage -r -J -o test.iso /boot
"-r -J" : 8글자 이상의 파일명 및 대소문자를 구분해서 인식
"-o" : 출력할 파일을 위한 옵션
"test.iso" : 생성될 iso 파일명
"/boot" : 포함될 파일 또는 디렉토리
 
7. xdrecord : cd로 굽기
8. growisofs : DVD로 굽기
 
9. ls 명령어 : 목록보기 명령어
: ls ; 현재의 디렉토리 목록
: ls /usr/bin ; /usr/bin의 디렉토리 목록
: ls -a ; 디렉토리 목록
: ls -l ; 디렉토리 목록 자세히
: ls *.txt ; txt파일 보여줌
: ls -l /usr/bin/a* ; /usr/bin/ 디렉토리에서 앞글자가 a인 목록
 
10. cd 명령어 : 디렉토리 이동 명령어
: cd ; 사용자의 홈디렉토리로 이동
: cd ~root ; root사용자의 홈 디렉토리로 이동
: cd.. ; 상위 디렉토리로 이동
: cd /usr/bin ; /usr/bin 디렉토리로 이동(절대경로)
: cd ../usr/bin ; 상대경로로 이동
 
11. pwd (print working directory)
: pwd ; 현재 작업중인 디렉토리 경로 출력
 
12. rm -삭제(권한이 있어야 함)
: rm abc.txt ; 삭제(내부적으로 rm -i 로 연결됨
: rm -i abc.txt ; 삭제시 확인을 물어본다
: rm -r abc ; abc라는 디렉토리 삭제
: rm -rf abc ; abc 이하 전부 강제 삭제
 
13. cp - 복사
: cp abc01.txt abc02.txt ; abc01.txt를 abc02.txt파일로 복사
: cp -r abc01 abc02 ; 디렉토리 복사
 
14. touch - 크기 0파일 생성, 존재시 수정 시간 변경
: touch abc.txt
 
15. mv - 파일 이름 변경 및 위치 이동
: mv aaa bbb ccc ddd ; aaa,bbb,ccc, 파일을 ddd 디렉토리로 이동
: mv abc.txt bbb.txt ; 이름 변경
 
16. mkdir - 새로운 디렉토리 생성
: mkdir abc ; 현재 디렉토리 아래 abc 디렉토리 생성
: mkdir -p def/fgh ; 현재 디렉토리 아래 def/fgh 생성
 
17. rmdir - 디렉토리 삭제(파일이 있으면 삭제 안됨)
: rmdir abc
 
18. cat - 텍스트 작성 파일 화면에 출력
: cat install.log
 
19. head, tail - 텍스트 파일 앞 10행 or 뒤 10행 출력
: head install.log
: tail install.log
 
20. more - 텍스트 파일 페이지 단위 출력
(space : 다음페이지, b : 앞페이지, Q : 뒷페이지)
: more install.log
: more +100 install.log : 100행부터 보여줌
 
21. file - 파일의 종류 표시
: file install.log
: file /bin/gzip
 
22. clear - 명령창을 깨끗하게
; clear
<사용자 및 그룹 관련 명령어>
 
23. useradd or adduser
실행시 /etc/passwd, /etc/shadow, /etc/group 에 새로운 행 추가
: useradd newuser
: useradd -u 555 newuser ; 555라는 이름의 유저 추가
: useradd -g mygroup newuser ; mygroup에 포함된 newuser 생성
: useradd -d /newhome newuser ; 홈디렉토리가 newhome 인 newuser 생성
: useradd -s /bin/csh newuser ; 기본 쉘 /bin/csh 지정
 
24. passwd - 비밀번호 지정 및 변경
: passwd newuser ; newuser의 비밀번호 지정 및 변경
 
25. usermod -useradd와 사용법 동일, 사용자 속성 변경
: usermod -g root newuser ; newuser의 그룹을 root 그룹으로 변경
 
26. userdel - 사용자 삭제
: userdel newuser
: userdel -r newuser
 
27. change - 소용자 암호 주기적 변경
: change -l newuser ; newuser에 설정된 사항 확인
: change -m 2 newuser ; 설정암호 최소 일자(2일)
: change -M 30 newuser ; 설정암호 사용가능 일자 (30일)
: change -E 2013/12/12 newuser ; 2013/12/12에 암호 만기
: change -W 10 newuser ; 만기 10일부터 경고 메시지 출력
 
28. group - 사용자가 속한 그룹을 보여줌
: groups
 
29. groupadd - 새로운 그룹 생성
: groupadd newgroup
: groupadd -g 555 newgroup ; 그룹 ID가 555인 newgroup생성
 
30. groupmod - 그룹 속성 변경
: groupmod -n newgroup mygroup ; newgroup 이름을 mygroup 으로 변경
 
31. groupdel - 그룹 삭제
: groupdel newgroup
(해당 그룹을 주요 그룹으로 지정한 사용자가 없을때 사용 가능)
 
32. gpasswd - 그룹의 암호를 생성하거나 관리를 수행
: gpasswd newgroup ; newgroup 의 암호지정
: gpasswd -A newuser newgroup ; newuser를 newgroup의 관리자로 지정
: gpasswd -a user1 newgroup ; user1을 사용자로 추가
: gpasswd -d user1 newgroup ; user1을 사용자에서 제거
 
33. <RPM>
* 설치
: rpm -Uvh (패키지파일)
- U : (대문자) 설치되어 있지 않다면 'i'와 같이 설치,
설치되어 있다면 업그레이드한다.
- v : 설치 진행상황 확인
- h : 설치 진행과정을 화면에 출력
* 삭제
: rpm -e (패키지 이름)
-e : Erase
* 이미 설치된 패키지 질의
: rpm -qa (패키지) ; 설치되었는지 확인
: rpm -qf (파일의 절대 경로) ; 어느 패키지에 포함된 것인지 확인
: rpm -ql (패키지) ; 어떤 파일이 포함되었는지 확인
: rpm -qi (패키지) ; 상세정보
* 설치되지 않은 패키지 질의
: rpm -qlp (패키지) ; 어떤 파일이 포함되었는지
: rpm -qip (패키지) ; 상세정보
 
34. <YUM>
* 설치
: yum (-y) install (패키지)
-y 옵션을 쓰면 무조건 yes로 넘어감
* rpm 파일 설치
: yum install (rpm파일)
* yum check-updata ; 업데이트 가능한 목록 보기
* yum updata (패키지) ; 패키지 업데이트, 없다면 install
* yum remove (패키지) ; 패키지 제거
* yum info (패키지) ; 패키지 요약 정보
* yum localinstall (패키지) ; 로컬에서 설치 (iso파일에서 설치)
* yum groupinstall "(패키지그룹)" ; yum grouplist로 확인후 통째로 설치
* yum list (패키지) ; 패키지 리스트 출력
ex) yum list all(모든 리스트), yum list mysql*(mysql이 들어간 목록)
* yum provides (파일이름) ; 특정 파일이 어느 패키지에 들어있는지..
* yum install --nogpgcheck (rpm파일) ; GPG키 검사 생략
; 페도라에서 인증되지 않은 rpm파일을 설치시 GPG키 생략하고 설치됨
 
35. <파일 압축, 묶기>
* bzip2 - bz2로 압축하거나 풀기
: bzip2 (파일명) ; 파일명.bz2로 만든다.
: bzip2 0d "파일명.bz2" ; 파일명.bz2를 일반 파일로 만든다.
* bunzip2 - bzip2 -d 와 같다.
* gzip -gz로 압축하거나 풀기
: gzip (파일명) ; 파일명.gz 로 만든다.
: gzip -d "파일명.gz" ; 파일명.gz를 일반파일로 만든다.
* tar - 확장명 tar로 묶거나 풀기
[동작]
: c ; 새로운 묶음
: x ; 묶인 파일을 풀어줌
: t ; 묶음을 풀기전에 경로 표시
[옵션]
: f(필수) - 묶음 파일명 지정 ; 생략시 tape로 백업
: v - visual ; 과정을 보여줌
: z - tar + gzip
: j - tar + bzip2
[사용예]
: tar cvf xinetd.tar
: tar xvfj (파일명.tar.bz2)
: tar xvfz (파일명.tar.gz)
 
36. <파일 위치 검색>
* find [경로] [옵션] [조건] [action]
[옵션] -name, -user(소유자), newer(전, 후) -perm(허가권), -size(크기)
[경로] -print(디폴트), -exec(외부명령 실행)
[사용 예]
: find /etc -name "*.conf" ; /etc에 확장자 conf 파일 검색
: find ~ -perm 644 ; 허가권이 644인 파일 검색
: find /bin -size +10k -size -100k ; 10kb~100kb인 파일 검색
: find ~ -size 0k -exec ls -l {} \ ;
--> 사용자 홈 디렉토리 하위에 파일 크기가 0인 파일 목록 상세히 출력
: find /home -name "*.swp" -exec rm {} \ ;
--> /home 홈 디렉토리 하위에 확장자 swp 파일 검색
* which (실행파일명) -PATH에 설정된 디렉토리 검색(절대경로 포함)
* whereis (실행파일명) - 실행 파일 및 소스, man 페이지 파일까지 검색
* locate (파일명) - updatedb 명령 이후 사용 가능
파일 목록 데이터베이스 검색, 빠르고 유용.
 
37. <wine 설치하기>
http://kltp.kldp.net/stories.php@story=00/08/11/9653999
<시스템 설정> system-config-xxxx
패키지 업데이트 ; yum -y install system-config-xxxx
: boot ; 초기 부팅 설정
: data ; 날짜, 시간 설정
: firewall ; 방화벽
: keyboard ; 키보드
: language ; 언어
: lvm ; lvm 설정
: printer ; 프린터
: rootpassword ; root 비밀번호
: service ; 서비스 가동/중지
: users ; 사용자 설정
: bind ; 네임 서버
: display ; x윈도우 환경 설정
: httpd ; 웹서버 설정
: ngs ; NFS 서버 설정
: samba ; 삼바 서버 설정
: vsftpd ; FTP 서버 설정
 
38. <CRON>
- 주기적으로 반복되는 일 설정
- /etc/conftab 파일
ex) 01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
04 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
 
39. <AT>
- 일회성 작업 예약
- 한번 실행되고 소멸
ex) at 실행 후 #at <시간>,
완료시 ctrl + D,
확인 at-l,
취소 atrm<작업번호>
 
40. <Network 관련 명령어>
: system-config-network
: system-config-network-tui ; 텍스트 기반
: service network (start/stop/restart/status)
: ifup <장치이름> / ifdown <장치이름> ; 장치 작동
: ifconfig <장치이름> ; 해당장치의 ip주소 설정 정보 출력
: nslookup ; DNS 서버 작동 테스트
: ping (IP/URL) ; 네트워크 응답 테스트
 
<Network 설정 관련 파일> - system-config-network 후
: /etc/sysconfig/network ; 네트워크의 기본적인 정보가 설정된 파일
: /etc/sysconfig/network-script/ifcfg-eth0(or ifcfg-eth1)
; 장치에 설정된 네트워크 정보 모두
: /etc/resolv.conf ; DNS 서버의 정보 및 호스트 이름이 들어있는 파일
: /etc/hosts ; 현 컴퓨터의 호스트 이름 및 FQDN 이 들어있는 파일
 
41. <파이프, 필터, 리다이렉션>
<pipe> - 두 개의 프로그램을 연결해 주는 연결통로
: | 을 이용함
ex) ls -l /etc | more ; /etc에 파일이 너무 많아서 한페이지씩 보고자 함
<filter> - grep, tail, wc, sort, grep, awk, sed 등
ex) ps -ef | grep bash ; ps -ef 는 모든 프로세스 번호 출력하므로
bash라는 글퀴가 들어간 프로세스만 출력
rpm -qa | grep bind ; 설치된 패키지 중 bind라는 글자가 들어가 패키지만 출력
<re-direction>
- 표준 입출력 방향을 바꿈
- 표준입력은 키보드, 출력은 모니터지만 이를 파일로 처리하고 싶을 때 주로 사용
ex) ls -l > aa.lst ; ls -l 의 결과를 aa.lst 파일에 씀(overwrite)
ls -l >> aa.lst ; 위와 같지만 append
sort < aa.lst ; aa.lst 파일을 정렬해서 화면에 출력
sort < aa.lst > bb.lst ; aa.lst 파일을 정렬해서 bb.lst 에 쓴다
 
42. <프로세스 관련 명령어>
1. ps - 현재 프로세스 상태 확인
ex) ps -ef | grep (프로세스 이름)
2. kill - 프로세스 강제 종료 "-9" 옵션을 함께 사용하면 무조건 종료
ex) kill -9 (프로세스 번호)
3. pstree - 부모 자식 프로세스 관계를 트리 형태로 보여줌
<vi 에디터 비정상적인 종료시 대처법>
ex) vi abc.log 를 비정상적으로 종료시
--> abc.log.swp(임시 Swap File) 생성
--> ls -a 로 파일 확인하고, "rm .install.log.swp" 로 삭제
 
<데몬(Daemon) ~ = 서비스(Service)>
: 눈에는 보이지 않지만 현재 시스템에서 활동중이 프로세스(백그라운드)
 
 
이곳에서 가져와 보완 함. 정보 출처: http://dream-cy.tistory.com/42 [소년, 사이버를 꿈꾸다]
 
 

 

 

 

 

 

 

 
 

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

귀사가 성공하기까지의 긴 고난의 시간을 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩