前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux使用

Linux使用

原创
作者头像
爱撒谎的男孩
修改2018-06-07 09:38:20
7.4K3
修改2018-06-07 09:38:20
举报
文章被收录于专栏:码猿技术专栏

Liunx使用

命令管道连接 |

  • 命令管道符合为|,可以将两个命令进行连接,连接后第一个命令的输出结果作为第二个命令的输入信息
  • 比如 ls /ect | more -10 分屏显示etc文件夹下的10行数据

Linux文件系统结构

  • / : 根目录
  • /home: 主文件夹,登录用户的主文件夹
  • /etc :操作系统配置文件的保存位置
  • /usr : 用于添加的程序文件,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • root : 超级用户的目录

改变当前工作目录命令

  • cd 目标目录
  • cd 没有参数的时候直接返回用户主目录
  • cd /etc : 使用绝对路径切换当前的工作目录
  • cd .. : 返回上一级
  • cd 目录 :使用相对路径其切换,前提是当前的目录中有这个目录

显示当前的工作目录

  • pwd

文件或文件夹的操作(mkdir/touch)

  • mkdir 文件夹名称 创建文件夹
    • mkdir demo/file 在demo文件夹下新建一个文件加file,如果这个demo文件夹不存在,那么将会报错
  • mkdir -p 文件夹名称 递归创建文件夹
    • mkdir -p demo/file :如果demo文件夹不存在,那么会自动创建出来
  • touch 新文件名 : 创建文件 ,比如touch file.txt
  • touch 已经存在的文件名或者文件夹名 : 修改文件或者文件夹的创建时间,但是并不是重新创建一个,里面的内容的不会清空

改名或者移动(mv)

  • mv 参数1 参数2
  • mv 已存在的文件夹/文件 新文件夹/文件 :修改名称 比如 :mv file.txt a.txt
  • mv 已存在的文件夹/文件 目标文件夹 : 将文件或者文件夹移动到目标文件夹中
    • mv file.txt /tmp/dmeo 将当前文件夹的file.txt移动到/tmp/demo文件夹中
    • mv demo/file.txt . 将 demo文件夹下的file.txt移动到当前文件夹
    • mv file.txt ../ 将当前文件file.txt 移动到上一级目录

