个人使用Linux常用命令

35 篇文章 2 订阅
35 篇文章 0 订阅
  • 文本全局替换

配置文件中批量修改字符串:sed -i 's#sourceStr#replacedStr#g' 配置文件
    eg:
        可以使用send命令替换所有logback_*.xml配置文件中的${usr.home}为/opt/rocketmq
        cd /usr/local/rocketmq/conf/
        sed -i 's#${user.home}#/opt/rocketmq#g' *.xml

  • 杀死指定的进程

杀死所有查询到的进程:ps -efww | grep "pushstream" | grep -v grep | cut -c 9-15 | xargs kill -9

Linux 如何查看磁盘容量、查找大文件和大目录

磁盘统计

查看磁盘使用情况:df -h

目录统计

1.查看当前目录下的所有目录的大小(使用-h参数): du -h
2.查看当前目录下的所有目录的大小(使用-m参数,以m为单位),并且使用sort -nr 从小到大排序:du -m | sort -nr

文件统计

查找/home 目录下大于900M的文件
    find /home -type f -size +900M
查找/home 目录下大于900M的文件,并且使用ls -lh 命令输出详细信息
    find /home -type f -size +900M -print0|xargs -0 ls -lh
查找/home 目录下大约900M的文件,并且使用du -h 命令输出文件的大小
    find /home -type f -size +900M -print0|xargs -0 du -h
查找/home 目录下大约900M的文件,并且使用du -m 命令输出文件的大小,然后使用 sort -nr 从小到大排序
    find /home -type f -size +900M -print0|xargs -0 du -m|sort -nr

    du -d1 -h /var/lib/docker/overlay2/ | sort -h
    du -d1 -h /var/lib/docker/containers/ | sort -h
    查看CPU:sar -u 1 5或者top -bn 1 -i -c

linux清空文件内容的三种方法

    1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可。但当文件内容较大时处理会比较慢,命令如下:
        vim file_name
        :%d
        :wq
    2.使用cat命令情况,命令如下:推荐使用cat命令
        cat /dev/null > file_name
    3.使用echo命令清空,此时会在文件中写入一个空行“\n",命令如下:
        echo "" > file_name

常用命令:这两个命令都可以查看端口被什么进程占用

    1,lsof -i:端口号
        lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具
            lsof输出的每列的意义是:
                COMMAND:进程的名称或者进程开启的方式、PID:进程id、USER:进程所有者、FD:文件描述符、TYPE:协议类型、DEVICE:端口号、SIZE/OFF:偏移、NODE:协议名、NAME:节点名
    2,netstat -tunlp|grep 端口号
        命令里的t,u,n,l,p均有不同含义:
            -t  仅显示和tcp相关的
            -u  仅显示和udp相关的
            -n  不限时别名,能显示数字的全部转换为数字
            -l  仅显示出于Listen(监听)状态的
            -p  显示建立这些连接的程序名

修改文件所属用户和用户组

    使用chown命令可以修改文件或目录所属的用户:
           命令:chown 用户 目录或文件名
           例如:chown -R testAdmin /home  ()  (把home目录下的所有目录和文件的拥有者改为testAdmin用户)
    使用chgrp命令可以修改文件或目录所属的组:
           命令:chgrp 组 目录或文件名
           例如:chgrp -R testAdmin /home  (把home目录下的work目录的所属组改为testAdmin组)

Tree命令安装和使用

 1.下载安装包,地址:http://mama.indstate.edu/users/ice/tree/
        wget http://mama.indstate.edu/users/ice/tree/src/tree-1.8.0.tgz
    2.tar -zxvf tree-1.8.0.tgz
    3.cd tree-1.8.0
    4.make install
Tree命令使用
  格式:tree + 参数
    tree命令行参数:
        1 -a 显示所有文件和目录。
        2 -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
        3 -C 在文件和目录清单加上色彩,便于区分各种类型。
        4 -d 显示目录名称而非内容。
        5 -D 列出文件或目录的更改时间。
        6 -f 在每个文件或目录之前,显示完整的相对路径名称。
        7 -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
        8 -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
        9 -i 不以阶梯状列出文件或目录名称。
        10 -I 不显示符合范本样式的文件或目录名称。
        11 -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
        12 -n 不在文件和目录清单加上色彩。
        13 -N 直接列出文件和目录名称,包括控制字符。
        14 -p 列出权限标示。
        15 -P 只显示符合范本样式的文件或目录名称。
        16 -q 用"?"号取代控制字符,列出文件和目录名称。
        17 -s 列出文件或目录大小。
        18 -t 用文件和目录的更改时间排序。
        19 -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
        20 -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上

linux查看压缩包中包含哪些文件

查看zip文件包含哪些文件
    unzip -t a.zip    
查看jar包内文件命令
    jar -tvf  fileName.jar
查看tar压缩包里面的内容
    tar -tvf Package_name.tar     

