Linux学习之命令(文件相关)

时间:2022-01-07 16:30:39

一.查看文件或目录


1.常见基本格式 :ls -la  /etc  命令 【-选项】【参数】
2. ls    ls -a 显示所有文件(all)    .开头的文件名是隐藏的
3.  ls -l 显示文件的详细信息(long)
4.                u   g  o    (user 所有者   group所属组  o其他人)
                  r读  w写 x执行  -没有
5.       ls -ld /etc   查找指定目录详细信息
6.       ls -lh      显示文件的大小的单位是k   即真实大小
7.       ls -i      查找指定文件的i节点(系统查找的号码)

二.目录文件管理(创建、复制、删除)


8. mkdir /tmp  在跟目录下创建tmp目录
   mkdir -p   /tmp[/Japan/xiaodianyin   递归创建 在一个不存在的文件下继续创建文件,即连续创建目录文件
   mkdir -p  /tmp/Japan/cangjin /tmp/Japan/longze同时创建多个目录文件
9.  cd /tmp/Japan   转换到指定目录
    cd . 当前目录
    cd .. 返回上一级目录

10. pwd      (print working directory)  显示当前目录
11. rmdir    (remove empty directories) 删除空目录  删除的目录只能是空目录
12. cp     (copy)复制       复制的文件的部分属性会改变(如:时间)
         cp -r /tmp/Japan /etc   将/tmp/Japan复制目录到/etc中
         cp -p /root/install.log /tmp   复制时不会更改文件的属性 
         cp -r /tmp/Japan /tmp/xiaojian 复制的同时可以更改名字
13. mv     (move)   剪切  改名
         mv /tmp/Japan /etc
14. ctrl + l   清屏
    ctrl + c  终止命令
    shutdown -h now   关机

15. rm     (remove) 删除文件     删除后无法恢复
        rm /tmp/install.log    会询问是否删除文件
        rm -f /tmp/install.log   强制删除文件,不会询问
        rm -r /tmp/China/Japan   删除目录
 rm -rf /tmp/China/Japan   强制删除目录,不会依次询问是否。

2015.10。23
16. touch      创建文件  可以同时创建多个文件
     touch /root/xuexi      默认路径是当前目录

三.查看文件内容


17. cat   显示文件内容    同时可以添加行号
          cat -n /etc/hosts  
          tac  可以从后往前显示   但不能添加行号  -n
18. more  可以分页显示比较大的文件内容
    按空格或者F可以翻到下一页     按回车一行一行往下翻   按Q退出
    less 与more大致相同    但是它可以向上查看内容,比more更*
        相比more    它还可以使用上下箭头  pageUp pagedown向下向上查找
        还可以输入 /查找关键字的内容   按n查找文件中所查找的关键字
19. head -n   只查看文件的最前面的n行   没有n时 默认显示前n行
    tail -n   显示文件的末尾n行   
    tail -f   动态显示文件的最后n行   比如监控日志等

2015.10.25
20. ln     (link )链接文件
 ln -s /etc/issue /tmp/issue.soft   建立软链接  相当于一个快捷方式,所有用户(三种)都拥有所有权限(rwx)
        ln /etc/issue /tmp/issue.hard     建立硬链接,其实就是源文件的副本,当修改任意一个文件时,两个文件同时修改。  不能跨分区,不能针对目录来设置

四.权限管理

1. chmod  (change the permission mode of a file)改变文件或者目录权限
   1)chmod u+x,o-r /tmp/Japan/love.list        增加权限,删除权限
         chmod u=rwx /tmp/Japan、love.list      直接给赋予某种权限
   2)权限的数字表示 r--4    w--2  x--1      rwx--7 等
      chmod 640 /tmp/Japan、love.list    相当于所有者、所属组、其他的权限为 rw-r-- ---
   3)chmod -R /     递归修改权限,改变目录权限的同时,该目录下的所有文件的权限也修改为相同的权限
2. 对目录的权限与对文件的权限不一样
   dictionary  r: ls
               w: touch/mkdir/rm/rmdir    即可以删除该目录下的文件
               x: cd
3. chown (change file owership) 更改文件的所有者
        chown root /home/zhiling/abcd   将abcd的所有者更改为root
   chgrp  (change file group owership )   改变文件或目录的所属组
4. umask 会返回 0022  代表 0 --- -w- -w-  默认权限的掩码值
   umask -S  会返回默认的目录权限,即u=rwx,g=r-x,o=r-x
                                     7       5      5
       你会发现默认权限就是 777 - 022 =755
              默认的文件权限只比目录少了  x
   umask 023(掩码)  改变默认的权限为754


五.文件搜索

1.find / -name   按名搜索
     1) find /etc -name init  在/etc目录下搜索名为init
     2)find /etc -name *init        搜索文件名中包含init字符的文件
     3)find /etc -name init*        搜索以init字符开头的文件名的文件
     4) find /etc -name init???    所搜以init字符开头再嫁三个任意字符的文件,用?来代替任意字符,?的个数决定任意字符的个数
     5)find /etc -iname init  不区分大小写查找
2.find / -size  按文件大小查找       
   数据块(最小的存储单位)  512字节
   比如  100M  = 100 * 1024 *2*512字节 = 204800 数据块
   find / -size +204800    查找根目录下的大于100M的目录或文件
3.find /home -user zhiling     查找用户zhiling的所有文件或目录,即根据所有者查找
  find /home -group zhiling   根据所属组查找
4.find  /etc -cmin -5   在etc目录下查找5分钟内被更改过文件属性的文件或目录       超过5分钟 +5
           -amin  访问时间 access
           -cmin  文件属性 change
           -mmin  文件内容 modify
5.find /etc -size +204800 -a -size -2048000   查找文件大于100M且小于1000M的文件或目录
            -a   两者同时满足
            -o   两者满足一个即可
6.find /etc -type   按文件类型查找
    find /etc -type f -a -size -204800
        file 文件   dictionary 目录  linkedsoft 软连接
7.-exec/ok  ls {} \;   直接对搜索的结果进行操作   而ok则多了询问确认的不步骤
    find /etc -type f -a -size -204800 -exec ls -l {} \; 对查找的文件显示详细的信息。
8.find / -inum  根据i节点来查找文件     比如可以查看一个分区里有没有硬链接


2015.10.26
9. locate 在文件资料库查找文件     查找速度非常块
    这是建立了一个文件资料库,定期的更新资料库。但是对刚新建的文件,则查找不到。
    执行updatedb后手动更新资料库   对于根目录下的新建文件,则可以找到,但是在tmp目录下的新建文件还是找不到  
        locate issue  查找文件issue
   locate -i issue   不区分大小写查找文件库中文件  
10. which 搜索命令所在目录及别名信息
   which cp
11. whereis 搜索命令的绝对路径,还可以找到此命令相关的帮助文档所在的位置
12. grep 在文件内容中搜索  找某一个字符串(关键词)所在的位置,所在的那一行显示出来。
      grep localhost /net
      grep -i localhost /net    不区分大小写
      grep -v ^# localhost /net   去掉以#开头的行