Linux2010. 2. 23. 10:18
Posted by 구차니
Linux2010. 2. 22. 13:21
리다이렉션은, 데이터의 흐름(?)을 다른 곳으로 돌려주는 것을 의미한다.

일반적으로
fd = 0 은 stdin(입력)
fd = 1 은 stdout(표준출력)
fd = 2 는 stderr(표준에러출력)
으로 설정되는데, 이러한 출력을 다른 곳으로 돌려주는 역활을 한다.

예를들어,
에러만 파일에 저장하려면
make 2> err.log

일반메시지만 저장하려면
make > err.log

둘다 저장하려면
make > err.log 2>&1

으로 하면된다.

make 2>&1 err.log
라고 하면 에러가나니, 반드시 파일명과 함께 리다이렉션시킬 방향을 별도로 적어 주어야 한다.


REDIRECTION
       Before  a command is executed, its input and output may be redirected using a special notation interpreted by the
       shell.  Redirection may also be used to open and close files for the current shell  execution  environment.   The
       following  redirection  operators may precede or appear anywhere within a simple command or may follow a command.
       Redirections are processed in the order they appear, from left to right.

       In the following descriptions, if the file descriptor number is omitted, and the first character of the  redirec-
       tion  operator is <, the redirection refers to the standard input (file descriptor 0).  If the first character of
       the redirection operator is >, the redirection refers to the standard output (file descriptor 1).

       The word following the redirection operator in the following descriptions, unless otherwise noted,  is  subjected
       to  brace  expansion,  tilde  expansion,  parameter  expansion, command substitution, arithmetic expansion, quote
       removal, pathname expansion, and word splitting.  If it expands to more than one word, bash reports an error.

       Note that the order of redirections is significant.  For example, the command

              ls > dirlist 2>&1

       directs both standard output and standard error to the file dirlist, while the command

              ls 2>&1 > dirlist

       directs only the standard output to file dirlist, because the standard error was duplicated  as  standard  output
       before the standard output was redirected to dirlist.

