linux常用命令(目录处理,链接,文件搜索)

来源:互联网 发布:苹果手机下载软件 编辑:程序博客网 时间:2024/06/06 23:55
一、命令基本格式
1.1 
[root@localhost ~]#


root (登录用户)
localhost  (主机名)


~    (当前所在目录:
     ~表示当前是home目录---/root
      普通用户就是/home/user1/)


#     超级用户提示符
      普通用户的提示符是$


1.2
命令 [选项] [参数]
例如:
  ls -l /src/


文件读写权限
-rw-r--r--.1 root root 1207 1月   14 18:18 
第一位判断文件类型:
    -文件类型(-文件 d目录 l软连接文件)
后面每三位数为一组(一一匹配):
    rw-  r-- r--
    u所有者 g所属组 o其他人
    r:读 w:写 x:执行
. ----代表了特殊的权限,暂时不提及
1 ----是代表的硬连接调用的次数
1207 ----代表文件的大小
1月   14 18:18---最后一次修改时间


.开头的文件就是隐藏文件


二、 目录处理命令
   Tab键可以补全命令
   
   创建目录(make directory):
    mkdir -p [递归目录名字]
    mkdir 目录名字
   切换目录(change directory):
    cd 目录路径
    cd  ~:直接回到home目录
    cd:
    cd -:进入上次目录
    cd ..:(两点)进入上一级目录
   删除目录(remove empty directory)
       rmdir 目录名(只能删除空目录)
       rm [-r删除目录 -f强制]
       rm -rf /千万不要执行,否则会把所有/下面的东西删除
   拷贝目录(copy)
cp
        -r: 复制目录
        -p:连带文件属性复制
        -d:若源文件是链接文件,则赋值链接属性
        -a:连同时间都一样复制过来,相当于-pdr 
   剪切(move)
mv 属性和copy完全一致
mv 可以用于修改名字
   
   相对路径:
        相对当前目录
   绝对路径:         
从根目录开始
   pwd(print working directory)显示当前所在的位置


三、 常见目录的作用
   /根目录
   /bin /sbin 命令保存目录(普通用户只能读取/bin的命令)
   /boot 启动目录,启动相关文件
   /dev 设备文件保存目录
   /etc 配置文件保存目录
   /media /mnt /misc 用于挂载外置存储设备
   /root 超级用户
   /proc /sys 里面的数据是直接保存在内存中的,关机就没了
   /tmp 临时目录
   /usr 系统资源目录
   /var 保存系统文档信息的目录
   /home 推荐用户使用使用


四、 链接命令
 
 ln -s[原文件] [目标文件]
 软连接的原文件路径必须使用绝对路径
 
 link -soft
 ln [原文件] [目标文件]
 
 硬连接:
   用户搜索文件是先去分区索引表去查找,找出id号,然后找出存储位置。
硬连接的节点id号是一样的,相当于教室的前后门。删除了前门,还能通过
后面进入。
   不能跨分区,不能针对目录使用。
 
 软连接:
   lrwxrwxrwx  
   和Windows的快捷方式工作一模一样,软连接有自己的i节点和block块,
block有自己所链接文件的i节点的相关信息,然后通过分区索引表去找到目标文件。
   流程就是:自身i节点-->自身block块-->目标i节点-->目标文件的block开
始块。
   但是原文件删除了,软连接就无法找到目标文件i节点了,所以不能工作了。
   


五、文件搜索命令
  
   文件搜索命令 1:locatea
   特点:
      由于是在后台数据库中进行搜索,所以搜索速度快。但是数据库不是实时更新的,
   正常情况下是每天更新一次,可以通过命令updatedb手动更新。
      搜索功能较弱,只能按照文件名搜索。
   
   搜索配置文件路径:/etc/updatedb.conf
   配置项的说明:
   //搜索设置是否生效   
   PRUNE_BIND_MOUNTS = "yes"
   //忽略的文件系统
   PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
   //忽略的文件类型
   PRUNENAMES = ".git .hg .svn"
   //忽略的路径
   PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
   
   文件搜索命令 2:whereis 
   特点:用于搜索命令所在的路径以及帮助文档所在的位置,不能搜索用户自己创建的文件等信息。
   选项:
     -b:只查找可执行文件
     -m:只查找帮助文件
   
   文件搜索命令 3:which
   特点:能看到命令的路径,如果有别名,还能看到别名的说明。
   whereis和which不能看到shell命令,只能看到外部安装的命令。
   
   $PATH说明:类似于Windows中的环境变量,执行命令的时候都要在path定义的目录中去寻找。
所以像ls这样的命令就可以不用加路径(/bin/ls)执行了。

   文件搜索命令 4:find
   特点:
       功能多,参数多,范围大。
   选项:
       find[搜索范围][搜索内容]
   find /root -name "*fuxiangp?ing[abcd]"
   
   可以使用通配符进行模糊查询
   *:匹配任意内容  
   ?:匹配任意一个字符 
   []:匹配任意一个中扩号中的字符
   
   不区分大小写:find /root -iname XXXX
   
   按照所有者进行搜索:find root -user root
   
   搜索无所有者的文件:find root -nouser
   ---linux中几乎所有的文件都有所有者,有两种情况可能没有:
   内核运行时产生的文件有的没有所有者,外来设备中的文件
   也有可能没有所有者。
   
   查找10天倩修改的文件:-mtime +10
   -10:10天内修改的文件
   10:10天当天修改的文件
   +10:10天前修改的文件
   atime:文件访问时间
   ctime:改变文件属性
   mtime:修改文件内容
   
   查找当前目录大小是25k的文件:find . -size 25k
    25k:等于25k
   +25M:大于25M(M要大写)
   -25k:小于25k
   默认的单位是数据块,但是和分区数据块又不同,是硬盘划分的扇区(默认512字节)。
   
   根据i节点进行查找:find /root -inum 236325
   
   多条件查询和结果集操作:
   
   在etc下查找大于20k小于50K的文件:find /etc -size +20k -a -size -50k
   -a:满足两个条件
   -o:满足一个条件就好
   
   查找符合条件的文件后执行ll -h操作:find /etc -size +20k -a -size -50k -exec ll -h {} \;
   -exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,
考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{}花括号代表前面find查找出来的文件名。

0 0
原创粉丝点击