사용자 인터페이스는 사용자와 컴퓨터가 상호 작용하는 매개체이다.
다양한 종류의 UI가 있으며, 그 중 자주 사용하는 인터페이스는 다음과 같다.
CLI 기본 명령어
pwd
: print working directory 현재 위치 확인pwd
/Users/username
mkdir
: make directories 새로운 폴더 생성mkdir helloworld
별도의 출력 없이 새로운 폴더 생성
ls
: 특정 폴더에 포함된 파일 & 폴더 확인ls
ls -a // all : 숨어있는 파일과 폴더 포함해서 출력 ls -l // 폴더나 파일의 포맷까지 표현 ls -al // a, l 모두 적용(순서 상관 X)
출력이
d
로 시작하면 폴더,-
로 시작하면 파일
cd
: change directory 특정 폴더에 진입cd hello // hello 폴더로 이동 cd .. // 현재 폴더의 상위 폴더로 이동
/Users/username/directoryname
touch
: 파일 생성touch hi.txt
별도의 출력 없이 새로운 파일 생성
echo
: echo 뒤의 내용을 출력echo hello
hello
>
: 실행 결과를 파일로 저장echo hello > hi.txt
'hello'를 hi.txt에 저장.
cat
: 파일의 내용을 터미널에 출력cat hi.txt
hello
rm
: remove 파일/폴더를 휴지통을 거치지 않고 바로 삭제rm filename // 특정 파일 삭제 rm -rf foldername // 특정 폴더 삭제
별도의 출력 없이 파일/폴더 삭제
mv
: move 폴더/파일 이름 변경, 위치 이동mv a.txt folder_b // a.txt를 folder_b로 이동 mv a.txt z.txt // a.txt를 z.txt로 파일 이름 변경
cp
: copy 폴더/파일 복사cp a.txt b.txt // a.txt를 복제하여 현재 디렉토리에 b.txt를 생성. cp -rf bye hi // bye폴더를 복제하여 현재 디렉토리에 hi폴더를 생성.
경로 / 관리자 권한
운영체제에는 사용자와 관리자가 있다.
pwd
로 확인할 수 있음. 기준점으로 부터 절대적이 위치를 나타내며, 기준점을 루트폴더/
라고 함./Users/[username]/aa/bb/cc
.
으로, 상위 폴더는 ..
으로 나타냄.pwd // 현재 디렉토리 출력 /Users/[username]/aa/bb // 현재 디렉토리 bb cd ./cc // 하위 폴더 cc로 진입 pwd // 현재 디렉토리 출력 /Users/[username]/aa/bb/cc cd ../ // 상위 폴더(bb)로 진입
~
~
는 루트폴더/
로부터 사용자 폴더(username)까지의 경로를 축약한 형태.sudo
:일시적 관리자 명령 획득mkdir justMkdir // 사용자 폴더 생성 sudo mkdir sudoMkdir // 관리자 폴더 생성 명령 password: // 관리자 암호 입력 후 생성됨
왼쪽 초록 박스 내부에 drw------, drwr-xr-x 라고 출력된 것을 볼 수 있다.
d
-
두 종류이다. d
는 directory -
는 not directory. 즉. 폴더와 파일을 구분한다.rwx
는 각각 r
ead permission, w
rite permission, ex
ecute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다.rwx
가 3번 반복 : 사용자 / 그룹 / 나머지 User : 파일의 소유자.
기본적으로 파일을 만든 사람이 소유자가 됨.
Group : 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 가짐. 파일에 group 권한을 할당할 수 있음.
Other : 파일에 대한 액세스 권한이 있는 다른 user. 파일을 만들지 않은 다른 모든 user를 의미.
other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수도 있음.
명령어 chmod
를 이용하여 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다.
사용자=폴더/파일 소유자
일 경우 chmod
로 권한 변경 가능.
아닐 경우 sudo
를 이용하여 권한 변경 가능.
명령어
chmod
뒤에 변경할 권한을 입력chmod g+x filename // 그룹 실행 권한 부여 chmod o-r filename // 나머지 읽기 권한 제거 chmod a=rw hello.java // -rw-rw-rw- 로 설정
r=4
w=2
x=1
chmod 744 hello.java // -rwxr--r-- 로 설정