Linux开发常用命令(持续更新)


总结开发中比较常用的命令,包括, linuxjavadockernginx等,持续总结更新

基础命令

Llinux简单基础命令

文件相关

  • pwd 当前路径
  • cd 切换路径
    • ~ 切换到用户目录
  • ls 列出当前路径下文件名与文件夹名
    • -a 包括隐藏文件
    • -l 包括属性
  • mkdir 创建文件夹
  • touch 修改文件或目录时间属性
  • ln 建立文件硬链接
    • -s 软链接
  • cp 复制文件或目录
    • -r 包括目录下所有文件和目录
  • mv 移动或改名,文件或目录
    • -f 覆盖旧文件
  • rm 删除文件或目录
    • -rf 强行删除目录与其下所有文件
  • rmdir 删除空目录
  • chmod 修改文件或目录权限
    • +x 当前用户可执行
    • 777 全部权限
  • umask 设置权限掩码
  • chgrp 改变文件或目录所属组
  • chown 改变文件或目录所有者
  • gzip 压缩文件为.gz
    • -r 压缩目录
    • -d 解压
  • xz 压缩文件为.xz,具有高压缩率
    • -r 压缩目录
    • -d 解压
  • tar 备份
    • -zcvf x.tar x 把x备份压缩(gzip)打包为x.tar
    • -zxvf x.tar 备份解压

文件内容相关

  • cat 输出文件内容
  • more 以页的方式显示,空格下一页,b上一页
  • less 可滚动浏览,不会一次性全部加载
  • head 查看文件开头10行
    • -n 指定行数
  • tail 查看文件最后10行
    • -n 指定行数
    • -f 实时更新
  • grep 查找文件包含字符串的行
  • sort 以行为单位字典序升序
  • uniq 删除重复且相邻的行,可与sort联合使用
    • -d 仅显示不删除
    • -c 显示重复次数
  • wc 统计文件行数,单词数,字节数
  • diff 以行为单位比较文件差异

vim

具有命令行模式文本输入模式编辑模式三种模式

模式切换

  • 1.不管处于何种模式,按esc进入命令行模式
  • 2.在命令模式下,插入i、附加a、打开o、修改c、取代r、替换s都可以进入文本输入模式
  • 3.在命令模式下,按:键即可进入编辑模式

光标移动

命令行模式

按键描述
i左移一位
l右移一位
k上移一行
j下移一行
0或^移动到行首
$移动到行尾
gg移动到文件一第一行行首
G移动到文件最后一行行首

文本操作

命令行模式

按键描述
x删除当前
dd删除一行
D删除当前+全部右边
yy复制当前行
nyy当前往下复制n行
p粘贴到当前行下方
P粘贴到当前行上方
J+空格后与下一行合并
C删除当前至末进入编辑模式
cc删除当前行进入编辑模式
r只替换当前字符
R从当前字符开始替换
s删除当前字符,从当前位置插入
S与cc相同
/str从当前光标往下查找str
?str从当前光标往上查找str
nnext往下查找
N往上查找
: s/key/value将当前行key替换为value
:g/str1/s//str2/g将全文str1替换为str2

网络相关

远程登录:

ssh username@xxx.xxx.xxx.xxx -p

文件传输:

scp /home/filename username@xxx.xxx.xxx.xxx:/home/filename
# 传过去必须指定文件名

环境安装

此处为Ubuntu 18

安装java8

apt update
apt install openjdk-8-jdk

安装maven

1.maven官网下载文件,这里下的是3.6.3

wget https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

2.解压

tar -zxvf apache-maven-3.6.3-bin.tar.gz

3.配置环境变量

vim /etc/profile

在后面加上

M2_HOME=/home/env/apache-maven-3.6.3
PATH=$PATH:$M2_HOME/bin
export PATH M2_HOME

4.更新环境变量

source /etc/profile

5.修改maven仓库地址
文件在M2_HOME/conf/setting.xml
mirrors标签中加入

