파일만들기
touch 파일이름
파일이동 및 이름변경
mv a b
a를 b로 이동, a를 b로 이름 변경
파일삭제
rm 파일
파일내의 키워드 찾기
grep 찾으려는키워드 파일
파일내의 위치 찾기
find -name 파일이름
파일내 텍스트 전체보기
cat 파일이름
파일내 일부보기(head,tail)
head 파일이름
tail 파일이름
3줄만보기
head -n 3 파일이름
디렉토리생성
mkdir 폴더이름
디렉토리 삭제(안에파일없음)
rmdir 폴더이름
디렉토리 삭제(안에파일있음)
rm -rf 폴더이름
폴더 이름수정 및 이동은 mv
아이노드: 파일 시스템에서 파일을 가리키는 포인터 또는 번호입니다.
하드 링크: 원본 파일이 삭제되더라도 링크가 유지됩니다.
소프트 링크: 원본 파일이 삭제되거나 이름이 변경되면 링크가 깨집니다.
bash
ln <target> <link_name> # 하드 링크 생성
ln -s <target> <link_name> # 소프트 링크 생성
이와 같은 내용을 바탕으로 리눅스 시스템과 파일 시스템의 기본 개념을 이해하고 다양한 명령어를 통해 파일과 디렉터리를 효과적으로 관리할 수 있습니다.
하드링크는 원본 파일의 inode의 위치를 가르킨다. 파일명만 다르지 사실상 하드링크, 원본파일을 구분할 수 없다.
(원본과 복사본의 차이가 없다), inode를 공유하기때문에 파일의 위치가 어디에있든 상관이없다.
왜냐하면 파일 시스템에 있는 데이터를 복사한 것이 아니라, inode 번호만 복사했기 때문이다. 따라서 실제 파일은 1개만 존재하는 셈이 된다.
하드링크 생성
ln 파일이름 하드링크파일이름
예제

이렇게 하드링크를 생성하면 복제된 파일의 내용도 똑같아짐
아이노드 확인
ls -ali

shin 왼쪽에 있는 숫자는 링크의 숫자, 즉 하드링크처럼 연관된 파일이 몇개인지 표시해주는 역활을함
파일 상세확인
stat 파일이름

[소프트링크]
윈도우 시스템에서 제공하는 바로가기 기능과 매우 유사.
원본 파일에 대한 정보가 포함되어 있지 않고, 원본 파일 위치에 대한 포인터만 포함한다. 즉 새로운 inode를 가진 링크파일이 생성된다. , 위치를 지정한다고 생각하면 될듯
소프트링크 파일 생성
ln -s 파일이름 생성하는 파일이름


소프트링크는 원본파일을 가르키기때문에 같은 위치에 있어야함
만약 원본파일이나 혹은 소프트파일의 위치를 바꾸면 작동이안됨(원본파일삭제해도안됨)


절대경로로 소프트파일생성

만약 대상이되는 파일과 다른 디렉토리에서 대상이되는 파일을 절대경로로 설정해서 소프트링크를 만들면
소프트링크를 만드는 디렉토리에서 대상이되는 파일과 같은이름의 소프트링크 파일을 만들수있음
참고로 이렇게만든 소프트링크파일은 디렉토리를 다른곳으로 옮겨도 괜찮음. 왜냐하면 대상이되는 소프트링크 파일의 원본의 위치가 절대경로이기때문에 위치와는 상관없이 옮겨도됨

절대경로로했을경우는 원본파일의 위치를 제대로 가르킬수있기때문에 에러가 나지않음


사용자추가
sudo adduser 사용자이름
사용자제거
sudo deluser 사용자이름 --remove-home
사용자 바꾸기
su - 바꾸려는사용자이름
사용자들 정보
cat /etc/passwd
그룹추가
sudo addgroup 그룹이름

그룹안에 user추가
sudo adduser user이름 --ingroup 그룹이름

만약 animal그룹에 pig,dog이라는 유저가 있다고 가정하자
이때 pig라는 유저에 haha라는 파일을 만든다.


그리고 위와같은 내용을 파일에 작성한다.
그다음 dog유저에서 pig에있는 haha의 글을 수정하려하면

위와같이 불가하다고 나온다
이때 같은 그룹내에있는 유저에게는 특정 파일의 수정권한을 주는 방법이
8진수 표기법과 의미표기법 2가지 방법이있다
만약 8진수 표기법으로 파일 수정권한을 준다하면
chmod 664 파일이름
이렇게 할수있고 의미표기법으로 준다하면
chmod g+w 파일이름
이렇게 하면된다.
의미표기법으로 파일수정 권한을 줘서 아래처럼 수정이 가능하다

그룹안에 유저넣기(usermod)
usermod -G 그룹이름 유저이름

usermod -g vs usermod -G
Linux의 usermod 명령은 사용자 계정 속성을 수정하는 데 사용됩니다. 그룹 구성원을 변경하는 경우 -g 및 -G의 두 가지 옵션이 있습니다.
usermod -g: 이 옵션은 사용자의 기본 그룹을 변경하는 데 사용됩니다.
기본 그룹은 /etc/passwd 파일에 지정되며 사용자의 새 파일 및 디렉토리에 대한 기본 그룹을 나타냅니다. usermod -g를 사용하면 사용자에 대한 새 기본 그룹을 지정하고 기존 기본 그룹을 대체합니다.
예를 들어:
bash
usermod -g fami kyle
이 명령은 사용자 "kyle"의 기본 그룹을 "fami"로 변경합니다.
usermod -G: 이 옵션은 사용자의 추가 또는 추가 그룹을 수정하는 데 사용됩니다.usermod -G를 사용하여 하나 이상의 보조 그룹에서 사용자를 추가하거나 제거할 수 있습니다.예를 들어:
```bash
usermod -G fami,group1,group2 kyle
```
이 명령은 사용자 "kyle"을 보조 그룹 "fami", "group1" 및 "group2"에 추가합니다. `-G`를 사용하는 경우 사용자를 추가하려는 모든 그룹을 쉼표로 구분하여 지정해야 합니다.요약하면 usermod -g는 사용자의 기본 그룹을 변경하는 데 사용되고 usermod -G는 사용자가 속한 보조 그룹을 수정하는 데 사용됩니다.
groups 그룹에속한 유저