본문 바로가기

컴퓨터활용/리눅스

리눅스 팁들

여러가지 리눅스 팁들 정리하기 시작했습니다. 많이 아는 내용들이긴 하지만, 새로 배우는 것도 있네요!!

홈 디렉토리로 돌아가기는 cd~

명령어나 파일이름을 다 타이핑 할 필요없이, 적당히 타이핑 한 다음에 "TAB" 누르면 탭완성이 됩니다. 이거 은근히 편해서 나중에 없으면 무지 불편합니다.

which 명령어 - command prints the full path to shell commands

여러 명령어를 한 라인에 적을 수 있습니다. 명령어와 명령어 사이에 ";"을 넣어면 됩니다.

커맨드 && 커맨드 하게 되면, 처음 커맨드가 에러없이 끝났을때만, 다음 커맨드를 실행하게 됩니다.

Ctrl+r search_term - 터미널에서 사용했던 과거 명령어들을 찾아주는 기능입니다. 저도 처음 배우는 기능이네요. 다른 방법은 아래 처럼 사용하는 것입니다.

history | grep ufw

터미널에서 Ctrl + S 사용하면 프리즈가 됩니다. 이때는 Ctrl + Q누르면 다시 사용이 가능합니다. 터미널을 종료할 필요가 없습니다. 

터미널에서 help 커맨드 이용해서 명령어에 대한 자세한 내용을 알 수 있습니다.

ufw --help

 

터미널 커맨드라인에서 Ctrl + A 눌러서 처음으로 가게 하고, Ctrl + E 눌러서 마지막으로 움직일 수 있습니다.

실시간으로 로그파일을 읽을 수 있습니다. 두번째에서 처럼 원하는 내용을 찾을 수도 있습니다.

tail -f path_to_Log_file
tail -f path_to_log_file | grep search_term

터미널에서 현재 실행중인 프로세스를 끝내고 싶다면, Ctrl + C 하면 됩니다.

터미널에서 복사와 붙이기는 Ctrl + Shift + C, Ctrl + Shift + V 하면 됩니다.

이전에 사용했던 argument를 다시 사용하고 싶다면, 아래처럼 "!$" 사용하면 됩니다.

mkdir /tmp/folder_long_name/
cd !$

결과는 cd /tmp/folder_long_name 입니다.

마지막 100 라인의 로그 파일 내용을 보고 싶다면...다른 방법은 less 커맨드로 파일 보는 방법이 있습니다.

tail -f -c 100 path_to_Log
less path_to_file

만약에 로그 파일이 압축되어 있다면, 압축을 풀지 않고도 볼 수 있는 방법이 있습니다. less 대신에 zless, cat 대신에 zcat, 그리고 grep 대신에 zgrep 사용하면 됩니다.

이전 커맨드를 다시 사용하고 싶다면, 특히 수퍼유저로 사용했던 커맨드를 다시 사용할때,

sudo !!

alias 이용해서 타이핑 에러 처리하기입니다. .bshrc 에 아래 내용을 넣어두면 타이핑 에러 걱정할 필요가 없어질 뿐아니라 업무효율도 높아집니다.

# clear console
alias c='clear'
## get rid of command not found ##
alias cd..='cd ..'
 
## a quick way to get out of current directory ##
alias ..='cd ..'
alias ...='cd ../../../'
alias ....='cd ../../../../'
alias .....='cd ../../../../'
alias .4='cd ../../../../'
alias .5='cd ../../../../..'
## Colorize the grep command output for ease of use (good for log files)##
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias h='history'
alias now='date +"%T"'
alias nowtime=now
#show open ports
alias ports='netstat -tulanp'
# install with apt-get
alias apt-get="sudo apt-get"
# become root #
alias root='sudo -i'
alias su='sudo -i'
 
## pass options to free ##
alias meminfo='free -m -l -t'
 
## get top process eating memory
alias psmem='ps auxf | sort -nr -k 4'
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
 
