Linux常见命令学习

使用远程连接工具连接Linux服务器

  • 连接linux服务器需要的信息
    1. 服务器的IP地址
    1. sh协议的端口号
    1. 服务器的用户名
    1. 用户名对应的密码
  • 连接linux服务器常用的工具:
    1. xshell
    1. Windows(Linux、macOS)系统自带的dos窗口(cmd)
    1. PuTTY
    1. google浏览器的一些插件也可以连接Linux服务器
    1. 手机上面的一些APP也可以连接
  • 使用xshell连接Linux服务器
  • 有两种连接方式
    1. 通过xshell去创建快捷连接方式


    2. 通过命令行去连接linux服务器


    • 通过cmd去连接Linux服务器
        
        
        
    • 设置xshell工具
      1. 设置复制粘贴快捷键(选中文本就可以自动复制,点击鼠标中间滚轮按钮就可以粘贴复制到的内容)
            
            

Linux常用命令

  • [root@localhost~] 详解

    • 方括弧中的root代表当前连接的用户名
    • localhost 指的是所连接的服务器的hostname(具体可以直接使用haostname查询)
    • ~ 位置所指的是用户当前所在的目录
      • ~ 这个波浪线所指的是当前用户根目录
      • home 指的是当前用户所在目录为home
      • / 当前系统的根目录
  • cd 切换工作路径

    • cd / 切换到当前系统根目录
    • cd ~ 切换到当前用户根目录
    • cd /home 切换到当前系统根目录下的home目录下(绝对路径)
    • cd home 切换到home目录下(从当前工作路径下寻找–相对路径)
    • cd … 返回上一级目录(其实…是一个目录)也可以是用cd …/…/返回上两级目录,如果是三个…/那就是返回三层
    • cd /var/log/chrony/ 切换多层目录
  • pwd 查询当前工作路径(用于展示当前工作的路径)

  • tab键 用于命令提示和补全功能键

  • ctrl + c 快捷键把当前用户前台正在命令窗口运行的一些东西强制停止,返回等待输入的状态

  • df 查询已挂载磁盘使用情况

    • df [参数] [文件名]
    • 参数:
      • -a:all 显示已挂载全部的文件磁盘信息
      • -h:以二进制展示已挂载的全部文件的磁盘大小信息
      • -H:以十进制展示已挂载的全部文件的磁盘大小信息
    • df -h /home 查询的是根目录下home目录的磁盘信息
    • df -h 在没有加目录的情况下默认使用根目录
  • 磁盘挂载

    • 在Linux下磁盘是挂在目录下的
    • 在目录下挂载磁盘,linux系统会把此目录下所有的文件存储到挂载的磁盘中
  • cp 复制

    • cp [源] [目标] 复制文件,从源复制某个文件或者文件夹到目标
      • cp -r abc webserver/bcd 详解:-r 对文件夹操作,把abc文件夹复制到webserver下并且重命名为bcd
      • cp 111.txt …/ 详解:把111.txt文件复制到上一层目录,如果不强制指定文件名称,则使用源文件名称
      • cp 111.txt …/222.txt 详解:把111.txt文件复制到上一层,且重命名为222.txt
      • 备份:cp 源文件 源文件名称.20190115001.bak
      • 恢复:mv 源文件名称.20190115001.bak 源文件名称
    • scp [源] [目标] 从网络中别的服务器复制文件(跨服务器复制)
  • mv 剪切

    • mv [源] [目标]
      • mv 111.txt …/ 详解:把111.txt文件剪切到上一层目录,如果不强制指定文件名称,则使用源文件名称
      • mv 111.txt …/222.txt 详解:把111.txt文件剪切到上一层,且重命名为222.txt
      • mv 111.txt 222.txt 详解:可以直接当成重命名(剪切此文件,并重命名为222.txt 到当前目录下)
  • 删除

    • rm [文件或者文件夹]
      • rm 文件名称 :带提示符的删除文件
      • rm -r 文件夹:带提示符对文件夹的删除操作
      • rm -rf 文件或者文件夹:对文件或者文件夹的操作,不带提示符,直接删除
  • 新建

    • mkdir 新建目录
      • mkdir abc :在当前目录创建一个叫abc的目录
      • mkdir /home/abc/bcd :在系统根目录的home下的abc目录下创建一个叫bcd的目录(必须保证上层目录是已经存在的)
      • mkdir -p abc/1/2/3/4/5/6/7/8/9/0 :创建多层空目录
    • 新建文件
      • touch 创建文本文件
        • touch 111.txt 创建一个111.txt的空文本文件
      • vi、vim
      • vi或者vim命令可以用于创建文件,但前提是必须对文件进行编辑且要不是空文件的时候才可以创建
  • vi 修改

    • vi、vim(如果没有此命令则执行yum install vim -y 进行安装)
      • a 光标后退一格进行编辑
      • i 光标原地不动编辑
      • o 光标换行编辑
      • insert 就是i的缩写
      • esc键退出当前可编辑状态
      • 在未编辑状态下:
        • :q 退出vi或者vim命令(前提是文件未被修改,如果修改,则会报错)

        • :q! 不保存强制退出vi命令

        • :wq 保存且退出

          #!/usr/bin/env bash
          echo "我爱学习,学习使我快乐!"
          echo "我爱工作,工作使我快乐!"
          
          
  • find [查找的目录] [参数] [参数值]查找(只列出常用的-name参数,其他参数可自行百度linux下find命令详解)

    • 精确查找:find / -name 111.txt
    • 模糊匹配:find / -name *.txt
    • 模糊匹配:find /home/ -name 1*.*
  • 上传、下载(rz、sz)

    • 首先要安装一个上传下载的命令:yum install lrzsz -y
    • 上传:rz(只可以上传文件,不可以上传文件夹)
    • 下载:sz [需要下载的文件名称]
  • 解压

    • zip、tar.gz(linux中特有的压缩文件)
      • 需要安装解压命令:yum install unzip -y
      • unzip 压缩包名称
      • tar.gz包解压:tar -zxvf 需要解压的文件名称
      • tar.gz包压缩:tar -zcvf 压缩后的文件名称.tar.gz 源文件或者目录
      • tar包解压:tar -xvf 需要解压的tar包名称
      • tar包压缩:tar -cvf 压缩后的文件名称.tar 源文件或者目录
  • 安装

    • yum
      • yum install [需要安装的软件名称] [-y表示无需提示用户,直接确认]
    • rpm
      • 安装:rpm -ivh [需要安装的安装包](需是rpm后缀的安装包)
      • 卸载:rpm -e --nodeps [已安装软件名称1 已安装软件名称2…]
      • 查找:rpm -qa | grep lrzsz* 查询到已安装的所有lrzsz开头的安装包
  • pwd 查询当前路径

  • ll 列出当前路径下所有文件和文件夹的详细列表

    • ll [需要列出的目录,如没有则默认当前工作路径] [参数]
    • ll /home -a(a指展示所有文件包括隐藏文件)
  • ls 列出当前路径下所有文件和文件夹

    • 同上ll命令
    • ls -l命令等同于ll 文件或者文件夹前加 . 可以隐藏此文件或者文件夹
  • 权限解析(一共10个):drwxrwxrwx,第一个字母为单独的,剩下9个字母每三个一组代表各自权限

    • 第一个字母:
      • d 代表目录
      • - 代表的是文件
      • l 代表的是连接
    • 第一组的三个代表的是所有者的权限
    • 第二组代表的是所有者所在组的组成员的权限
    • 第三组代表的是除所有者和所有者所在组的其他用户的权限
    • rwx所代表的意义:
      • r read缩写:可读权限 赋权操作中用4代表
      • w write缩写:可写权限 赋权操作中用2代表
      • x 可执行权限 赋权操作中用1代表
      • - 没有此权限 赋权操作中用0代表
    • 赋权:
      • 修改文件权限
        • chmod -R 755 文件或者路径
        • chmod -R +x 文件或者目录
        • chmod -R -x 文件或者目录
      • 修改文件所有者和所在组
        • chown -R 用户名称:组名称 文件或者路径
        • chown -R 用户名称 文件或者路径
        • chgrp -R 组名称 文件或者路径
  • 系统目录详解

    • bin 存放的是可执行文件(命令)
    • etc 存放linux中所有的系统配置文件
    • home 所有用户目录存放地
    • lib 依赖的包
    • opt 软件安装目录
    • sbin 可执行文件(命令)
    • usr 用户信息
  • JDK安装配置

    • 上传JDK安装包jdk-8u102-linux-x64.tar.gz到/opt/目录下

    • 使用tar -zxvf jdk-8u102-linux-x64.tar.gz

    • 执行rm -rf jdk-8u102-linux-x64.tar.gz删除源安装包

    • 执行vi /etc/profile打开linux环境变量文件

    • 在最后增加以下内容:

