回顾目录结构:
/:目录的定点
# 普通用户:bob
cd ~
cd /home/bob
cd
# 超级用户
cd ~
cd /root
cd
路径的定位:
以 /
或者 ~
开头的路径,就是绝对路径,在任何情况,在任何目录下,都可以执行
不以 /
或者 ~
开头的路径,就是相对路径,相对路径不是什么时候都可以执行
# '.'
当前所在的目录
# '..'
上一级目录
# ~
用户的家目录
# cd
cd /usr/local #绝对
cd ../local #相对
cd ./src #相对
cd #绝对
cd ~ #绝对
cd /root #绝对
cd ~/.ssh #绝对
cd /.ssh #绝对
cd .ssh #相对
cd - #返回上一次所在的路径
cd .. #回到上一级目录
cd . #在当前目录,呆着
pwd:显示当前所在的绝对路径,完整路径。
## 创建目录mkdir(make directory)
Usage: mkdir [OPTION]... DIRECTORY... # 看到语法中含有中括号的,可加可不加
Create the DIRECTORY(ies), if they do not already exist.
创建单个或多个目录如果他们不存在
-m:创建目录的时候,给权限
-p:递归创建目录,如果目录已经存在,则不创建并且 (不报错)
-v:显示创建目录的信息
mkdir /zls # 在/下创建zls目录
mkdir zls # 在当前目录下,创建zls目录
mkdir ../zls # 在当前目录的上一级目录中,创建zls目录
mkdir ./zls # 在当前目录下,创建zls目录
mkdir /opt/zls # 在/opt/目录下创建一个zls目录
mkdir -p /abc/123/efg/456
mkdir -pv /abc/123/efg/456
## 创建目录时 报错
mkdir: cannot create directory ‘/abc/bcd/efg’: No such file or directory
报错原因:/abc目录不存在,所以无法创建后面的目录
解决方法:mkdir -p /abc/bcd/efg
mkdir: cannot create directory ‘/usr/local/zls’: File exists
报错原因:不能创建/usr/local/zls这个目录,因为目录已经存在了
解决方法:1.不创建 2.mkdir -p /usr/local/zls
mkdir: cannot create directory ‘/root/zls’: Permission denied
报错原因:不能创建目录/root/zls,因为 权限不够
解决方法:需要授权(chmod chown 后面讲)
mkdir: cannot create directory ‘/root/a.txt/111’: Not a directory
报错原因:不能创建目录,因为 /root/a.txt 不是一个目录
解决方法:不要在普通文件下创建目录
# 创建多个目录
mkdir /a1 /tmp/a1 /usr/local/a1
mkdir a1 a2 a3 a4 a5 a6 a7
mkdir a{1,2,3}
mkdir a{10..100}
mkdir /tmp/xxx yyy
mkdir -p /zls/abc{1..10}/efg
mkdir -p /zls/abc1/efg /zls/abc2/efg ...
mkdir: created directory ‘/zls/abc1’
mkdir: created directory ‘/zls/abc1/efg’
mkdir: created directory ‘/zls/abc2’
mkdir: created directory ‘/zls/abc2/efg’
mkdir: created directory ‘/zls/abc3’
mkdir: created directory ‘/zls/abc3/efg’
mkdir: created directory ‘/zls/abc4’
mkdir: created directory ‘/zls/abc4/efg’
mkdir: created directory ‘/zls/abc5’
mkdir: created directory ‘/zls/abc5/efg’
mkdir: created directory ‘/zls/abc6’
mkdir: created directory ‘/zls/abc6/efg’
mkdir: created directory ‘/zls/abc7’
mkdir: created directory ‘/zls/abc7/efg’
mkdir: created directory ‘/zls/abc8’
mkdir: created directory ‘/zls/abc8/efg’
mkdir: created directory ‘/zls/abc9’
mkdir: created directory ‘/zls/abc9/efg’
mkdir: created directory ‘/zls/abc10’
mkdir: created directory ‘/zls/abc10/efg’
# 使用一条命令,创建出下面的所有目录
/home/zls
/home/zls/test1
/home/zls/test2
/home/oldboy
/home/oldboy/test1
/tmp/oldboy
/tmp/oldgirl
/root/test/test1
/root/test/test2
/root/abc
/backup
[root@zls ~]# mkdir /{home,tmp,root,backup}
[root@zls ~]# mkdir /{home/{zls,oldboy},root,tmp,backup}
[root@zls ~]# mkdir -p /{home/{zls,oldboy},root,tmp/{oldboy,oldgirl},backup}
[root@zls ~]# mkdir -p /{home/{zls,oldboy},root,tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -p /{home/{zls,oldboy},root/{test,abc}tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -p /{home/{zls/test{1,2,oldboy},root/{test,abc},tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -p /{home/{zls/test{1,2},oldboy},root/{test/test{1,2},abc},tmp/old{boy,girl},backup}
[root@zls ~]# mkdir -pv /{home/{zls/test{1,2},oldboy/test},root/{test/test{1,2},abc},tmp/old{boy,girl},backup}
Usage: touch [OPTION]... FILE...
1.创建,如果文件已存在,则修改它的`修改时间`和`访问时间`和`改变时间`,不存在则创建(不会报错)
2.必须创建在已经存在的目录中
3.创建相同文件,不会被覆盖
4.在Linux中,一切皆文件,没有后缀的区别,后缀是为了给人看的
## 创建文件的报错
touch: cannot touch ‘/qiandao/canglaoshi’: No such file or directory
报错原因:不在/qiandao下创建canglaoshi文件,因为/qiandao 不是文件或目录
解决方法:1.mkdir /qiandao 2.touch /qiandao/canglaoshi
touch /zls/a
touch /b
touch /tmp/c
touch {a..z}
touch 1{a..z}
touch ww /zls/a
touch /zls/a ww
tree
tree /opt
tree -L 1 /opt/
tree -dL 1 /opt/
-L:显示目录的层级(指定层级)
-d:List directories only 只显示目录,不显示文件
copy : 拷贝,复制
Usage: cp [OPTION]... SOURCE... DIRECTORY
cp ./wwwww /tmp
cp ./wwwww /tmp/zls
# 注意,上面的命令
1.如果zls存在,并且是一个目录,会将wwwww放到/tmp/zls目录下
2.如果zls不存在,那么会将wwwww放到/tmp目录下,并且改名叫zls
3.如果zls存在,并且是一个文件,会将wwwww放到/tmp目录下,并且覆盖原有的zls文件内容
今日重点:
原文:https://www.cnblogs.com/mdddm/p/12539894.html