[LINUX] 2.GUI환경과 기본 명령어
📍 해당 게시글은 사물인터넷을 위한 리눅스 기본을 공부하며 정리한 글입니다.
1. Console & User
1) 가상 콘솔(Virtual Console)
- Ctrl + Alt + F1~6으로 6개의 가상 콘솔 사용 가능
- Alt + F7으로 복귀(or F1)
2) 디렉토리
- . : 현재 디렉토리
- .. : 부모 디렉토리
- ~ : 홈 디렉토리
- - : 최근 디렉토리
3) 터미널 제어
shell -> terminal -> Bash : 리눅스의 표준 shell [셀의 실행]
- 단축키 : Ctrl + Alt + T [입출력]
- 단어 삭제 : Ctrl + W
- 강제 종료 : Ctrl + \
- 라인 전체 삭제 : Ctrl + U
- 터미널 출력 시작/중지 : Ctrl Q/S [커서 이동]
- 줄 맨 앞으로 : Ctrl + A(앞)
- 줄 맨 끝으로 : Ctrl + E(End)
- 한 글자 front로 이동 : Ctrl + F(앞)
- 한 글자 back으로 이동 : Ctrl + B(뒤)
- 현제 커서 위치의 단어 삭제 : Ctrl + D [대기 표기]
사용자 @ 호스트이름 : 작업중인 디렉토리 $
- 프롬프트
- 일반 유저 : $
- root 유저 : #
4) User(일반 or 슈퍼)
[일반 유저]
- 일반 사용자를 위한 계정
- 일반 작업은 이 작업으로 수행하길 권장
- 홈 디렉토리
/home/계정명
- 위 디렉토리 하위에 파일을 생성해서 사용해야한다. [슈퍼 유저]
su
를 사용해서 계정전환 가능- 또는
sudo
명령어를 사용해서 일반유저도 슈퍼유저 권한 실행 가능 - 홈 디렉터리
/root
- 권한이 높아 무슨 파일이든 다 수정, 삭제가 가능하기에 주의가 필요 [관련 명령어]
- 비밀번호 변경 : passwd
- 사용자 계정 추가
- useradd : 홈 디렉터리 설정 없이 오직 계정만 추가
- adduser : 계정, 디렉토리 등 기본으로 설정
- 사용자 삭제
- 계정만 삭제 : userdel, deluser
- 계정, 홈 디렉터리 삭제 : userdel -r 계정명, deluser –remove 계정명
- 계정, 홈 디렉터리, 계정명으로 된 모든파일 삭제 : deluser –remove-all-files
- 로그아웃
- 터미널에서 exit(or logout)
- Ctrl + D으로도 가능(이는 root경로에서 나올 때도 사용됨)
- 재부팅
- shutdown -r now
- 종료
- shutdown -P now
- shutdown -P now
2. 명령어
1) 경로관련
- ls : 현 디렉토리 파일목록(list) 출력
- a : 모든 파일(숨겨진 파일까지) 표시
- l : 자세한 내용(long) 표시
- F : 파일을 /로 구분하여 표시
- cd : 경로 변경(change directory)
- cd 경로 : 해당경로로 이동
- cd .. : 뒤로
- cd - : 방금 전 경로로 이동
- mkdir/rmdir : 경로 생성/삭제
- rmdir의 경우 경로(파일)안에 아무것도 없어야 삭제 가능하며, 비어있지 않은 경로를 삭제하려면
rm -r 경로
를 사용
- rmdir의 경우 경로(파일)안에 아무것도 없어야 삭제 가능하며, 비어있지 않은 경로를 삭제하려면
- pwd : 현재 작업 디렉토리 경로 출력(print working directory)
- clear : 화면 지우기
2) 파일관련
- find : 파일 이름으로 파일 검색
- grep : 파일 내용으로 파일 검색
- tree : 디렉토리의 계층구조를 출력
- file : 파일의 종류 확인 <=> type은 명령어 종류
- wc : 파일의 줄, 단어, 문자 수를 출력
- echo : 문자열 출력
- touch/cp/rm/mv : 파일 생성/복사/이동/삭제
- chmod : 파일의 접근권한 변경
- cat : 파일 내용 출력
- n : 이 옵션은 행 번호를 표시함
- more : 파일의 내용을 페이지 단위로 출력
-
ls -al more 와 같이 명령어의 결과에도 활용가능
-
3) 도움말
- 명령어 –help : 간단한 정보 출력
- info 명령어 : 정보/도움말 출력
- man 명령어/함수 : 메뉴얼을 출력(가장 정보 많음) [명령어 종류/위치]
- type : 명령어의 종류 표시
- which : 명령어의 위치 표시
- whereis : 명령어 관련 리소스의 위치 표시
4) 기타
- date : 현재 시스템의 날짜 출력
- time 명령어 : 해당 명령어에 대한 프로세스들의 실행시간 출력(현재시간출력x) [와일드카드]
*
: 모든 문자열- ex) a* : a로 시작하는 모든 문자열
+
: 뒤에 모든 문자열 연결(a제외)?
: 한문자를 의미- ex) a?
[]
: 대괄호 안 하나의 문자만-
- ex) [abc] : 셋 중에 하나라도 있으면 표시
- [history]
- 이전에 사용한 명령어 출력
-
- history
-
history grep 명령어 : 검색 - history 숫자 : 숫자만큼 출력
- -c : 히스토리 삭제
- -w : 현재 셀의 히스토리를 .bash_history에 저장
- !! : 직전 명령어 다시 수행
- !숫자 : history번호로 명령 수행
-
3. 파일과 디렉터리의 링크
링크는 파일에 2개 이상의 이름을 갖게하여, 보다 이름으로 접근할 수 있도록 한다.
링크에는 2가지 방법이 있다.
1) 심볼릭 링크
- 바로가기 개념과 같이 해당 경로를 갖는 파일을 생성하는 것(실제로 링크된 것이 아님)
- 파일과 디렉토리 모두 가능
- 존재하지 않는 파일에도 링크 작성 가능
2) 하드 링크
- 실제로 파일을 링크
- 파일에만 가능
- 존재하는 파일에만 링크 가능
[링크 생성 방법] ln (옵션) 타겟 링크이름
- 옵셥이 없으면 -> 하드링크
- 옵션으로 -s를 주면 -> 심볼릭 링크
[파일 작성 방법] cat > 파일명
: 새로쓰기(기존 파일 없으면 생성)cat >> 파일명
: 추가하기- 위 입력 후 작성할 내용을 입력한다. Ctrl + D로 입력 종료
- echo 123\n456 > 파일명 : echo를 사용해서도 작성 가능. 여기서는 줄 띄우기를 \n으로만 가능
3) 리다이렉션
이처럼 >는 덮어쓰기, » 는 추가의 기능을 가진다. <도 가능하다.
- ex) cat
b.txt - 이는 a.txt가 cat에 입력(<)되고 이것이 b.txt로 입력(>)된다.
4) 접근권한
ls -l 을 하면 2번째에 접근 권한이 나옴(첫번째에는 파일의 종류가 나오며 심볼릭 링크는 l임)
- 접근 권한은 3가지로 구분한다.
- ex) rw-rw-r–
- rwx부분이 3번 반복된다.
- rwx는 read/write/execute 권한을 의미하며 -는 권한이 없음을 의미
- 첫번쨰 3자리 : 소유자(owner)
- 두번째 3자리 : 그룹(group)
- 세번쨰 3자리 : 기타(other)
-
접근권한의 변경은
chmod [u|g|o|a] + [+|-|+] [r|w|x]+ 파일명
5) 출력
- cat 파일명 (파일명2 ..) 로 한개 이상의 파일을 출력가능
- head -n 파일명 : n수 만큼 위에서부터 라인을 출력. 옵션 없을 시 기본 10
- tail -n 파일명 : n수 만큼 위에서부터 라인을 출력. 옵션 없을 시 기본 10
- diff (옵션) file1 file2 : 두 파일을 비교하여 차이점 출력
- c : 차이점 출력
- d : 차이점 상세하게 출력
댓글남기기