오늘부터 시스템프로그래밍을 수강하는데
배우는 것들을 정리해보려한다.
ls라는 명령어는 directory 의 contents의 list를 보여준다.
옵션
-l 파일 정보 자세히
-a 숨김 파일까지 보기
-R 서브 디렉토리의 파일까지 재귀적으로 보기
-t 파일 수정 시간기준 가장 최근 수정된 파일부터 보기
#리스트 보기
$ ls
#파일 찾기
$ ls / 파일이름
cd 명령어는 directory 를 change하는 역할을 수행한다.
#특정 directory 안으로 이동
$ cd 이름
#상위 directory로 이동
$ cd ..
현재 작업이 진행중인 directory의 path를 출력
$ pwd
make directory, remove directory
directory의 생성과 제거를 할 수 있는 명령어
!!주의 rmdir 명령어는 directory가 비어있을 때만 동작한다.
#jokes는 directory이름
$ mkdir jokes
$ rmdir jokes
배우기를 cat, more, less는 examine file contents 라고 배웠는데
직접 $ cat src를 입력해보니 src is directory 라고만 나온다.
파일 내용 설명이라더니... 혹시 아시는 분 계시면 알려주세요!
이때 cat명령어는 파일의 전체내용을 출력해주고
more, less는 일부분만 출력한다.
만약 directory 안에 exam.txt를 생성하고 싶다면
$ touch exam.txt
cp는 파일의 내용을 복사하는 명령어이다.
main.c 파일의 내용을 exam.c 파일에 복사하려면
$ cp main.c exam.c
궁금한 점: main.c의 파일 내용을 cp로 복사하여 exam.c에 붙여넣는다면 원래 존재하던 exam.c 파일의
내용은 완전 날아가는 걸까? 아니면 그 위에 덮여져 일부분만 날아가는 걸까?
rm은 file을 delete 해버리는 명령어이다.
이때 rm명령어는 directory 또한 delete 할 수 있는 강력한 명령어이다.
$ rm exam.c
#src는 directory이므로 -r 혹은 -rf 옵션을 붙여야한다.
$ rm -r src
$ rm -rf src
옵션은 명령어와 적용대상 사이에 작성하여 동작에 앞서 원하는 기능을 추가하는 것인데
-i는 동작을 하기 전에 의사를 묻는 것.
-r은 디렉토리
-f는 무조건 실행
이라는 의미를 가진다.
특히 -rf를 많이 사용하게 될텐데 이것은 강제로 진행한다는 의미를 가지므로
조심해서 사용하자!
mv 명령어는 두 가지 동작을 수행가능한데
1)mv 파일명 파일명
이런경우 rename을 수행하고
2)mv 파일명 디렉토리명
이런경우에는 대상 파일을 대상 디렉토리 안으로 이동시킨다.
diff 명령어는 두 파일 간의 차이를 보여준다.
파일1을 수정하기위해 파일2에 작업을 해두고
$ diff 파일1 파일2
이렇게 명령하면 두 파일의 차이점만 보기좋게 보여준다.