기본 콘텐츠로 건너뛰기

Linux Command 3

square72_blue.gif 리눅스 기초 명령어

1. 로그 아웃하기

- # logout / ^D / exit

2. 리눅스 종료하기

- # halt

- # shutdown -h now

3. 파일과 디렉토리 관리하기

1) 한글 터미널 실행하기

- [시작]-[시스템도구]-[추가시스템도구]-[한글터미널]

2) 파일과 디렉토리 목록보기

- # ls

- # ls -a :숨김파일도 표시

- # ls -l : 자세한 정보 표시

- # ls --show-control-chars : 일반 영어가 아닌 글자들을 출력하는 옵션

- # ls --color :파일의 종류에 따라 다른 색으로 표시

- # ls -c : 파일의 생성이나 변경된 시간에 따라 정렬하여 표시

- # ls -F : 파일의 종류에 따라 파일 이름 뒤에 특정 문자를 추가하여 표시

- # ls -R : 하위 디렉토리의 내용까지 모두 표시

- # ls -al --color

3) 현재의 작업 디렉토리 표시

- # pwd

4) 디렉토리 이동하기

- # cd /home

5) 파일 복사하기

- # cp [원본파일이름] [복사할파일이름]

- # cp [원본파일이름] [복사할디렉토리이름] : 디렉토리에 파일 복사

- # cp [원본파일이름] [복사할데렉토리/복사할이름] : 이름을 바꾸어서 지정한 디렉토리에 복사

- # cp [디렉토리/파일이름] [디렉토리/파일이름]

- # cp -r [원본디렉토리이름] [복사할디렉토리이름] : 디렉토리를 통채로 복사

- # cp -rb [원본디렉토리이름] [복사할디렉토리이름] : 디렉토리를 통채로 복사하는데 같은 이름이 있을 때는 ~문자를 덧붙여 백업 파일 생성

- # cp -d : 링크되어 있는 파일 자체를 심볼릭 링크 정보와 함께 복사

- # cp -f : 복사할 파일이 존재하는 경우에 기존의 파일을 삭제하고 복사

- # cp -p : 원본 파일의 소유, 권한 등의 파일 정보를 그대로 복사

- # cp -u : 대상 파일보다 원본 파일이 새로운 것일 때만 복사

- # cp -i : 복사할 파일이 존재할 경우에는 복사할 것인지 묻는다.

- # cp -rfdpu

6) 파일이나 디렉토리 이동하기

- # mv [원본파일명] [이동할디렉토리명]

- # mv [원본파일명] [이동할파일명] : 파일 이름을 변경할 때

- # mv [원본디렉토리] [이동할디렉토리] : 디렉토리가 존재하면 디렉토리 밑으로 이동, 존재하지 않으면 디렉토리 이름 변경 효과

7) 디렉토리 만들기/ 삭제하기/ 파일 삭제하기/ 파일 유형 표시하기

- # mkdir [디렉토리명]

- # mkdir -p /work/program : 'work' 와 'program'을 한번에 만들 때

- # rmdir -rf [삭제할디렉토리명] : 해당 디렉토리에 존재하는 모든 파일과 디렉토리 삭제

- # rm -i [파일이름] : 삭제할 때마다 확인

- # rm -rf [디렉토리명 : 해당 디렉토리 및 그 서브디렉토리까지 모두 삭제

- # file [파일명] : 해당 파일의 유형을 알려준다.

8) 빈 파일 만들기

- # touch couter.text

4. 파일의 내용 보기

1) 텍스트파일의 내용보기

- # cat [파일이름] : 지정한 텍스트 파일의 내용을 보여 줌

- # cat -n [파일이름] : 파일에 줄번호를 삽입하여 표시

2) 텍스트파일의 내용을 페이지 단위로 보기

- # more [파일이름] : 옵션( 스페이스바-다음 페이지, 엔터-한 줄, '-파일의 맨 앞, v-vi로 편집, q-종료 )

3) 텍스트파일의 앞 부분 보기/ 텍스트파일의 끝 부분 보기

- # head -n [파일이름] : 처음 n 개의 줄만 표시

- # tail -n [파일이름] : 맨 뒤의 n 개의 줄만 표시

4) 파일의 문자와 단어, 줄의 수 알아내기

