美文网首页中北软院创新实验室Linux学习之路我用 Linux
每日几个Linux命令,十天了解工作中常用的那些命令(三)

每日几个Linux命令,十天了解工作中常用的那些命令(三)

作者: HikariCP | 来源:发表于2018-04-10 09:15 被阅读54次

    Centos下常用Linux命令的学习

    find 很重要

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。默认情况下如果不指定路径名,会在当前目录下进行查找。

    /home目录下查找以.txt结尾的文件名

    find /home -name "*.txt"
    

    找出/home下不是以.txt结尾的文件

    find /home ! -name "*.txt"
    

    同上,但忽略大小写

    find /home -iname "*.txt"
    

    当前目录及子目录下查找所有以.txt.pdf结尾的文件

    find . -name "*.txt" -o -name "*.pdf"
    

    基于正则表达式匹配文件路径

    find . -regex ".*\(\.txt\|\.pdf\)$"
    

    根据文件类型进行搜索

    find . -type 类型参数
    
    类型参数列表:
    
    f 普通文件
    l 符号连接
    d 目录
    c 字符设备
    b 块设备
    s 套接字
    p Fifo
    

    根据文件时间戳进行搜索

    find . -type f 时间戳
    
    UNIX/Linux文件系统每个文件都有三种时间戳:
    
    访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
    修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
    变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
    

    搜索最近七天内被访问过的所有文件

    find . -type f -atime -7
    

    搜索恰好在七天前被访问过的所有文件

    find . type f -atime 7
    

    搜索超过七天内被访问过的所有文件

    find . type f -atime +7
    

    搜索访问时间超过10分钟的所有文件

    find . type f -amin +7
    

    根据文件大小进行匹配

    find . -type f -size 文件大小单元
    
    文件大小单元:
    
    b —— 块(512字节)
    c —— 字节
    w —— 字(2字节)
    k —— 千字节
    M —— 兆字节
    G —— 吉字节
    

    搜索大于10KB的文件

    find . -type f -size +10
    

    搜索小于10KB的文件

    find . -type -f -size 10k 
    

    删除当前目录下所有.txt文件

    find . -type f -name "*.txt" -delete
    

    当前目录下搜索出权限为777的文件

    find . -type f -perm 777
    

    找出当前目录下权限不是644php文件

    find . type f -name "*.php" ! -perm 644
    

    找出当前目录用户tom拥有的所有文件

    find . type f -user tom
    

    which

    which命令用于查找并显示给定命令的绝对路径。使用which命令会去系统的环境变量PATH中去寻找对应的命令,来确认是否存在以及其执行路径是什么。

    [root@localhost ~]# which pwd
    /bin/pwd
    
    [root@localhost ~]#  which adduser
    /usr/sbin/adduser
    

    whereis

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。

    和find相比,whereis查找的速度非常快。因为其查找文件是通过查询数据库来得到的,而find是通过硬盘检索而得到的。但是其查到的文件可能是不存在的,或者存在但是找不到,因为Linux的文件数据库不是实时更新的。默认7天更新一次

    将相关的文件都查找出来

    whereis Java
    

    cat

    cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

    需要注意的是:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。

    在屏幕上显示文件ml的内容,并显示行号

    cat -n m1
    

    同时显示文件mlm2的内容

    cat m1 m2
    

    将文件mlm2合并后放入文件file

    cat m1 m2 > file 
    

    注意:> 一般是写入的意思。

    chmod

    chmod命令用来变更文件或目录的权限。在Linux系统中,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分。

    权限范围的表示法如下:
    
    u User,即文件或目录的拥有者;
    g Group,即文件或目录的所属群组;
    o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
    a All,即全部的用户,包含拥有者,所属群组以及其他用户;
    r 读取权限,数字代号为“4”;
    w 写入权限,数字代号为“2”;
    x 执行或切换权限,数字代号为“1”;
    - 不具任何权限,数字代号为“0”;
    s 特殊功能说明:变更文件或目录的权限。
    

    需要注意的是:Linux用户分为:拥有者(User)、组群(Group)、其他(other)

    为文件f01设置自己可以执行,组员可以写

    chmod u+x,g+w f01  入的权限
    chmod u=rwx,g=rw,o=r f01
    chmod 764 f01
    

    对文件f01u,g,o都设置可执行属性

    chmod a+x f01
    

    top

    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能运行信息的实用工具。

    在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的

    h:显示帮助画面,给出一些简短的命令总结说明;
    k:终止一个进程;
    i:忽略闲置和僵死进程,这是一个开关式命令;
    q:退出程序;
    r:重新安排一个进程的优先级别;
    S:切换到累计模式;
    s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
    f或者F:从当前显示中添加或者删除项目;
    o或者O:改变显示项目的顺序;
    l:切换显示平均负载和启动时间信息;
    m:切换显示内存信息;
    t:切换显示进程和CPU状态信息;
    c:切换显示命令名称和完整命令行;
    M:根据驻留内存大小进行排序;
    P:根据CPU使用百分比大小进行排序;
    T:根据时间/累计时间进行排序;
    w:将当前设置写入~/.toprc文件中。
    

    ps

    ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

    显示进程状态

    ps -aux
    

    tail

    tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。

    需要注意的是:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。

    显示文件file的最后10行

    tail file
    

    显示文件file的内容,从第20行至文件末尾

    tail +20 file 
    

    echo

    echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

    选项

    -e:激活转义字符。
    

    使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

    
    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \\ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;
    

    用echo命令打印带有色彩的文字:

    echo -e "\e[1;31mI am hikari\e[0m"
    

    相关文章

      网友评论

        本文标题:每日几个Linux命令,十天了解工作中常用的那些命令(三)

        本文链接:https://www.haomeiwen.com/subject/rpkghftx.html