linux文件操作相关命令

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/ [email protected]:/home/
    • 复制远程文件到本地:
      scp [email protected]:/home/a.txt /tmp/a.txt
      scp -r [email protected]:/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文件操作相关命令)