复制文件或者文件夹(cp)

  • cp 存在的文件/文件夹 新文件/新文件夹 进行改名复制
    • cp a.txt /tmp/file.txt 将当前文件夹中的a.txt文件复制到/tmp文件夹中,改名为file.txt
  • cp 存在文件 已存在的文件夹 将文件复制一份到已存在文件夹中,并且文件名和源文件的名一样
    • cp a.txt /tmp 将当前文件a.txt复制到tmp文件夹中,并且名称还是a.txt
  • cp -i ... 提示是否覆盖的信息
  • cp -f 强制覆盖,不给出提示
  • cp -r 存在的文件夹 目标文件夹 复制文件夹 比如:cp -r file /tmp/demo复制当前文件夹file和其中的所有内容到/tmp/demo`文件夹下

删除文件或者文件夹(rm)

  • rm 文件名 删除文件
    • rm a.txt 删除当前文件夹中的a.txt文件
    • rm /tmp/demo/a.txt 删除/tmp/demo文件夹下的a.txt文件
  • rm -r 存在的文件夹 : 删除文件夹及文件夹下的全部内容
    • rm -r demo 删除文件夹demo
  • rm -f 强制删除文件,不提示
  • rm -rf :强制删除文件夹

远程登录服务器SSH

  • 客户端输入:ssh 用户名@服务器IP/域名
    • ssh soft01@192.168.7.36
  • 第一输入需要确认证书: 选择yes
  • 输入password

SFTP传输文件

  1. sftp 用户名@主机/IP
  2. 确认证书 :yes
  3. 输入密码 : 盲敲
  4. 进入ftp,其中的提示符号变成>

常用命令

  • ls 显示当前远程服务器的目录内容
  • lls : 显示本地目录内容
  • pwd : 显示当前远程服务器目录的路径
  • lpwd :显示本地目录的路径
  • get 远程文件 : 获取远程文件,只能是压缩文件,比如.tar.gz
    • get demo.txt 获取远程文件的demo.txt
  • put 本地文件 :上传本地文件到远程服务器 ,只能是压缩文件,比如.tar.gz
    • push abc.txt : 上传本地当前文件abc.txt到远程服务器
  • exit : 退出

windows 操作Linux

  • pyttty 开源软件

Linux打包命令

  • tar -czvf 包文件.tar.gz 文件夹1 文件夹2 ....tar czvf demo.tar.gz demo/ 打包当前的demo文件夹
    • -c : create创建包 ,建议使用后缀 .tar
    • -z : 表示打包后录用gzip算法进行压缩,后缀需要写.gz
    • -v : 显示打包的过程,哪些文件被打包了
    • -f : 指定打包以后包的文件名 ,放在最后,如:czvf

解压缩包的命令

后缀为 tar.gz

  • tar -xzvf 包名.tar.gz
    • -x : 释放,将包进行释放操作
    • -z : 先使用gzip解压缩,一般对应的后缀.gz
    • -v : 表示显示解包的过程
    • -f : 指定包的文件名

后缀为 zip

  • 如果没有unzip命令,可以命令行安装即可 yum -y install unzip
  • unzip 文件

下载命令wget

  • 安装该命令:yum -y install wget
  • wget 下载地址 : 这个命令将会从互联网自动下载所需要的资源

购买云服务器

  • 地域: 国内配置域名的时候必须备案,国外服务器无需备案
  • 配置: x86服务器,1G内存 1CPU
  • 镜像: 公共镜像,Centos 7.4
  • 网络: 1M
  • 安全组(防火墙):开放端口 80,443,22
    • 注意: 没有开放8080,需要以后配置
  • 设置密码
  • 设置服务器名

PATH变量的作用

  • 操作系统可执行命令的搜索路径,操作系统在执行密令的时候,会在PATH变量一系列路径中逐一查找命令程序,如果找到就执行这个程序,否则将报出命令没有找到的错误
  • echo $PATH : 回显PATH的值
  • export PATH=... : 在终端直接输入的PATH,只会在当前的终端不关闭的情况才会生效,如果这个终端窗口关闭了,那么就会失效
    • export PATH=/usr/local/java/jdk1.8/bin:$PATH,这个命令是将java的jdk的路径添加到当前PATH路径的前面,不过这个只是临时的,当终端退出,那么就会失效
  • 如果想要这个PATH永久起作用,那么需要在/etc/profile文件中添加,这个文件会在开机启动的时候就解析加载
  • 如果我们使用的安装包安装的话,那么默认的启动命令是只能在当前安装包的bin中才能执行启动命令,如果我们想要在任何位置打开终端都能启动这个软件,那么我们可以将其配置在PATH中,我们只需要在/etc/profile文件中添加:export PATH=文件位置:$PATH

使用 VIM 编辑文本文件

  • 基于命令行的全屏幕可视化编辑器

安装 vim

  • yum -y install vim :安装vim

常用命令

  • 在命令状态下
    • yy : 复制当前行到剪切板
      • P:复制剪切板的内容到当前行之前
      • p: 复制剪切板的内容到当前行之后
    • nyy : 复制当前行和后面的n行数据到剪切板
      • 5yy
    • dd :删除当前行(其实是剪切),可以使用P或者p再次复制回去
    • ndd : 删除当前行的后面n行数据,实际上是剪切
      • 10dd
    • ?正则 : 向前查找
      • ?System
    • /正则 :向后查找
    • n 查找下一个
      • 先使用?正则或者\正则查找之后,然后按n将会查找下一个结果
    • u :撤销,可撤销多次

配置JDK环境

  • 下载jdk
  • 解压缩在/usr/local/java
    • tar -xzvf ......
  • 配置环境变量
    • 先复制一个/etc/profile ,避免错改造成系统崩溃
      • cp /etc/profile profile_1
    • vi /etc/profile
    • 在末尾输入
代码语言:javascript
复制
export JAVA_HOME=/usr/local/java/jdk1.8.0_172       ## jdk的路径
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  • 执行source /etc/profile
  • 在终端输入java -version判断是否配置成功
  • 重启机器

安装配置Tomcat

第一种yum

  • yum -y install tomcat
  • 安装以后的安装位置在/usr/share/tomcat/,这个是默认安装位置
启动和关闭
  • systemctl start tomcat.service : 启动
  • systemctl stop tomcat.service : 关闭
  • systemctl restart tomcat.service : 重启
  • systemctl enable tomcat.service : 设置自动启动
  • systemctl disable tomcat.service : 关闭自动启动

第二种使用原厂的包安装

  • 下载tomcattomcat.apache.org
  • 或者使用wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.88/bin/apache-tomcat-7.0.88.zip
    • 如果没有wget,那么使用yum -y install wget即可
  • 解压:unzip 文件名
  • 将解压之后的文件夹移动到/usr/local下即可:mv apache-tomcat-7.0.88 /usr/local/
  • 设置启动脚本的执行权限:
    • cd /usr/local/apache-tomcat-7.0.88/bin :进入到bin目录
    • 添加执行权限: chmod +x *.sh :为.sh脚本添加执行权限
  • 启动和关闭tomcat
    • bin文件夹下 输入: ./startup.sh即可启动
    • 输入ps -A | grep java : 检查是否启动
    • 开放防火墙 : firewall-cmd --permanent --add-port=8080/tcp
    • 如果显示防火墙显示not runing,那么使用service firewalld start开启防火墙
    • bin文件夹下输入 :./shutdown.sh 即可关闭
    • 最后在浏览器输入http://ip:8080即可访问

云服务器需要开启8080端口

  • 自己的服务器 ---- > 管理 ---> 本例安全组 ----> 配置规则 ---- > 添加安全组规则 ----> 添加端口范围 8080/8080

安装MySQL

  • MariadbMysql是一样的,不过mariadb现在是开源免费的。mysql以后的版本都是收费的
  • yum -y install mariadb mariadb-server : 使用此命令安装即可
    • 安装了两个组件,客户端mariadb
  • 启动: systemctl start mariadb.service
  • 关闭:systemctl stop mariadb.service
  • 重新启动: systemctl restart mariadb.service
  • 开机启动: systemctl enable mariadb.service
  • 取消开机启动:systemctl disable mariadb.service

连接mariadb

  • mysql -u root: 初始安装没有密码

设置mysql密码

  • set password=password("密码");
  • flush privileges;
  • 设置完成之后使用mysql -u root -p输入密码进入即可

mysql 解决中文乱码

  • show variables like '%char%'; 查看自己的编码是否是utf8
  • /etc/my.cnf添加如下代码即可
代码语言:javascript
复制
[mysqld]
character-set-server=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

数据库迁移【Import】

  • 意思就是将本地的数据库迁移到远程服务器中。不需要在远程服务器中重新创建和插入数据了

步骤

  • 导出(备份)数据库
    • mysqldump -u root -p密码 数据库名字 > 文件名.sql
    • 比如 :mysqldump -u root -proot tedu_store>tedu_store.sql;,导出的tedu_store.sql就会在当前目录中,这个命令不需要登录mysql即可完成
  • tedu_store.sql上传到远程服务器中
    • sftp 用户名@IP: 登录远程服务器的上传下载功能
    • put tedu_store.sql: 上传
  • 在远程服务器中创建数据库
    • create database tedu_store;
  • 导入数据:
    • use tedu_store
    • source tedu_store.sql 即可,这里需要指定路径

部署项目在远程服务器上

步骤

  • 导出一个war包,比如Tedu_store.war
    • 项目右击 --- > Export ---- > WAR File ----> 选择位置 -------> Finish
  • 导出的Tedu_store.war上传到远程服务器
  • 放在tomcat中的webapps包下
    • 我们将Tedu_store.war放在webapps下,那么会自动生成一个Tedu_store,这个就是我们的项目
  • 修改数据库的连接参数
    • 第一种:在本地电脑打包的时候就修改成远程服务器的数据库的连接参数
    • 第二种: 在远程服务器中修改
      • 进入到项目的WEB-INF/classes下,其中有一个db.properties文件,其中就是配置数据库的信息,我们可以使用vi编辑器修改
  • 重启tomcat,我们使用zip安装方式安装的,因此需要在Tomcatbin下执行:
    • ./shutdown.sh 关闭
    • ./start.sh启动
  • 接下来就是访问即可
    • http://ip:8080/Tedu_store/.....

查看错误信息

  • 进入到Tomcat的安装目录的logs目录,下面有一个catalina.out,这里面存储的就是项目的运行信息,我们可以在其中查找项目的错误信息

输出重定向

  • 将一个命令的输出目标从标准控制台(标出输出)重新定向到其他设备(一般是一个文件)
  • >: 生成一个新文件
  • >>:不生成一个新文件,在文件后面追加
  • 比如cat file.txt>demo.txt, : 将显示的file.txt文件内容重定向到deom.txt文件中,如果`demo.txt不存在,那么会被新建,如果存在,那么将会覆盖其中的内容。
  • cat file.txt>>demo.txt : 将显示的file.txt文件的内容在demo.txt后面追加,如果demo.txt不存在就新建,如果存在,那么在其内容的后面追加