## get top process eating cpu ##
alias pscpu='ps auxf | sort -nr -k 3'
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
 
## Get server cpu info ##
alias cpuinfo='lscpu'
## set some other defaults ##
alias df='df -H'
alias du='du -ch'
 
# top is atop, just like vi is vim
alias top='atop'

스크립트로 실행할때, 인터액티브하게 예스를 입력 편하게 하는 방법이 있네요.

yes | command_or_script

텍스트 파일의 내용을 파일 삭제 하지 않고 지우는 방법이 있네요.

> filename

특정 패스에 있는 파일에 특정한 "내용"을 포함하고 있는지 알고 싶다면, 아래 커맨드 사용하면 됩니다.

grep -Pri Search_Term path_to_directory
find /home/user -type f sensetive_data.txt
 
find. -type f -size 100M

디렉토리안에 있는 모든 파일들의 퍼미션을 바꾸고 싶다면, 아래와 같이 하면 됩니다.

find /home/user/sensetive_files/ -type f -exec chmod 644 {} \;

pwd 명령어는 현재 디렉토리 위치를 알려줍니다.

디렉토리나 파일의 사이즈를 알려 줍니다.

du -sh file_path

프리스페이스 얼마나 되는지 알고 싶다면

df-h

커맨드를 성공적으로 수행하는 반복적인 작업을 수행하고 싶다면

while! [command]; do sleep 1; done
$ while ! ./run.sh; do sleep 1; done

터미널에서 테이블로 아웃풋을 보고 싶다면

cat /etc/passwd | column -t

터미널 클리어 하고 싶다면, Ctrl + L 사용하면 "clear" 커맨드 보다 편리합니다. 

여러개 서브-디렉토리를 만들어야 한다면

mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

ssh 사용할 때, 매번 패스워드 입력이 귀찮다면, ssh-keygen command 실행해서 private/public key pair 를 ~/.ssh/id_rsa 에 저장하도록 한다. public key 를 서버에  ssh-copy-id [email protected]_host 이용해서 서버에 복사한다.

프로그램이 계속에서 백그라운드에서 실행되어야 한다면, nohup = "do not hang" 사용해서 아래 처럼 해주면 된다.

nohup scp very-big-file.mkv [email protected]:~/very-big-file.mkv

VIM 이용해서 패스워드로 보호된 파일을 사용할 수 있네요. 간단하게 vim +X filename 으로 사용하면 됩니다. 또는 vim 에서 :X 사용해도 됩니다.

w 커맨드로 어떤 유저들이 사용 중인지 알 수 있습니다.

ping (Packet INternet Groper) 이용해서 시스템이 인터넷이나 라우터에 연결 되어 있는지 알 수 있습니다. ping -n

메모리 (또는 CPU) 사용에 따른 프로세스를 정렬해서 볼 수 있습니다.

ps aux | sort -nk 4

지속적으로 날짜 (시간)을 계속 보고 싶다면

watch date

 

htop 커맨드 사용하면 현재 프로세서들의 자세한 내용을 알 수 있다.

bc 는 계산기 실행하게 해준다

whatis <command> 는 한 문장으로 명령어에 대한 내용을 알려준다. 

who는 현재 시스템에 로그인 되어 있는 사용자 리스트를 보여준다

free 는 총 메모리와 사용중인 그리고 사용가능한 메모리 보여준다. free -m 는 메가바이트로 free -g는 기가바이트로 보여준다

cowsay 설치후에 아래 실행하면

echo "In what despair are you, since you turned to me?" | cowsay

 [여기까지 출처는 https://hackernoon.com/top-35-linux-console-tips-and-tricks-from-practical-experience]

새로운 내용들 추가 시작합니다. 

uname -a 

sudo nano /etc/hosts 

sudo nano /etc/hostname

위 두군데서 컴 네임 바뀌주고 리부팅 하면 됩니다. 

sudo reboot