文件路径定位
1.绝对路径
完整的路径,以'/'开头的路径,都是绝对路径
2.相对路径
不以'/'开头的路径
. :当前目录
.. :上级目录
#相对路径
[root@oldboyedu usr]# cd ./local/
[root@oldboyedu /etc/sysconfig]# cd ../ssh/
[root@oldboyedu /etc/ssh]# cd ../../bin
#绝对路径
[zls@oldboyedu local]$ cd ~/oldboy/ # cd /root/oldboy
#绝对路径
[root@db04 /]# ls /home/oldboy/
[root@db04 /]# ls /root/
[root@db04 /]# ls ~/file1
[root@db04 /]# ls ~/zls/file1
#相对路径
[root@db04 /]# ls abc
[root@db04 /]# ls ../abc
[root@db04 /]# ls abc/file1
切换目录 cd命令
cd cd [目录名] cd - : 返回上一次进入的目录 cd ~ :进入当前用户家目录 cd . :进入当前目录 cd .. :返回上一级目录 cd :进入当前用户的家目录 cd ~/oldboy
创建目录 mkdir命令
语法: mkdir [选项] 目录名 #make directory 注意:不加任何选项的情况下,只能在已有的目录下创建目录 建议:创建目录时尽量加上-p选项(就算存在该目录也不会覆盖) -m, 创建目录时,指定权限(很少用,几乎不用) -p, 如果目录已存在则不报错,递归创建 -v, 打印出创建过程信息 权限: r:read 读 w:write 写 x:exec 执行 目录权限:755 文件权限:644 mkdir -m 644 /dir111 # 创建644权限的目录 /oldboy/oldboy1/你的名字 #创建多个目录 [root@oldboyedu ~]# mkdir /dir1 /dir2 /dir3 [root@oldboyedu ~]# mkdir /dir{4..10} # 创建dir4到10多个文件夹 [root@oldboyedu ~]# mkdir /home/zls/{dir1,dir2,dir3} # 或者是 /dir{1,2,3} [root@oldboyedu ~]# mkdir /home/zls/dir{1..3}/oldboy1 -pv mkdir: created directory ‘/home/zls/dir1’ mkdir: created directory ‘/home/zls/dir1/oldboy1’ mkdir: created directory ‘/home/zls/dir2’ mkdir: created directory ‘/home/zls/dir2/oldboy1’ mkdir: created directory ‘/home/zls/dir3’ mkdir: created directory ‘/home/zls/dir3/oldboy1’ mkdir /home/{zls,abc/{1..3}/zls} /abc -pv # 创建/home/zls, /home/abc/1..., /abc #报错 [root@oldboyedu ~]# mkdir /dir4 mkdir: cannot(不能) create(创建) directory(目录) ‘/dir4’: File(文件) exists(存在) [root@oldboyedu ~]# mkdir /dir11/oldboy #没有这个文件 或者 目录 mkdir: cannot create directory ‘/dir11/oldboy’: No such file or directory
创建文件 touch命令
touch 语法: touch [选项]... 文件名... [root@oldboyedu ~]# touch abc [root@oldboyedu ~]# touch /oldboyedu1/abc touch: cannot touch ‘/oldboyedu1/abc’: No such file or directory 1.创建的文件,必须在已存在的目录下 2.文件已存在的情况下,不会报错,会修改文件的创建时间 3.源文件内容不会被覆盖 4.对目录也可以操作,不会报错,修改创建时间(Linux中,一切皆文件) [root@oldboyedu ~]# touch 123 456 789 [root@oldboyedu ~]# touch def hig /usr/local/src/abc [root@oldboyedu ~]# touch /usr/local/src/{abc,def,hig}
以树状形式显示目录结构tree
tree -L:指定层级(level) -d:只查看目录 如果没有需要安装:yum install tree -y [root@oldboyedu ~]# tree . ├── 123 ├── 456 ├── 789 ├── abc ├── anaconda-ks.cfg ├── check_student.sh ├── def ├── hig ├── oldboy ├── student.txt └── zls └── zls1 └── zls2 [root@oldboyedu ~]# tree -L 2 /usr/local/ # 看两层结构 /usr/local/ ├── abc ├── bin ├── etc ├── games ├── include ├── lib ├── lib64 ├── libexec ├── sbin ├── share │ ├── applications │ ├── info │ └── man └── src ├── abc ├── def ├── hig └── zls123 [root@oldboyedu ~]# tree -L 2 -d /usr/local/ # -d只显示目录
复制cp
cp:复制(copy) -r:递归拷贝,拷贝目录 -p:保持源文件的属性(例如时间属性) -a:拷贝目录并保持属性,递归复制(代替-rp参数) -v:显示复制的过程 -t:交换目标和源文件的位置 语法: cp [OPTION]... 源文件 目标 cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... [root@oldboyedu ~]# cp oldboy /usr/ cp: omitting directory ‘oldboy’ [root@oldboyedu ~]# cp -v 123 456 789 /opt/ # 把123,456,789拷贝到/opt/文件夹中 ‘123’ -> ‘/opt/123’ ‘456’ -> ‘/opt/456’ ‘789’ -> ‘/opt/789’ 1.cp可以修改名字,指定的目录不存在,即改名 cp /tmp/a1/{abc,ccc} # 等于 cp /tmp/a1/abc /tmp/a1/ccc cp /tmp/a1/abc{,.txt} # 等于 cp /tmp/a1/{abc,abc.txt},复制一个abc.txt文件 cp /tmp/a1/abc{,-txt} # 等于 cp /tmp/a1/{abc,abc-txt},复制一个abc-txt文件