id
사용자 id와 그룹 id 모두 조회
id에 고유 번호 포함
whoami
사용자의 id만 조회
groups
사용자가 소속된 그룹 id 조회
Ctrl + C
interrupt 명령어. 인터럽트 신호를 전송하여 실행 중인 명령을 강제로 종료함
logout
현재 사용자로서의 접속 종료 (로그인 쉘에서만 사용가능)
exit
상위 shell로 탈출하고 상위 shell이 없다면 로그아웃.
원격 작업에서도 사용할 수 있으며 Ctrl + D로도 같은 기능을 한다.
directory
root( / )로부터 '/'로 구분하여 하위 디렉토리를 이루는 트리구조
ubuntu에서는 일반적으로 /home에서부터 시작
절대 경로
최상위 디렉토리에서 시작하여 파일의 위치를 나타내는 경로
e.g) /home/unix/text1.txt
상대 경로
현재 위치를 기준으로 파일의 위치를 나타내는 경로
'.'은 현재 디렉토리를 '..'은 상위 디렉토리를 의미
e.g) 현재 디렉토리가 /home/unix인 경우 text1.txt의 상대 경로 : ./text1.txt
pwd
Print Working Directory 현재 작업중인 디렉토리의 절대경로를 출력
cd
Change Directory 현재 작업중인 디렉터리 변경
'~'은 home directory를 의미
mkdir
make directory 현재 디렉터리 안에 디렉터리 생성
옵션
-p : 지정된 디렉터리 중간의 디렉터리도 함께 생성
e.g.) mkdir -p directoryA/directoryB/directoryC
-m : 접근 권한을 부여해서 디렉터리 생성
rmdir
remove directory 디렉터리를 제거. 비어있는 디렉터리만 제거할 수 있음
디렉터리가 비어있지 않으면 오류 발생
옵션
-p : 지정된 디렉터리를 포함한 상위디렉터리까지 함께 삭제가능
e.g.) rmdir -p dirA/dirB/dirC
ls & dir
list directory contents 디렉터리 내 파일 목록 표시
옵션
-a : all 숨겨진 파일 표시
-A : Almost All '.' 디렉토리와 '..' 디렉토리를 제외한 모든 파일 표시
-l : long listing 파일 1개당 한 줄 단위로 표시
-s : 파일이 차지하는 크기를 블럭 단위로 출력
-R : 디렉터리 내용와 서브 디렉터리 내용을 재귀적으로 출력
-F : classify, 뒤에 형식을 표시 ('/' : 디렉터리, '@' : 심볼릭 링크 (바로가기))
인자 사용
ls abc : 'abc' 파일을 탐색
ls a* : a로 시작하는 모든 파일 탐색
ls a*z : a로 시작하고 z로 끝나는 모든 파일 탐색
ls a?? : a로 시작하고 이후 2글자로 이루어진 파일 탐색
-l 옵션을 통해서 파일의 리스트를 출력할 때 가장 먼저 나오는 것은 mode
mode의 첫 번째 비트는 파일의 종류
- : 일반 파일
b : 바이너리 장치
c : 문자열 장치
d : 디렉터리
l : 심볼릭 링크
mode의 2~10번째 비트는 권한
2~4 : 소유자 권한
5~7 : 소유 그룹 권한
8~10 : 그 외 권한
r/w/x 각각 Read, Write, Execute를 의미
touch
빈 파일 생성, 파일이 이미 존재할 경우 수정시각을 업데이트한다.
cp
copy file 파일 복사
e.g.) cp [옵션] (복사할 요소) (복사 대상)
- cp file1 file2
file1을 file2로 복사
- cp file directory
file을 directory 내부로 복사(이름 보존)
- cp -r directory1 directory2
directory1의 내용을 모두 directory2에 복사
옵션
-i : Interactive 덮어쓰기 여부를 확인
-r : Recursive 디렉터리 등의 파일 구조 모두 복사
mv
move file 파일 이동
e.g.) mv [옵션] (원본) (대상)
- mv [옵션] file1 file2
파일명을 file1을 file2로 바꾼다. file2가 존재하면 덮어쓰기
- mv [옵션] file directory
file을 directory로 이동
- mv [옵션] directory1 directory2
전체 디렉터리가 이동. 실제 파일이 이동하는 것이 아니라 계층적 구조에 따라 이름만 이동
옵션
-i : 덮어쓰기 여부를 물음
-f : Force, 강제로 덮어씀 (-n과 동일)
rm
remove file 파일 삭제
e.g.) rm [옵션] file
옵션
-r : 순환적으로 하위의 모든 파일을 삭제
-i : (소문자) 하나의 파일마다 삭제 여부를 물음
-I : (대문자) 파일 일괄 삭제 여부 확인(파일이 3개 이상이거나 -r 옵션과 같이 쓰이는 경우)
-f : 삭제 여부를 묻지 않고 파일을 삭제
파일 접근 권한
-l 을 통하여 파일의 세부사항을 확인 할 때 정보의 순서는 다음과 같다
파일 접근 권한 | 링크 개수 | 소유자 | 그룹 | 파일 크기 | 수정날짜 | 시각 | 파일명
chmod
change mode 파일의 접근 권한 변경 (파일 소유권한 필요)
옵션
755 : rwxr-xr-x 권한 부여
+x or -x : 모두 x(실행) 권한 부여/삭제
u+x : 소유자의 x 권한만 부여 (소유자는 u, 그룹은 g, 타인은 o)
echo
메시지 조회
옵션
-n : 메시지 출력 이후 줄 바꿈 없음
-e : 백스페이스 문자열을 사용
백스페이스 문자
\c : 이후의 문자열을 무시 (줄 바꿈도 없음)
\0nn : nn에 대응되는 ASCII 문자 표시
\t : 수평 탭(Tab)
\v : 수직 탭(Vertical Tab)
\f : 폼 피드(Form Feed) (= \v)
\n : 줄 바꿈
cat
concatenate 파일 내용 조회 (두 개 이상의 파일 명령시 연결하여 조회가능)
옵션
-n : 줄 번호를 표시
-v : 공백 문자(탭 등)를 제외한 모든 문자를 표시 (평소에 표시할 수 없는 문자는 ^H 등으로 표시)
-e : 줄 끝에 $ 기호를 붙임
more, less, pg
한 페이지씩 내용 조회
조작
more : Enter 키로 줄 단위 이동
less : 위아래 화살표로 줄 단위 이동
pg : Enter 키로 페이지 단위 이동
head, tail
파일의 시작이나 끝 내용만 조회
옵션
-# 또는 –n# : 시작(끝) #줄을 출력
-c# : #바이트만큼 출력
man
manual 명령어 도움말 표시
man (명령어 이름)
으로 사용
root 권한
su
root 권한으로 접근
명령어시 pw가 필요한데 초기 passwd 설정은 sudo passwd로 설정
sudo 명령어는 sudo group에 포함되어 있어야 사용가능 (id 명령어로 계정이 속한 group 확인가능)
adduser
시스템에 사용자 추가
adduser [options] user
addgroup
시스템에 그룹 추가
addgroup [options] group
사용자를 그룹에 추가
addgroup 'group' 'user'
usermod -G 'group' 'user'
deluser
시스템에서 사용자 제거
deluser [options] user
시스템에서 그룹 제거
delgroup [options] group
유저 gid 변경
usermod -g 'group' 'user'
현재 생성된 그룹 확인
tail /etc/group
생성된 계정 확인
vi etc/passwd
reboot
시스템을 재부팅
halt
시스템 종료
'개발 · 컴퓨터공학' 카테고리의 다른 글
UNIX - standard input, output, error, standard library, error handling (0) | 2021.09.30 |
---|---|
UNIX - system call - dup, fcntl (0) | 2021.09.29 |
컴퓨터 그래픽스 - 래스터 그래픽 장치 (0) | 2021.09.27 |
네트워크 프로그래밍 - 소켓 IP 주소와 PORT 번호, byte order(바이트 순서), byte order convert (바이트 순서 변환) (0) | 2021.09.26 |
네트워크 프로그래밍 - 소켓에서의 프로토콜 설정 (0) | 2021.09.25 |