The man page
provides in-depth documentation about programs, utilities, and other topics.
man page가 무엇인지 알기 위해,
man [section] command 예시
sudo
: super user 권한을 계속해서 주는게 아니라, 'sudo' 라는 command를 입력할 때만 super user의 권한을 얻는다.sudo shutdown now
: 즉시 shut down 시켜라
똑같은 명령어로
sudo poweroff
sudo reboot
: 즉시 reboot 시켜라
which
and whereis
commands are used to locate programs.pwd
: 현재 내가 있는 directory 위치.
cd
: change directory.
cd
or cd ~
: change to your home directorycd ..
: change to parent directorycd -
: change to previous directorytree
: show all sub-directories and files
tree -d
: show all sub-directories (file X, directory O)
tree -d -L 2
: show all sub-directories with depths of 2
ln
: is used to create hard links and soft(=symbolic) links.
ln file1 file2
:
disk에 file object가 있다. 그리고 file object는 기본적으로 i-node라는 고유의 번호를 갖는다.
그 file object에 2가지 이름(file1, file2)으로 접근하고 싶을 때가 있다.
이처럼 여러 이름으로 같은 file object에 접근하고 싶을 때 사용하는 것이 Hard Link
이다.
disk에 이미 file1이 있다고 가정하고 file2를 hard link로 만들었으면,
똑같은 file object(have same i-node number)인데 이름이 다른 file2가 생성된다.
이때, file1을 삭제해도 file2는 그대로 남아있다.
ln -s file1 file2
:
A symbolic link file2 points to file1 without taking disk space.
예를 들어 file2는 '바로가기'와 같은 기능이다.
아래 그림에서 file1의 size는 54bytes, file2의 size는 5bytes이다. (두 file이 다른 것임)
file2의 5bytes는 'file1'이라는 5글자 = 5bytes가 들어있는 것이다.
즉, 어느 file을 가리킬지에 대한 pointing 내용만 들어있다.
그리고 file2의 내용을 확인하면, file1의 내용이 보이게 되는 것이다.
만약 file1이 삭제된다면, file2는 여전히 file1을 가리키고 있긴 하지만 file1은 disk 상에 존재하지 않기 때문에 file2 -> file1이 빨갛게 표시가 되어서 나타내진다.
cat
: Used for viewing short file
less
: Used to view larger files
tail
: Used to print last 10 lines of a file by default
➡️ 파일에 기록을 추가하여 남기기 때문에 가장 최근 기록을 볼 때 유용하다(log file 볼 때 유용)
head
: The opposit of tail
mkdir
is used to create a directory
rmdir
is used to remove a directory
rm -rf
is used to remove non-empty directory.
mv
: Rename a file/directory
rename directory : mv 기존 새로운
move directory : mv 기존(옮길것) 기존(옮겨질곳)(mv 새로운 기존 : 안됌)
rename file : mv 기존 새로운
move file : mv 파일명 옮겨질DIR명
application이 동작할 때, 3 standard streams open for use
Name : Standard input
Symbolic Name : stdin ( )
File descriptor : 0
Example : Keyboard
Name : Standard output
Symbolic Name : stdout ( )
File descriptor : 1
Example : Terminal
Name : Standard error
Symbolic Name : stderr ( )
File descriptor : 2
Example : Terminal / log file
I/O Redirection
: we can change the stdin, stdout, stderr devices when executing a command
some_command read from input_file instead of stdin (keyboard)
(wc : word count의 약자. [new line, word, byte] 를 반환)
some_command writes to output_file instead of stdout (terminal)
some_command redirects stderr to a file
some_command redirects both stdout and stderr to a file (>&
or >, 2>&1
)
(stderr가 redirection된 경우)(stdout이 redirection된 경우)
덧붙이기 : >>
The Linux/Unix philosophy is to have simple short programs cooperate together
(작은 명령어들을 조합하여 복잡한 일을 할 수 있도록)
command1 | command2 | command3 | command4 :
command1의 output이 command2의 input으로 전달,
command2의 output이 command3의 input으로 전달,
... command4의 output.
examples :
?
: Matches any single character*
: Matches any string of characters[set]
: Matches any character in the set[!set]
: Matches any character not in the setutility = command = application ➡️ 모두 비슷한 말.
find
: find searches for files in a directory hierarchy.
Searching for files and directories named gcc under /usr directory :
Searching only for directories named gcc under /usr directory :
Searching only for regular files named gcc under /usr directory:
Searching for files greater than 10MB:
find and remove all files that ends with .swp