디렉토리
sudo
→ 하나의 명령어에 대해 일시적으로 루트 권한을 사용하는 것
→ superUser Do
su
→ 현재 계정을 로그아웃하지 않고 다른 계정으로 전환하는 것
→ switch user
cd
→change directory
/ ./ ..
→ 각각 루트 경로 , 현재 위치 , 상위경로를 의미
/
#최상단
/root
#슈퍼유저의 홈 디렉토리
/etc
#시스템 환경 설정 파일. 환경 설정 파일은 프로그램 시작을 언제 어떻게 할 것인지 제어하는 파일
/mnt
#다른 파일 시스템이 파일 시스템에 연결되거나 마운트 되는 위치
/sys
#커널의 하드웨어 통제 부분
/boot
#커널 이미지
/home
#사용자 디렉터리
/proc
#내부 커널 데이터 조회
/dev
#특수 장치 파일
/sbin
#바이너리
/bin
#바이너리
/lib
#라이브러리
/usr/bin
/usr/sbin
/usr/lib
#더 많음
sh
→ 유닉스 쉘
→ 일반 유저는 $프롬프트 사용, 루트는 #을 사용
bash
→ 리눅스 표준 쉘
→ 일반 유저 $프롬프트 사용, 루트는 #을 사용
zsh
→ sh의 확장 버전
# 사용 가능한 쉘 알아보기
cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/bin/dash
/bin/zsh
/usr/bin/zsh
/usr/bin/fish
vi/vim
→ visual editor / vi improved
→ vi는 커서를 화살표로 이동 불가. h,j,k,l을 이용하여 이동
→ 편집 단축키 사용시 대소 문자 주의
i
# 삽입 모드
x
# 현재 커서 위치에서 글자 1개 삭제
dw
# 커서가 위치한 곳 부터 삭제
dd
# 커서가 있는 줄 삭제
# 잘라내기
u
# 방금한 명령 취소
yy
# 현재 줄을 버퍼로 복사
p
# 현재 커서 아래에 붙여넣기
G
# 파일 끝으로 이동
:w
# 저장
:w filename
# 편집시 지정한 이름으로 저장한다.
# 원본에서 write quit를 안한다면 바뀐 내용은 반영x
:q
# 저장 안하고 종료
:q!
# !가 붙으면 강제로 수행한다.
# 강제 종료
:wq
# 저장후 종료. !붙이면 강제 저장후 종료
:set number
# 라인 넘버 표시
:숫자
# 해당 라인으로 이동
ls
-> list
ls -l
# long을 의미
# 파일 출력을 길게 함(=자세히 출력)
ls -a
# all을 의미
# 숨김 처리된 파일을 출력
ls -al
# all long
ls -h
# human을 의미
# 사용자가 보기 편하게 파일의 크기를 단위로 출력
ls -r
# reverse을 의미
# 파일을 거꾸로 출력
ls -s
# size를 의미
ls -t
# 최근에 수정된 파일을 맨 위로 정렬시켜 출력
ls -A path
# path에 해당되는 디렉토리의 파일 출력(.과 ..을 제외한 모든 파일)
ls -b path
# path에 해당되는 디렉토리를 알파벳 순으로 출력
ls -L path
# 심폴릭 링크의 정보를 출력
ls -n
# 파일의 소유자와 소유자 그룹을 출력. uid , gid
ls -R
# 파일들의 하위 디렉토리 파일까지 출력
touch
→파일의 날짜와 시간을 수정하는 명령어
→0바이트 파일을 생성하기 위한 명령어
# atime
# access time
# 최종 접근 시간
# ctime
# change time
# 최종 상태 변경 시간
# mtime
# modify time
# 최종 수정 시간
# stat명령어로 ctime , mtime , atime 순서대로 확인 가능
touch filename
# filename에 해당되는 파일을 터치
# 별다른 옵션이 없으니 atime , ctime , mtime 모두 변경
touch -c filename
# filename라는 파일이 있을시에만.
#파일을 생성하지 않는다.
touch -a filename
# atime , ctime만 변경
touch -m filename
# mtime , ctime만 변경
touch -d '20xx-xx-xx 00:00:00' filename
# 지정한 시간으로 atime , mtime만 수정
# ctime은 현재 시간으로
cat
→ 연결시키다. concatenate
cat filename
# 파일 내용 출력
cat -n
# 라인 넘버도 출력
cat -b
#비어 있지 않은 라인에만 번호 출력
cat -E
# 라인 마지막에 $을 출력
cat -s
# 두번 이상 연속된 빈 라인 출력 안함
cat -T
# tab을 ^I로 변경해서 출력
cat -v
# 줄바꿈과 탭을 제회한 문자들을 표시
cat -A
# -vET와 같다. 모든 문자들 표시
cat > filename
# 파일 생성
# 이미 존재시 덮어쓰기
cat >> filename
# 이어쓰기
cat source > newFileName
# 파일 복사
cat sourceA sourceB > newFile
# 파일 합치기
cat sourceA - sourceB > newFile
# 파일 사이에 내용 추가
cat filename | more
# 페이지 단위로 출력
cat filename | grep
# 필터링
cat *
# 모든 파일 내용 출력
cat *.txt
# 측정한 확장자를 가진 파일 내용 모두 출력
# 특정 내용을 갖는 파일 생성
echo "CONTENT" >> FILE
echo "CONTENT" >> FILE
echo "CONTENT" >> FILE
echo "CONTENT" >> FILE
echo "CONTENT" >> FILE
cat > FILE << EOF
CONTENT
CONTENT
CONTENT
CONTENT
CONTENT
EOF
cat >> FILE << EOF
CONTENT
CONTENT
CONTENT
CONTENT
CONTENT
EOF
cat >> FILE << asdf
CONTENT
CONTENT
CONTENT
CONTENT
CONTENT
asdf
echo "qwer
asdf
zxcv" | tee -a FILE
mkdir
→디렉토리 생성
mv
→파일 or 디렉터리를 이동
→파일명울 변경
mv source dest
# dest로 이름 변경 or 이동
mv -v file dest
# file이 dest로 이동하는 과정 표시
mv -b source dest
# source가 이동시 이미 존재하는 파일이 존재하여 지워지는 것을 대비해서 백업을 생성
# backup
mv -f source dest
# 강제로 덮어쓰기
# force
mv -i source dest
# dest존재시 덮어쓸지 물어본다
mv -n source dest
# dest존재시 덮어쓰지 않는다
rm
→삭제 명령어
rm name
# 삭제
rm -i
# 삭제 여부를 물어
rm -f
# 강제로 삭제
rm -v
# 삭제 결과 출력
rm -r
# 디렉토리 삭제
rm -d
# 빈 디렉토리인 경우만 삭제
chmod
→권한 수정
→r,w,x | 4,2,1
→ user , group , other
chmod 권한 파일이름
#파일의 권한 변경
UGO이용
chmod u-w testfile
chmod g-r-w-x testfile
# rwxr-xr-x
chomd 755 DIR
# rw-r--r--
chmod 644 FILE
chown
→파일 소유권 변경
chown 변경_소유자.변경그룹 file
# -R옵션 사용시 디렉토리 안에 있는 모든 파일에게 적용
ex) chown student1 file
ex) chown .student1 file
ex) chown student1.student1 file
chown <권한을 줄 사용자 이름> <대상 파일>
# 개별 사용자에게 대상 파일의 소유권을 준다.
chgrp <권한을 줄 그룹> <대상 파일>
# 하나의 그룹에게 대상 파일의 소유권을 줌
df
→ disk free
→ 시스템 전체 마운트 된 디스크 사용량 확인
→ h옵션으로 M,G단위로 출력 가능

