• 架构师养成记--24.linux常用命令


    一、Linux 文件


    根据上文Linux 文件说明
    1.文件的rwx
        d开头表示文件夹,
        -开头的表示文件,
        l开头表示链接文件
        r:read,w:write,x:execute
        三部分分别表示
            文件所有者的权限、所属组的权限、其他人的权限
        
    2.链接数
    3.所有者
    4.所属组
    5.文件大小
    6.文件的创建或修改时间
    7.文件的名称

    二、文件处理命令

    命令:touch
    语法:touch[文件名]
    描述:创建一个空文件

    命令:mkdir
    语法:mkdir [-p] [文件夹名称]
    描述:[递归]创建文件夹

    命令:cp(copy)
    语法:cp [源文件][目标文件]
          cp -r [源目录][目标目录]
    描述:复制文件或目录

    命令:rm(remove)
    语法:rm -f [文件]
          rm -r [目录]
          rm -rf [目录,包含目录下的内容]
    描述:删除文件或目录

    命令:cat
    语法:cat [文件名称]
    描述:查看文件内容(内容过多,显示内容可能不全)

    命令:more
    语法:more [文件名称]
    描述:查看文件内容,可完全显示
    用法:使用空格进行法爷,回车显示下一行,q退出(或者ctrl+c)

    命令:head
    语法:head -number [文件名]
    描述:查看文件的前多少行

    命令:tail
    语法:tail -number [文件名]
    描述:查看文件的后多少行

    mv 1 修改文件名称的功能:mv [源文件名][新文件名]
       2 移动文件位置:mv [源文件名称][新文件位置+新文件名称]

    命令:ln(link)
    语法:ln -s [源文件][目标文件](硬连接则不需要加-s选项)
    描述:创建软连接文件
    软连接的特点:权限是所有人都可以访问,并且软连接指向源文件,就类型win的快捷方式
    硬链接的特点:cp源文件,两个文件是同步修改的
    另外:硬链接是不可以跨文件系统分区的,而软连接可以。

    命令:chmod
    语法:chmod[{ugo}{+-=}{rwx}][文件或目录]
          chmod[mode=421][文件或目录]
          421分别表示rwx,4+2+1 = 7
    描述:改变文件或目录的权限
    形如:chmod g+w filename
    形如:chmod 761 filename
    问题示例:新建一个目录,下面一个文件,用普通用户删除文件
    尝试:在root下将文件的权限设置成777然后用普通用户删除文件
    尝试:在root下将文件夹的权限设置成777然后用普通用户删除文件
    结论:文件夹的写权限表示能否删除文件夹下的文件
          文件的写权限表示能否编辑文件,不代表能否删除文件
          
    文件的rwx权限
        r:可执行catch、more等读操作
        w:修改文件的内容等写操作,单不代表可以把这个文件删除
        x:对文件进行执行操作
    文件夹的rwx权限
        r:刻度操作,可以列出目录的内容,比如ls命令。
        w:表示可以在目录下创建或者删除文件的权限
        x:表示可以进入这个目录(基本上所有目录都会有rx权限)
          
    root用户切换到普通用户是不需要输入密码的
    普通用户切换到root要密码
    普通用户之间切换要密码

    命令:chown
    语法:chown user 文件
    描述:改变文件的所有者
    实例:chown newuser t1.sh
          useradd username 添加用户
          passwd username 为用户设置密码

    命令:chgrp
    语法:chgrp group 文件
    描述:改变文件的所属组
    示例:chgrp adm t1.sh
        查看系统默认的权限:umask -S(umask查看权限掩码值022 使用777-022得到真实权限

    命令:find
    语法:find[搜索方位路径] [文件名] (根据文件名查找)
          find[搜索范围路径] -size [+-文件大小] (根据文件大小查找,大于+小于-)
          find[搜索范围路径] -user (文件所有者)
                [以天为单位] 1 ctime、atime、mtime
                [以分钟为单位] 2 cmin、amin、mmin
                c:表示文件属性发生变更
                a:表示被访问过(比如被查看过)
                m:表示内容被修改过
                如 find /usr -ctime -1 表示24小时以内文件属性发生变化
    描述:查找任何文件或者目录
    * 匹配任意字符
    ?匹配一个字符
    1k = 2block

    find应用的逻辑连接
    -a(and的意思,逻辑与)
    -o(or的意思,逻辑或)
    示例:find -size +12345 -a -size -22345

    find查找:根据文件类型查找
    -type
    f表示二进制文件,l表示软连接文件d表示目录
    示例:find /test -type d

    命令:which
    语法:which [命令名称]
    描述:查看命令所在目录位置
    在linux中一般只有两种命令,一是所有用户都可使用,二则是指允许管理员使用,还有whereis和which类似
    示例:which rm
    alias别名的意思, m就能使用源命令,而不是别名,也就是不询问直接删除

    对找到的文件执行某个命令:find /test -name a.txt -exec rm -f {} ;
    {}表示查询到的结果集(-exec换成-ok也可以)

    find -inum [i节点号] 根据i节点查找文件,在linux系统中,所有的文件都有一个唯一的标识,方便linux内核去调用,这就是i节点

    命令:locate
    语法:locate [文件名]
    描述:查找文件,根据linux数据库内部的索引(updatedb命令,可以手工更新updatedb数据库,一般和locate配合使用)
    注意:locate的查找速度非常快,比find查找快得很多,原因是locate找的是linux系统构建的文件数据库的索引值,所以速度非常快,但是有的时候新创建的文件使用locate命令差查不到,原因是这个文件索引没有马上更新到linux系统文件数据库里。

    帮助手册命令

    命令:man
    语法:man [命令或者配置文件]
    描述:帮助命令,非常有用,可以获得命令的帮助文档,如何使用等。

    命令:whatis
    语法:whatis [命令]
    描述:查看命令的描述

    命令:--help
    语法:[命令]  --help
    描述:查看命令的选项用法

    压缩解压缩命令

    命令:zip
    语法:zip 选项[-r][压缩后的文件名称][源文件]
    描述:zip格式是window和linux通用的格式,可以压缩文件和目录,压缩目录是需要选项 -r

    命令:unzip
    语法:unzip [解压缩的文件]
    描述:进行解压缩
    最后配置加-d 表示文件加压后存放的路径

    命令:tar [zcvf|zxvf] [打包文件名.tar.gz] [源文件]
          -c 产生tar打包文件(必选)
          -x 尝试的解压缩文件 (必选)
          -v 显示详细信息
          -f 指定压缩后的文件名
          -z 打包同时压缩
    描述:打包目录生成的后缀名.tar.gz,或者进行解压最后配置加-C表示文件解压后配置的路径
    file命令可以查看任何文件的类型

    关机:shutdown -h now
    重启:reboot
    ctrl+l 清屏
    ctrl+c 退出应用


    过滤:grep,可以对指定内容进行过滤然后输出
    管道:将一个命令的输出传送给另一个命令,作为另外一个命令的输入,管道可以连接N个命令
    ls -l /etc|more (表示将ls -l/etc的输出单做more命令的数据,即more命令浏览的内容是前面命令的输出结果)
    ls -l /etc|grep init(表示将ls -l /etc 的输出结果进行过滤,显示为init的结果)
    ls -1 /etc|grep init|wc -l(最后进行统计显示的个数)

    逻辑与(&&)
        形如:ls&&pwd(第一个命令执行成功,第二个命令才会执行)
    逻辑或(||)
        形如 ls || pwd (第一个命令执行成功则第二个不执行;第一个执行失败则执行第二个)
        

    输出重定向
    shell对每个进程预定义3个文件描述字(0,1,2)
    0(stdin)标准输入 1(stdout)标准输出 2(stderr)标准错误输出
    输出重定向:就是把输出的结果显示到一个文件上(>表示输出重定向,>> 表示追加内容)
    ls -l /etc > /usr/a.log 覆盖
    ls -l /etc >> /usr/a.log 追加
    输入重定向:就是把输入的信息重定向,比如吧文件里的内容进行输出
    wall < /test/a.log
    错误重定向:一般是把程序执行的错误日志信息放到指定的log文件中
    ll /adasdfdsf 2> /test/b.log



  • 相关阅读:
    MyEclipse 启动报错:'Building workspace' has encountered a problem解决方法
    MyEclipse快捷键大全
    Maven学习 (四) 使用Nexus搭建Maven私服
    PHP 语法
    PHP 在Win下的安装
    PHP 简介
    【CMS】安装CMS
    【CMS】DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini
    mysqladmin: connect to server at 'localhost' failed
    解压版MySQL安装后初始化root密码
  • 原文地址:https://www.cnblogs.com/sigm/p/6427412.html
Copyright © 2020-2023  润新知