作用

  • 记录命令的执行日志
    • tar -czvf file.tar.gz file>file.log : 将这个执行语句的日志记录到file.log
  • 快速生成文本文件
    • echo "hello World" >hello.txt

文件权限 chmod

  • -rw-rw-r : 文件拥有者、群组、其他

为所有用户设置权限

  • x :执行权限,如果一个文件夹没有执行权限,那么我们使用cd 文件夹名是不允许进入查看内容的
    • chmod +x file : 为file文件夹添加执行权限
    • chmod -x file: 为file文件夹删除执行权限
  • r : 可读权限
    • chmod -r file.txt : 删除file.txt文件的可读权限
    • chmod +r file.txt : 添加可读权限
  • w: 可写权限
    • chmod -w file.txt
    • chmod +w file.txt

为不同的用户设置权限

  • chmod u+x,g-x,o-x file : 表示文件拥有者添加执行权限,群组用户删除执行权限,其他用户删除执行权限
  • chmod g+x file : 为群组添加执行权限

使用数字代表权限

  • r : 4
  • w : 2
  • x : 1
  • rwx : 4+2+1=7
  • rw- : 4+2 =6
  • --x : 1
  • r-x : 4+1=5
  • chmod 664 file.txt : 为文件拥有这设置rw-权限,为群组设置rw-权限,为其他用户设置r--权限