- # wc [파일이름]: 파일에 포함된 줄, 단어, 글자 수 순으로 표시

5. 리눅스 명령어을 다른 이름으로 사용하기: alias

- # alias type='cat' : 여기서 type는 별칭, cat는 리눅스 명령어이다. alias를 항상 실행되게 하려면 홈 디렉터리의 .bashrc_profile이나 /etc/profile, .bashrc 등에 저장해 놓으면 된다.

- # unalias type : alias의 해제. 계속해서 사용하지 않을려면 ashrc_profile이나 /etc/profile, .bashrc등의 파일을 수정하면 된다.

6. 파일 내의 특정 문자열 바꿀 때: sed

-텍스트 파일에 있는 특정 문자열을 다른 문자열로 바꾸려면 sed를 사용하는게 가장 좋다. 예를 들어 test3.txt에서 unix라는 문자열을 linux로 바꾸려면 $sed -e 's/unix/linux/g' <> test3-1.txt 라고 하면 된다. -e는 에디트 모드를 뜻하는 옵션이다. s의 의미는 치환(substitute)명령이고, 끝의 g는 플래그인데 한 행에 같은 단어가 여러 번 나와도 모두 치환하라는 명령이다. > test3-1.txt은 문자열이 바뀐 것을 test3-1.txt로 저장하라는 뜻이다. sed는 치환 이외에도 삽입, 삭제등 여러 가지 명령을 수행할 수 있다. 자세한 사용법은 $info sed나 $man sed 해서 알아 보면 된다.

- # sed -e 's/unix/linux/g' <>test2.txt

7. 여러 파일을 하나로 합치기: cat

- xaa, xab, xac세 파일을 합쳐서 xa로 만들려면 $ cat xaa xab xac > xa 하면 된다. cat은 텍스트 파일을 볼 때도 사용했다. 그리고 소리(.wav, .au)를 들을 때도 사용한다.($cat love.wav > /dev/dsp 또는 /dev/audio) 여기서 알 수 있듯이 cat는 단순히 파일을 표준 출력으로 내보내는 프로그램이라는 것을 알 수 있다.

- # cat txt1 txt2 tex3 > txt

8. 큰 파일을 작게 쪼개기: split

-크기가 큰 파일을 나눌 때 split을 사용한다. 옵션을 -b(Bytes)로 주면 파일을 크기로 나누고, -l(Line)로 주면 텍스트 파일을 행으로 나눌 수 있다.

- # split -b 20k X-Win*

ls x*

x-window-configration.doc xaa xab xac xad xae xaf xag xah xai

cat xa* > X-Win.txt

more X-win.txt

split -l 50 l4.txt

9. 텍스트파일 정렬하기

- sort 명령으로 텍스트 파일의 내용을 정렬할 수 있다. 정렬은 행을 기준 단위로 한다. 숫자의 크기별로 정렬할 내용이면 -n 옵션을 준다. 역순으로 정렬할 때는 옵션 -r을 준다. 정렬한 내용을 파일로 저장하려면 옵션 "-o 저장할 파일명"을 추가하면 된다.

- # sort fruits

- # sort fruit -o fruits-1

10. 기타 명령어

1) 사용자 조회하기 / 자신의 사용자 ID 표시하기 / 비밀번호 변경하기

- # who : 현재 시스템에 로그인하여 사용중인 사용자의 목록 표시

- # whoami : 자신의 사용자 ID 표시

- # passwd : 자신의 비밀번호 변경

- # passwd [사용자ID] : 슈퍼유저인 경우에 사용자의 비밀번호 변경

2) 현재 날자와 시간 정보 표시하기 / 화변 삭제하기

- # date : 현재의 날짜와 시간 정보 표시

- # date [MMDDhhmmYYYY] : 시스템의 시간을 변경 (월일시분년)

- # clear : 화면을 깨끗하게 지울 때

3) 특정 명령어에 대한 도움말 보기

- # man [명령어] : 해당 명령어의 도움말 보기 ( 스페이스바 - 다음 페이지, :q -종료)

4) 특정 내용을 포함하는 파일 찾기 / 파일 찾기

- # grep [특정내용] [찾을 파일] : (텍스트 파일에서 특정 내용을 포함하는 파일을 찾기)