du
→ disk usage
→ 특정 디렉토리 기준으로 디스크 사용량을 확인
→ h옵션 가능
ln
→ link를 의미. 링크 파일 생성할때 사용
→ 하드링크: 원본의 복사본을 사용하니 원본이 삭제되어도 사용가능
→ 심볼릭 링크: 바로가기 기능과 유사하며 원본 삭제시 사용 불가능
ln source linkFile
# 하드링크
# 랑크가 잘 되었는지 확인하려면 stat을 사용하여 Links를 확인
# 하드 링크 할때마다 갯수 증가됨
ln -s source linkFile
# 심볼릭 링크
# stat을 사용하면 심볼릭 파일이라고 표시됨
hard link
Inode
→ 리눅스 파일 시스템에서 파일과 디렉터리를 식별하고 관리하는 데 사용되는 데이터 구조
→ 각 파일이나 디렉터리는 시스템 내의 고유한 Inode를 가짐
→ Inode에는 파일의 메타데이터 정보를 저장함
→ 파일의 권한, 소유자 , 크기 , 생성 시간 , 수정 시간 , 링크 수 등이 포함
하드링크는 같은 Inode 번호를 공유하는 두 개의 파일을 만드는 것.
즉, 실제 데이터를 한 번만 디스크에 저장되며 디스크 공간을 절약한다.
→ 모든 링크가 삭제가 되어야 데이터 블록이 디스크에서 해제 됨
→데이터를 공유하니 한 파일을 수정하면 다른 하드 링크 파일에도 반영 됨
symbolic link
간접적인 참조를 하는 파일
원본 파일의 경로를 저장하니 크기가 매우 작다.
'리눅스' 카테고리의 다른 글
| firewalld , bash에서 >와 >>의 차이 , tr (translate) , sort (2) | 2024.07.30 |
|---|---|
| /etc/hosts (0) | 2024.07.21 |
| group/user (0) | 2024.07.18 |
| http요청.. wget,curl (0) | 2024.07.18 |
| 압축 tar gzip gunzip zip unzip (0) | 2024.07.18 |