美文网首页
常用命令

常用命令

作者: cb12hx | 来源:发表于2018-01-31 23:03 被阅读0次

    1.文件权限

    1.1.chown

    改变所有者

    1.2.chmod

    修改权限,一个文件一般的权限结构如下
    文件类型+所有者权限+组权限+其他人的权限
    比如
    -rwxr--r-x
    第一位代表这是一个文件,rwx代表该用户对该文件有读,写和执行的权限,该组队改文件只有读的权限,其他人对该文件有读和执行的权限,一般r的权值是4,w是2,x是1
    假如有如下这个文件,默认新建之后它的权限如下


    image.png

    假如我们执行了以下命令

    chmod 777 test.txt
    

    那么文件的权限就变成了


    image.png

    1.3.chgrp

    修改文件或者文件夹所属的用户组


    2.目录

    2.1cd

    cd - //切换到上一个目录
    cd ~ // 切换到当前用户的目录
    cd .. // 切换到上一层目录
    

    2.2pwd

    列出当前目录,这里要注意的是假如是link的文件,可以使用pwd -P显示具体的路径

    2.3mkdir

    创建目录,如果要给目录赋权限,可以使用-m,如果要创建一个不存在的多级目录,可以使用-p

    2.4rmdir

    删除目录


    3.文件内容查询

    3.1 cat

    一次性从上到下打印出文件内容,可以打印行号等

    3.2 tac

    一次性从下到上打印文件内容,和cat相反

    3.3 nl

    带序号从上到下打印文件内容

    3.4 more

    一页一页打印文件内容,只能往下翻

    3.5 less

    一页一页打印文件内容,可以上翻也可以下翻,另外还可以使用/关键字向下搜索关键字,使用?关键字向上搜索关键字

    3.6 head

    显示前几行数据,可以按照以下命令来执行

    head -n 3 test.txt
    

    代表显示前三行数据

    3.7 tail

    显示后几行数据,与head雷同,只是显示方向相反

    // 显示十一行到二十行的数据为以下命令
    head -n 20 test.txt | tail -n 10
    

    3.8 od

    可以以二进制输出文件,没深究

    3.9 touch

    用于创建文件以及mtime和atime,修改时间没深究

    4 权限

    4.1 umask

    一般情况下,文件夹的权限是777,文件的权限是666,如果umask为002,则文件夹的权限就变成了775,文件的权限变成了664,可以直接执行umask 222修改umask的值
    这里要注意,文件只有666,并没有e的值,所以加入umask为003时,权限为663,按照这样的话肯定是-rw-rw--wx,这很明显有问题的,因为一开始就没有了x,后来居然出了x,所以这样是不对的,那么应该怎么算呢,我做了个测试

    665 666
    664 664
    663 664
    662 662
    661 662
    660 660
    

    从上面可以看出,是按照最大来取值的,这个一定要注意

    4.2 chattr

    这个命令用来设置文件的隐藏属性,有好多,具体可查鸟哥的私房菜,主要讲讲个,+i和+a

    chattr +i 文件名
    

    上面的命令,设置该文件不能删,不能改,反正啥都不能做

    chattr +a 文件名
    

    上面的命令,设置该文件不能删,只能增加内容
    另外还有lsattr,可列出隐藏属性

    5 搜索

    5.1 which

    查找系统命令位置,只在$PATH环境变量中查找,并且默认只返回第一个查找结果,如果要查找所有结果,可以使用

    which -a keyword
    
    image.png

    5.2 whereis

    whereis命令用于定位可执行文件、源代码文件、帮助文件在系统中的位置

    参数:
    -b 查找二进制文件
    -m 查找说明文件
    -s 查找源代码文件
    -u 查找非上述3种文件的其他文件
    例:whereis -b php
    

    PS:whereis默认从数据库文件(Linux将所有的文件都记录在一个数据库文件,但并不实时更新,一般一天更新一次)中查找指定文件,因此whereis比其他从硬盘查找的命令,效率高很多

    5.3 locate

    此命令和find / -name类似,但是它是从数据库文件(Linux将所有的文件都记录在一个数据库文件,但并不实时更新,一般一天更新一次)中查找指定文件,因此效率比find快得多

    参数:
    -i  忽略大小写
    -r  使用正则表达式做匹配条件
    例:locate demo.php
    

    5.4 find

    find是从硬盘去检索文件,因此效率并不高,但是find的功能是最广,最强大的

    5.5 总结

    一、5个查找命令中,find、locate、whereis是用来查找具体的文件,which、type是用来查找命令(which也相当于查找文件,但是只查找命令位置)
    二、whereis只查找3种类型的文件:二进制文件、说明文件、源代码文件
    三、whereis和locate都是从数据库文件查找,所以效率最高
    四、使用优先级:
    1、区分命令,使用type
    2、查找命令位置,使用which、whereis、type(优先使用whereis)
    3、通过文件名称查找,优先使用locate,找不到时,updatedb
    4、其他查找条件、或者因数据库文件未更新,使用whereis、locate查找不到时,使用finde

    bak

    修改密码

    sudo passwd root
    killall -u user 杀死指定用户的所有进程
    -e:对长名称进行精确匹配;
    -l:忽略大小写的不同;
    -p:杀死进程所属的进程组;
    -i:交互式杀死进程,杀死进程前需要进行确认;
    -l:打印所有已知信号列表;
    -q:如果没有进程被杀死。则不输出任何信息;
    -r:使用正规表达式匹配要杀死的进程名称;
    -s:用指定的进程号代替默认信号“SIGTERM”;
    -u:杀死指定用户的进程
    

    相关文章

      网友评论

          本文标题:常用命令

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