리눅스는 Tree 형태를 갖는다. 이는 파일로 Direct 접근이 아닌, 루트 파일 시스템인 ' / ' 을 시작으로 하위 Directory를 거치는 구조이다
root 사용자는 /root
user1의 경우 /home/user1
- 만약, APACHE가 있다면, 이는 일반적인 사용자가 아니라, 웹 서비스를 실행할 수 있는 계정으로 서비스를 실행할 수 있는 서비스라고 생각해야 한다
- 즉, 사용자가 서비스를 요청하면, 명령어를 통해 해당 서비스를 실행해주는 계정이 자신의 서비스를 실행시켜 주는 것이다. 이 계정들은 로그인이 불가능하며, 서비스 실행을 위한 계정들이다
- 맨 앞에서 부터 살펴본다
- 하이라이트 부분이 password 이다
- 처음 사용자를 생성하면, 사용자 이름과 동일한 그룹이 만들어진다. 그리고 해당 사용자는 자신 이름의 그룹에 자동으로 포함된다
- groups는 해당 사용자가 어떤 그룹에 포함되어 있는지 보여준다
- 뒤에 하이라이트 부분이 그룹 명이다
- 이처럼 사용자는 무조건 Primary Group에 포함되어 있으며, 이 Primary Group에서 벗어날 수 없다. 다수의 Group에 포함될 수 있다
- super user는 프롬프트가 # 이며, 일반 user는 프롬프트가 $이며, 이 프롬프트는 바꿀 수 있다
- 절대 경로 : /
- 상대 경로 : . ( 현재 디렉토리 ) , .. ( 상위 디렉토리 )
- . 은 현재 디렉토리, .. 은 상위 디렉토리를 의미한다
- ls : 파일이나 디렉토리의 정보 ( 리스트 ) 를 출력할 때 사용
- ls -a : 숨겨진 파일이나 디렉토리 출력
- ls -l : 상세 정보를 출력
- ' - ' : 일반 파일을 의미한다
- ' d ' : 디렉토리를 의미한다
- ' l ' : 링크가 걸려 있는 파일
- soft link ( 심볼릭 link ) : 바로 가기
- hard link : 파일을 복사한 것
- inode란? index-node로 Linux/Unix의 파일 시스템에서 사용되는 자료구조이다. 모든 파일과 디렉토리는 각각 1 개의 inode를 지니며, 각 inode는 해당 파일 / 디렉토리의 소유권, 허가권, 파일 종류와 같은 정보와 실제 데이터의 위치를 저장하고 있다. 이러한 inode는 inode 블록에 모여있다
- rw- r-- r-- 로 3글자씩 끊어서 읽는다
- 이는 소유주 / 그룹 / 그 외 사용자 를 나타낸다
- r은 read , w는 write , x는 execute 다
- 즉, 소유주는 r,w 권한이 있지만, 해당 파일이 실행 파일이 아니므로 x 권한은 없다
- 그룹에 포함된 사용자들과 그 외 사용자들은 read만 가능하다
- 1은 hard link 개수
- 앞에 root는 소유주
- 뒤에 root는 그룹
- 소유주와 그룹은 임의로 변경이 가능하다
- 앞에 1773 은 파일이나 디렉토리의 크기 이다
- 뒤에 날짜 및 시간은 생성 및 변경한 마지막 날짜 및 시간 이다
- 다음과 같이 숨겨진 파일과 디렉토리의 세부 정보들을 함께 보이게 a 옵션과 l 옵션을 합쳐서 al 로 사용 가능 하다
- space로 한 페이지씩 내려간다
- enter는 한 줄씩 내려간다
- b는 거꾸로 이동
- q는 빠져나가기
- 방향키로 조작할 수 있다
- q로 빠져나간다
- head는 파일의 상위를 출력
- tail은 파일의 하위를 출력
- head로 상위 정보만 볼 수 있다
- head -n을 하면 상위 n번째 줄까지 출력한다
- tail -n은 하위 n번째 줄까지 출력한다
touch : 빈 파일 만들기. 실제 목적은 시간을 갱신하기 위한 것이나 주로 빈 파일을 만드는 용도로 사용된다
- 다음과 같이 파일을 생성하자
- 내용을 추가하고, 다시 touch하면, 내용은 변경되지 않고, 시간만 변경된다
표준 출력 echo를 통해 redirection 해서 파일을 생성 가능하다 - echo "" > 파일명
- " " 내용을 test1.txt에 저장했기에, 빈 파일이 생겼다
- ' > ' 는 덮어씌우기, ' >> ' 는 추가하기 이다
- ' > , < ' 는 입력과 출력을 지정하여, 입력한 DATA의 출력을 지정해준다
편집기를 통해 파일 생성 1 - ' gedit 파일명 '
- 편집기로 새 파일 생성 후 SAVE 해야지만 파일이 생긴다
편집기를 통해 파일 생성 2 - vi(m)
- vi(m) : vi improved 로 기존에 있었던 편집기인 vi 의 성능을 개선 시킨 것으로 화면 단위 편집기 이다
- esc -> : wq를 입력해서 저장하고 빠져나가면 파일이 생성된다
- vi 를 사용하면 방향키 , 키패드 등의 사용에서 불편함이 많다. 따라서, vim 사용을 추천한다
cat과 EOF를 이용하여 여러 내용이 들어간 파일을 생성
- EOF는 END OF FILE로 다음과 같이 EOF를 통해 여러 줄을 추가하여 새 파일을 생성할 수 있다
- hello.txt 파일을 생성하는데, 아래 EOF 키워드가 나오기 전까지의 내용을 추가하겠다는 의미다