zoukankan      html  css  js  c++  java
  • linux常见命令集锦

    1.find 命令的mtime参数的使用
    有关find -mtime这个参数的使用:
    -mtime n 按照文件的更改时间来找文件,n为整数。
    n表示文件更改时间距离为n天, -n表示文件更改时间距离在n天以内,+n表示文件更改时间距离在n天以前。
    例如:
    -mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
    -mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
    -mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
    -mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件
    -mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间48小时之外的文件,而不是24小时之外
    因为n值只能是整数,即比1大的最近的整数是2,所有-mtime+1不是比当前时间大于1天(24小时),而是比当前时间大于2天(48小时)。

    2.删除文件夹和文件
    删除文件夹 rm -rf /var/tmp 其中-r是递归删除,-f是直接删除,不提示
    删除文件 rm -f /var/log/access.log


    3.cat命令详解
    cat主要有三大功能:
    1.一次显示整个文件。$ cat filename
    2.从键盘创建一个文件。$ cat > filename
    只能创建新文件,不能编辑已有文件.

    3.将几个文件合并为一个文件: $cat file1 file2 > file
    参数:
    -n 或 --number 由 1 开始对所有输出的行数编号
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
    -v 或 --show-nonprinting
    例:
    把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
    cat -n textfile1 > textfile2

    把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
    cat -b textfile1 textfile2 >> textfile3

    把test.txt文件扔进垃圾箱,赋空值test.txt
    cat /dev/null > /etc/test.txt
    cat 创建文件并追加内容,创建文件后,要以EOF或STOP结束,这个命令也可以用于追加内容
    [root@localhost hhr]# cat >> hh.txt << EOF
    > sss
    > ddd
    > fff
    > EOF


    4.rpm简介
    在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,
    是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均
    通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。
    RPM 安装操作:
    举例如下:
    rpm -i example.rpm 安装 example.rpm 包;
    rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
    rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;
    RPM 查询操作:
    a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;
    i 显示安装包的信息;
    l 显示安装包中的所有文件被安装到哪些目录下;
    s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;
    p 查询的是安装包的信息;
    f 查询的是已安装的某文件信息;
    举例如下:
    rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;
    rpm -qip example.rpm 查看 example.rpm 安装包的信息;
    rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;
    rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;
    RPM 卸载操作:
    rpm -e 需要卸载的安装包
    RPM 升级操作
    命令:
    rpm -U 需要升级的包
    举例如下:
    rpm -Uvh example.rpm 升级 example.rpm 软件包
    RPM 验证操作
    命令:
    rpm -V 需要验证的包
    举例如下:
    rpm -Vf /etc/tomcat4/tomcat4.conf
    输出信息类似如下:
    S.5....T c /etc/tomcat4/tomcat4.conf
    其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm
    RPM 的其他附加命令
    --force 强制操作 如强制安装删除等;
    --requires 显示该包的依赖关系;
    --nodeps 忽略依赖关系并继续操作;


    5. grep命令
    1.作用
    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,
    表示全局正则表达式版本,它的使用权限是所有用户。
    2.格式
    grep [options]
    3.主要参数
    [options]主要参数:
    -c:只输出匹配行的计数。
    -I:不区分大 小写(只适用于单字符)。
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及 行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
    pattern正则表达式主要参数:
    : 忽略正则表达式中特殊字符的原有含义。
    ^:匹配正则表达式的开始行。
    $: 匹配正则表达式的结束行。
    <:从匹配正则表达 式的行开始。
    >:到匹配正则表达式的行结束。
    [ ]:单个字符,如[A]即A符合要求 。
    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
    。:所有的单个字符。
    * :有字符,长度可以为0。
    4.grep命令使用简单实例
    $ grep ‘test’ d*
    显示所有以d开头的文件中包含 test的行。
    $ grep ‘test’ aa bb cc
    显示在aa,bb,cc文件中匹配test的行。
    $ grep ‘[a-z]{5}’ aa
    显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
    $ grep ‘w(es)t.*1′ aa
    如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(1),找到就显示该行。
    如果用egrep或grep -E,就不用””号进行转义,直接写成’w(es)t.*1′就可以了。


    6.ps命令
    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的
    那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;
    如果想对进程时间监控,应该用 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
    1.命令格式:
    ps[参数]
    2.命令功能:
    用来显示当前进程的状态
    3.命令参数:
    a 显示所有进程
    -a 显示同一终端下的所有程序
    -A 显示所有进程
    c 显示进程的真实名称
    -N 反向选择
    -e 等于“-A”
    e 显示环境变量
    f 显示程序间的关系
    -H 显示树状结构
    r 显示当前终端的进程
    T 显示当前终端的所有程序
    u 指定用户的所有进程
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程
    -C<命令> 列出指定命令的状况
    --lines<行数> 每页显示的行数
    --width<字符数> 每页显示的字符数
    --help 显示帮助信息
    --version 显示版本显示
    使用实例:
    实例1:显示所有进程信息
    ps -A
    实例2:显示指定用户信息
    ps -u root
    实例3:显示所有进程信息,连同命令行
    ps -ef
    实例4: ps 与grep 常用组合用法,查找特定进程
    ps -ef|grep ssh
    实例5:将目前属于您自己这次登入的 PID 与相关信息列示出来
    ps -l
    [root@localhost test6]# ps -l
    F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
    4 S 0 17398 17394 0 75 0 - 16543 wait pts/0 00:00:00 bash
    4 R 0 17469 17398 0 77 0 - 15877 - pts/0 00:00:00 ps
    各相关信息的意义:
    F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
    S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
    UID 程序被该 UID 所拥有
    PID 就是这个程序的 ID !
    PPID 则是其上级父程序的ID
    C CPU 使用的资源百分比
    PRI 这个是 Priority (优先执行序) 的缩写,详细后面介绍
    NI 这个是 Nice 值
    ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
    SZ 使用掉的内存大小
    WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
    TTY 登入者的终端机位置
    TIME 使用掉的 CPU 时间。
    CMD 所下达的指令为何
    在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID 而已,所以, 当我使用 ps -l 的时候,只有三个 PID。
    实例6:列出目前所有的正在内存当中的程序
    [root@localhost test6]# ps aux
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.0 10368 676 ? Ss Nov02 0:00 init [3]
    root 2 0.0 0.0 0 0 ? S< Nov02 0:01 [migration/0]
    root 3 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/0]
    root 4 0.0 0.0 0 0 ? S< Nov02 0:01 [migration/1]
    root 5 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/1]
    root 6 0.0 0.0 0 0 ? S< Nov02 29:57 [events/0]

    说明:
    USER:该 process 属于那个使用者账号的
    PID :该 process 的号码
    %CPU:该 process 使用掉的 CPU 资源百分比
    %MEM:该 process 所占用的物理内存百分比
    VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
    RSS :该 process 占用的固定的内存量 (Kbytes)
    TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    STAT:该程序目前的状态,主要的状态有
    R :该程序目前正在运作,或者是可被运作
    S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
    T :该程序目前正在侦测或者是停止了
    Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
    START:该 process 被触发启动的时间
    TIME :该 process 实际使用 CPU 运作的时间
    COMMAND:该程序的实际指令
    实例7:列出类似程序树的程序显示
    ps -axjf
    [root@localhost test6]# ps -axjf
    Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
    PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
    0 1 1 1 ? -1 Ss 0 0:00 init [3]
    1 2 1 1 ? -1 S< 0 0:01 [migration/0]
    1 3 1 1 ? -1 SN 0 0:00 [ksoftirqd/0]
    实例8:找出与 cron 与 syslog 这两个服务有关的 PID 号码
    [root@localhost test6]# ps aux | egrep '(cron|syslog)'
    root 2682 0.0 0.0 83384 2000 ? Sl Nov02 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
    root 2735 0.0 0.0 74812 1140 ? Ss Nov02 0:00 crond
    root 17475 0.0 0.0 61180 832 pts/0 S+ 16:27 0:00 egrep (cron|syslog)
    其他实例:
    1. 可以用 | 管道和 more 连接起来分页查看
    命令:
    ps -aux |more
    2. 把所有进程显示出来,并输出到ps001.txt文件
    命令:
    ps -aux > ps001.txt
    3. 输出指定的字段
    命令:
    ps -o pid,ppid,pgrp,session,tpgid,comm
    输出:
    [root@localhost test6]# ps -o pid,ppid,pgrp,session,tpgid,comm
    PID PPID PGRP SESS TPGID COMMAND
    17398 17394 17398 17398 17478 bash
    17478 17398 17478 17398 17478 ps

    7. df -h
    [root@localhost hhr]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda2 3.9G 3.9G 0 100% /
    tmpfs 1004M 0 1004M 0% /dev/shm
    /dev/sda1 49M 38M 8.3M 82% /boot
    /dev/sda5 13G 167M 13G 2% /home

  • 相关阅读:
    SQL-Duplicate Emails
    c#创建可比较对象
    c#扩展方法
    C#Lambda和委托
    C#集合
    c#显示实现接口和隐式实现的区别
    bs同时上传文件以及文件信息
    sql查询数据库中所有 ,数据为空的表
    sql查询所有表名和描述
    MES数据采集模块小结
  • 原文地址:https://www.cnblogs.com/wonder2636/p/5652288.html
Copyright © 2011-2022 走看看