美文网首页
linux文件操作相关命令

linux文件操作相关命令

作者: 清风徐来_简 | 来源:发表于2018-11-25 16:18 被阅读0次

    linux下各个文件颜色

    文件类型.png
    • 绿色文件代表可执行文件
    • 蓝色文件代表文件夹
    • 白色文件代表普通文件
    • 红色代表压缩文件
    • 常见的文件是普通文件(-)、目录(d)、软连接(l)
    • 块设备文件、字符设备文件、套接字文件和管道文件是特殊文件,一般不用做其他操作。

    一、增

    touch a.txt 创建普通文本
    mkdir 文件夹 创建文件夹
    mkdir -p test/{a,b,c,d} 批量创建
    mkdir -p a/b/c/d/e 递归创建

    二、删

    rmdir 文件名 删除空的,文件夹
    rm 文件名 删除文件
    rm -rf 文件(指定某个文件) 递归删除(不会用者慎用)

    三、改

    vi/vim 文件名(前提是有vim编辑器) 编辑文本文件
    mv 旧文件名字 新文件夹名字 修改文件名
    mv 文件路径 文件路径 移动文件路径

    cat >>/t1.txt << EOF 追加文字到文件
    >追加的内容
    >EOF 再次输入EOF结束

    ip addr > /tmp/network.txt (>)把命令执行的结果信息,写入到文件中

    sed命令:sed还可以修改文本
    s 替换指令
    d 删除指令
    g 全局替换
    例1:找到/tmp/pwd.txt文件中所有的root字符串,全局替换为ROOT(不加-i不会写入到文件,只会返回替换结果)
    sed -i 's/root/ROOT/g' /tmp/pwd.txt
    例2:找到26行,删除
    sed -i '26d' /tmp/pwd.txt
    例3:删除文件空白行
    sed -i '/^$/d' filename.txt

    四、查

    • cat

      cat 查看文件内容
      cat /etc/os-release 查看系统版本

    • ls

      ls 查看文件夹内容
      ls -l (简写ll)查看文件夹详细内容
      ls -la 显示文件详细信息,包括隐藏文件
      ls -lh 可以直接看出文件大小
      ls -i 查看文件inode号
      ls -ld /etc/ 查看目录本身相关信息

    • stat

      stat 文件名 查看文件的具体信息

    • whereis 命令:whereis ls

      搜索系统命令所在位置(还可查看命令帮助文档,不能搜索普通文件键)

    • which 命令:which ll

      搜索命令所在位置(可以查看别名,(并不是所有都能看到别名))

    • more

      more /etc/passwd 用于查看内容较多的文本
      按下空格space是翻页
      按下b键是上一页
      回车键向下读取内容

    • echo

      echo 用于在终端输出字符串或变量提取后的值,格式是"echo 【字符串|$变量】"
      echo 字符串 显示字符串
      echo $PATH 查看环境变量
      echo > test.txt 用echo清空一个文件

    • head / tail

      head显示文件前几行,默认前10行
      tail显示文件后几行,默认后10行
      head -2 /t11.txt:查看前两行
      tail -2 /t1.txt:查看后两行
      tail -f /var/log/mysql.log #持续刷新显示,常用于 对日志文件监控,检测,日志实时写入的信息, 可用 echo "xxxxxx" >> /var/log/mysql.log 验证实时变化。

    • pwd

      pwd 查看当前工作目录

    • find:查找文件(耗费资源大,功能全,可按不同的文件属性查询)
      • 按名字查找
        find / -name settings.py 找到服务器上的settings.py
        find /etc -name 'ifc*' 找到/etc下的网卡配置文件(网卡配置文件名是ifc开头)
        通配符:*匹配任意内容 匹配任意一个字符 []匹配任意一个中括号内的字符
        find /root -iname install.log 不区分大小写

      • 按时间查找
        find /var/log/ -mtime +10:查找10天谴修改的文件
        -10 :10天内修改文件
        10:10天当天修改的文件
        atime:文件访问时间
        ctime:改变文件属性
        mtime:修改文件内容

      • 按大小查找
        find . -size 25k:查找文件大小是25kb的文件
        -25k 小于25kb
        +25k 大于25kb
        2M 等于2M的

      • 可以加上逻辑条件


        逻辑条件综合查询
    • grep

      grep [选项] 字符串 文件名:在文件中匹配符合条件的字符串
      -i 忽略大小写
      -v 排除指定字符串

      find和grep的区别
    • locate

      locate 文件名:在后台数据库中按文件名搜索,搜索速度快
      (locate命令只能按照文件名搜索)(且按照/etc/updatedb.conf配置文件搜索的)

      配置文件内容含义

      /var/lib/mlocate:locate命令所搜索的后台数据库(不是实时更新,一天更新一次)
      updatedb:更新数据库

    五、复制

    • cp

      cp xxx.py /tmp/ 复制xxx.py到/tmp/下
      cp xxx.py /tmp/ooo.py 复制xxx.py到/tmp/下顺便改名为ooo.py
      cp -r: 递归,复制目录以及目录的子孙后代
      cp -p:连带文件属性复制(包括为文件的创建时间)
      cp -d:若源文件是链接文件,则复制连接属性
      cp -a:相当于-pdr (完全复制,所有信息都和原文件一模一样)

      cp是个好命令,操作文件前,先备份:
      cp main.py main.py.bak
      
    • scp
      • 传输本地文件到远程地址:
        scp 本地文件 远程用户名@远程ip:远程文件夹/
        scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
        scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
        scp -r /tmp/ root@192.168.1.155:/home/
      • 复制远程文件到本地:
        scp root@192.168.1.155:/home/a.txt /tmp/a.txt
        scp -r root@192.168.1.155:/home/ /home/

    六、路径切换

    • cd ~切到当前登录的用户的家目录 root用户是/root家目录,普通用户/home/
    • cd -切到上一次的工作目录
    • cd ..切到上一级工作目录
    • cd ./xxx 切到当前工作目录下的某个目录
    • cd /xxx/xxx/xxx 切到具体的某个目录

    七、软连接配置(类似于Windows快捷方式)

    ln -s 目标文件 软连接名
    ln -s /tmp/xiaofeng.txt /home/xf.txt

    还有一个`硬链接`:硬链接相当于是两个文件名对应同一块内存,
    对一个文件修改之后另一个也变,一个删除了,另一个可以正常使用,
    硬链接不常用,所以就不过多介绍,理解就行。
    

    八、文件,文件夹的权限

    • 1.通过ls -l /tmp/*去查看文件 文件夹所有权限
      drwx------. 2 root root 6 Nov 8 19:05 vmware-root
      -rw-r--r--. 1 root root 1977763 Nov 8 22:17 gaoxiao.gif

    • 2.用户分类
      文件,文件夹的用户分类

      分为三种,   user(属主)  group(属组)   other(外包,其他人  )
      -             rw-            r--           r--
      文件类型     属主的权限     属组的权限     other(外包)的权限
      
    • 3.解读权限
      对于普通文本权限来说

      -   是普通文本
      r   读取
      w   写入 
      x   执行
      

      对于文件夹来说

      d   文件夹类型
      r   可以对此目录执行ls列出所有文件
      w   可以在这个目录创建文件
      x   可以cd进入这个目录,或者查看详细信息
      
    • 4.文件权限的 r w x 对于数字的转化,转化为8进制的数字

      r   4  
      w   2 
      x   1
      
    • 5.文件权限练习:
      提示:
      r w x rwx rwx
      4 2 1

      7     0     0
      rwx  ---   ---
      
      7     4     4
      rwx  r--   r--
      
      7      7     7
      rwx   rwx   rwx
      
      7      5     5
      rwx    r-x   r-x
      
    • 6.更改文件所有者和所属组,语法:

      命令 解释
      chown 用户名 文件名 改变文件的所有者
      chgrp 组名 file 改变文件的所属组
      chown root:root 文件名 即修改所有者,又修改所属组
      chmod 700 test.py 修改test.py文件权限为700
      groupadd 组命 添加组命
      gpasswd -a user1 user 将user1用户,添加至user组里

    九、查看linux命令网址:http://man.linuxde.net/

    相关文章

      网友评论

          本文标题:linux文件操作相关命令

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