zoukankan      html  css  js  c++  java
  • linux常用命令

    1、ls(list)

    常用:ls -al

    ls -a 列出目录所有文件,包含以.开始的隐藏文件
    ls -A 列出除.及..的其它文件
    ls -r 反序排列
    ls -t 以文件修改时间排序
    ls -S 以文件大小排序
    ls -h 以易读大小显示
    ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

    2、文件相关

    创建文件:touch

    创建文件夹:mkdir -p /tmp/test/t1/t

    -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

    3、mv 修改文件名

    常用:mv test.log test1.txt

    4、cp  移动文件位置

    常用:p -ai a.txt test 

     

    -i 提示
    -r 复制目录及目录内所有项目
    -a 复制的文件与原文件时间一样

    5、cat  显示文件内容

    常用:cat -b log2012.log log2013.log log.log

    -b 对非空输出行号
    -n 输出所有行号

    6、more 

    ls -l | more -5

    每次显示5行

    7、less

    ps -aux | less -N

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件

    8、which 查看命令的目录

    9、whereis 查看文件的安装位置

    10、locate locate命令其实是"find -name"的另一种写法,但是要比后者快得多

    11、find 

    查找目录:find /(查找范围) -name '查找关键字' -type d

    查找文件:find /(查找范围) -name 查找关键字 -print

    12、chown

    chown -cR mail: test/

    -c 显示更改的部分的信息
    -R 处理指定目录及子目录

    13、chmod

    权限范围:
    
    u :目录或者文件的当前的用户
    g :目录或者文件的当前的群组
    o :除了目录或者文件的当前用户或群组之外的用户或者群组
    a :所有的用户及群组
    权限代号:
    
    r :读权限,用数字4表示
    w :写权限,用数字2表示
    x :执行权限,用数字1表示
    - :删除权限,用数字0表示
    s :特殊权限

    14、tar 命令

    用来压缩和解压文件。tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成。

    弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件

    常用参数:

    -c 建立新的压缩文件
    -f 指定压缩文件
    -r 添加文件到已经压缩文件包中
    -u 添加改了和现有的文件到压缩包中
    -x 从压缩包中抽取文件
    -t 显示压缩文件中的内容
    -z 支持gzip压缩
    -j 支持bzip2压缩
    -Z 支持compress解压文件
    -v 显示操作过程

    有关 gzip 及 bzip2 压缩:

    gzip 实例:压缩 gzip fileName .tar.gz 和.tgz  解压:gunzip filename.gz 或 gzip -d filename.gz
              对应:tar zcvf filename.tar.gz     tar zxvf filename.tar.gz
    
    bz2实例:压缩 bzip2 -z filename .tar.bz2 解压:bunzip filename.bz2或bzip -d filename.bz2
           对应:tar jcvf filename.tar.gz         解压:tar jxvf filename.tar.bz2

    实例:

    (1)将文件全部打包成 tar 包

    tar -cvf log.tar 1.log,2.log 或tar -cvf log.*

    (2)将 /etc 下的所有文件及目录打包到指定目录,并使用 gz 压缩

    tar -zcvf /tmp/etc.tar.gz /etc

    (3)查看刚打包的文件内容(一定加z,因为是使用 gzip 压缩的)

    tar -ztvf /tmp/etc.tar.gz

    (4)要压缩打包 /home, /etc ,但不要 /home/dmtsai

    tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

    15、df 查看磁盘使用情况

    df -haT

    -a 全部文件系统列表
    -h 以方便阅读的方式显示信息
    -i 显示inode信息
    -k 区块为1024字节
    -l 只显示本地磁盘
    -T 列出文件系统类型

    16、wc(word count)  功能为统计指定的文件中字节数、字数、行数,并将统计结果输出

    wc text.txt

    -c 统计字节数
    -l 统计行数
    -m 统计字符数
    -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串

    17、ps 命令

    ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用 top

    linux上进程有5种状态:

    • 1. 运行(正在运行或在运行队列中等待)
    • 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
    • 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
    • 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
    • 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

    ps 工具标识进程的5种状态码:

    D 不可中断 uninterruptible sleep (usually IO)
    R 运行 runnable (on run queue)
    S 中断 sleeping
    T 停止 traced or stopped
    Z 僵死 a defunct (”zombie”) process

    命令参数:

    -A 显示所有进程
    a 显示所有进程
    -a 显示同一终端下所有进程
    c 显示进程真实名称
    e 显示环境变量
    f 显示进程间的关系
    r 显示当前终端运行的进程
    -aux 显示所有包含其它使用的进程

    实例:

    (1)显示当前所有进程环境变量及进程间关系

    ps -ef

    (2)显示当前所有进程

    ps -A

    (3)与grep联用查找某进程

    ps -aux | grep apache

    (4)找出与 cron 与 syslog 这两个服务有关的 PID 号码

    ps aux | grep '(cron|syslog)'

    18、top 命令

    显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等

    常用参数:

    -c 显示完整的进程命令
    -s 保密模式
    -p <进程号> 指定进程显示
    -n <次数>循环显示次数

    实例:

    (1)

    top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35
    Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
    Cpu(s):  5.9%us,  3.4%sy,  0.0%ni, 90.4%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
    Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers
    Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND  
    28894 root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java  

    前五行是当前系统情况整体的统计信息区。

    第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

    14:06:23 — 当前系统时间

    up 70 days, 16:44 — 系统已经运行了70天16小时44分钟(在这期间系统没有重启过的吆!)

    2 users — 当前有2个用户登录系统

    load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

    load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

    第二行,Tasks — 任务(进程),具体信息说明如下:

    系统现在共有206个进程,其中处于运行中的有1个,205个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

    第三行,cpu状态信息,具体属性说明如下:

    5.9%us — 用户空间占用CPU的百分比。
    3.4% sy — 内核空间占用CPU的百分比。
    0.0% ni — 改变过优先级的进程占用CPU的百分比
    90.4% id — 空闲CPU百分比
    0.0% wa — IO等待占用CPU的百分比
    0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
    0.2% si — 软中断(Software Interrupts)占用CPU的百分比

    备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!

    第四行,内存状态,具体信息如下:

    32949016k total — 物理内存总量(32GB)
    14411180k used — 使用中的内存总量(14GB)
    18537836k free — 空闲内存总量(18GB)
    169884k buffers — 缓存的内存量 (169M)

    第五行,swap交换分区信息,具体信息说明如下:

    32764556k total — 交换区总量(32GB)
    0k used — 使用的交换区总量(0K)
    32764556k free — 空闲交换区总量(32GB)
    3612636k cached — 缓冲的交换区总量(3.6GB)

    第六行,空行。

    第七行以下:各进程(任务)的状态监控,项目列信息说明如下:

    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)

    top 交互命令

    h 显示top交互命令帮助信息
    c 切换显示命令名称和完整命令行
    m 以内存使用率排序
    P 根据CPU使用百分比大小进行排序
    T 根据时间/累计时间进行排序
    W 将当前设置写入~/.toprc文件中
    o或者O 改变显示项目的顺序

    19、kill 命令

    发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用"-KILL" 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

    常用参数:

    -l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
    -a  当处理当前进程时,不限制命令名和进程号的对应关系
    -p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
    -s  指定发送信号
    -u  指定用户

    实例:

    (1)先使用ps查找进程pro1,然后用kill杀掉

    kill -9 $(ps -ef | grep pro1)

    20、free 命令

    显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

    命令参数:

    -b 以Byte显示内存使用情况
    -k 以kb为单位显示内存使用情况
    -m 以mb为单位显示内存使用情况
    -g 以gb为单位显示内存使用情况
    -s<间隔秒数> 持续显示内存
    -t 显示内存使用总合

    实例:

    (1)显示内存使用情况

    free
    free -k
    free -m

    (2)以总和的形式显示内存的使用信息

    free -t

    (3)周期性查询内存使用情况

    free -s 10
  • 相关阅读:
    windows基线检测脚本编写指南-powershell版
    2020蓝帽杯CTF Web 题
    2020天翼杯CTF Web 题
    Firefox 密码脱取
    利用iptables做端口转发
    Flask 快速学习笔记
    JSP无%%号命令执行一句话
    linux 后渗透凭据收集
    Fastjson漏洞利用
    Gogs远程命令执行利用
  • 原文地址:https://www.cnblogs.com/zyh0430/p/11206631.html
Copyright © 2011-2022 走看看