티스토리 뷰
* 두글자 커맨드는 중요함 ㅠㅠ($ cd, $ ls, $ ps ...)
$ man -k <keyword> keyword에 관련하여 메뉴얼을 보여줌
$ man <command> command에 관련하여 메뉴얼을 보여줌
$ pwd 현재 디렉터리를 출력
$ who 현재 시스템에 로그인한 유저
$ whoami 현재 로그인한 계정을 출력
$ which whoami (/usr/bin/whoami) 커맨드의 위치를 출력
$ su -<accountname> 사용자 계정을 전환합니다. exit 입력하면 이전계정으로 돌아감
$ cp <fromfile> <tofile> fromfile을 복사한 tofile을 만듦
$ mv <fromfile> <tofile> fromfile을 tofile로 이동(같은 디렉터리면 rename)
$ touch sample.txt 빈 sample.txt를 생성
$ rm <filename> filename을 삭제, -r 옵션(recursive)를 주게되면 디렉터리삭제
$ mkdir <newdir> newdir폴더를 만듦
$ rmdir <olddir> olddir를 삭제 디렉터리가 비어있어야함
$ ln -s /path/file /path/symlink symbloic link를 만듦
$ cat sample.txt 파일을 합쳐서 파일의 내용을 보여줌(concatenate)//파일이 하나밖에 없으므로 그냥 출력됨
$ more sample.txt txt파일을 한번에 한페이지씩 보여줌 spacebar로 다음페이지로 이동 //f 또는 space 앞으로, b는 뒤로, q 종료
$ less sample.txt more랑 같지만 이전페이지로 이동할 수 있음
$ head sample.txt 앞의 10줄 프린트, 옵션으로 라인수를 줄 수 있음 ($ head -15 sample.txt)
$ tail sample.txt 뒤의 10줄 프린트, 옵션으로 라인수를 줄 수 있음(-f 옵션은 로그파일의 새로생성된 라인만 보여줌ex) $ tail -f /var/log/syslog)
ls 디렉터리에 있는 파일을 보여줌(-a 숨겨진 모든파일, -l 더 많은 정보(long format)
File Permission
User(rwx), Group(rwx), Other(rwx)
디렉터리에대한 권한(r:디렉터리 내용표시에 필요, w:디렉터리 생성,삭제,이름변경, x:디렉터리 이동시
$ chmod <permission> <filename> permission:a+x:모든곳에 실행권한을 부여 u-rx :유저에게 쓰기,실행권한을 제거 664:rw-rw-r--로 표현
$ find . -name "sample.txt" .<-은 현재디렉터리를 표현 = 현재 디렉터리부터 sample.txt를 찾음, "*.txt" txt를 모두 찾음, "*sample*" sample을 포함하는 모든 파일을 찾음
grep "hello" sample.txt sample.txt에서 "hello"를 찾음
-i 옵션은 대소문자 구분안함
"t[wo]o" two나 too를 찾음
-n 옵션은 라인을 보여줌
$ grep -nrie "sample" /home/root/* = /home/root부터 "sample"을 줄단위로 대소문자 구분없이 찾음
find ./ -name "*.java" | xargs grep -i “hello"
$ tar -czvf sample.tar.gz /path/directory_or_file = /path/directory_or_file 에서 sample.tar.gz를 만듦
-c : 아카이브 create//만들 때
-z : gzip으로 압축
-v : 터미널에 실행과정을 출력(verbose)
-f : 아카이브 이름을 지정
-x : 압축풀때
1. Standard Files
- 3가지의 표준 파일 defalut : input(keyboard) -> program -> output(screen) 또는 error(screen)
standard input(0), standard output(1), standard error(2) 모두 다 defalut는 terminal (기본적으로 열려져있음)
프로세스마다 어떤파일이 열려있는지 기록하는 open file table(file descripter)에 기록해둡니다.
2. Redirecting Output
$ ls > sample.txt ls프로그램이 실행되고 sample.txt에 output이 쓰인다.
$ wc < sample.txt wc 프로그램이 실행되고 input으로 sample.txt에서 읽습니다.
3. Connecting commands with Pipes
프로그램의 output을 다른프로그램의 input으로 사용하고 싶을 때! (파이프로 연결한다...)
$ ps -ef | grep netscape | wc -1 (3개의 커맨드가 2개의 파이프로 연결됨) = netscape브라우저가 몇개 돌아가고 있는가?
4. Shell Script
Shell(Command Interpreter)로 실행되는 프로그램
sample.sh
#example of using arguments to a script
echo "My first name is $1"
echo "My surname is $2"
echo "Total number of arguments is $#"
$ chmod a+x sample.sh
//sample.sh에 모든사람에게 실행권한을 추가
$ ./sample.sh Gildong Hong
//sample.sh에 인자로 Gildong과 Hong을 줌
5번째줄 $1에 Gildong이 맵핑되고
6번째줄 $2에 Hong이 맵핑됩니다.
7번째줄 $#에 인자의 갯수 2가 맵핑됩니다.
5. Download files
$ wget -c <url>
//<url>로부터 파일을 다운로드 받습니다. -c옵션은 이어서 다운로드 합니다.
6. Process Management
$ ps
현재 사용자와 터미널과 관련된 프로세스들을 보여줍니다.
$ ps -ef
현재 시스템의 모든 프로세스를 보여줍니다.
$ ps -ef | grep httpd
Apache web server 프로세스가 돌아가고 있는지 아닌지 확인가능.
$ kill
process에 신호를 보냅니다.
catch -> call handler
ignore
die
자신이 소유한 프로세스에 신호를 보낼 수 있습니다. (root는 모든 프로세스에 신호보내기 가능)
Ctrl-C는 ("interrupt", SIGINT);를 기본값(default)으로 보냅니다. 프로세스를 종료합니다.
$ kill -INT pid
( = kill -2 pid)
Background로 프로세스 실행하기
Foreground 프로세스를 실행하면 작업이 끝날 때까지 터미널에서 새작업을 할 수 없습니다..
프로세스가 많은 시간이 걸리는 경우 Background로 프로세스를 실행할 수 있습니다.
Ctrl-Z는 프로세스를 잠깐 중지시킵니다.
$ bg
로 Background에서 실행시킬 수 있습니다.<program> &
는 <program>을 Background로 프로그램을 실행합니다.
'OSS' 카테고리의 다른 글
Linux File System (0) | 2018.12.05 |
---|---|
Linux User (0) | 2018.11.26 |
Linux System Administration(Boot/Shutdown) (0) | 2018.11.20 |
Linux Introduction (0) | 2018.11.20 |
OSS 정리2 (0) | 2018.11.20 |