这是我参与11月更文挑战的第30天,活动详情查看:2021最后一次更文挑战
系统文件管理命令
一个目录下不可能出现同名的文件,不管是文件夹还是文件都不能同名。linux区分大小写,windows不区分大小写。
创建目录mkdir
mkdir [option] directory # []表示可加可不加
-m:创建目录时授权
-p:递归创建目录,如果目录已经存在则不创建,并且不报错
-v:显示创建目录的信息,查看创建目录的过程
# 基本用法
mkdir /test # /目录下创建test目录
mkdir test # 当前目录创建
mkdir ../test # 当前目录的上一级目录
mkdir ./test # 当前目录创建
mkdir /usr/local/test # 指定目录创建
mkdir .test # 当前目录下创建隐藏目录
# 创建多个目录
cd /tmp
mkdir -p test /usr/local/test /test/teat # 第一种方式
mkdir a{1, 2, 3} # 创建有规律的a1 a2 a3目录
mkdir a{10...100} # 创建a10 - a100目录
mkdir /{home/{test/test{1, 2}, oldboy}, backup}
# -m 数字是是从000-777之间的数字,每一位不能超过7
mkdir -m 777 test # 所有的权限
mkdir -m 000 testb # 没有权限
创建目录时报错处理
[root@zhuang ~]# mkdir /abc/def/efg
mkdir: cannot create directory ‘/abc/def/efg’: No such file or directory
报错原因是:/abc目录不存在,所以无法创建后续目录
解决方案:mkdir -p /abc/def/efg
[root@zhuang ~]# mkdir /abc/def/efg
mkdir:cannot create directory ‘/abc/def/efg’: directory is exists
报错原因:目录已经存在了
解决方法:不创建就好了呀~~~,或者加参数-p就不会创建了,而且不报错
[test@zhuang ~]$ mkdir /root/test
mkdir:cannot create directory ‘/root/test’: permission denied
报错原因:权限不够
解决方法:需要授权
创建文件touch
touch [option] file
1创建文件时如果文件已存在则修改它的 `修改时间` 和 `访问时间` 和 `改变时间`,不存在则创建
2必须创建在已经存在的目录中
3创建相同文件不会被覆盖
4linux中一切皆文件,没有后缀名之分
显示目录结构tree
# 什么参数都没有
tree # 当前目录的目录结构
# 指定文件夹查看目录结构
tree /r
# 查看指定级数的目录结构-L
tree -L 级数 /root
tree -L 3 /
# 只看目录结构-d,选项是指定给某个参数的,参数必须写在指定选项后面,比如-dL 1 不建议写-Ld 1
tree -d -L 3 /
复制文件或者目录cp
copy:拷贝,无法直接拷贝目录需要借助-r参数
cp [OPTION]... SOURCE... DIRECTORY # source路径下的文件拷贝到新路径下可以改名
cp www /root # 将当前路径下的www复制到/root路径下,文件名不变
cp www /root/aaa
1.如果aaa存在并且是一个目录,会将www放到/root/aaa目录下
2.如果aaa存在并且是一个文件,会将www放到/root目录下,并且覆盖原文件的内容
3.如果aaa不存在,会将www放到/root目录下并改名为aaa
# 三个语法
cp -T 原文件 目标文件(必须有文件名)
cp -t 目标路径 原文件
cp 原文件路径 目标路径(可以改名)
-a:相当于-r -p,既做到了递归又保持了文件的属性
-i:如果拷贝过程中出现重复文件名,询问是否覆盖
-r(-R, --recursivve):递归拷贝文件,直接拷贝会改变文件属性
-p:在拷贝文件的过程中保持文件原有的属性
-v:显示拷贝文件的过程
-t:将原文件和目标文件的书写位置反过来
移动命令mv
# 语法,mv命令可以直接移动目录不需要递归
mv [OPTION]... SOURCE1 SOURCE2.... ... DIRECTORY
mv test test1
# test1是否存在,如果存在并且是个目录,就将test移动到test1中
# 如果test1存在,如果存在是个文件会询问是否覆盖。
# test1如果不存在,则将test文件改名为test1
# 选项
-i:在移动过程中如果存在相同的文件名就询问是否覆盖
-t:将原文件和目录反过来
# 注意
mv命令可以直接移动目录,不需要递归,并且不会修改文件属性
mv命令后可以写多个文件,但是最后一个必须是目录,表示将前面所有的原文件移动到最后的目录中
文件不能覆盖目录,但是可以放入目录里面,目录不能覆盖文件并且不能放到文件里
删除命令rm
# 语法
rm [OPTION]... FILE...
Remove (unlink) the FILE(s).
# 选项
-d:只能删除空目录,没什么用
-r:递归删除
-f:强制
-v:显示删除的细节
# 注意
rm命令本身只能删除文件不能删除目录,如果想要删除目录需要使用选项
linux中没有回收站,rm会永久删除文件
删除文件的时候尽量使用rm -f
如果文件或者目录不存在不会报错
系统文件查看命令cat
# 语法
cat [OPTION]... [FILE]...
# 选项
-n:查看文件并显示文件的行数,空行也编号
-E:以$标注每行结尾
-T:以^I标注文件中的tab键
-A:相当于-v -E -T
# 其他用法
tac file # 把文件反过来看
cat >>xx.txt <<EOF # 向文件中输入内容,EOF表示输入EOF就结尾,也可以是其他字母
结语
文章首发于微信公众号程序媛小庄,同步于掘金。
码字不易,转载请说明出处,走过路过的小伙伴们伸出可爱的小指头点个赞再走吧(╹▽╹)
今天的文章Linux基础 – Linux系统目录结构分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/13716.html