CLI
- 명령줄 인터페이스
GUI
- 그래픽 사용자 인터페이스
컴퓨터를 조작하기 위한 입출력을 간단하게 I/O 라고 한다.
윈도우 환경에서는 WSL2로 리눅스
리눅스 터미널에서 사용하는 기본 명령어
pwd
(print working directory): 현재 위치 확인
mkdir
(make directories): 새 폴더 생성
생성할 폴더명을 함께 입력 공백으로 구분
폴더나 파일 이름에 공백이나 특수문자가 있으면\
적용
ls
(list) : 특정 폴더에 포함된 파일이나 폴더 확인
옵션l
a
ls -l
- 폴더나 파일의 포맷을 전부 표현
ls -a
- 숨어있는 폴더나 파일을 포함한 모든 항목 출력
ls -al 또는 ls -la
drwxr-x--- > 첫 글자 d 는 디렉토리
-rw-r--r-- > 첫 글자 - 는 파일 (cd 로 진입 불가)
cd
(change directory) : 폴더 진입(상호작용 폴더 변경)
touch
: 파일 생성
>
: 실행 결과 저장
ls > a.txt 는 a 텍스트 파일에 ls 명령어의 실행 결과가 저장
echo
는 뒤의 내용을 화면에 출력해주는 역할
echo hello 는 화면에 hello 출력
echo hello > a.txt 는 hello 가 a 텍스트 파일에 저장
cat
: 파일의 내용을 터미널에 출력
rm
(remove) : 폴더나 파일 삭제 (휴지통을 거치지않고 삭제)
폴더를 삭제하려면 옵션r
f
사용
r
=폴더를 지울때 사용f
=질문을 받지 않고 지움
rm -rf bye
mv
: 폴더나 파일의 이름 변경, 위치 옮기기
위치 : mv [이름][도착폴더의 이름]
이름변경 : mv [이름][변경할 이름]
cp
: 폴더나 파일을 복사하기
cp [원본 파일 이름][복사할 파일 이름]
cd.
은 현재 폴더.
.
은 현재폴더보다 앞에 있는 폴더
폴더를 복사하려면 옵션r
f
사용
cp -rf bye hi : bye 폴더를 hi 폴더이름으로 복사
/
).
) 상위 폴더는 (.
.
)/
)는 폴더 내부 (./
) 는 현재 폴더 아래의~
는 홈 디렉토리whoami
: 현재 로그인 된 사용자 확인~/
로 표시 ~
기호는 루트폴더로부터 사용자 폴더 까지의 경로를 축약한 형태sudo
: 사용자 환경에서 관리자 권한을 획득하는 명령어ls -l
로 생성자 확인nano
helloWorld.java - helloWorld.java를 nano에서 연다nano
- 그냥 실행^x
는 ctrl+x 키조합^o
apt
명령어 입력하면 주요 명령어 출력됨.
apt update
: 패키지 목록 갱신 (관리자 권한)
패키지를 다운로드 할 수 있는 저장소의 최신 정보 업데이트
설치된 프로그램이 새로운 버전으로 변경 x
apt list --upgrade
: 업그레이드 가능한 패키지 목록 출력
apt upgrade
: 전체 패키지 버전 업 (관리자 권한)
apt --only-upgrade install 패키지이름
: 특정 패키지만 버전 업 (관리자 권한)
apt install 패키지이름
: 패키지 설치 (관리자 권한)
apt list --installed
: 설치된 패키지 목록
apt searsh 검색어
: 패키지 검색
apt show 패키지이름
: 패키지 정보 출력
apt remove 패키지이름
패키지 삭제 (관리자 권한)
패키지 설치나 삭제를 할 때 sudo
명령어로 관리자 권한 획득
sudo apt install hello - 관리자 권한으로 hello라는 패키지 설치
ctrl
+c
작업취소 후 사용자 입력 되찾기wget
설치하기- URL로 파일을 다운로드 하는 프로그램우분투에서 복사/붙여넣기 ctrl+shift+c/v
neofetch
설치해보기
폴더와 파일 각각 하나씩 생성 후 ls -l
-rw-r--r--
drwxr-xr-x
d
로 시작 아니면 -
로 시작 r
: read permission 읽기 권한w
: write permission 쓰기 권한x
: execute permission 실행 권한을 3파트에 걸쳐서 나타낸다.
사용자 / 그룹 / 나머지
d / rwx / rwx / rwx
파일 hello.java는 rw-r--r-- 은 소유자는 읽기,쓰기 가능 나머지는 읽기만 가능하다.
폴더 linux 는 rwxr-xr-x는 소유자는 읽기,쓰기,실행 가능 나머지는 읽기,실행 가능
user
: 파일의 소유자, 기본적으로 만든사람이 소유자가 된다.group
: 여러 유저 포함가능 그룹에 속한 모든 유저는 파일에 대한 동일한 엑세스 권한을 갖는다. 파일에 그룹 권한 할당 가능otehr
: 파일에 대한 엑세스 권한이 있는 다른 유저, 파일을 만들지 않은 다른 유저를 의미한다. other 권한 설정 시 global 권한 설정이라고 본다.
chmod
: 권한 변경 명렁어
로그인한 사용자와 폴더나 파일의 소유자가 같을 경우 변경 가능
(소유자가 다를 경우 sudo 이용)권한 변경 방법
+
-
=
과 액세서 유형을 표기해서 변경하는 심볼릭메서드
액세스 클래스 , 연산자, 액세스 타입으로 구분
ex)chomd
o-r hello.java : hello.java 파일의 나머지 유저의 읽기 권한 제거
- rwx를 3비트로하여 숫자 3자리로 권한을 표기해서 변경하는 앱솔루트 폼
숫자 7까지 나타내는 3비트의 합으로 표시
r = 4
w = 2
x = 1
ex) user는 rwx 로 그룹과 나머지는 r-- 로 변경하고 싶다면
chmod
744 hello.java
ex) user는 r--로 그룹은 rw- 나머지는---로 변경하고 싶다면
chmod
460 hello.java
환경변수 임시 적용
지역 환경변수
hello=velog
같이 적용 가능=
앞뒤 공백 x
변수에 공백이 있을 경우엔"
로 감싸준다.
전역 환경변수
export
명령어 사용
ex) export velog="is good"환경변수 개별 값 확인
echo
명령어로 확인 환경변수 앞에는$
를 붙여줘야함
ex) echo $hello
환경변수 영구 적용
- 지역 환경변수 영구 적용
cd ~
>ls -al
목록에 .zshrc 나 .bashrc 를 nano 로 열기
파일의 맨 아래로 이동하여 환경변수 작성 후 저장
source .zshrc
로 변경 내용 저장
- 전역 환경변수 영구 적용
- 변경하고자 하는 파일 권한 수정
ex) sudo chmod 777 /etc/profile- 편집기로 파일 열기
nano /etc/profile- 맨 아래로 이동하여 환경변수 작성 후 저장
- source /etc/profile 입력하여 내용 적용 후 출력
export
명령어로 생성된 환경변수 목록 확인오늘은 리눅스 기초에 대해 학습했다. 꽤나 시간이 걸렸지만 천천히 하니까 이해는 되었다. 그래도 익숙하지 않아서 익숙하게 사용하려면 시간이 걸릴것 같다.
드디어 부트캠프 시작한지 일주일이 지났다. 일단 생활패턴 자체를 바꾸는게 제일 힘들었고, 학습 내용은 앞으로 배울것에 비하면 기초적인 내용이었지만 나한테는..버거웠다. 다음주부터는 제대로 해야한다는 생각때문인지 부담이 많이 된다. 다음주에는 6시 이후로도 혼자 학습을 좀 해야겠다.😊
https://dora-guide.com/linux-commands/ 리눅스 명령어 모음