<!-- 阿里云仓库 -->
         <mirror>
             <id>alimaven</id>
             <mirrorOf>central</mirrorOf>
             <name>aliyun maven</name>
             <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
         </mirror>
     
         <!-- 中央仓库1 -->
         <mirror>
             <id>repo1</id>
             <mirrorOf>central</mirrorOf>
             <name>Human Readable Name for this Mirror.</name>
             <url>http://repo1.maven.org/maven2/</url>
         </mirror>
     
         <!-- 中央仓库2 -->
         <mirror>
             <id>repo2</id>
             <mirrorOf>central</mirrorOf>
             <name>Human Readable Name for this Mirror.</name>
             <url>http://repo2.maven.org/maven2/</url>
         </mirror>

Docker

Linux Docker安装

apt install docker.io

curl -s https://get.docker.com | sh

Docker基本操作

容器id都可以用容器名代替

  • 删除镜像 docker rmi imageId
  • 删除容器 docker rm containerId
  • 查看容器日志 docker logs containerId
  • 进入容器内部 docker exec -it containerId bash
    • 退出容器 exit
  • 复制容器内文件(将容器内aof文件复制到当前路径) docekr cp containerId:/data/appendonly.aof .

DB相关

启动Mysql

这里使用的mysql5.7

docker pull mysql:5.7

启动

docker run -p 3306:3306 --name mysql_docker -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7

启动Redis

启动redis并指定配置文件,方便进行RDB和AOF

docker run 
-d 
-p 6379:6379 
-v /home/redis/conf:/usr/local/etc/redis 
--name redis_fehead
redis 
redis-server /usr/local/etc/redis/redis.conf #启动参数指定启用该配置文件

上面的直接复制版

docker run -d -p 6379:6379 -v /home/redis/conf:/usr/local/etc/redis --name redis_fehead redis redis-server /usr/local/etc/redis/redis.conf

redis.conf
该文件中不能写注释

#
save 900 1
save 300 10
save 60 10000

requirepass xxx #密码
appendonly yes #启用AOF
appendfsync everysec #每秒强制写入磁盘一次,性能和持久化方面做了折中,推荐
# appendfsync no         #完全依赖os,性能最好,持久化没保证(操作系统自身的同步)
no-appendfsync-on-rewrite  yes  #正在导出rdb快照的过程中,要不要停止同步aof
auto-aof-rewrite-percentage 100  #aof文件大小比起上次重写时的大小,增长率100%时,重写
auto-aof-rewrite-min-size 64mb   #aof文件,至少超过64M时,重写

Java开发相关

制作springbootjar包镜像

1.Dockerfile

# 定义基础镜像
FROM java:8

# 定义维护者信息
MAINTAINER lmwis <lmwis2000ygn@gmail.com>

# 添加宿主机的jdk 到容器中的指定目录 第一个参数为jar包对于Dockerfile文件相对位置
ADD target/fehead-common-service-1.0-SNAPSHOT.jar /home/java/app.jar

# 设置容器启动时执行的操作
ENTRYPOINT ["nohup","java","-jar","/home/java/app.jar","&"]

2.docker build

docker build -t imageName:TAG . # 最后这个点表示当前目录下的dockerfile

3.发布到docker hub

docker push lmwis/fehead:tagname
启动后台服务
docker run 
-d 
-p 8888:8888 #端口映射
--name project_name_java_${version} #容器名
lmwis/project_name #镜像名(不加tag默认为lastest)

运行nginx

启动命令

docker run 
-d 
-p 8082:80 #端口映射
-v /home/nginx_client/project_name/${version}/conf/nginx.conf:/etc/nginx/nginx.conf #全局配置文件(后者为容器内nginx路径,同下)
-v /home/nginx_client/project_name/${version}/html:/usr/share/nginx/html #资源文件
-v /home/nginx_client/project_name/${version}/logs:/var/log/nginx #日志文件
-v /home/nginx_client/project_name/${version}/conf.d:/etc/nginx/conf.d #项目配置文件
--name project_name_nginx_${version} #容器名
nginx #镜像名(不加tag默认为最新版)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值