# jdk环境变量
export JAVA_HOME=/opt/jdk1.8.0_102
export PATH=$PATH:$JAVA_HOME/bin 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar        
  • 执行source /etc/profile命令重新加载环境变量文件,使刚才配置的jdk环境变量生效 执行java -version验证环境变量是否配置成功

  • tomcat配置安装

    • 执行rz命令上传apache-tomcat-8.0.53.zip到/opt目录下
    • unzip apache-tomcat-8.0.53.zip 解压tomcat到当前目录
    • 执行cd apache-tomcat-8.0.53 进入tomcat根目录
    • 执行cd bin/进入tomcat的bin目录
    • 执行chmod +x *.sh 对所有.sh文件进行授可执行权限
    • 修改tomcat端口号
      • 在tomcat的根目录执行vim conf/server.xml
      • 修改完成之后按esc然后按:wq退出编辑状态并保存
      • 上传软件包到tomcat根目录下的webapps中
      • 在bin目录下执行./startup.sh启动tomcat
  • tomcat目录详解

    • bin 放的是tomcat的可执行文件(包含咱们常用的启动,停止)
    • conf 存放的是tomcat的配置文件
    • lib 存放tomcat的一些基础依赖包
    • logs 存放tomcat日志,包含项目日志、tomcat运行日志
    • temp 存放的是tomcat下的一些文件备份
    • webapps 存放Java软件包的目录(常见的软件包以.war,例如:ThreeNewBoard.war)
    • work 工作空间
  • CentOS7关闭防火墙

    • 执行systemctl status firewalld.service检查服务器防火墙状态
    • 执行systemctl stop firewalld.service关闭防火墙
    • 再执行systemctl status firewalld.service检查服务器防火墙状态
    • 执行systemctl disable firewalld.service禁止防火墙开机启动
    • 至此CentOS防火墙关闭完成
  • 查看端口号

    • netstat -anp查看运行的端口号
    • netstat -anp | grep 8080查看运行的端口号,过滤显示8080端口信息
  • history 查看系统历史执行命令记录

  • top命令

    • PID 软件在系统运行的进程号
    • USER 启动这个软件的用户
    • %CPU 软件占用CPU的百分比
    • %MEM 软件占用系统内存的百分比
    • TIME+ 软件启动的时间
    • COMMAND 进程关联的软件名称
  • ps -ef | grep tomcat 查看当前运行的软件,以tomcat或者java关键字进行过滤

    • 杀进程kill -9 进程号 执行这条命令可以直接杀死Linux中的某个进程
  • WEB项目中常用的一些文件类型(Java)

    • jdbc.properties 属于java web项目中的数据库连接池文件
    • .xml、.json、*.properties前两个属于数据存储类文件,后一个属于java中的配置文件
  • 日志级别:debug<info<warn<Error

    • warn:告警日志,输出警告一类的日志,不会影响系统的正常运行
    • error:错误日志,输出错误一类的日志,会影响系统的正常运行
    • debug:调试日志,指的是系统输出开发调试级别的详细日志,因内容及其详细,我们做软件测试一般不关注,且线上环境严禁输出debug日志
    • info:普通日志:系统运行的状态,信息,等等输出的一些日志,主要用来关注系统是否正常以及运行状态
  • 查看日志的命令

    • tomcat的日志在tomcat的根目录下的logs中,如果开发没有强制指定app的日志输出文件,则默认会被tomcat输出到catalina.out
    • tail -f [日志文件名称] 动态打印日志
      • tail -f catalina.out 命令默认打印倒数10行日志 - tail -200f catalina.out 命令动态打印日志文件中倒数200行日志
      • tail -f catalina.out | grep 'error' 命令动态打印且过滤输出日志中行中包含error关键字的日志
    • 查询日志中含有某个关键字的信息
      • cat app.log |grep ‘error’
    • 查询日志尾部最后10行的日志
      • tail -n 10 app.log
    • 查询10行之后的所有日志
      • tail -n +10 app.log
    • 查询日志文件中的头10行日志
      • head -n 10 app.log
    • 查询日志文件除了最后10行的其他所有日志
      • head -n -10 app.log
    • 查询日志中含有某个关键字的信息,显示出行号(在1的基础上修改)
      • cat -n app.log |grep ‘error’
    • 显示102行,前10行和后10行的日志 92 102 112
      • cat -n app.log |tail -n +92|head -n 20
    • 据日期时间段查询(前提日志总必须打印日期,先通过grep确定是否有该时间点)
      • sed -n ‘/2018-11-02 10:00:00/,/2018-11-02 10:55:00/p’ app.log
      • 1s=1000ms 一秒等于1000毫秒
      • 1ms=1000um 一毫秒等1000微秒
    • 把日志保存到文件
      • cat -n app.log |grep “error” > temp.txt
    • vim 查看日志
      • vim app.log
      • 使用vim命令进入查看状态(只进入查看状态,不进入可编辑状态)敲 /要查询的关键字 然后敲击回车键,可用于标记日志中的关键字高亮显示
      • > 文件名称 清空文本文件(常用于清空日志文件)
  • ssh命令详解

    • 格式:ssh [user@host] [command]
    • 参数(只列出常用)
      • -l:指定连接远程服务器登录用户名
      • -p:指定远程服务器上的端口
  • Log位置

    • /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
    • /var/log/secure 与安全相关的日志信息
    • /var/log/maillog 与邮件相关的日志信息
    • /var/log/cron 与定时任务相关的日志信息
    • /var/log/spooler 与UUCP和news设备相关的日志信息
    • /var/log/boot.log 守护进程启动和停止相关的日志消息
  • grep

    • 主要参数
      • -c:只输出匹配行的计数
      • -I:不区分大 小写(只适用于单字符)
      • -h:查询多文件时不显示文件名
      • -l:查询多文件时只输出包含匹配字符的文件名
      • -n:显示匹配行及 行号
      • -s:不显示不存在或无匹配文本的错误信息
      • -v:显示不包含匹配文本的所有行
  • 用户和群组

    • groupadd group_name 创建组
    • groupdel group_name 删除组(要想删除组,首先必须先删除组内所有用户)
    • groupmod -n new_group_name old_group_name 重命名一个用户组
    • useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户
    • useradd user_name 创建一个新用户
    • userdel -r user_name 删除一个用户加-r顺带删除用户根目录 ( ‘-r’ 排除主目录)
    • usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
    • passwd 修改当前用户密码
    • passwd user_name 修改指定用户密码-只能超级管理员用户执行
    • chage -E 2005-12-31 user1 设置用户口令的失效期限
    • pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户
    • grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组
    • newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
    • 创建用户并将该用户分配到指定的组:useradd -g 组名 用户名
    • 改变用户所在组:usermode -g 组名 用户名 (改变条件 必须为root 用户操作)
    • 查看linux中所有组信息
      • vi /etc/group
      • cat /etc/group
    • 查看linux中所有用户信息
      • vi /etc/passwd
      • cat /etc/passwd
  • linux服务器关机与重启

    • halt 立刻关机
    • poweroff 立刻关机
    • shutdown -h now 立刻关机(root用户使用)
    • shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
    • reboot 重启
    • shutdown -r now 立刻重启(root用户使用)
    • shutdown -r 10 过10分钟自动重启(root用户使用)
    • shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
  • 44
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值