可以执行的文件

  1. 文件是可执行的二进制程序或者文件是可执行的脚本程序
  2. 文件具有可以执行的权限

可执行的脚本

  • 可执行的脚本,也是称为shell脚本,是一个文本文件,文件的每一行都是可以执行的shell命令,如果有执行权限,这个文件就可以执行,执行时候批量执行文件中的每个命令,经常用于自动化运维

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Liunx使用
    • 命令管道连接 |
      • Linux文件系统结构
        • 改变当前工作目录命令
          • 显示当前的工作目录
            • 文件或文件夹的操作(mkdir/touch)
              • 改名或者移动(mv)
              • 复制文件或者文件夹(cp)
              • 删除文件或者文件夹(rm)
            • 远程登录服务器SSH
              • SFTP传输文件
                • 常用命令
              • windows 操作Linux
                • Linux打包命令
                  • 解压缩包的命令
                    • 后缀为 tar.gz
                    • 后缀为 zip
                  • 下载命令wget
                    • 购买云服务器
                      • PATH变量的作用
                        • 使用 VIM 编辑文本文件
                          • 安装 vim
                          • 常用命令
                        • 配置JDK环境
                          • 安装配置Tomcat
                            • 第一种yum
                            • 第二种使用原厂的包安装
                            • 云服务器需要开启8080端口
                          • 安装MySQL
                            • 连接mariadb
                            • 设置mysql密码
                            • mysql 解决中文乱码
                          • 数据库迁移【Import】
                            • 步骤
                          • 部署项目在远程服务器上
                            • 步骤
                            • 查看错误信息
                          • 输出重定向
                            • 作用
                          • 文件权限 chmod
                            • 为所有用户设置权限
                            • 为不同的用户设置权限
                            • 使用数字代表权限
                          • 可以执行的文件
                            • 可执行的脚本
                        相关产品与服务
                        云数据库 SQL Server
                        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档