linux commands / linux / 리눅스 커맨드 / command / linux command
알아두면 좋을 linux commands
dpkg -l
- 설치된 package 들 확인방법
- Cent OS/ RedHat
- dnf list installed
- Debian / Ubuntu
- dpkg -l
- apt list --installed
dpkg-query -L python3
- 설치된 package 의 file 들이 어디에 있는지 알 수 있다.
apt-cache search python3
- apt 에 의해 설치가능한 default Ubuntu repository 들에 있는 package 이름들을 찾아준다.
whereis python3
- binary, source, manual page files 들을 찾아준다.
locate python3
python3 가 들어가 있는 모든 파일의 path 를 보여준다.
사용하기 위해서는
sudo updatedb
가 필요하다.(참고: UPDATEDB - Linux StepByStep)vi /etc/updatedb.conf
에서 PRUNEPATHS 로 원하지 않는부분에 대한 index 를 만들지 않을 수 있다.(updatedb.conf(5) - Linux man page){.code} PRUNE_BIND_MOUNTS="yes" PRUNENAMES=".git .bzr .hg .svn" PRUNEPATHS="/tmp /var/spool /media" PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs ecryptfs fusesmb devtmpfs"
which python3
- 현재 상태에서 실행하고 있는 python3 가 어떤 path 에 있는 python3 인지 알려준다.
iptables
netstat -lntu
- -l : listening port
- -n : port number
- -t : tcp port
- -u : udp port
아래 ss 를 확인하자.
cat /etc/passwd
- 등록된 모든 유저 리스트
sudo useradd -m new_user
- 등록된 모든 유저 리스트
- -m : home directory 를 함께 만들어 준다.
passwd new_user
- 암호 설정
sudo userdel -r new_user
- user 계정 삭제
- -r : home directory 포함 삭제
usermod -d /path/to/dir username
- user 계정, 기본 접속 directory 변경
- home directory 은 /etc/passwd 에서 확인이 된다.
alias function alias
# python activate
function ac() { source ~/env/$1/bin/activate; }
# history 내 특정 내용 찾기
function hs() { history | grep $1; }
# wsl 등에서 사용할 때 유용, windows path 를 wsl path 로 변경
function cdw() {
result=$(echo "$1" | sed -e 's.\\./.g' -e 's/\/wsl\$\/Ubuntu//')
cd $result
}
# 특정 owner 를 변경 할 때
alias chuser='sudo chown user:user $1 -R'
lsb_release -a
/
grep . /etc/*-release
- linux standard base 정보
uname -r
: 배포판 커널 버전을 알 수 있다.
chown
chown -R userid directory
chown userid:usergroup file
groups
- 어느 그룹에 속해있는지 알려준다.
groups userid
chgrp userid file.txt
usermod -a -G groupname username
원하는 그룹에 특정 user 를 추가할 때 사용한다.
usermod -a -G group1,group2 username
이런 식으로 사용할
수도 있다.
group 을 추가하는 것은 groupadd mynewgroup
을 사용하면
된다.
삭제 1
gpasswd -d username group1
: group1 을 지운다.
삭제 2
groups username
: 현재 속해있는 group 을 확인
usermod -G group1,group2 username
: -a 없이 사용하면 username 가 group1,group2 에만 속하게 된다.
/etc/group
을 수정하는 방법도 있다.
user
find . -name '*filname*'
현재폴더에서 recursive 하게 filename 을 찾아준다.
function fs() { key=$(echo “$1”) find . -name $key }
lsof <file_name>
특정한 파일 및 디렉토리를 사용하고 있는 process를 보여준다. 어떤 process 가 이 파일에 lock 을 걸고 있는지등의 파악에 사용할 수 있다.
ss -tulnp
socket 정보를 보여준다. 열려있는 port 를 확인할 때 사용할 수 있다.(참고: 3 ways to check open ports in Linux - SSLHOW)
update-alternatives
여러가지 버전이 설치된 경우 아래처럼 사용해서 현재 사용될 version 을 지정해 줄 수 있다.
sudo update-alternatives --config java
sudo update-alternatives --config javac
my functions in .bashrc
function ac() { source ~/a/env/$1/bin/activate; }
function hs() { history | grep $1; }
function cdw() {
# \\wsl$\Ubuntu\home\namh --> /home/namh
result=$(echo "$1" | sed -e 's.\\./.g' -e 's/\/wsl\$\/Ubuntu//')
# d:\a\prog\docker\superset\superset --> /mnt/d/a/prog/docker/superset/superset
unixpath=$(echo "$1" | sed -e 's.\\./.g' | sed 's/^\([a-zA-Z]\):/\/mnt\/\L\1/')
cd $unixpath
}
function fs() {
key=$(echo "*$1*")
find . -name $key
}
alias chnamh='sudo chown na:na $1 -R'
See Also
- 쿠...sal: [컴][리눅스] systemd 사용법
- GitHub - ibraheemdev/modern-unix: A collection of modern/faster/saner alternatives to common unix commands. : 리눅스에서 쓸만한 새로운 명령어들
- explainshell.com - ls -lAGh1vX –group-directories-first –color=auto : 리눅스 명령어를 넣으면, 어떤 명렁어이고, 옵션의 의미는 무엇인지를 알려준다.
- 쿠…sal: [컴][리눅스] disk 사용량 관련 리눅스 명령어 정리
- How to use HAProxy stats socket – sleeplessbeastie’s notes : haproxy 를 모니터링 할 때 쓸 command
댓글 없음:
댓글 쓰기