[링크 : http://linux.die.net/man/1/bash]


'Linux' 카테고리의 다른 글

diff의 -u 옵션 출력 내용 읽기 how read diff unified format?  (0) 2010.02.23
configure 관련 문서 모음  (0) 2010.02.23
리눅스 드라이버 / 모듈  (0) 2010.02.19
bash shell - TMOUT 환경변수  (0) 2010.02.18
chmod(3)  (0) 2010.02.18
Posted by 구차니
Linux2010. 2. 19. 21:46
리눅스 모듈관련 명령어

모듈은 드라이버 이다.
랜카드 드라이버라던가, 사운드 카드, 그래픽 카드들은 모듈 형태로 일반적으로
리눅스 상에 탑재가 되는데, 이러한 것들의 목록은

lsmod 로 받아올 수 있다.
그리고 갱신시에는 modprobe를 하며, 이러한 의존성 정보는
/lib/modules/{'uname -r'}/modules.dep 파일로 저장되어 있다.

모듈을 삽입하거나 빼내는데에는 insmod / rmmod로 실행하며
일시적으로 모듈을 넣기 때문에 재부팅 시에는 삽입되지 않으므로 modules.dep에 넣어둬야 한다(확인필요)

모듈의 정보는
modinfo {모듈명}
으로 받아낼수 있으며
모듈의 버전 자체는 알아내기 힘든 것으로 보인다.(vermagic 에 커널 버전 정보는 존재한다)

[링크 : http://linux.die.net/man/8/modinfo]
[링크 : http://linux.die.net/man/8/modprobe]
[링크 : http://linux.die.net/man/8/lsmod]
[링크 : http://linux.die.net/man/8/insmod]
[링크 : http://linux.die.net/man/8/rmmod]
[링크 : http://linux.die.net/man/5/modules.dep]

'Linux' 카테고리의 다른 글

configure 관련 문서 모음  (0) 2010.02.23
bash 리다이렉션(redirection)  (0) 2010.02.22
bash shell - TMOUT 환경변수  (0) 2010.02.18
chmod(3)  (0) 2010.02.18
scp를 통한 대역폭 제한 복사(scp with bandwidth limit)  (2) 2010.02.16
Posted by 구차니
Linux2010. 2. 18. 22:19
리눅스 마스터 공부하다가 나온녀석으로,
일정시간이 흐른뒤 자동으로 로그아웃 시키는 데 사용하는 환경변수이다.
단위는 초단위이며, bash shell 에서 지원한다.

TMOUT

If set to a value greater than zero, TMOUT is treated as the default timeout for the read builtin. The select command terminates if input does not arrive after TMOUT seconds when input is coming from a terminal. In an interactive shell, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if input does not arrive.


[링크 : http://linux.die.net/man/1/bash]


'Linux' 카테고리의 다른 글

bash 리다이렉션(redirection)  (0) 2010.02.22
리눅스 드라이버 / 모듈  (0) 2010.02.19
chmod(3)  (0) 2010.02.18
scp를 통한 대역폭 제한 복사(scp with bandwidth limit)  (2) 2010.02.16
Xwindow 해상도 설정하기  (0) 2010.02.16
Posted by 구차니
Linux2010. 2. 18. 10:30
리눅스 마스터 시험 공부를 하다가
잘 쓰지 않는 녀석중 하나인 Set UID, Set GID 그리고 sticky bit에 대한 문제가 있었다.

flag octal value purpose
S_ISUID 04000 set user ID on execution
S_ISGID 02000 set group ID on execution
S_ISVTX 01000 sticky bit
S_IRUSR, S_IREAD 00400 read by owner
S_IWUSR, S_IWRITE 00200 write by owner
S_IXUSR, S_IEXEC 00100 execute/search by owner
S_IRGRP 00040 read by group
S_IWGRP 00020 write by group
S_IXGRP 00010 execute/search by group
S_IROTH 00004 read by others
S_IWOTH 00002 write by others
S_IXOTH 00001 execute/search by others

sticky bit는   chmod 1000 으로 설정하고
set user id는 chmod 4000 으로 설정하는데
그렇다면 그 값은 어디서 나온건지 궁금해서 검색하게 되었다.

[링크 : http://linux.die.net/man/3/chmod]
[링크 : http://en.wikipedia.org/wiki/Chmod]
Posted by 구차니
Linux2010. 2. 16. 16:38
시스템 이전 혹은 백업을 위해 복사를 할때
생각보다 IO로 인해 시스템이 버벅되는 경우가 있다.
물론 야간에 작업을 해야 하는게 정석이긴 하지만, 적절선에서 이전을 하고 싶다면

cp 대신 scp를 이용해서 대역폭을 제한하여 복사할 수 있다.

scp - secure copy (remote file copy program)

-l limit
Limits the used bandwidth, specified in Kbit/s.
-r' Recursively copy entire directories.

[링크 : http://linux.die.net/man/1/scp]

주의사항
1. 속도제한은 -l (소문자 L 이다)
2. 속도제한시 단위는 Kb/s 이다. 즉, -l 1000 하면 125KB/s 로 제한된다.(단위 주의!)
3. 복사시 파일의 권한은 scp 명령어 실행한 사용자를 따른다. (root로 실행시 root로 파일이 생성됨)

'Linux' 카테고리의 다른 글

bash shell - TMOUT 환경변수  (0) 2010.02.18
chmod(3)  (0) 2010.02.18
Xwindow 해상도 설정하기  (0) 2010.02.16
리눅스 시리얼로 파일 전송하기  (0) 2010.02.11
쉘 스크립트의 결과를 알록달록하게 컬러로 출력하기  (0) 2010.02.05
Posted by 구차니
Linux2010. 2. 16. 14:25
FC6을 설치하는데(젠장!)
모니터를 HD Ready 모니터에 연결했더니 EDID 정보에 의해서 1920x1080으로 설정이 되었나보다.
아무튼, 이런 이유로 모니터에서는 out of range 에러를 뱉어내고..
결국에는 수작업으로 해상도를 변경했다.

아무튼, FC6의 경우
/etc/X11/xorg.conf 경로에 파일이 존재하며 (내용은 다를수도 있지만)
# Xorg configuration created by pyxf86config

Section "ServerLayout"
        Identifier     "Default Layout"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Synaptics" "CorePointer"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection

Section "InputDevice"
        Identifier  "Synaptics"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "auto-dev"
        Option      "Emulate3Buttons" "yes"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "i810"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
        SubSection "Display"
                Modes     "1024x768"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Screen 섹션에
Display 보조섹션에 Modes 를 추가하여 원하는 해상도로 변경해주면 된다.

[링크 : http://kldp.org/node/22644]
Posted by 구차니
Linux/Ubuntu2010. 2. 16. 11:05
Redhat 계열인 Fedora의
/etc/sysconfig/network
파일은

Debian 계열인 Ubuntu에서는
/etc/network
에 존재한다.

[링크 : http://ubuntuforums.org/showthread.php?t=411202]
Posted by 구차니
Linux2010. 2. 11. 01:32
머.. 시리얼이라고 하니 구시대 같지만
모뎀이라는 좋은기술이 널리 퍼졌던게 그리 오래되진 않았었다 ^^;

유닉스에서는 kermit 이라는 넘이 가장 유명했는데
이녀석을 이용해서 데이터를 주고 받을수 있다.

[링크 : http://linux.die.net/man/1/kermit]
[링크 : http://linux.die.net/man/1/minicom]
[링크 : http://docwiki.gumstix.org/Connecting_via_Serial_-_Linux]

uuencode는 시리얼로 전송시에 특수한 문자열이 나와 시리얼 포트 제어문자와 겹치지 않도록
ASCII 영역을 이용하여 전송하도록 인코딩한다. uudecode는 인코딩한것을 원래대로 해제한다.
Name
uuencode, uudecode - encode a binary file, or decode its representation

Synopsis

uuencode [-m] [ file ] name
uudecode [-o outfile] [ file ]...

Description

Uuencode and uudecode are used to transmit binary files over transmission mediums that do not support other than simple ASCII data.

[링크 : http://linux.die.net/man/1/uuencode]
[링크 : http://linux.die.net/man/1/uudecode]
[링크 : http://stone.backrush.com/sunfaq/ljs024.html]
Posted by 구차니
Linux/Ubuntu2010. 2. 5. 20:32
doesn't work ansi escape sequence on ubuntu makefile(make)


$ cat test.sh
#!/bin/bash
echo -e '\E[47;34m'"\033[1mTest\033[0m"

$ cat test.sh
#!/bin/sh
echo -e '\E[47;34m'"\033[1mTest\033[0m" 

위의 결과는 아래의 소스대로, 쉘이 바뀌었다는것 밖에 차이가 없다.
결과는 sh에서 실행된것은 "-e \E[47;34m" 까지 출력되었다.
아마, 우분투의 make 시에 색상이 먹지 않는건 makefile이 기본 쉘로  /bin/sh를 쓰면서
안시 이스케이프 시퀀스가 오작동 한것으로 보인다.

해결방법은 makefile 내에
SHELL=/bin/bash 를 추가하는 것이다.

'Linux > Ubuntu' 카테고리의 다른 글

apt 명령어 정ㅋ벅ㅋ  (0) 2010.03.04
우분투에서 /etc/sysconfig/network 에 대응하는 파일  (0) 2010.02.16
tftp 설정경로  (0) 2010.02.05
sudo 사용가능하도록 설정하기  (0) 2010.02.04
우분투 사용자 자동로그인  (0) 2010.02.04
Posted by 구차니