[systemprogramming/Unix] 리눅스 기초

kim_sang_ june·2023년 3월 12일

강의 필기

목록 보기
1/3

리눅스 기초 명령어

~$ man : 메뉴얼을 출력하는 명령어
ex) man echo

~$ pwd : 현재 있는 디렉토리 출력(print working directory)

~$ cd : 디렉토리 이동 (change directory)
ex) ~$cd /fs/zhome/asdfl ( 뒤에 이동할 디렉토리 주소 입력 )

뒤에 아무것도 안쓰면 -> home directory로 돌아옴
"~" -> home directory
".." -> 현재 디렉토리 기준 부모 디렉토리로 이동
"/" -> 루트로 이동
"." -> 현재 디렉토리

~$ ls : 디렉토리 목록 출력

-a : do not ignore entries starting with .
-l : long list
-t : sort by modification time
-S : sort by size
-h list file size in human readable format
-r reverse the order

"*" : 여러 파일을 묶어 지정 (General Sysntax)
ex)

~$ ls *.pl  (.pl로 끝나는 파일들을 지칭)
aa.pl     atrae.pl      example.pl

~$ mkdir new_directory : 새로운 디렉토리를 생성함(뒤에는 파일 이름) (make directory) (경로를 지정해 줄 수 있음

~$ rmdir empty_directory : 빈 디렉토리를 삭제 (빈 것만 가능)

~$ cp 소스파일 생성될파일이름 : 파일 복사
~$ mv 이동시킬파일 이동할위치(새로운 이름) : 파일 이동 및 이름 수정
~$ rm 삭제시킬파일 : 파일 삭제 (주의) (-r 디렉토리 안의 내용 전부 삭제)
이름만 써놓으면 같은 디렉토리 내에서, 디렉토리 위치만 지정하면 같은 이름으로, 위치+이름을 쓰면 그 위치에 그 이름으로

~$ ps : process state 프로세스(실행중인 프로그램)을 확인

~$ kill : 프로세스를 강제 종료(특정 프로세스에게 어떤 시그널을 전달하는 명령어)
ex) ~$ kill -9 1255
-9가 강제종료 시그널
1255는 PID (프로세스 아이디)

에디터 Vi

~$ cat 전체 파일의 내용을 출력 (짧은 파일을 띄울때 유용)
~$ less cat이랑 똑같음 + 스크롤 기능
~$ head 파일의 첫 10줄만 출력
~$ tail 마지막 10줄만 출력 가능
=>-n 옵션으로 줄 수 조절 가능 (ex -n50)

file의 권한

~$ ls -l사용시

reading / writing / execution
읽기 권한 / 쓰기 권한 / 실행 권한
drwxrwxrwx
(d는 directory)
사용자 종류
owner(user)
group
others

d rwx rwx rwx
(user)(group)(others)

directory는 x 권한이 있어야 열 수 있음.

~$ chmod : change mode 파일의 소유자가 해당 파일의 권한을 바꿀 수 있다.

~$ chmod [user/group/others/all][+/-][permission][file(s)]

ex) ~$ chmod ug+rwx sample.txt

(inout put Redirection)

redirection

< 와>

ex)~$ program_a > file.txt
program_a의 출력(output)의 방향을 file.txt로 바꿈
화면에 출력되어야할 결과물이 txt에 출력됨

ex)~$ ls -l > test.txt
명령어 실행 결과도 파일에 저장됨

ex)~$ program_a < input.txt
file.txt를 program_a의 input으로 입력(키보드 대신)

ex)~$ wc < text.file
파일의 줄,단어,글자 수를 세서 출력해줌

ctrl + d

파일의 끝

Piping

a|b

백슬래쉬
두 개의 명령어를 연결해줌

위에서 redirection을 이용해 file.txt를 매개로 wc와 ls 명령어를 연결했다.

그러나 Pipe를 이용하면 file.txt 없이 두 명령어(프로그램)의 입출력을 바로 연결 할 수 있다.

ex)~$ ls -l | wc

ls의 결과의 글자 수를 세서 출력

Grep

파일 검색 명령어
파일들에서 특정 단어를 검색해준다
ex) 작업 파일 마지막에 "from here"이라고 주석 달아 놓고 다음날 명령어로 바로 찾기

ex)~$ grep "hello world" *.pl
"hello world" 단어를 가지고 있는 .pl 확장자 파일을 찾아준다.(해당 라인도 출력해줌)

0개의 댓글