根据某个字符串,查询该字符串前后文本信息命令:grep [-A num -B num -i] "key" file

其中:
    A:表示在字符串之后 after  context
    B:表示在字符串之前 before context
    num:要获取多少行文本 line number
    -i:表示忽略大小写
    key:要查找的字符串
    file:文件名
实例:查找出现异常的前50行后100行的内容:grep -A 100 -B 50 -i ‘Excepiton’ catalina.out

nohup命令

Linux的nohup命令会把执行结果中的日志输出到当前文件夹下面的nohup.out文件中
    nohup命令:原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
补充:
        nohup java -jar xxx.jar &

这样执行后,nohup会把执行结果中的日志输出到当前文件夹下面的catalina.out文件中,通常情况下我们使用以上命令即可。 也可手动指定一个参数来规定日志文件的输出地点
        nohup java -jar xxx.jar > catalina.out  2>&1 &

如果不需要输出日志,可以使用如下命令
        nohup java -jar xxx.jar >/dev/null &

为了方便管理,我们还可以通过Shell来编写一些用于启动应用的脚本,比如关闭应用的脚本:stop.sh
        #!/bin/bash
        PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }')
        if [ -z "$PID" ]
        then
            echo "Application is already stopped"
        else
            echo kill $PID
            kill $PID
        fi

启动应用的脚本:start.sh
        #!/bin/bash
        nohup java -jar yourapp.jar --server.port=8888 &

整合了关闭和启动的脚本:run.sh,由于会先执行关闭应用,然后再启动应用,这样不会引起端口冲突等问题,适合在持续集成系统中进行反复调用。
        #!/bin/bash
        echo stop application
        source stop.sh
        echo start application
        source start.sh

查看本机的IP地址

        hostname -I

更改主机名

        hostnamectl set-hostname xxx
        hostname xxx

更换aliyun源,解决下载一些资源缓慢问题

        首先,备份原镜像:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
        其次,更换为新的aliyun镜像:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安装常用命令:yum install wget git telnet net-tools tree nmap sysstat lrzsz dos2unix tcpdump ntpdate -y

互联网同步时间:

        yum install ntpdate
        ntpdate ntp1.aliyun.com

关闭防火墙

        systemctl status firewalld.service
        systemctl stop firewalld.service
        systemctl disable firewalld.service

Linux scp命令

        Linux scp 命令用于 Linux 之间复制文件和目录。
        scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
        scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
    简易写法:
        scp [可选参数] file_source file_target 
    参数说明:
        -1: 强制scp命令使用协议ssh1
        -2: 强制scp命令使用协议ssh2
        -4: 强制scp命令只使用IPv4寻址
        -6: 强制scp命令只使用IPv6寻址
        -B: 使用批处理模式(传输过程中不询问传输口令或短语)
        -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
        -p:保留原文件的修改时间,访问时间和访问权限。
        -q: 不显示传输进度条。
        -r: 递归复制整个目录。
        -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
        -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
        -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
        -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
        -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
        -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
        -P port:注意是大写的P, port是指定数据传输用到的端口号
        -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
    1、从本地复制到远程
        复制文件
            命令格式:
                scp local_file remote_username@remote_ip:remote_folder
                或者 
                scp local_file remote_username@remote_ip:remote_file
            应用实例:
                scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music
                scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3
        复制目录
            命令格式:
                scp -r local_folder remote_username@remote_ip:remote_folder    #第1个指定了用户名,命令执行后需要再输入密码
                或者 
                scp -r local_folder remote_ip:remote_folder    #第2个没有指定用户名,命令执行后需要输入用户名和密码
            应用实例:
                scp -r /home/space/music/ root@www.runoob.com:/home/root/others/
                scp -r /home/space/music/ www.runoob.com:/home/root/others/
    2、从远程复制到本地
        从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例
        应用实例:
            scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
            scp -r www.runoob.com:/home/root/others/ /home/space/music/

su和sudo命令的区别

        1、su命令
            su命令用来切换用户,substitute英文含义“代替”的意思
            ①su:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变
            ②su - 或者su -l 或者 su --login:切换为root用户,同时变更工作目录,以及SHELL,USER,PATH,HOME,LOGNAME变量
            ③su username :切换为其他用户,目录不改变,SHELL,USER,PATH,HOME,LOGNAME变量改变
            ④su  -, -l, --login username:切换到其他用户,变更工作目录,以及SHELL,USER,PATH,HOME,LOGNAME变量
            ​⑤其他参数:
               -m,-p或--preserve-environment:变更身份时,不要变更环境变量(preserve:保持的意思)。
               -c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
        2、sudo命令
            sudo命令:sudo为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户
            sudoers文件存放在etc目录下,我们可以直接输入命令visudo编辑sudoers文件,使用visudo命令编辑文件,会验证我们添加的信息是否有语法错误
            sudo -l命令: 查看当前用户可以用sudo执行的命令都有哪些

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值