콘솔에


php --ini 입력해본다.


보통,
/etc/php5 폴더 안에 있다. 


나의 경우는, php5폴더 안에


apache2, cli 이런 폴더들이 있었는데


apache2에서 사용하고 있으므로 (cli는 아마 클라이언트에서 사용할 때의 설정을 말하는 듯)


이 폴더 안에 있는 php.ini를 수정했다.

du 명령어. (Disk Usage 의 약자)

git bare repository 에서 과연 push 가 제대로 된 건가 확인할 겸 용량을 확인해 보고 싶었다.

 

du 라고 쉘에 입력하면

현재 위치의 각 폴더의 사용량과 총 사용량을 표시해준다. (단위 : KB)

du [옵션] [용량을 알고싶은 파일 or 디렉토리 (생략하면 현재 디렉토리) ]

 

◎ 옵션

-a    :    "폴더"의 사용량이랑 총 사용량만 표시되기 때문에, 폴더 내의 파일의 용량을 확인하려면 이 옵션을 넣어야 한다.

-m    :    결과를 MB 단위로 나타내준다.

-h    :    human readable, 크기 적절하게 알아서 단위를 설정한다. (kb, mb, gb)

-s    :    용량의 총 합을 계산해준다.

-S    :    각 디렉토리 별 합을 계산해준다.

 

◎ 사용 예

du            --> 각 디렉토리 별 합을 구해준다.

40      ./hooks
4       ./branches
8       ./refs/heads
4       ./refs/tags
16      ./refs
4248    ./objects/pack
4       ./objects/info
4256    ./objects
8       ./info
4340    .

du -S        --> 이것도 각 디렉토리 별 합을 구해주는데, 위의 명령어와 미묘한 차이가 있는데.. 설명하긴 뭐하고 직접 결과를 보길 바란다.

40      ./hooks
4       ./branches
8       ./refs/heads
4       ./refs/tags
4       ./refs
4248    ./objects/pack
4       ./objects/info
4       ./objects
8       ./info
16      .

du -s        --> 총 합만 보여준다.

4340    .

du config        --> config 이라는 파일의 용량을 보여준다.

4       config

du -h        --> 사람이 읽기 좋게 용량을 표시한다.

40K     ./hooks
4.0K    ./branches
8.0K    ./refs/heads
4.0K    ./refs/tags
16K     ./refs
4.2M    ./objects/pack
4.0K    ./objects/info
4.2M    ./objects
8.0K    ./info
4.3M    .

du -ah        --> 모든 파일과 디렉토리의 용량을 사람이 읽기 좋게 표시한다.

du -sh        --> 총 합을 사람이 읽기 좋게 표시한다.
 



자녀 스마트폰 PC 관리


cut (플래그) (쪼갤 것(파일, 명령 등))

내용을 쪼개서 보여준다.

 

플래그

-c (범위)        :    -c 1-5 이런식으로 쓴다.

첫번째 문자부터 5번째 문자까지만 보겠다는 뜻.

만약

abcdefghijklmnop

1234567890

이런 문자열이었다면

abcde

12345

딱 이만큼까지만 보여지는 것이다. 아.. 직접 봐야 이해가 될텐데..ㅎ

-d (쪼갤문자)    :    -d / 이런식으로 쓴다.

특정한 문자로 구분되어 있는 파일(만약 csv라면 콤마 이런식.. )을 쪼갤 때 사용한다.

명시를 안하면, 기본적으로 tab 으로 인식한다.

-f (필드번호)    :    -d 로 쪼갠 것에서 몇번째 필드를 보겠다는 건지 선택할 때 사용한다.

 

ex)

who | cut -c 1-8   

사용자 이름이 나온다.

who | -c 1-8, 18-

1-8로 사용자 이름이 보이고, 18- 로 인하여 18번째 문자부터 나머지도 보여준다.

cut -d : -f 1 /etc/passwd

(참고로 /etc/passwd 파일은 등록된 사용자의 정보가 들어있는 파일이다.

마침 이 파일이 : 로 구분되어 있기 때문에 예제로 사용했다. )

이렇게 하면 파일을 : 로 구분지어놨을 때 첫번째 필드(열)가 보여진다.

 

 

백스페이스 키 왼쪽에 있는 키를 쉬프트 누르고 입력하면

| 요런게 나온다. 이걸 파이프 라고 부른다. (이게 왜 파이프라 불리는 지는 모른다..)

파이프를 사용해

