3.Linux文件和目录的管理
1.目录的相关操作
命令 | 含义 |
cd | 变换目录(change directory) |
pwd | 显示当前目录 |
mkdir | 建立一个新的目录 |
rmdir | 删除一个空的目录 |
rm -rf | 删除,-r代表递归,比如删除文件夹下所有文件,-f ,强制删除 |
其他一些必备知识:
符号 | 含义 |
. | 代表当前目录 |
.. | 代表上一层目录 |
~ | 代表目前用户身份的家目录 |
~yuan | 代表yuan这个用户的家目录(yuan是一个账户名称) |
1.1.cd(变换目录)
例子:
现在我拥有一个普通的用户:yuangege,我们再做一些实验开看看:
cd-的用法:
1.2.创建一个目录(mkdir)和删除一个目录(rmdir)
使用命令:mkdir + 目录名,比如创建一个名为test01的目录:mkdir test01
进入test01的文件夹,再创建一个目录在创建三个文件夹,可以同时创建多个目录,分别命名为:test011,test012,test013:
现在试着直接回到root的家目录,然后使用命令rmdir删除test01的目录,提示目录非空不可以删除,也就是说rmdir只可以删除一个空的目录(因为在test01文件夹里面有三个文件夹),想要删除的话,只能进去到这个文件夹,把里面的test011,test012,test013全部删除,然后才可以删除test01:
如何创建多级目录,比如创建:test02/play这个文件夹,怎么做?
使用命令:mkdir -p test02/play
创建多级子目录,比如创建:test03目录,然后再test03的子目录有三个文件夹分别为,a,b,c怎么做?
使用命令:mkdir -p test03 / {a,b,c}
1.3.删除(rm)
递归强制删除,意思是把,需要把一个文件夹,和这个文件夹的子文件家强制删除,此命令很强悍,小心使用。
比如一次性删除test03文件夹,以及他的子文件夹;
使用命令:rm -rf test03/
2.执行路径变量:$PATH
在window也有一个一样的概念,就是外部命令搜索路径:
1.什么是环境变量:通常是指在操作系统当中,用来指定操作系统运行时所需要的参数。
2.Path环境变量:是操作系统外部命令搜索路径。
3.window+R,输入cmd 输入 ipconfig ,按下命令,显示计算机网卡配置
为什么会有这个结果?
其实是操作系统执行ipconfig.exe的可执行文件。
4.操作系统在哪里找这个ipconfig.exe 这个文件在电脑路径:C:\Windows\System32 中有ipconfig.exe的文件。如果改变ipconfig 的名字为iconfig ,再次在cmd里面输入ipconfig命令,提示不是内部或外部命令,也不是可运行的程序。
例如:系统环境变量
- %SystemRoot%\system32
- %SystemRoot%\System32\Wbem
- %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
- C:\Program Files\Java\jdk1.8.0_05\bin\
- 首先执行的时候系统会从第一个路径开始搜索有没有ipconfig.exe 这个名字的文件可执行命令,如果有则执行。
我们所执行的命令本身就是一个可执行程序,比如当我调用 ls 这个命令时,它首先会在执行这个命令的路径搜索这个命令,如果没有这个命令,系统就会在所设定的路径上寻找 ls 这个命令(也就是window的外部命令搜索路径),如果在路径没有这个命令就会显示错误。
接下来看看 系统的命令搜索路径有哪一些吧:
使用命令:echo $PATH
可以看到在root用户下,有这些路径。每个文件路径以冒号“:”分开,其实ls命令就是在/bin目录下,比如把下面的路径的/bin,路径的时候就会提示找不到命令:
接下来做个小实验:
编写一个简单的脚本来显示日期:
首先创建一个文件,命名为:showtime.sh,写一个简单的日期显示的命令
给showtime.sh这个脚本赋予可执行的权限
那现在试着运行一下这个脚本看可不可行?提示命令找不到
可以看一下当前路径,是在:/root
按照这个思路,如果我们想执行这个,showtime.sh这个脚本,怎么做呢?
方式一:直接到它命名的路径下执行,因为这个showtime.sh这个脚本是在root目录下的:
使用命令:./showtime.sh
方式二:把:/root这个路径添加到 $PATH路径下:
添加路径使用使用命令:PATH ="路径"
3.复制,删除移动命令(cp,rm,mv)
3.1.复制:cp,查看帮助文档,可以看到使用方法
使用方法:cp [选项]... 源文件(如:PATH1/aa) 目的(比如:PATH2/bb)
命令解释:如果PATH1和PATH2都是路径,aa,和bb都是一个文件夹,把PATH1下的aa文件夹下的档案,拷贝到PATH2下的bb文件夹下(如果bb不是一个文件夹或者是一个文件,或者根本不存在这个文件名,在PATH2会自动创建一个文件夹bb).
实例一:
3.2复制整个文件夹到指定目录:
使用命令:cp -rf /etc/ /mnt