- # grep linux * : 현재 디렉토리에 있는 모든 파일 중에서 linux가 글자가 들어간 파일 찾기

- # grep -n linux * : 줄 번호까지 표시

- # grep -i linux * : 찾을 글자의 대소문자를 구분하지 않음

- # find [찾을경로] [옵션] [찾을파일명]

- # find . -name "serch*" -print

- # find [경로] -name [찾을 파일명] -exec 명령어 {} \; -print : 찾은 파일을 지정에 대해 지정한 명령어를 적용시킴

- # find . -name "*.bak" -exec rm {} \; -print : 현재 디렉토리에서 그 하위의 디렉토리에 존재하는 이름이 '*.bak'인 파일을 모두 찾아 삭제한다. find는 기본적으로 하위 디렉터리까지도 검색한다. 옵션에서 지정하기에 따라서 이름별, 날짜별,형태별, 길이별 등등으로 파일을 찾을 수 있다. 또한 찾은 파일에대해 일정한 명령을 수행하도록 할 수 있다. 사용 형식은 다음과 같다. $find 찾을디렉터리 옵션 '찾을파일' 연산자, 연산자란 찾은 파일에대한 명령이다. -print(화면에 출력), -exec rm {}(파일 지우기)등을 말한다. -print외의 연산자 뒤에는 명령이 끝난 다음에 \;로 명령의 끝을 알린다.

- # find . -name "file*" -exec grep linux {} \; -print

5) 디스크 용량 확인하기/ 특정 디렉토리 사용량 확인하기 / 현재 구동 중인 프로세스 표시하기 / 프로세스 종료하기

- # df -m: 마운트된어 있는 하드 디스크의 용량을 메가 바이트 단위로 표시

- # du -m [디렉토리명]: 특정 디렉토리의 디스크 사용량을 메가바이트 단위로 확인

- # ps : 자신이 구동한 프로세스 표시

- # ps -ef : 현재 구동 중인 모든 프로세서 목록 표시

- # kill [해당프로세스ID] : 해당 프로세스 종료 시킴

6) 파일 링크

- # ln hangle kangle : 하드링크로 동일한 파일에 대해 다른 이름을 갖는다.

- # ls -i : inode가 같으면 하드 링크다. 리눅스에서 모든 파일은 독립적인 inode를 갖는다.

- # ln -s [링크시킬파일이름] [링크파일이름]

- # ls -l : 서로 다른 inode를 가지며 파일구조도 다르다. 링크시킬 파일을 삭제하면 링크된 파일이 존재해도 실행되지 않는다.

11. 명령어에서 사용 가능한 메타 문자

1) Redirection 사용하기 (출력: >, >> 입력: < , << )

- # ls -al > list.txt : 명령어 실행 결과를 list.txt 파일에 저장함, 지정한 파일이 없으면 생성하고 있으면 모두 지우고 새로 기록

- # ls -al >> list.txt : list.txt 파일이 없으면 생성하고 저장하며, 존재하면 기존의 내용은 놔두고 새로운 내용을 맨 뒤에 기록

- # cat -n < [파일이름] : 명령어의 입력으로 파일을 지정할 수 있도록 함

2) pipe 사용하기( | ) : 명령어의 출력을 다은 명령어의 입력으로 전달한다.

- # 명령어1 | 명령어2 : 명령어1의 출력을 명령어2의 입력으로 전달

- # ps -ef | grep mysql : 많은 프로세스 중에서 mysql 관련된 명령어만 보여줌

3) 와일드카드 사용하기 (*, ? )

- # ls -al kim* : *은 모든 문자를 대치

- # ls -al kim?.??? : 지정한 위치의 모든 문자를 대치

4) 명령어 순차 실행시키기 ( ; ) / 백그라운드 실행하기( & )/ 문자 범위 지정하기 ( [..])

- # ls -al ; who ; ps : 명령을 순차적으로 실행하여 보여줌

- # 명령어 & : 서버 프로그램 실행과 같이 쉘의 제어를 받지 않고 무한으로 구동시키는 방법으로 새로운 프로세스가 생성됨

- # ls test[a-d] : test로 시작하고 a,b,c,d로 끝나는 파일의 목록만 표시

댓글

이 블로그의 인기 게시물

Ubuntu (Kubuntu) 에 desktop 파일 만들기

