2,linux目录及常用命令

目录结构

  • /lib

    • 系统开机所需要最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found

    • 意外关机或者系统崩溃产生的碎片文件 可以复原
  • /etc

    • 所有系统管理所需要的配置文件和子目录。
  • /usr(全称:Unix System Resource,即Unix系统资源的缩写)

    • 存放系统软件资源的目录。类似于Windows下的program.files目录
  • /bin (usr/bin、/usr/local/bin)

    • bin是Binary的缩写,这个目录存放着经常使用的命令
  • /sbin (usr/sbin、/usr/local/sbin)

    • s就是super user的意思,这里存放的是系统管理员使用的系统管理程序
  • **/home **

    • 存放普通用户的主目录,在Linux中的每个用户都有一个自己的目录,一般该目录一用户的账号名命名
  • **/root **

    • 该目录为系统管理员,超级权限者的用户目录
  • /boot

    • 存放的启动Linux时使用的一些核心文件,包括一些链接文件和镜像文件
  • /proc

    • 虚拟目录,是系统内存的映射,访问这个目录来获取系统信息。
  • /srv

    • service 的缩写,该目录是存放一些服务启动之后需要提取的数据
  • /sys

    • Linux2.6内核的一个很大变化,该目录安装了2.6内核中新出现的一个文件系统
  • /tmp

    • 存放临时文件
  • /dev

    • 类似于 windows的设备管理器,把所有的硬件用文件的形式存储
  • **/media **

    • 挂载目录 软盘或光盘
  • **/mnt **:挂载目录,挂载U盘或者移动硬盘(挂载即盘符)

  • /opt

    • 这是给主机额外安装软件所摆放的目录。如安装 ORACLE数据库就可放到该目录下。默认为空。
  • /usr/local

    • 这是另个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
  • **/var **

    • 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
  • /selinux [security-enhanced linux] 类似 360

    • Selinux是一种安全子系统,它能控制程序只能访同特定文件。

文件处理命令

命令格式:命令 [-选项] [参数] 中括号表示可选项

  • ls 显示目录文件

    ls -a 查看隐藏文件

    ls -l 长显示,显示文件或者目录详细信息包括大小 修改时间

    (-l显示的文件详细信息分别是:十个字符,硬链接数,所有者,所属组,文件大小,文件最后修改时间,文件名)

    (其中,十个字符。第一个字符代表文件类型,-代表文件,d代表目录,l代表软链接文件;后九位代表了所有者u,所属组g,其他人o对于该文件的权限;权限符号,r读,w写,x执行)

    ls -d 显示该目录本身的属性

    ls -h 更加人性化显示 比如字节转换为MB,GB 不用自己算

    ls -i 查询文件inode号(inode存储文件的详细信息) 信息编号,类似于人的身份证号码

  • mkdir 创建目录

    mkdir -p 可以递归创建,可以在没有一级目录的情况下新创建二级目录

  • touch 文件名 在当前目录下创建空文件
    touch[绝对路径+文件名] 指明绝对路径,在绝对路径处创建文件

  • cd 目录名 切换到指定目录

    cd …(两个点) 回到上一级目录

  • pwd 显示当前所在路径

  • rmdir 删除空目录,但是只能删除没有文件的空目录

  • cp 复制文件 或者目录

    语法:cp [原文件目录] [目标目录]
    cp -r 复制目录
    cp -p 保留原文件属性
    cp -rp 复制目录并且保留原文件属性

  • mv 移动 / 改名(在同一个目录下为改名)

  • rm 删除文件或者目录

    rm -f 强制删除 不再询问
    rm -r 删除目录,一般是rm -rf 连着用

    rm -rf 使用时一定要谨慎 切记 !!!
    使用时一定要谨慎 切记 !!!
    rm -rf /系统直接全部被删除!!!

    control+C退出选项 (防止删除一个目录的时候,内部包含的文件会出现多个确认选项)

  • cat 文件名 显示文件内容 只适合短的文件内容

    cat -n 文件名 显示行号,给文件内容的每一行标号
    cat -A 文件名 显示隐藏字符
    tac 文件名 逆序显示文件内容 倒着来 不支持-n

  • more 文件名 一页一页显示文件内容,适合长的文件内容

    空格或者f 翻页,回车(Enter)按行翻, q或者Q 退出

  • less 文件名 一页一页显示文件内容,只不过这条命令可以往回翻页, page up向上翻页,↑箭头向上翻一行
    其他操作和more命令一样,在less命令中 可以按/+需要查找文件内容的关键字查询内容,高亮内容即为含有关键字的内容,按n(表示next)可以查看下一个含有关键字的内容

  • head 文件名 显示文件最前几行,具体几行加n,head -n 行数 文件名, 没有指定默认10行

  • tail 文件名 显示文件最后几行,具体几行加n,tail -n 行数 文件名,没有指定 默认10行

    tail -f动态显示文件末尾内容

  • ln -s 原文件 目标文件 创建软链接

    关于软链接:
    软链接的作用和Windows中的快捷方式是差不多的。他只不过是指向源文件安装路径的符号链接,所以大小也很小。而且它的文件类型是lrwxrwxrwx,看似三种用户都可以拥有所有权限。其实真正拥有的权限是源文件所决定的权限 。

  • ln 原文件 目标文件 创建硬链接

    关于硬链接:
    硬链接就是把源文件拷贝到目标位置,而他与cp -p 最大的一点区别就是他可以同步更新,源文件有变化,硬链接文件也会同时发生变化,但是如果源文件丢失或者被删除,硬链接也并不会消失。可以通过i节点来区分,源文件和硬链接文件的i节点是一样的,所以他们会同步更新,但是他不能跨分区放置硬链接比如:/分区 硬链接 不能放到/boot 分区 ,而且不能对目录使用。

