码迷,mamicode.com
首页 > 其他好文 > 详细

个人琢磨研究,分类混淆知识点(偶尔更新)

时间:2019-03-14 00:52:27      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:个人   切换   不能   子目录   ash   文件   指令   部分   退出   

ls相关(.*和*)
  1. ls .*
    • 显示当前文件夹内的以.开头的文件,包括隐藏文件和隐藏文件夹
    • 显示当前文件夹.内的所有的非隐藏文件和文件夹(任意名称)
    • 显示当前文件夹.内的以.开头的文件夹(隐藏文件夹)和它内部第一层文件和文件夹;但不显示此文件夹内的文件夹内的文件,不显示此文件夹下的以.开头的文件(即隐藏文件)
    • 查看当前文件夹父目录..内的非隐藏文件;同上不显示父目录内的文件夹内的文件,不显示父目录内的以.开头的文件(也就是隐藏文件)
  2. ls .* -a: 显示当前文件夹内所有文件,包括隐藏文件;以及其父目录内的第一层所有文件包括隐藏,以及以.开头的子目录内第一次呢该文件,包括隐藏。
  3. ls .* -R:显示当前文件夹内所有文件包括隐藏文件,其父目录内的所有文件和其子目录下的所有层文件(不包括隐藏文件和隐藏文件夹,而且当前目录的不隐藏文件会再次显示一遍)
  4. ls .* -a -R:比上面多了隐藏.
  5. ls *. :显示当前文件夹内以.结尾的所有文件和文件夹,但不显示隐藏文件
  6. ls *.*:显示当前文件夹内的中间包含.的所有文件和文件夹,但是注意,不包含隐藏文件,因为*不能显示隐藏文件
  7. ls * :显示当前文件夹内的所有非隐藏文件和文件夹,和当前文件夹内第一层所有非隐藏文件和文件夹
  8. ls * -a:显示当前文件夹内的所有非隐藏文件和文件夹,并显示这些文件夹内的第一层所有文件包括隐藏文件
  9. ls * -a -R:显示当前文件夹内的所有非隐藏文件和文件夹,并显示这些文件夹内的所有层所有文件包括隐藏文件
  10. ls * -R:显示当前文件夹内的所有非隐藏文件和文件夹,包括其所有子目录下的所有层的非隐藏文件.

rm相关

  1. rm -rf .*
  2. 或者 rm -rf ./.
    上面那两个相当于一个命令(参考ls .
    ),这个是有问题的命令,虽然也能删除当下文件夹内的隐藏文件和隐藏文件夹(和里面的所有内容),并且保留非隐藏文件和文件夹, 但是这个命令会尝试删除. 和.. 只不过跳过了。
  3. rm -rf .[^.]* 删除当前文件夹内的所有隐藏文件和隐藏文件夹(包括隐藏文件夹内的其中所有内容),但是不删除非隐藏文件和文件夹。和上面的命令同一个结果,但是不报错。
  4. rm -rf ./*
    删除当前目录下的所有非隐藏文件和非隐藏文件夹(包括非隐藏文件夹内其中所有内容,即使里面有隐藏文件也删除)
  5. rm -rf ./.
    错误的命令,不能这样执行
    6 .可以先创建一个文件夹的软链接,然后用 rm -rf 软链接/ 的方式 删除源文件夹内的所有内容 但是保留原文件夹。注意软链接后面必须加上/,不然就把这个软链接本身给删掉了,参考一下下面的ls 软链接相关内容。
17:28[root@centos7 /data/cptest/zhang]# rm -rf ./.*
rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘./.’
rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘./..’
17:31[root@centos7 /data/cptest/zhang]# ls -a
. ..

软链接目录相关(和ll相关部分,与rm相关部分查看rm指令中解释)

  • ls 软链接:
    ll 软链接 或者 ll 软链接 -d(加不加-d都一样):显示这个软链接本身的信息
    ll 软链接/ :显示这个软连接连接到的目录内的文件信息
    ll 软链接/ -d :这个相当于 ll 软链接目录 -d ,显示目标目录文件夹本身的信息
    附加: ll 目录 都是显示目录下的内容, 加不加/ 结果都一样。 只有加了-d 显示的结果才是本身文件夹的信息。 只不过加了-d 以后,结果也会显示加不加/,有细微差别:
    22:04[root@centos7 /data]# ll cptest/ -d
    drwxr-xr-x. 3 root root 19 Mar 12 21:54 cptest/
    22:04[root@centos7 /data]# ll cptest -d
    drwxr-xr-x. 3 root root 19 Mar 12 21:54 cptest
21:55[root@centos7 /data]# ll lintst
lrwxrwxrwx. 1 root root 6 Mar 11 20:03 lintst -> cptest
21:55[root@centos7 /data]# ll lintst/
total 4
drwx------. 15 zhang zhang 4096 Mar  9 23:39 zhang
21:55[root@centos7 /data]# ll lintst/ -d
drwxr-xr-x. 3 root root 19 Mar 12 21:54 lintst/
21:56[root@centos7 /data]# ll cptest
total 4
drwx------. 15 zhang zhang 4096 Mar  9 23:39 zhang
21:56[root@centos7 /data]# ll cptest -d
drwxr-xr-x. 3 root root 19 Mar 12 21:54 cptest

cp相关

  1. cp -a /root/. /data/ :将/root目录内的所有文件包括隐藏文件拷贝到/data里面
  2. cp -a /root/(反向单引号) ls -A /root (反向单引号) /data/
    实现了和1中相同的功能
  3. cp -a /root/ /data :在data下创建新root目录并拷贝进去,前提是data下并没有root这个名字的目录
  4. cp -a /root/ /data/rootbak:在data下创建新rootbak目录并考进去
  5. cp -a /root/.[^.]* /data/ :把root下的所有隐藏文件,隐藏文件夹(包括里面的所有隐藏文件和非隐藏文件),考到data下
  6. cp -a /root/* /data :root下的非隐藏文件和非隐藏文件夹(包括里面的所有非隐藏文件和隐藏文件)考到data下
  • cp -a /root/.* :加-a的话也有-R ,这个就参考ls 那部分即可,基本上没有这个用法

无聊测试

自己测试一下以下各行代码,看看正确和错误结果怎么显示和定向
1.t是当前文件夹下的普通文件

ls /eraf /home 1>1.t  2>1.t
ls /eraf /home 1>>1.t  2>1.t
ls /eraf /home 2>>1.t  1>1.t
ls /eraf /home 2>1.t  1>1.t
ls /eraf /home 2>1.t  2>&1  1>1.t
ls /eraf /home 2>>1.t  2>&1  1>1.t
ls /eraf /home 2>&1  2>1.t  1>1.t
ls /eraf /home 2>&1  2>>1.t  1>1.t

总结常用的

显示隐藏文件和隐藏文件夹 .[^.]
显示非隐藏文件和非隐藏文件夹 *
-r或者-R 在各命令中 则包含这些文件夹中的所有内容,不论是隐藏还是非隐藏

一些其它杂项

  • pstree命令下可以看到如果多次su转换,则多开很多bash
  • 因此su su在切换之后要退出,用exit或者logout
  • 硬链接其实是普通文件:在7种文件类型中一个硬链接坐前面的文件类型中显示的并不是l(链接类型),而是-普通文件类型

个人琢磨研究,分类混淆知识点(偶尔更新)

标签:个人   切换   不能   子目录   ash   文件   指令   部分   退出   

原文地址:https://blog.51cto.com/14228129/2362618

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!