왼쪽 명령의 출력

오른쪽 명령의 입력 으로 들어간다. 

예제를 통한 설명~

ls | wc -l

원래는 wc (플래그) (파일명) 이렇게 사용하는게 맞다.. 근데 파일이 없다.

파일 대신 ls 명령의 내용 자체가 넘어가는 것이다.

who | wc -l

who 명령의 라인 수라면... 로그인 한 사용자 수가 된다.

who | grep jack

같은 원리로 jack 이란 사용자의 정보가 된다.

who | cut c 1-8 | sort

자, 이번에는 파이프가 2개다.

일단 cut 명령어는 원하는 범위만큼 잘라 보여주는거라 간단히 설명하겠다.

처음으로 who 명령어가 cut 에 의해 1-8범위만큼 잘린다.(사용자 이름만 남겨진다)

윗줄에서 한 것이 sort 명령어(정렬하는 것임)의 입력으로 들어가니, 결국

사용자 이름이 정렬되어 출력된다.

 

(명령) &

그냥 명령 입력 후 & 를 붙여서 입력하면 백그라운드로 보내진다.

 

과연 내가 넘긴 명령이 잘 실행되는지 확인하려면 프로세스를 확인해 보면 된다.

ps -f  --> 프로세스 확인

터미널 화면에 그대로 출력이 되는 명령어들을

특정 파일에 저장하고 싶을 때

> 를 사용한다.

 

$echo 'hello'

  hello

$                    

그냥 쓰면 이렇게 되지만

$echo 'hello' > a.txt

$cat a.txt

  hello

$

> 를 사용하면 내용이 터미널 상에 출력되지 않고

파일에 써버린다. 즉, 표준출력이라면 화면에 뿌려줬겠지만(터미널에..)

출력의 방향을 표준출력이 아닌 특정 파일로 바꾼것이다.

 

>> 이렇게 사용하면 해당 파일이 존재할 때 덮어 쓰지 않고 파일 끝에 추가한다.

 

  • 표준에러 출력방향변경

사실 이 글을 쓴 이유는 이거다.. 앞에것은 알았었는데 이건 얼마전에 알았다.

명령어 사용 시의 에러 문구들은 출력방향변경이 안되고, 그냥 터미널 상에 출력된다.

그러므로 다른 방법을 사용해야 한다.

 

$ls hello > error.txt

  hello not found           

 

이런 에러 메세지까지 방향변경을 하려면

$ls hello 2> error.txt

$cat error.txt

  hello not found

$

 

2> 이런식으로 해주면 된다.

 

* grep : 특수한 문자패턴으로 파일을 찾는다.

grep (플래그) (찾을 문자패턴) (파일명)

 

$grep 'this' hello.txt  --> 라고 입력하면

  this is first line

  this is second line --> 이렇게 파일 내 this가 포함된 라인을 출력한다.

 

* 플래그 설명

-i    대소문자 무시

-v    거꾸로, 없는 라인을 출력한다.

-l    내용은 빼고 파일의 리스트만 보여준다. (파일 이름에 * 놓고 사용할 때 유용하겠구만)

-n    라인 번호를 같이 출력한다.

 

* grep 사용 시 유용할듯한 정규표현식

  • [abc]  :  a, b, c 중에서 한 문자만 매치

ex) grep '[tT]his' hello.txt  -->  this 또는 This 가 있는 라인

  • * 끝까지 쭉~ (시작과 끝을 나타낼 때 유용)

  • [0-9]  :  0 ~ 9 중에서 한 문자만 매치

(대신 순서는 지켜야 한다. [a-z]는 되지만 [z-a]는 안된다)

ex) [a-np-z]*  :  a에서 n까지 또는 p에서 z까지의 문자로 시작되는 라인 (* 사용됨)

  • [!a]  :  a 가 아닌 것

ex) [!a-z]  :  소문자가 아닌 것

*[!k]  :  알파벳 k로 끝나지 않는 것

  • :  글자 한개

ex) grep 'h...o' hello.txt

파일에서 h로 시작해서 o로 끝나는 5글자짜리 단어가 들어간 라인을 찾는다.

date         날짜와 시간 출력

 

cd (change directory) 디렉토리 변경

cd ../.. 하면 2단계 올라가기!!

그냥 cd 하면 홈 디렉토리로 이동.

 

rmdir         디렉토리 삭제. 폴더 내용이 없어야 지워짐.

폴더 내용까지 지우려면 -r 붙여서 사용함.