• 【4】linux常用


    1.日常语句
    1常用语句

    pwd 查询当前的文件路径

    cd root 即到~目录

    cd xxx 打开某个文件夹

    查看端口使用

    netstat -anp|grep 21

    关于LINUX权限-bash: ./startup.sh: Permission denied

    用命令chmod 修改一下bin目录下的.sh权限就可以了

    如chmod u+x *.sh

    文件夹权限

    sudo chmod -R 777 你的文件夹名。

    创建文件夹

    例:mkdir test

    创建文件

    touch qiantai.txt

    2压缩解压

    tar
    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件

    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出

    下面的参数-f是必须的

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

    # tar -cf all.tar *.jpg
    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

    # tar -rf all.tar *.gif
    这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

    # tar -uf all.tar logo.gif
    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

    # tar -tf all.tar
    这条命令是列出all.tar包中所有文件,-t是列出文件的意思

    # tar -xf all.tar
    这条命令是解出all.tar包中所有文件,-x是解开的意思

    压缩
    tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
    tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
    tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
    tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
    rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for Linux
    zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

    解压
    tar –xvf file.tar //解压 tar包
    tar -xzvf file.tar.gz //解压tar.gz
    tar -xjvf file.tar.bz2 //解压 tar.bz2
    tar –xZvf file.tar.Z //解压tar.Z
    unrar e file.rar //解压rar
    unzip file.zip //解压zip

    总结
    1、.tar 用 tar –xvf 解压
    2、
    .gz 用 gzip -d或者gunzip 解压
    3、.tar.gz和.tgz 用 tar –xzf 解压
    4、.bz2 用 bzip2 -d或者用bunzip2 解压
    5、
    .tar.bz2用tar –xjf 解压
    6、.Z 用 uncompress 解压
    7、
    .tar.Z 用tar –xZf 解压
    8、.rar 用 unrar e解压
    9、
    .zip 用 unzip 解压

    3服务器状态

    free 查看内存使用

    free -h 以M为单位查看内存使用

    ​ total used free shared buff/cache available

    Mem: 488M 354M 6.3M 368K 127M 110M

    Swap: 0B 0B 0B

    查看硬盘使用

    df -h

    文件系统 容量 已用 可用 已用% 挂载点

    /dev/vda1 40G 2.2G 36G 6% /

    devtmpfs 911M 0 911M 0% /dev

    tmpfs 920M 0 920M 0% /dev/shm

    tmpfs 920M 312K 920M 1% /run

    tmpfs 920M 0 920M 0% /sys/fs/cgroup

    tmpfs 184M 0 184M 0% /run/user/0

    4编写脚本

    /home/wwwroot/ftptest/config/server.properties

    /Users/apple/MyProject/myFile

    5vim 编辑

    如何直接不保存退出

    保存退出(推荐)

    :wq

    不保存退出(推荐)

    :q!

    直接退出

    :q

    6权限配置

    开放文件权限

    sudo chmod -R 777 file

    #! /bin/bash

    # redeploy my project

    # write by lys

    echo "打印tomcat的webapps的东西"

    7查看文件内容的命令

    Cat file:用于显示指定文件的全部内容

    More file:用分页的形式显示指定文件的内容

    Less file:用分页的形式显示指定文件的内容,区别是more和less翻页使用的操作键不同。

    Head file:用于显示文件的前n行内容。

    Tail file:用于显示文件的后n行内容。

    Tail -f file:用于自动刷新的显示文件后n行数据内容。

    8系统相关

    显示系统中有哪些用户正在使用

    (结果会扎实使用人的信息 发起连接的时间 以及ip地址)

    [root@test2 local]# who
    root     pts/0        2020-07-10 08:42 (192.168.21.15)
    

    显示系统时间

    [root@test2 local]# date
    2020年 07月 10日 星期五 08:50:36 CST
    

    clear:清屏

    9查找文件

    find命令

    输入find --help 可查看该命令的使用说明

    find -name "*.txt",查找后辍名为.txt的文件。

    [root@test2 ~]# find -name "*.txt"
    ./antDep/release_build/build/ipmsLogin/readme.txt
    ./antDep/release_build/build/ipms/readme.txt
    ./antDep/database/updatestructsql/pos/pos_deposit_history.txt
    ./antDep/database/updatestructsql/pos/pos_deposit.txt
    ./antDep/database/updatestructsql/resrv/code_dictionary.txt
    
    

    在指定目录下查找

    输入命令:find Test2 -name "*.txt",在目录Test2下查找后辍名为.txt的文件。

    [root@test2 tomcat5]# find logs -name "*.out"
    logs/catalina.out
    

    输入命令:find -ctime 15,查找最近15天修改过的文件。bash

    [root@test2 local]# find -ctime 15
    ./nginx/proxy_temp/9/05
    ./nginx/proxy_temp/9/00
    ./nginx/proxy_temp/9/11
    

    查找文件大小大于20M的文件。

    [root@test2 local]# find  -size +20M
    ./nodejs/bin/node
    ./publish_platform_admin4ui/admin.war
    ./publish_platform-job-admin/platform-job-admin.war
    ./publish_platform-data-center-admin/platform-data-center-admin.war
    
    10.下载文件

    sz file

    [root@test2 logs]# ls
    catalina.2020-07-09.log  catalina.out  host-manager.2020-07-09.log  localhost.2020-07-09.log  manager.2020-07-09.log  platform-distribution-web.log
    [root@test2 logs]# sz catalina.out 
    
    2.问题排查常用
    1.查询所有tomcat的进程

    ps -ef|grep tomcat

    2.查询某个日志中关键字

    比如线上有一个bug,想知道日志输出的错误再哪里,找日志的关键字

    方法一:cat 路径/文件名 | grep 关键词

    cat  test.log | grep "http"  # 返回test.log中包含http的所有行
    
    [root@test2 logs]# cat  catalina.out | grep "updateResrvBaseSync"
    	at com.greencloud.facade.impl.WxPlatformResrvFacadeServiceImpl.updateResrvBaseSync(WxPlatformResrvFacadeServiceImpl.java:224)
    	at com.sun.proxy.$Proxy259.updateResrvBaseSync(Unknown Source)
    	at com.sun.proxy.$Proxy330.updateResrvBaseSync(Unknown Source)
    	at com.greencloud.facade.impl.WxPlatformResrvFacadeServiceImpl.updateResrvBaseSync(WxPlatformResrvFacadeServiceImpl.java:224)
    
    

    根据关键字查看后10行日志

    cat  catalina.out | grep "updateResrvBaseSync" -A 10
    

    根据关键字查看前10行日志

    cat  catalina.out | grep "updateResrvBaseSync" -B 10
    

    根据关键字查看前后10行日志,并显示出行号(推荐前后50行,一般就可以确定问题了☆)

    cat  catalina.out | grep "updateResrvBaseSync" -C 10
    
    3.查询端口是否被占用,以及杀死线程

    netstat -anp |grep 端口号 如果没有LISTEN那一行,就表示没有被占用

    [root@test2 local]# netstat -anp |grep 8080
    tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      10203/java   
    tcp        0      0 192.168.0.106:6379          192.168.0.202:28080         ESTABLISHED 15333/redis-server  
    
    4.查看当前所有已经使用的端口情况
    [root@test2 local]# netstat   -nultp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 127.0.0.1:8032              0.0.0.0:*                   LISTEN      9451/java           
    tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      3921/./hpiod        
    tcp        0      0 127.0.0.1:8035              0.0.0.0:*                   LISTEN      11494/java          
    tcp        0      0 0.0.0.0:8101                0.0.0.0:*                   LISTEN      19952/java          
    tcp        0      0 127.0.0.1:8005              0.0.0.0:*                   LISTEN      10203/java                  
    tcp        0      0 0.0.0.0:9999                0.0.0.0:*                   LISTEN      22832/java   
    
    不破不立,怕啥怼啥!
  • 相关阅读:
    点击有惊喜
    模态框案例
    DOM操作
    定时器
    函数和object
    shell 判断文件出现次数
    shell 判断路径
    shell 循环数组
    shell 判断为空打印
    shell 示例1 从1叠加到100
  • 原文地址:https://www.cnblogs.com/yslu/p/13277817.html
Copyright © 2020-2023  润新知