权限管理命令

  • chmod {u,g,o,a} {+,-,=} {r,w,x} 文件名或者目录名
    u :所有者 ,g :所属组,o :其他人,a :所有用户
    例如:chomd g+x,o+r /tmp/testfile
    就是把testfile文件的所有组增加执行权限,其他人增加读权限
    chomd a=rwx /tmp/testfile
    就是testfile文件的所有用户增加读写执行权限

权限位的数字表示:

  • chmod 权限位数字 文件名 修改文件权限
    首先需要知道 r=4 w=2 x=1
    例如:rwxrw-r- - 它的权限位数字表示就是 764 chmod 764 123.txt
    具体算法:
    r+w+x=4+2+1=7
    r+w=4+2+0=6
    r=4+0+0=4
  • chmod-R 权限位数字 文件名 把一个目录下的所有子目录的操作权限全部修改为同样的
  • 创建用户命令
    useradd 用户名 创建普通用户
    passwd 用户名 创建用户密码
    su - 用户名 切换用户
  • 注意:可以删除一个文件的原因,不是因为对于这个文件有写权限,而是因为对于这个文件所在目录有写权限。

此处插入权限图片

  • chown 所有者名 文件或者目录名 改变文件或者目录所有者

  • umask -S 以rwx形式显示当前新建文件的缺省权限

    mkdir 一个目录之后,进行ls -ld 发现他的权限为 drw xr-x r-x
    但是在touch 一个文件之后,进行ls -l 发现他的权限为-rw-r- -r- -
    这是因为在Linux系统里面把任何新建的文件都会把可执行权限去掉,其实umask值还没变,只不过是因为他是文件,所以没有x

  • umask

    umask 指令直接输入之后会显示 0022,其中 0代表特殊权限
    022代表 777与022之间的一种逻辑与的关系,他会进行逻辑比对,两者重复的不能保留,把没有的写下来

文件搜索命令

find

语法:**find 搜索范围 匹配条件 **

模糊查询可使用通配符(*表示不限个字符 ?表示单个字符)

  • find 搜索范围 -name 关键字 在特定路径下搜索文件名作为关键字的文件或者目录

  • find 搜索范围 -iname 关键字 不区分大小写搜索

  • **find 搜索范围 -size 数据块 **

    根据文件大小查找。数据块前面加+表示查找大于这个大小的文件,-表示查找小于这个大小的文件,不加不减表示查找等于这个大小的文件。其中数据块1=0.5k。例如:find /tmp -size +204800

  • find 搜索范围 -size 数据块 -a/-o -size 数据块
    -a:两个条件同时满足
    -o:两个条件满足任意一个即可

  • **find 搜索范围 -user 所有者名 ** 根据所有者查找

  • **find 搜索范围 -group 所属组名 ** 根据所属组查找

  • **find 搜索范围 -amin 时间 ** 查找时间以内被访问过的文件和目录,a:access 访问

    **find 搜索范围 -cmin 时间 ** 查找时间以内被修改过属性(权限、所有者、所属组等)的文件和目录 ,c:change

    **find 搜索范围 -mmin 时间 ** 查找时间以内被修改过内容的文件和目录 ,m:modify

  • **-exec 所作操作 {} \ ; ** 查找到文件之后并且对其进行各种操作, {} \ 不能丢

    例如:find [搜索范围] -name [关键字] -exec ls - l {} \ ; 查找到文件之后并且对其进行查看ls操作。

  • -ok 所作操作 {} \ ; 用于询问确认,一般在删除操作的时候使用

    比如:find -user yangyang -ok rm {} \ ; 删除yangyang用户的文件,他会挨个询问你是不是确定删除

  • **-type ** 根据不同类型查找
    f:文件
    d:目录
    l:软链接

    eg:find [搜索范围] -name [关键字] -a -type f 在范围内搜索特定关键字的文件

  • **find [搜索范围] -inum [i节点值] ** 根据i节点查询

    获取i节点方法:ls -i (i节点值相当于文件的身份证号码,独一无二。硬链接和源文件i节点值一样)

locate

  • **locate [文件名] ** 在文件资料库中查找 速度更快
    updatedb 更新整个文件资料库,因为locate并不是实时的
    备注:如果存放的文件在/tmp 临时文件存放处下面,locate就找不到,因为文件资料库不存储临时文件内容

  • locate -i [文件名] 不区分大小写查找

  • which 命令名 查找该命令存放位置,可以看到命令可以使用的使用者是谁,也可以查看命令别名

    eg:which rm 会显示 alias rm=’ rm -i ’
    我们所使用的rm只不过是别名,不是真正的rm命令,真正的命令其实是rm -i,所以才会询问是否真的删除,而rm是不会询问的

    比如:/bin/rm /tmp/yangyang ,文件直接删除而不会询问是否删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值