기술 블로그
리눅스 기초 명령어 본문
리눅스 기초 명령어
1. 로그 아웃하기
- # logout / ^D / exit (주: "/"는 "또는"을 의미. "^"는 "Ctrl" 키)
2. 파일과 디렉터리 관리하기
1) 파일과 디렉터리 목록보기
- # ls
- # ls -a :숨김파일도 표시
- # ls -l : 자세한 정보 표시
- # ls --color :파일의 종류에 따라 다른 색으로 표시
- # ls -c : 파일의 생성이나 변경된 시간에 따라 정렬하여 표시
- # ls -F : 파일의 종류에 따라 파일 이름 뒤에 특정 문자를 추가하여 표시
- # ls -R : 하위 디렉터리의 내용까지 모두 표시
- # ls -al --color
2) 현재의 작업 디렉터리 표시
- # pwd
3) 디렉터리 이동하기
- # cd /home (root 아래 home 디렉터리로 이동)
- # cd public_html (현재 디렉터리 아래 public_html 디렉터리로 이동)
4) 파일 복사하기
- # cp [원본파일이름] [복사할파일이름]
- # cp [원본파일이름] [복사할디렉터리이름] : 디렉터리에 파일 복사
- # cp [원본파일이름] [복사할디렉터리/복사할이름] : 이름을 바꾸어서 지정한 디렉터리에 복사
- # cp [디렉터리/파일이름] [디렉터리/파일이름]
- # cp -i : 복사할 파일이 존재할 경우에는 복사할 것인지 묻는다.
5) 파일이나 디렉터리 이동하기
- # mv [원본파일명] [이동할디렉터리명]
- # mv [원본파일명] [이동할파일명] : 파일 이름을 변경할 때
- # mv [원본디렉터리] [이동할디렉터리] : 디렉터리가 존재하면 디렉터리 밑으로 이동, 존재하지 않으면 디렉터리 이름 변경 효과
6) 디렉터리 만들기/ 삭제하기/ 파일 삭제하기/ 파일 유형 표시하기
- # mkdir [디렉터리명]
- # mkdir -p work/program : 현재 디렉터리 아래 'work' 와 'program'을 한번에 만들 때
- # rm -i [파일이름] : 삭제할 때마다 확인
- # file [파일명] : 해당 파일의 유형을 알려준다.
7) 빈 파일 만들기
- # touch counter.text
8) 특정 문자열을 화면에 출력하기
- # echo 김정기
3. 파일의 내용 보기
1) 텍스트파일의 내용보기
- # cat [파일이름] : 지정한 텍스트 파일의 내용을 보여 줌
- # cat -n [파일이름] : 파일에 줄번호를 삽입하여 표시
2) 텍스트파일의 내용을 페이지 단위로 보기
- # more [파일이름] : 옵션( 스페이스바-다음 페이지, 엔터-한 줄, '-파일의 맨 앞, v-vi로 편집, q-종료 )
3) 텍스트파일의 앞 부분 보기/ 텍스트파일의 끝 부분 보기
- # head -n [파일이름] : 처음 n 개의 줄만 표시
- # tail -n [파일이름] : 맨 뒤의 n 개의 줄만 표시
4) 파일의 문자와 단어, 줄의 수 알아내기
- # wc [파일이름]: 파일에 포함된 줄, 단어, 글자 수 순으로 표시
4. 기타 명령어
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
리눅스 명령어 - 권한관련
파일 사용권한 변경
파일의 읽기, 쓰기, 실행 권한을 변경을 할때 사용합니다.
파일의 권한 범위는 크게 사용자 , 그룹, 모든유저 로 권한이 되어 있습니다.
ls -l 명령으로 파일상세목록 보기를 실행하면
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
이 명령어는 파일 에서 파일 권한 부분을 변경을 해주는 명령어 입니다.
우선 파일 권한에 대한 설명을 하자면
- rwx r-x r-x
↑ ↑ ↑ ↑
파일유형, 파일주인 권한 , 그룹의 권한, 모든 사용자 권한 으로 분류를 하게 됩니다.
각각의 권한은 rwx 이라는 권한을 이야기 하면
r: 읽기 권한 ,
w: 쓰기, 수정권한
x : 실행권한이라고 합니다.
모든권한이라고 하면 rwx 가 붙고
읽기 권한이라고 하면 r--
쓰기권한 이라고 하면 -w-
실행권한 이라고 하면 --x
입니다.
한마디로 위의 파일을 종합한다면
순서대로 파일주인 root 는 읽고 쓰고 실행가능
파일권한그룹 root 는 읽기 실행가능
나머지 모든사람은 읽기 실행가능 밖에 사용할수 있습니다.
그럼 위의명령어 "chmod"로 어떻게 변환을 할수 있느냐.
우선 콘솔에 chmod --help 라고 치면 자세한 설명을 얻을수 있습니다
사용법: chmod [옵션] [권한모드] [파일명또는 디렉토리명]
위와 같이 입력을 하면 해당권한으로 실행됩니다.
근데 위에 권한 모드라고 했는데 어떻게 쓰는거냐 하면
각 권한에 대하여 8진법을 사용을 하게 됩니다.
변환에 따른 기본규칙은
r 은 4
w 는 2
x 는 1
권한을 안줄때 는 0 입니다.
위에 같은 공식을 서로 더해 주면 권한을 숫자 1자리로 표현을 하게 됩니다.
예) rwx -> 7, r-x -> 5 r-- -> 4 , --x -> 1
위와 같은형태로 파일주인, 그룹, 나머지 다른모든유저 에 각각 숫자가 완성이 되는것입니다.
위에 test.txt 파일을 표현을 한다면 755 가되겠지요?
그럼 이파일 권한을 적용하여 명령어로 만들면
--> chmod 755 test.txt
위와 같은형태로 하면 파일 주인은 모든권한, 그룹은 읽고 실행가능, 나머지 모든 사용자는 읽고 실행가능 이 됩니다.
이것을 사용자만 모든권한을 준다고하고 다른사람은 접근도 못하게 할려면
--> chmod 700 test.txt 로 하면 권한이 " -rwx------ " 이 됩니다.