Linux命令记录

Linux命令记录

zeee 865 2021-02-08

查看端口占用程序

# 1. 通过端口查询占用的进程, 支持通配符
ss -tnlp | grep 8*

# 2. 通过进程Id查找进程, 或直接列出来比对
ps -ef | grep xxxx

查看磁盘占用

# 1. 查看整个磁盘占用
# 这个命令会列出所有分区的占用情况, 一般主要看 MonutedON = "/" 的数据
df -lh

# 2. 查看当前目录各个文件/文件夹的大小(非递归)
du -sh *

# 3. 递归查看指定目录(也包括当前)的掉
du -lh /path/to

设置环境变量

# 临时: 使用export, 等号两边不能有空格
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH;/home/mypath

# 永久
#1、修改profile文件(所有要用户有效):
vi /etc/profile
# add
export PATH="$PATH:/home/xyz/Tesseract/bin"

#2、 修改.bashrc文件(当前用户有效):
vi ~/.bashrc
#add
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

#永久设置方法一般需要重新注销系统才能生效,注销重登陆后,可以通过echo命令测试一下:

# 3. 添加Path路径的取巧办法: 设置软链接到原 $PATH
ln -s path/to/mydir /usr/local/bin

批量修改文件内容

sed -i 's#old value#new value#g' /path/to/file

#说明:
# -i : 立即生效,移除 -i 则是预览修改后的结果
# /g : 全局匹配, 移除 /g 则只命中第一次
# #  : 分隔符,可以是 / + # 等符号,注意 oldvalue, newvalue 中不能包含分隔符
# /path/to/file: 要修改的文件,支持通配附修改多个文件

上传文件夹并支持排除

rsync -av -e ssh --exclude='log/*' /dir*/ root@remote_ip:/home/

# 递归上传所有 /dir* 匹配的所有目录, 放到远程 /home/ 下
# 排除 /log/ 下所有文件

安装最新版Docker

cat <<"EOF" | bash                              
sudo apt update && \
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y && \
sudo apt-get remove docker  docker.io containerd runc -y && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
sudo apt update && \
sudo apt install docker-ce docker-ce-cli containerd.io -y
EOF

# linux