Linux 目录 :万物皆文件,linux系统只有文件概念\ 命令严格区分大小写
在 linux 中根目录的子目录结构相对是固定的 (名字固定), 不同的目录功能是也是固定的
对于用户自己的文件,一般都是存放到自己的家目录中,也就是
/home/用户名
路径指定方式:相对路径 、 绝对路径
相对路径: 相对于当前文件的路径
./: 代表目前所在的目录
。。/: 代表当前目录的上一层目录
绝对路径: 从系统磁盘起始节点开始描述的路径
Linux:起始节点为根目录,比如: /root/luffy/get/onepiece
在 Linux 终端中如果想要进行工作路径的切换,需要使用 cd 命令。在进行目录的切换的时候, 我们可以使用相对路径也可以使用绝对路径。
$ cd 目录名
目录名: 使用相对路径 / 绝对路径都可以,该路径必须是一个有效路径
特殊的目录:
…: 表示当前目录的上一级目录,使用 cd … 或者 cd …/ 都可以
. : 表示当前目录,使用 . 或者./ 都可以,cd . 不会切换目录
$ cd # 方式1
$ cd ~ # 方式2
$ cd /home/用户名 # 方式3
# 频繁在两个目录之间切换
$ cd -
ls 就是 list, 打印指定的文件信息,如果是目录,显示对应目录中有哪些子文件
$ ls [args] # 查看当前目录
$ ls [args] 目录名 # 查看指定目录
$ ls [args] 文件名 # 查看某个文件的信息
小白:直接使用 ls 或 ll
# 查看root家目录下所有非隐藏文件
[root@VM-8-14-centos ~]# ls
ace luffy
# 查看root家目录下所有文件 (隐藏 + 非隐藏)
[root@VM-8-14-centos ~]# ls -a
. ace .bash_logout .bashrc .config .lesshst .pip .pydistutils.cfg
.. .bash_history .bash_profile .cache .cshrc luffy .pki .ssh .viminfo
起始很简单只需要在文件名前边加一个点 (.) 文件就具有隐藏属性了, 例如: .demo, .a.txt
显示文件详细信息
[^]: 给 ls 添加 -l 参数(就是 list 的意思)我们就可以看到文件的详细信息
# 显示文件的详细信息
robin@OS:~$ ls -l
total 204
-rw-rw-r-- 1 robin robin 268 Mar 22 17:32 a.c
drwxrwxr-x 2 robin robin 4096 Aug 4 2019 config
-rw-r--r-- 1 robin robin 129487 Dec 25 11:28 english.txt
drwxrwxr-x 4 robin robin 4096 Jan 15 17:48 libevent
drwxrwxr-x 17 robin robin 4096 Apr 13 22:42 Linux
drwxrwxr-x 8 robin robin 4096 Feb 5 16:57 luffy
-rw-r--r-- 1 robin robin 2223 Mar 2 14:39 main.cpp
-rw-rw-r-- 1 robin robin 2167 Dec 1 22:41 mysql_test.c
drwxrwxr-x 9 robin robin 4096 Mar 26 19:19 network
-rw-r--r-- 1 robin robin 1406 Mar 2 20:18 occi.cpp
# 文件详细信息介绍
d rwx rwx r-x 5 robin robin 4096 Jan 13 17:35 udp
| | | | | | | | | |
文件 文件所 文件所 其他人 硬链接 文件 文件 文件大小 文件修改时间 文件名
类型 有者权限 属组权限 权限 计数 所有者 所属组
Linux有三类用户 : 文件所有者 、 文件所属组用户 、 其他人
对同一文件分别对不同用户限制不同操作权限。
( 假如你写了一个项目书 ,你是文件所有者 ,你的同事是文件所属组 , 其他公司的人是其他人)
文件权限一共有四种: 读权限 r 、 写权限 w 、 执行权限 x、 无权限 -
- rwx rw- r-- 1 robin robin 2218 Dec 2 17:02 app
| | | |
文件类型 /文件所有 /文件所属 /其他人权限
者权限 组权限
小节:
可读、可写、可执行
可读、可写
可读
创建命令
//创建单层文件夹
mkdir 文件目录名
//创建多层目录 添加 -p
mkdir a/b/c/d -p
删除命令
rmdir 目录名 //此命令少用
// 如果删除的目录为多层结构 需要添加 -r 表示迭代
rm 目录名 -r
rm 目录名 -i 删除时给提示
rm 目录名 -f 强制删除
小节: 删除操作尽量使用 rm 命令 ,删除多层目录添加 -r , rmdir有点垃圾
拷贝命令 cp
拷贝文件 : 如文件不存在及创建新文件 / 文件存在及覆盖
cp 拷贝的文件 获得的文件
拷贝目录: 如目录不存在及创建新目录 / 目录被拷贝新目录
cp 目录A 目录B -r
cp 目录A/hello.cpp 目录B #拷贝A中hello.cpp 到B中
cp 目录A/* 目录B #拷贝A中所有文件 到B中
移动命令 mv
mv命令不仅可以移动文件 ,也能给文件改名
文件/目录移动
mv A文件或目录 B目录 #B目录必须存在
文件/目录改名
#A文件或目录 ,B原本不存在
mv A B #运行后A被删除 只存在B
链接分为:软链接 、 硬链接
简单理解 :(常用)软链接 类似快捷方式 、 硬链接 为文件的别名,磁盘中同一地址
软链接
ln -s 源文件路径 软链接文件的名字(可带路径)
# 给 onepiece.txt 创建软连接, 放到子目录 get 中
[root@VM-8-14-centos ~/luffy]# ln -s /root/luffy/onepiece.txt get/link.lnk
注意: 命令中的源文件建议使用绝对路劲
,保障创建出的软链接在任意目录中移动都可访问到链接的源文件
硬链接
ln 源文件路径 硬链接文件的名字(可带路径)
# 创建硬链接文件, 放到子目录中
[root@VM-8-14-centos ~/luffy]# ln onepiece.txt get/link.txt
``
[root@VM-8-14-centos ~/luffy]# ln -s /root/luffy/onepiece.txt get/link.lnk
注意 命令中的源文件建议使用绝对路劲
,保障创建出的软链接在任意目录中移动都可访问到链接的源文件
推荐大丙老师