pwd, cd, ls, touch, mkdir, rmdir, rm
学习Shell命令最好的资料当然的是$man
, 绝对是查找命令的第一大杀器,但是我们有时只是想实现某个功能,甚至连这个命令是什么都不知道,又或者不想淹没在man里大段大段的英文里,大家可以参考Linux命令大全,里面很好将各个命令进行了分类,便于学习
pwd
查看当前工作目录,现在常见的发行版都会把当前的完整路径标记在"$"之前,所以也不怎么需要这个命令,但是如果你嫌前面的路径标记太长了,把路径改的很短了(sudo vi ~/.bashrc里改PS1的值),此时就需要这个命令显示当前目录的完整路径
cd
切换工作目录
Linux是多用户操作系统,每个用户(除了root)都有自己的home目录,用~表示,root有自己的文件夹/root
Linux中用./表示当前目录,用../表示当前目录的父目录,用于表示相对路径
ls
列出目录里的内容,缺省选项列出非隐藏内容的简要信息,缺省目录就列出当前目录的内容
$ls -F [目录]
#列出非隐藏内容的简要信息,并标识文件类型,/表示目录,@表示连接,普通文件无标识
$ls -l [目录]
#列出非隐藏内容的详细信息
$ls -a/-f [目录]
#列出所有内容的简要信息
$ls -al [目录]
#列出所有文件的详细信息
touch
$touch [-acdmt] filepath
#修改文件时间或创建新文件,可以接很多parameter,一次性创建很多文件
-a
#仅修改访问时间
-c
#仅修改文件的时间,若不存在则不创建新文件
-d
#后面可以接欲修改的日期而不用目前的日期,也可以使用-date=“日期或时间”
-t
#后面可以接欲修改的日期而不用目前的日期,格式为[YYMMDDhhmm]
cp
复制一个文件,缺省选项时复制文件
cp [文件] [新目录]
#将文件1复制到新目录
cp -r [目录] [新目录]
#-r表示recursion,将目录1连同其子目录一并复制到新目录
mv
移动/重命名一个文件/目录
mv [文件/目录] [新目录]
#将文件1移动到新目录
mv [文件1/目录1] [文件2/目录2]
#将文件1/目录1移动到文件2/目录2所在目录并重命名为文件2/目录2
mkdir
创建一个目录,缺省选项创建一个目录
$mkdir -p
#-p表示递归生成目录,就是指定路径中的所有目录,只要不存在,就会被创建
$mkdir -p my/{firstsub/grand,secondsub}
可以同时创建多个子目录
rmdir
删除一个空目录
$rm [-p] [目录]
#递归删除所有的空目录
rm
删除一个文件/目录
$rm [文件]
#删除一个文件
$rm -r [目录]
#递归删除一个目录及其里面的内容