标签:个人 切换 不能 子目录 ash 文件 指令 部分 退出
ls相关(.*和*)
- ls .*
- 显示当前文件夹内的以.开头的文件,包括隐藏文件和隐藏文件夹
- 显示当前文件夹.内的所有的非隐藏文件和文件夹(任意名称)
- 显示当前文件夹.内的以.开头的文件夹(隐藏文件夹)和它内部第一层文件和文件夹;但不显示此文件夹内的文件夹内的文件,不显示此文件夹下的以.开头的文件(即隐藏文件)
- 查看当前文件夹父目录..内的非隐藏文件;同上不显示父目录内的文件夹内的文件,不显示父目录内的以.开头的文件(也就是隐藏文件)
- ls .* -a: 显示当前文件夹内所有文件,包括隐藏文件;以及其父目录内的第一层所有文件包括隐藏,以及以.开头的子目录内第一次呢该文件,包括隐藏。
- ls .* -R:显示当前文件夹内所有文件包括隐藏文件,其父目录内的所有文件和其子目录下的所有层文件(不包括隐藏文件和隐藏文件夹,而且当前目录的不隐藏文件会再次显示一遍)
- ls .* -a -R:比上面多了隐藏.
- ls *. :显示当前文件夹内以.结尾的所有文件和文件夹,但不显示隐藏文件
- ls *.*:显示当前文件夹内的中间包含.的所有文件和文件夹,但是注意,不包含隐藏文件,因为*不能显示隐藏文件
- ls * :显示当前文件夹内的所有非隐藏文件和文件夹,和当前文件夹内第一层所有非隐藏文件和文件夹
- ls * -a:显示当前文件夹内的所有非隐藏文件和文件夹,并显示这些文件夹内的第一层所有文件包括隐藏文件
- ls * -a -R:显示当前文件夹内的所有非隐藏文件和文件夹,并显示这些文件夹内的所有层所有文件包括隐藏文件
- ls * -R:显示当前文件夹内的所有非隐藏文件和文件夹,包括其所有子目录下的所有层的非隐藏文件.
rm相关
- rm -rf .*
- 或者 rm -rf ./.
上面那两个相当于一个命令(参考ls .),这个是有问题的命令,虽然也能删除当下文件夹内的隐藏文件和隐藏文件夹(和里面的所有内容),并且保留非隐藏文件和文件夹, 但是这个命令会尝试删除. 和.. 只不过跳过了。
- rm -rf .[^.]* 删除当前文件夹内的所有隐藏文件和隐藏文件夹(包括隐藏文件夹内的其中所有内容),但是不删除非隐藏文件和文件夹。和上面的命令同一个结果,但是不报错。
- rm -rf ./*
删除当前目录下的所有非隐藏文件和非隐藏文件夹(包括非隐藏文件夹内其中所有内容,即使里面有隐藏文件也删除)
- 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指令中解释)
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相关
- cp -a /root/. /data/ :将/root目录内的所有文件包括隐藏文件拷贝到/data里面
- cp -a /root/(反向单引号) ls -A /root (反向单引号) /data/
实现了和1中相同的功能
- cp -a /root/ /data :在data下创建新root目录并拷贝进去,前提是data下并没有root这个名字的目录
- cp -a /root/ /data/rootbak:在data下创建新rootbak目录并考进去
- cp -a /root/.[^.]* /data/ :把root下的所有隐藏文件,隐藏文件夹(包括里面的所有隐藏文件和非隐藏文件),考到data下
- 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