자택경비대

2>&-, 2>/dev/null, |&, &>/dev/null and >/dev/null 2>&1 의 차이점에 대해서

stackoverflow

배경지식: 각 fd (file descriptor), 1stdout, 2stderr 그리고 0stdin 을 가리킨다.

N>&-: N에 해당하는 fd를 닫는다.
N>/dev/null: N에 해당하는 fd로 부터의 출력을 /dev/null로 리다이렉팅 한다.
N>&M: N의 출력을 M의 출력과 하나로 합친다.
|&: 2>&1 | 의 축약어이다. (bash4 버전부터 추가)
&>/dev/null: >/dev/null 2>&1 의 축약어이다.

Bash 파일 테스트 연산자

Programming
  • 아래의 조건이 일치할 경우 참을 반환한다.

-e: 파일이 존재할 경우
-a: -e 와 같다. (deprecated)
-f: 일반 적인 파일일 경우 (디렉토리, 디바이스 드라이버 파일의 경우 거짓)
-s: 파일의 크기가 0이 아닐경우
-d: 디렉토리인 경우
-b: 파일이 블록 디바이스인 경우
-c: 파일이 캐릭터 디바이스인 경우
-p: 파일이 파이프인 경우
-h, -L: 파일이 심볼릭링크인 경우
-S: 파일이 소켓인 경우
-t: fd가 터미널 디바이스와 관련이 있는경우
-r: 읽기 권한이 있는경우
-w: 쓰기 권한이 있는경우
-x: 실행 권한이 있는경우
-g: sgid 플래그가 설정되어 있는경우
-u: suid 플래그가 설정되어 있는경우
-k: stickybit가 설정되어 있는경우
-O: 파일의 소유자인 경우
-G: 파일과 같은 그룹인 경우
-N: 파일이 마지막으로 읽은 후에 수정된 경우
f1 -nt f2: f1 파일이 f2 파일보다 새로운 경우
f1 -ot f2: f1 파일이 f2 파일보다 오래된 경우
f1 -ef f2: f1 파일이 f2 파일과 같은경우 (hardlink)
!: not 연산자, 다른 연산자 앞에 쓰여서 반대 효과를 낼 수 있다.

Reference

커맨드라인 팁 모음

Programming
  1. 이전에 쳤던 명령어를 다시 사용하려면 Ctrl+r 을 눌러서 역순검색을 할 수 있다.
  2. 출력 결과가 긴 명령어는 뒤에 | less 를 붙여 less 프로그램으로 넘겨주면 편하게 볼 수 있다.
  3. cat file | program 형식으로 Piping 할 필요없이 대부분의 프로그램은 -f 옵션이나 마지막 인자로 파일을 넘겨주는 것으로 파일 입력이 가능한 경우가 많다.

'Programming' 카테고리의 다른 글

Bash 파일 테스트 연산자  (0) 2020.05.28
CSS에서 a, a[href], a:link, a:visited 의 차이  (0) 2020.05.16
XPath 사용방법  (0) 2020.04.21
Python scrapy 사용법  (0) 2020.04.21
파이썬의 GIL(Global Interpreter Lock)  (0) 2020.04.12

busybox 사용법

Programming

간단하게는 busybox <프로그램 이름> <매개변수> 형태로 사용 할 수 있다.

또한, busybox는 자신의 실행 이름(C에서의 argv[0])을 인식하여 동작하기 때문에
ln 명령어를 이용한 심볼릭 링크 생성을 통해, 해당 이름을 가진 프로그램으로의 동작이 가능하다.

e.g.)

ln -s /bin/busybox echo  # Create soft symbolic link name `echo`
./echo test  # test

Reference