一,目录操作
cd即Change Directory,目录切换
- “cd ”没有加任何路经表示回到当前用户主文件夹;(同“cd ~”)
- .代表当前目录,如“cd .”相当于目录没有发生切换;
- ..代表上一层目录,如需访问与a同级的b目录,可以先回退再进入b,则“cd ../b”;
- -代表前一个工作目录,“cd -”主要方便打开刚才打开的目录,而两切换间通常没有必然层级关系;
- ~代表“当前工作的用户”的主文件夹,如当前用户为jack,则“cd ~”则会进入到“/home/jack”下;而root用户的主文件夹路径为“/root”
- ~account代表进入到“account”用户的主文件夹下,如“cd ~mike”则会进入到“/home/mike”;(注意,”cd ~”和”cd ~account”都只是进入相应的文件夹中,而当前用户并未发生切换);
- 注意:所有目录下都会存在“.”和“..”这两个目录,代表此层和上层;
- Linux中,根目录“/”下也存在“.”和“..”两个目录,不过这两个目录指向的都是“/”自身;
pwd 即Print Working Directory,显示当前目录的完整路径
- 当目录连接链接时,pwd显示是连接路径,pwd -p显示实际路径;
mkdir即make Directory,新建目录(注意不是新建文件)
- “mkdir newDir”;
- “mkdir -p dir/dir1/dir2”,mkdir不带-p参数时,不能一次完成多级目录的创建,-p参数允许多级目录递归创建起来;
- “mkdir -m 711 newDir”,mkdir不带-m参数时,目录权限为系统默认权限,-m允许对新目录自设定权限;
rmdir,删除空目录
- rmdir只能删除空目录,不能用来删除具体文件;
- rmdir只能删除空目录,如果目录下仍存在目录或文件,则删除不成功;
- rmdir /test/test1/test2 ,若test2目录下为空,则可通过这种将路径写到底的方式删除test2,注意这种方位只能删除test2,而test2的上级目录都不受影响;
- rmdir -p /test/test1/test2 ,能连同 删除test,test1,test2,但前提是这条路径链中没有其他文件或目录(注意不能有其他目录和文件!!!),即test中不能有除了test1外不能有其他目录或文件,同理test1中也只能含test2;
- 综上,rmdir只能删除单个空目录,rmdir -p只能删除单链路径的所有目录;
- 对于有内容的目录则只能用“rm -r test”删除了;(rm test.txt 用来删除文件,不能输出目录;加入-r属性,才可删除目录即rm -r testDir);
二,执行文件路径的变量:$PATH
以ls命令为例,在执行ls命令时,由于ls命令的文件所在路径为/bin/ls,之所以在任何地方都能执行ls指令,是因为设置了环境变量PATH的原因,用“echo $PATH”显示有哪些路径被定义出来,如下:
root@WalleIT:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games从打印的路径中可以找到/bin,所以当使用ls指令时,系统会找到/bin/ls文件,从而执行ls操作;
- 当然若将ls复制到某路径,如“/home/test/”,则也可通过“/home/test/ls [-]”来实现ls的相关功能;
- 向PATH中添加变量,“PATH=”$PATH”:/路径”;
- 如果在PATH定义的目录中含有多个文件名相同的可执行文件,则先查到的同名命令先被执行;
三,文件与目录的管理
查看文件与目录 :ls
- ls -l 包含文件的属性和权限,如:
drwxrwxr-x 2 ethan ethanworld 4096 3月 28 16:11 myTest
- ls -a 全部文件,连同隐藏文件以及“.”和“..”,只显示目录或文件名,不显示具体权限属性;
- ls -d 仅列出目录本身,而不是列出目录内的文件数据;
- ls [-] test1 test2 ,ls可同时列出多个文件或目录的信息
- ls -l 包含文件的属性和权限,如:
复制命令cp
- cp -i srcFile dstFile, 若目标文件存在时,-i属性在覆盖时会先访问操作的进行;
- 默认条件下,cp的源文件与目的文件的权限是不同的,目的文件的所有者通常会是命令操作者本身;所以,对于某些特殊权限的文件,就不能直接以cp复制,而必须加上-a或者-p等可以完全复制文件权限的参数才行
- cp -p srcFile dstFile,连同文件的属性一起复制过去,而非使用默认属性;
- cp -r srcFile dstFile,递归持续复制,用于目录的复制行为;
- cp -s srcFile dstFile,软连接,复制成为符号链接文件(symbolic link),即“快捷方式”文件;
- cp -l srcFile dstFile,硬连接(hard link),创建硬连接的链接文件,而非复制文件本身;
- cp -u srcFile dstFile,若dstFile比srcFile旧,才会更新dstFile,即在目标文件与源文件有差异时才会复制,常用于“备份”的工作当中;
- cp -d srcLinkFile dstLinkFile,对于复制链接文件的情况下,在没有添加任何参数时,cp复制的是源文件,而不是链接文件的属性;若要复制链接文件的属性,则需要-d参数;
- cp srcf1 srcf2 dstDir,如果源文件有两个以上,则最后一个目的文件一定要是“目录”才行!
移除命令rm
- rm -i file ,-i属性即互动模式,在删除前会询问用户是否操作;
- rm -i fileName*, 通过通用符*的帮忙,将开头为fileName的文件名全部删除,星号表示0到无穷多个任意字符;
- \rm
- rm -r dir,递归删除目录,连同子目录也会删除,很危险的指令!
- rm ./-file-,删除带有“-”符号的文件时,系统会以为“-”后面接的时参数,从而产生误判,所以在带有“-”文件的前面加上“./”避免误判;
移动/更名命令mv
- mv -f src dst,focus强制的意思,如果目标文件已经存在,不会询问直接覆盖;
- mv -i src dst,若目标文件已经存在,就会询问是否覆盖;
- mv -u src dst,update的意思,测试新旧软件,看看是否需要移动;
- mv src1 src2 dstDir,如果有多个源文件或目录,则最后一个目标文件一定是“目录”;
- mv test1 test2,重命名,将test1更改命名为test2;注意,Linux中rename命令能对多个文件名同时重命名,而并非针对单一文件名的更改;