언제부턴가 시스템 프로그래밍 수업에 참여하면서 미리 수업을 듣고 오지도 않고, 즉석에서 피피티를 보면서 과제를 하는 내 모습을 발견할 수 있었다.
그리고 과제를 하다보니, 뒤로 갈수록 내용이 연계되는 것이 느껴지고 앞 부분의 내용이 탄탄하지 않으니 점점 더 어려워지는 것을 느낄 수 있었다. 그래서 복습 겸 수업 시간에 다루는 내용들을 블로그에 정리하고자 한다.
manipulate information
/
: 루트 디렉토리
/bin
: 실행 파일
/etc
: 시스템 구성 파일
etc/password
: 패스워드 파일etc/hostname
: 서버의 이름/home
: 유저 홈 디렉토리
home/linuxer2
: linuxer2라는 유저의 홈 디렉토리home/park
: park라는 유저의 홈 디렉토리/usr
: 라이브러리, 헤더 파일
/usr/lib
: 라이브러리 파일/usr/include
: 헤더 파일경로가 /
로 시작하면 절대 경로, 그렇지 않으면 상대 경로이다.
cd /home/linuxer/12345
: 절대 경로
cd 12345
: 현재 디렉토리 안에 있는 디렉토리 12345
/home/linuxer1
이었다면, /home/linuxer/12345
로 이동한다..
: 현재 디렉토리cp f1 ./f2
: f1 파일을 현재 디렉토리 안에 있는 f2 파일에 복사한다...
: 부모 디렉토리cp f1 ../f2
: f1 파일을 부모 디렉토리 안에 있는 f2 파일에 복사한다.>
: standard output redirection , 표준 출력cat f1 > f3
: f1의 내용을 f3 파일에 overwrite ( = cp f1 f3
)|
: pipe, 명령과 명령을 연결, 왼쪽 명령의 실행결과를 오른쪽 명령의 입력으로 전달cat f1 | more
: f1의 내용을 more 명령어를 사용하여 화면에 출력한다.*
: 모든 파일을 나타내는 기호ls b*
: 'b'로 시작하는 모든 파일/디렉토리 이름을 출력한다.ls : 최근 디렉토리에 있는 파일과 서브 디렉토리들을 출력
ls –l
: 자세한 내용을 출력ls –a
: 숨겨진 파일이나 디렉토리를 포함하여 출력ls -al
: 숨겨진 파일이나 디렉토리를 포함하여, 자세한 내용을 출력ls ex*
: 'ex'로 시작하는 모든 파일을 출력pwd : Present Working Directory, 현재 작업 중인 디렉토리 정보를 출력
cd : 경로 이동, 절대 경로와 상대 경로 둘 다 가능
cd /
: “/”(root directory)로 이동cd /dev
: /dev로 이동cd ..
: 부모(상위) 디렉토리로 이동cd .
: 현재 디렉토리로 이동, 움직임 Xcd
: home directory(로그인했을 때 위치하는 디렉토리)로 이동man : 각종 명령어, 프로그램, c-lib 함수 등의 사용법을 확인하는 명령어, 다음 스크린으로 이동하려면 space
, 화면을 나가려면 q
버튼을 누른다.
man ls
: ls 명령어의 사용법을 출력ps : 현재 실행중인 프로세스 목록과 상태를 나타내는 명령어
ps –ef
: 동작중인 모든 프로세스를 출력ps –ef | more
: pipeline the output of ps –ef
to more
, 모든 프로세스를 자세히 출력하고 한 페이지씩 화면에 출력mkdir : 디렉토리를 생성하는 명령어
mkdir d1
rmdir
: 디렉토리를 제거하는 명령어
echo : 인수로 전달되는 텍스트/문자열을 표시
echo korea
: korea를 터미널에 출력echo korea > f1
: redirect the standard output file ofcp, rm, mv: 파일을 복사, 제거, 이름 변경하는 명령어
grep : 입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어
-n
: 검색 결과 출력 라인 앞에 라인 번호 출력-r
: 하위 디렉토리까지 탐색grep –nr “ko” *
: "ko" 문자열을 포함하는 모든 파일을 탐색, 라인 번호를 출력하고, 현재 디렉토리의 하위 디렉토리들도 모두 탐색cat : 파일의 내용을 출력하는 명령어
cat f1
: f1 파일의 내용을 출력cat f1 > f2
: redirect the standard output file of “cat” to f2, f1 파일의 내용을 f2 파일에 복사한다.cat > f3
: 키보드로 입력하는 내용을 받아 f3 파일에 저장, ^D로 입력의 끝을 정한다.more : 파일을 읽어 화ㅕㅁㄴ에 화면 단위로 끊어서 출력하는 명령어, space
로 다음 화면으로 넘어가고, q
버튼을 이용하여 중단한다.
how the contents of a file one screen at a time.
ps –ef | more
: pipeline the output of ps –ef
to more
, 모든 프로세스를 자세히 출력하고 한 페이지씩 화면에 출력less : more
과 같은 목적의 명령어. more
는 위에서 아래 방향으로만 출력되어 지나간 내용을 다시 볼 수 없지만, less는 한 번에 보여지는 마ㄴ큼만 읽어서 출력하기 때문에 대용량 파일을 열어 볼 때 빠르게 사용할 수 있음
xxd : 파일을 16진수로 읽는 명령어
xxd f1
uname : 시스템의 정보를 확인하는 명령어
whereis : 명령어의 실행 파일 위치, 소스 위치, man 페이지 파일의 위치를 찾아주는 명령어
whereis kill
which : 특정 명령어의 위치를 찾아주는 명령어
-a
: 검색 가능한 모든 경로에서 해당 명령어를 찾음which kill
whoami : 현재 로그인한 사용자를 보여준다.
find : 파일 및 디렉토리를 검색할 때 사용하는 명령어
find / -name "stdio.h" -print
: /
에서 시작해서 "stdio.h"의 위치를 찾는다.file : 파일의 종류(타입)을 확인하는 명령어
file f1
locate : 파일 및 디렉토리를 이름으로 검색하는 가장 빠르고 간단한 방법