Self-Improvement

Linux 명령어(uname, date, rdate, PS1, cal, ls, rmdir, touch, cp, scp) 본문

리눅스/명령어

Linux 명령어(uname, date, rdate, PS1, cal, ls, rmdir, touch, cp, scp)

JoGeun 2018. 10. 21. 13:32

*uname(시스템 정보를 보는 것)
 #uname 
  //옵션
 -a : 모든 정보
 -s : 운영체제 종류
 -r : 운영체제 릴리스
 -n : 호스트 이름
 -i : 머신 아키텍처(ex i386)
 -p : 프로세스 종류

#cat /etc/*release (해당 운영체제의 버전 ex) CentOS release 5.8)

*문서 사이트(운영체제 버전별 정보 확인)
 http://docs.redhat.com
 http://www.centos.org/docs/

*date
 #date  (시간 확인)
 #date 07241300 (시간 변경)
 #date +%m%d (출력 형태 변경)
 #date +%m%d_%H%M
ex) date -d '1 day ago' +%m%d (하루 전 날짜 출력)
ex) touch file_`date +%m%d`_log (esc 아래 ` `사이는 명령어로 인식)

*시간 동기화
 #rdate -p time.bora.net (타임 서버 시간 출력)
 #rdate -s time.bora.net (시간 동기화)

*달력
 #cal (현재 달 출력)
 #cal 2002 (2002년 달력 출력)
 #cal 6 2002 (2002년 6월 달력 출력)

*쉘 프롬프트 확인 및 변경
 #echo $PS1 (프롬프트 확인)
 
 //변수
 \u   :  유저 이름
 \h   :  호스트 이름
 \W   :  마지막 경로
 \w   :  전체 경로
 \$   :  root(#), 게스트($)

 //프롬프트 형식 바로 변경
 #PS1='[\u@\h \w]\$ '  

 //프롬프트 형식 영구적으로 변경
 #gedit(=vi) ~/.bashrc (본인의 /home에 있는 bashrc을 편집) 
   -> export PS1='[\u@\h \w]\$ ' 추가하기  
 #. ~/.bashrc 적용하기

*ls 명령어
 #ls -l : 해당 디렉터리의 목록들
 #ls -ld : 현재 디렉터리 정보
 #ls -lR : 하위 디렉터리까지 보여줌
 #ls -altr : 최근에 만들어진 게 맨 위로 됨  t : time sort, r : reverse sort

*mkdir (디렉터리 생성)
 #mkdir -p dir4/dir2/dir1 : 상위 디렉터리가 없으면 생성해주면서 최종 생성

*rmdir (삭제) 
 #rm -r : 하위 디렉터리까지 지움
 #rm -f : 강제로 지운다
 #rm -rf dir1 : dir1아래 하위 파일들도 강제적으로 다 지운다

 //삭제한 파일 복구
 (TUI) extundelete CMD
 (GUI) TestDisk Tool
 
*touch
 #touch 파일 : 크기 0인 파일 생성
 #touch -t 08301300 파일 이름 : 파일의 시간 변경

*cp (복사)
 #cp 파일 디렉터리 : 디렉터리 하위에 파일을 복사
 #cp -r : 하위 디렉터리까지 복사
 #cp -p : 파일의 권한을 그대로 복사
 #cp -a : 파일의 속성, 링크 정보를 그대로 복사
 
*cat (바이너리를 제외한 모든 파일 내용을 출력)
 #cat 파일 이름 : 파일 내용 출력
 #cat -n : 번호를 붙여서 보여줌
 
 //sort 사용
 cat 파일 1 파일 2 | sort -u > 파일 3  (파일 1과 파일 2를 합치지만 중복된 내용을 지우고 파일 3으로 생성)
 
 //more 사용(=less)
 #cat -n 파일 | more : 한 장면씩 넘기면서 볼 수 있음
VS
 #strings 바이너리 파일 (바이너리로 되어있는 파일을 보기 위해)
 
 //more 사용(=less)
 #strings 바이너리 파일 | more

*scp (Secure Copy)
 -ssh를 설치하면 같이 설치되며 원격으로 파일을 카피할 수 있다.
 #scp 파일 상대방IP:/파일경로 : 파일을 상대방 경로에 전송
 #scp 상대방IP:/파일경로 /파일경로 : 상대방 파일을 가져오는 것
 #scp 파일 유저이름@상대방IP:/파일경로 : 파일을 상대방 유저로 로그인하여 전송하는 것
 #scp 유저이름@상대방IP:/파일경로 /파일경로 : 상대방의 유저로 로그인하여 파일을 가져오는것

 //예제
 #scp /test/file1.txt 172.16.6.252:/test : 172.16.6.252에게 file1.txt을 전송
 #scp fedora@172.16.6.252:/home/fedora/* /test : 172.16.6.252의 fedora로 로그인하여 홈에있는 파일들을 /test로 가져오는 것

 //ssh와 혼합사용
 #ssh 172.16.6.252 ls /test : 172.16.6.252에 ls /test 명령어를 통해 확인을 하고 -> #scp 172.16.6.252:/test/file.txt /test : 확인한 파일을 scp을 사용하여 가져온다