리눅스 키워드
POSIX: Portable Operating System Interface + X(UNIX의 X), UNIX 호환 운영체제
리눅스 커맨드
- 새 터미널 - ctrl+alt+t, 터미널 있을땐 ctrl+shift+n
- 터미널 탭 - ctrl+shift+t
- 절대경로 - cd /name1/name2/name3 (어디에있든 상관x)
- 상대경로 - cd name1/name2/name3 (하위 디렉토리)
- 홈 디렉토리 - cd
- 상위 디렉토리 - cd ..
6-1. 디렉토리 스위칭 - cd -
- 현재 디렉토리 위치 - pwd
- 디렉토리 파일 - ls
8-1. 디렉토리 숨긴파일 - ls -a
8-2. 목록 자세히 - ls -l
- 터미널 비우기 - clear or ctrl+l
- 자동완성 - 적당히 치고 tap
- 단어 단위 이동 - ctrl+방향키
11-1. 단어 단위 삭제 - alt+Backspace
- 실행 취소 - ctrl+c
- 복/붙 - ctrl+shift+c/v
- 한/영 - shift+space
- 커맨드 실행기록 - history
15-1. 기록커맨드 실행 - !숫자
15-2. 특정 기록커맨드 실행 - !t
- 파일 생성 - touch hello.txt
16-1. 파일 병렬 생성 - touch {a..z}{1..100}
16-2. 파일 병렬 삭제 - rm {a..z}{1..100}
- 디렉토리 생성 - mkdir mydirec
17-1. 디렉토리 병렬 생성 - mkdir {a..z}{1..100}
17-2. 디렉토리 병렬 삭제 - rmdir {a..z}{1..100}, rm -r {a..z}{1..100}
- 파일 내용 넣기(원래 있던 내용삭제) - echo hello1234 > hello.txt
18-1. 파일 내용 넣기(삭제안하고 줄바뀜) - echo WORLD! >> hello.txt
18-2. 파일 내용 읽기 - cat hello.txt
- 파일 복사(디렉토리 위치확인) - cp filename.txt filename.txt.bak
19-1. dir1 모든내용 dir2로 복사 - cp -r dir1 dir2/
- 파일명 변경 - mv hell.sh hello.sh
20.1 파일 이동(디렉토리 있어야함) - mv hello.txt dir1
- 쉘 문자열 넣으면서 생성 - echo echo hello world > hello.sh
- 쉘 실행(ls -l로 권한 확인, ./ = 현재 디렉토리) - ./hello.sh
- 실행 권한 - chmod u+x hello.sh
23-1. 실행 권한 추가삭제 user, group, other - chmod (u,g,o)(+,-)x hello.sh
23-2. r,w,x 권한 모두 제거 - chmod a-rwx hello.sh
23-3. 권한 없을 때 - cat hello.sh -> permission denied
23-4. 관리자 권한, pw:1 - sudo cat hello.sh
23-5. rw-rw-rw-(110,110,110) - chmod 666 hello.sh
23-6. chmod a+rw hello.sh 이랑 append, overwrite 차이
- 디렉토리 권한 - 23번과 마찬가지 방법인데 디렉토리 권한으로 그 안 파일까지 권한 조정불가
- 파일 형태별 생성
25-1. pipe - mkfifo pipe
25-2. character - sudo mknod mydevice c 254 0
25-3. block - sudo mknod mydevice b 254 0
- dir1 디렉토리 안의 디렉토리 갯수 확인(.자기자신, ..상위 포함) - ls -ld ~/Desktop/dir1/
- 단축 명령어 확인 - alias ll
- 용량 확인 - du -h
- 환경변수 확인 - env
29-1. 환경변수 PATH 확인 - echo $PATH, PATH 안 경로에 넣은 파일은 어디서나 실행해도 가능, 옮기는 방법은 sudo mv로
- 환경변수 PATH 추가(유효범위- 변경한 터미널 내) -PATH=PATH: /Desktop/30−1.bash파일수정(유효범위−모든터미널)−subl /.bashrc,PATH있는곳에PATH=PATH:~/Desktop 코드 추가, source ~/.bashrc
- ?? - grep btime /proc/stat | grep -Eo "[[:digit:]]+"
- ifconfig 내 inet 추출? - ifconfig | grep inet
- 커맨드 사용법 안내 - man ls
- 현재 디렉토리 실행 프로그램 - ps
34-1. 모든 디렉토리 실행 프로그램? - ps aux
34-2. 내가 원하는 프로그램 찾기 - ps aux | grep 'sleep 1000'
- 프로그램 백그라운드, 포어그라운드 전환 - bg, fg
- 트리 - tree, pstree
- root 로그인 - su, whoami 로 확인 가능
- 확장자별 압축풀기 - unzip filename.zip 또는 tar zxf filename.tar.gz (여러개 더있음)
- 버전 확인 - uname -a
- 내 로그인 이름 보기 - whoami
- 이스케이프 (공백문자 넣기) - mkdir 'Program Files' 또는 mkdir Program\ Files
vi 편집기
- vi hello.c
- i 누르면 input 모드, hello world 치기
- esc 누르면 input 모드 빠져나옴
- :wq 저장 후 나가기 (shift zz도 가능)
- a, i 둘다 insert 인데 커서 오른쪽 들어가기, 왼쪽 들어가기 차이
- 문장 줄 바꾸기 - dd(잘라내기), p(붙여넣기)
- 6줄 잘라내기 - 6dd
- 검색 - command 모드에서 /ccaassee
- 전방향 검색 - n, 후방향 검색 - shift+n
- 치환 - :%s/ccaassee/case, 근데 한번에 됌
- 마우스로 복/붙 - 더블클릭 후 휠키 클릭
- 치환 물어보면서 하기 - :%s/ccaassee/case/c
- 두개 소스코드 합치기 - :sp sub_002.c
- 소스코드 창 이동 - ctrl+ww
- v 누르면 visual 모드, 커서이동 -> 드래그
- 복/붙 - y/p
- 필요없어진 문서 닫기 - shift+zz
- command 모드에서 오타고치기 - x
- 문장 맨앞/마지막으로 가기 - 0 / $
- 문장 5줄 추가 - yy, 5p
- 특수문자 치환 - :%s/ch$/ch\&/c (esc \ 이용)
- 라인 넘버 설정 - :set nu / :set nonu
- 36행으로 가기 - 36 shift+g
- 1행/마지막으로 가기 - 1 shift+g / shift+g
- vi편집기 핵심 기능 버퍼(클립보드 여러개) - ??, 직접 찾아보기
- vi 환경설정 파일은 홈 디렉토리 .vimrc파일에 원하는 설정 코드 저장