Package 관리자등을 통해 직접 Repository 에 있는 Application 을 설치하는 경우에는 필요한 경로와 파일, Category 로 분류된 Icon 등록 등이 자동적으로 이루어지나 firefox, eclipse 등 새로운 버전을 새로 설치할 경우, 다음과 같은 절차를 통해 시작메뉴에 등록시킬 수 있다. 다음은 eclipse-SDK-3.6-linuxx-gtk.tar.gz 을 받아 설치 등록하는 것을 예로 든다. 1. 다운받은 파일을 /usr/lib에 압축해제한다. (물론, super user 계정으로 실행해야 한다.) 2. 보통의 경우, /usr/bin Directory 는 PATH 에 물려 있으므로 다음과 같은 실행 파일을 만들어 놓는다. # cd /usr/lib # chmod +x eclipse # cd /usr/bin # sudo nano eclipse eclipse 파일에는 아래의 내용을 입력하여 넣는다. export ECLIPSE_HOME="/usr/lib/eclipse" $ECLIPSE_HOME/eclipse $ * # sudo chmod 755 eclipse 3. Desktop Menu 에 추가하려면 # cd /usr/share/applications # sudo nano eclipse.desktop [Desktop Entry] Encoding=UTF-8 Name=Eclipse Comment=Eclipse IDE Exec=eclipse Icon=/usr/lib/eclipse/icon.xpm Terminal=false Type=Application Categories=GNOME;Application;Development' StartupNotify=true 이렇게 입력한 파일을 저장하면, 시작메뉴 > 개발 > Eclipse 아이콘이 생성되어 메뉴에서 직접 실행할 수 있게된다.

우분투에 연결된 프린터, 스캐너를 윈도우즈에서 공유하여 사용하는 방법

[Sharing Printer and Scanner through Network] 전제조건 ( 사용환경 ) 복합기가 연렬되어 프린터와 스캐너 서비스를 공급할 대상 : Ubuntu 16.10 (Yakkety Yak) 64bit 공유된 프린터와 스캐너를 사용할 대상 : Windows 10 64bit 사용 중인 복합기 : Canon-MX318 (PIXMA MX310 Series) Server-side setup $ sudo apt update $ sudo apt-get install cupsys cupsys-client xinetd $ sudo apt-get install samba smbfs swat $ sudo dpkg-reconfigure xinetd $ sudo apt install cups cups-pdf xsane sane-utils xscanimage gscan2pdf $ sudo adduser saned lp $ sudo gedit / etc/cups/ printers.conf 웹브라우저의 http://snjee-nb2-ubuntu:631 에서 설정된 내용들이 표시된다. $ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original $ sudo chmod a-w /etc/cups/cupsd.conf.original $ sudo gedit /etc/inetd.conf sane-port stream tcp nowait saned.saned /usr/sbin/saned saned $ sudo touch /etc/xinetd.d/saned $ sudo gedit /etc/xinetd.d/saned service saned { socket...

STM32CubeIDE 한글 주석 깨짐 문제 해결

STM32CubeIDE 는 JAVA로 프로그램된 eClipse CDT 프레임워크 기반으로 제작된 소프트웨어 이다. 아래의 내용은 STM32CubeIDE 개발 환경에서,  시스템 환경을 변경하기 위해  Pinout 등을 수정하여  Device Configuration Tool Code Generation (IOC File) 을 수행하면 수정된 코드가 자동 생성된다. 이 때, 소스 상의 한글 주석이 깨지는 문제점을 해결하는 방법이다. JAVA의 File Encoding 문제이며, 나는 소스파일을 UTF-8로 encoding 하도록 수정하였다. 다음의 순서로 진행한다. 1. 메뉴 Window > Preferences > Workspace - 하단의 Text file encoding을 Other 리스트 중에서 UTF-8을 선택한다. - Apply and Close 한다. 2. 탐색기 > 내 PC > 마우스 우측 클릭 > 팝업 메뉴에서 "속성" > 고급 시스템 설정 - 시스템 속성 창이 뜨면 "고급" 탭 하단의 "환경 변수" 클릭 - 사용자 변수에 "새로 만들기" 버튼을 눌러 변수 이름 : JAVA_TOOL_OPTIONS 변수 값 : -Dfile.encoding=UTF-8