• linux日常常用命令整理


    一、目录切换,创建,删除,列出目录下的内容

    (1)cd命令

     格式:cd [目录]

    • cd ~ :表示当前用户目录
    • cd / :切换到根目录
    • cd - :切换到上一次访问的目录
    • cd .. :切换到上一级目录
    • cd :缺省当前用户目录

    (2)pwd命令:pwd主要用来查看当前所在目录。

    (3)创建目录

    创建目录使用mkdir命令,有如下两个常用参数:

    • -p :表示父目录不存在的情况下先创建父目录
    • -v :显示命令的执行过程中的详细信息

    例如:mkdir -pv /jason/hello 先创建jason目录,然后在Jason里面创建hello目录

    (4)删除文件或者目录

    rmdir命令:删除空的目录。有如下两个参数:

    • -p :删除指定目录以及上级目录
    • -v :显示删除目录的执行过程

    例如:rmdir -pv /jason/hello/world,表示将world目录及其上级目录删除,直到把jason目录删除。

    也可以使用rm删除文件或者目录,请谨慎使用。

    rm命令:删除文件或者目录

    格式:rm [文件或者目录]  

    • -f 表示强制删除文件或者目录
    • -r 表示递归删除所有目录及其文件
    • -i 表示删除前需要进行确认

    (5)查看当前目录下有哪些文件

    使用ls或者ll命令查看当前目录下有哪些文件。

    ls(list)命令:列出目录内容。

    格式:ls [参数]

    ls -a或-all表示列出所有文件和目录,以点开始的是隐藏文件,例如,.bash_history。

    • ls -l 使用详细格式列表
    • ls -t 用文件和目录的更改时间排序
    • ls -r 反向排序

    二、文件移动、复制、查找

    (1)cp(copy)命令:复制文件或目录

    格式:cp [参数] [源文件或目录] [目标文件或目录]

    复制目录必须使用 -r参数

    -b 表示将备份一个文件,以备恢复,当两个文件名相同时。

    (2)mv命令:移动(就是剪切功能)或者修改现有文件的名称或目录的名称

    格式:mv 源文件或目录 目标文件或目录

    -f或--force 表示若目标文件或目录与现有文件或目录重复,直接覆盖。

    (3)find命令:查找文件或者目录

    以文件名查找,使用-name参数,后面可以跟上正则表达式进行模糊查找。

    例如:find /root/ -name *.log 表示查找root目录下有j字母的日志文件。


    三、上传下载文件

    (1)touch命令:在当前目录创建一个文件,例如:touch 1.txt

    (2)rz命令上传文件

    上传文件:有两种方式,第一种直接拖入xshell,第二种使用rz命令,之后弹窗选择需要传的文件即可。

    (3)sz命令下载文件

    从linux中下载文件到本地使用sz命令,如 sz 文件名 ,然后会弹窗选择保存路径即可。


    四、打包压缩

    Linux下常见的压缩包格式有5种:zip 、tar.gz、 tar.bz2、 tar.xz、 tar.Z,其中tar是种打包格式,gz和bz2等后缀才是指代压缩方式:gzip和bzip2

    (1)filename.tar.gz的解压:tar -zxvf filename.tar.gz

    其中zxvf含义分别如下:
    z:   gzip     压缩格式
    x:   extract   解压
    v:   verbose  详细信息
    f:   file(file=archieve) 文件
    

    (2)filename.zip的解压, unzip命令:解压.zip文件命令,例如:unzip file1.zip

    unzip filename.zip
    参数如下
    -v 查看文件目录列表,但是不解压
    -d 将文件解压到指定目录中
    -n 不覆盖原来已经存在的文件
    -o 覆盖已存在的文件并且不需要用户确认
    

    (3)gzip命令:用于解压缩文件,后缀名为.gz的压缩文件

    例如:gzip file,压缩过后变为file.gz,但是原文件要消失。还可以在压缩过程中指定压缩的百分比,gzip命令提供了1-9级的压缩比,1的压缩比最差,但是压缩速度比较快,而9的压缩比最好,但是速度比较慢,默认的级别是6。

    例如:gzip -1 file,gzip不但可以压缩,还可以解压,例如:gzip -d file.gz

    (4)zcat命令:查看压缩文件内容命令,例如:zcat file.gz

    (5)filename.tar.bz2的解压:tar -jxvf filename.tar.bz2

    j:  bzip2 压缩格式
    
    其它选项和tar.gz解压含义相同
    

    (6)filename.tar.xz的解压: tar -Jxvf filename.tar.xz ,注意J大写。

    (7)filename.tar.Z的解压: tar -Zxvf filename.tar.Z ,注意Z大写。

    关于tar的详细命令可以使用帮助命令:tar --help 或者man tar

    参考博文:https://www.cnblogs.com/cursorhu/p/5891699.html


    五、内存使用情况查看,杀死进程

    (1)free命令

    free 命令会显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等。

    [root@mail logs]# free -h 
                  total        used        free      shared  buff/cache   available
    Mem:           7.6G        6.6G        657M        1.3M        435M        804M
    Swap:            0B          0B          0B
    

    释义:

    Mem:内存使用情况。
    Swap:交换空间(虚拟内存)使用情况。
    total:系统总共可用物理内存、交换空间大小。
    used:已经被使用的物理内存、交换空间大小。
    free:剩余可用物理内存、交换空间大小。
    shared:被共享使用的物理内存大小。
    buff/cache:被 buffer 和 cache 使用的物理内存大小。
    available:还可以被应用程序使用的物理内存大小。

    常见使用方法:

    free -h      //以更友好的方式显示,会以K、M、G为单位来显示
    free -h -s 3   //以一定时间间隔重复的输出,这个命令是每3秒输出一次
    

    (2)ps 命令

    ps命令:(process status),提供对进程的一次性查看。以及执行ps命令时那个时刻的进程信息

    格式:ps[参数]

    -e   此参数显示所有程序

    -f   显示uid,ppid,c,stime的栏位信息

    常见用法:ps -ef | grep tomcat 查看tomcat进程的情况。

    ps 命令可以查看系统中各个进程的运行情况,包括了进程占用的内存,%MEM 列就是各个进程的内存占用百分比。

    [root@mail logs]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.0 191160  2760 ?        Ss   Aug13  12:54 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    root         2  0.0  0.0      0     0 ?        S    Aug13   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    Aug13   1:58 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S<   Aug13   0:00 [kworker/0:0H]
    

    使用man ps查看ps命令的用法。

    (3)top命令

    使用top命令,可以查看正在运行的进程和系统负载信息,包括cpu负载、内存使用、各个进程所占系统资源等。

    [root@mail logs]# top
    top - 10:45:11 up 81 days,  2:09,  9 users,  load average: 0.07, 0.06, 0.08
    Tasks: 130 total,   2 running, 128 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  1.3 us,  1.2 sy,  0.0 ni, 97.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  8009184 total,   588644 free,  6912424 used,   508116 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   800748 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                       
    24238 root      10 -10  186060  59720   5404 S   1.3  0.7 585:01.24 AliYunDun                                                                                                                                 
     1326 root      20   0 3261644 544324      0 S   0.7  6.8 125:18.83 java                                                         
    

    top命令以一定频率动态更新这些统计信息,按q退出。
    反映系统内存使用状况的是下面这两行:

    KiB Mem :  8009184 total,   588644 free,  6912424 used,   508116 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   800748 avail Mem 
    

    Mem行是物理内存使用情况,分别是:物理内存总量,已使用的物理内存总量,空闲物理内存总量,用作内核缓存区的内存量。
    Swap行是交换区使用情况,分别是:交换区总量,已使用的交换区总量,空闲交换区总量,缓冲的交换区总量。
    Top命令的下侧区域显示的是各个进程使用的系统资源统计信息,内存相关列如下:

    • VIRT列:进程使用的虚拟内存总量,单位kb。
    • RES列:进程使用的、未被换出的物理内存大小,单位kb。
    • SHR列:共享内存大小,单位kb。
    • %MEM 列:进程使用的物理内存百分比。

    在运行top的时候,可以按下方便的快捷键:
    M:表示将结果按照内存(MEM)从高到低进行降序排列;
    P:表示将结果按照CPU使用率从高到低进行降序排列;
    1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;

    (4)vmstat命令

    vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控,是对系统的整体情况进行的统计。

    [root@mail logs]# vmstat
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     1  0      0 616780  17824 473136    0    0    32    22    3    2  1  1 98  0  0
    

    与内存使用情况相关的是memory列和swap列,我们只看这两列。

    memory列
    swpd:使用的虚拟内存大小。
    free:空闲物理内存大小。
    buff:buffer cache内存大小。
    cache:page cache的内存大小。

    swap列
    si:每秒从交换区读入到内存的大小,由磁盘调入内存(单位:kb/s)
    so:每秒从内存写出到交换区的大小,由内存调入磁盘(单位:kb/s)

    常见用法:

    vmstat 1    //每隔1s打印一次
    vmstat 1 5   //每隔1秒打印一次,打印五次
    vmstat -s    //显示内存相关统计信息及多种系统活动数量
    

    (5)kill命令

    用于杀死执行中的程序或进程。

    格式:kill 参数

    kill -9 表示强制终止程序的运行

    使用:kill -9 pid pid是指ps -ef 中列出来的pid 即程序的id号。

    (6)du -sh 命令

    作用:查看目录的真实大小
    语法:du -sh 目录路径
    选项含义:

    -s:summaries,只显示汇总的大小
    -h:表示以高可读性的形式进行显示


    六、日期时间查看

    (1)date命令

    可以用来显示或设定系统的日期与时间,date命令详细用法:https://www.cnblogs.com/asxe/p/9317811.html

    (2)time命令

    用于计算一个程序运行的时间,程序运行结束时,输出以下三个参数: 

    user:表示程序在用户态下执行的时间的总和
    system:表示程序执行完成花费的系统CPU时间,即程序在核心态中执行时间总和
    real:表示从开始到结束的实际花费时间
    

    它能做的不仅仅是测量运行时间,还可以测量内存、I/O等的使用情况。一个程序在运行时使用的系统资源通常包括CPU、Memory和I/O等,其中CPU资源的统计包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。


    七、日志查看

    (1) head命令

    从头开始查看文件内容命令,没有设置行数时,默认是查看前十行,head -3 jason.txt,表示查看前三行内容

    (2)cat命令:既可以查看文件内容也可以向文件中添加内容,也可以清空文件内容

    查看文件:

    格式:cat 文件名

    适用场景:适合只有少量数据的文件,例如只有几行内容的可以使用此命令。

    向文件中添加内容:

    格式:cat >>chen.txt

    可以多行添加,但是如果添加错了并且已经换行了是没法使用退格键删除的,如果还没有换行则可以使用del建删除。

    按ctrl+d组合键退出。

    清空文件内容时:cat /dev/null > jason.txt


    (3)tac命令:和cat命令相反,从尾到头的输出文件内容。

    (4)more命令:分页显示文件内容,支持直接跳转行功能等

    格式:more 文件名
    相关操作:
    Enter   表示向下n行,默认为1行,可以自定义。
    空格键  表示向下滚动一屏 或者按Ctrl+f
    b     返回上一屏或者ctrl+B
    q     退出more
    
    适用场景:适合内容较多的文件
    

    (5)less命令:分页显示文件内容,操作更加详细,功能更加强大

    格式:less [参数] 文件
    -m   显示类似more命令的百分比
    -N   显示每行的行号,一定要是大写N
    
    相关操作:
    空格键 前进一页或者page down
    b    后退一页或page up
    d    前进半页
    u    后退半页
    回车键  前进一行或者向下方向键
    y     后退一行或者向上方向键
    /字符串  向下搜索
    ?字符串  向上搜索
    v:     进入vim编辑器
    左右方向键  相当于水平滚动条
    
    q       退出less
    

    (6)tail命令

    用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。

    格式:tail  参数 文件名
    -n  显示行数
    -f  循环读取
    &  表示在后台运行,否则占用终端
    
    例如 tail -100f stdout.log 表示循环实时读取日志,每次显示100行
    
    ctrl+c 退出tail
    

    (7)管道|和grep命令

    linux中提供管道符号“|”,作用是命令1的输出内容作为命令2的输入内容。通常与grep命令一起使用。

    格式:命令1 |命令2

    grep命令:全称为global regular expression print,表示全局正则表达式

    功能:用于过滤或者搜索特定的字符。可以结合模糊搜索一起使用,十分灵活。

    格式 :grep [option] pattern [file]

    -i 或者--ignore-case 表示忽略大小写区别。

    例如:查看jason.txt文件中含有hello字符的信息

    grep -r h* jason.txt

    可以与其他命令一起使用:more install.log | grep -i man

    grep主要是用于搜索特定字符,配合正则表达式使用非常的方便和强大。


    八、文件输出,比较,统计,排序

    (1)echo命令

    在linux中主要用于向文件中输入和输出内容,是单行追加,也可以清空文件内容。

    >是覆盖源文件内容,>>是在源文件后面追加内容,追加的内容在下一行显示。

    清空文件内容时:echo "" >jason.txt 这时文件里面还是有内容只不过是空行而已。

    (2)diff命令

    diff命令能够比较两个文件的差异,有多少内容不一样,diff命令的第一个参数被视为旧文件而第二个参数被视为新文件。

    例如:diff hong.txt hong_new.txt 结果中出现 '<'代表删除的行,而'>'代表新增的行。

    (3)wc命令

    用于对文件的行数、单词数和字符数进行统计。常用参数如下:

    • -l 表示显示行数

    • -w 表示显示单词数

    • -m 表示显示字符数

    如果是英文字符,则每个单词计数都比实际多一个字符,中文则是一个字表示4个字符。

    wc默认情况下是全部显示行数,单词数,字符数。

    (4)sort命令

    能够对文件内容或者查询结果进行排序。

    参数如下:

    • -f  表示忽略大小写排序
    • -r  表示反向排序
    • -t  指定分隔符
    • -k  以第几个区间进行排序,后面加数字

    更多参查看帮助文档,man sort


    九、网络命令、关机、重启命令

    (1)ifconfig命令

    显示网络ip地址等信息,Windows中使用ipconfig,而linux中使用ifconfig。

    (2)ping命令

    测试网络的连通性。

    (3)reboot:linux centos重启命令

    (4)halt:linux centos关机命令

    (5)shutdown 命令 也是关机命令,有以下几种用法

    语法1:shutdown -h now “关机提示” 或者 shutdown -h 15:25 “关机提示”

    例如:

    • shutdown -r now:重新启动操作系统,其中 now 表示现在
    • shutdown now:立刻关机,其中 now 表示现在  
    • shutdown 20:25 :系统在今天的 20:25 会关机
    • shutdown +10 :系统再过十分钟后自动关机
    • shutdown -c :取消之前指定的关机计划

    十、使用技巧

    (1)ctrl+c命令:当想要强制退出操作时,使用ctrl+c命令。

    (2)history 命令:使用history 命令查看使用过的命令记录。

    参见博文获取更多关于history命令的用法:https://www.linuxprobe.com/history-15-cases.html

    (3)ctrl+r命令:快速搜索使用过的命令,按enter键快速执行,按tab键将搜索到的命令定位在命令行上。

    (4)q 命令:按q退出相关操作。

    (5)tab键:按tab键快速补全命令。

    (6)clear命令:清屏命令。


    十一、在命令行中移动光标

    (1)跳转到命令行行首:ctrl+a
    (2)跳转到命令行行尾:ctrl+e
    (3)删除行首到光标位置的字符:ctrl+u
    (4)删除光标位置到行尾的字符:ctrl+k
    (5)清理屏幕:ctrl+l或者clear命令


    十二、xshell日常设置

    (1)目前自己设置的是,鼠标左键选择内容即复制内容,点击右键即粘贴所复制的内容,按中间滚轮键弹出菜单。
    (2)其他快捷用法还在探索中。。。

  • 相关阅读:
    FGMap加载天地图地图数据
    FGMap学习之加载51地图
    SuperMap Desktop中配置Google Maps地图投影
    VS2003 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
    C# Socket编程 同步以及异步通信(转)
    VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223)
    C#多线程学习 多线程的自动管理(线程池)(转)
    SQL 数据导出 到文件
    http隧道和xml (转)
    HTTP报文格式(转)
  • 原文地址:https://www.cnblogs.com/jasonboren/p/13963193.html
Copyright © 2020-2023  润新知