1.命令分类
内部命令:被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。
外部命令:外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个 新的进程即被创建同时命令被执行。比如说,当我们执行“cat”(通常被保存在/usr/bin目录下)命令时,然后/usr/bin/cat被执行
PS:查看一个命令是内部还是外部命令,使用type可以
type [命令名称]
2.查看文件命令
ls
显示当前目录下的文件和目录 白色的是普通文件,蓝色的是目录,绿色是可执行文件等;
ls -l firename
可使用简写 ll firename
显示文件名是firename的文件,7个位置分别代表:文件属性、文件数、拥有者、所属的group、文件大小、建档日期、文件名
cat filename 显示文件的内容;
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
more [选项] [参数]
-<数字>:指定每屏显示的行数
+<数字>:从指定数字的行开始显示
按Space键:显示文本的下一屏内容
按Enter键:只显示文本的下一行内容
按H键:显示帮助屏,该屏上有相关的帮助信息
按B键:显示上一屏内容
按Q键:退出more命令
less [选项] [参数]
-l:搜索时忽略大小写的差异
-N:每一行行首显示行号
-s:将连续多个空行压缩成一行显示
-S:在单行显示较长的内容,而不换行显示
3.创建文件或目录
方法1:touch filename 创建文件filename文件
方法2:vim filename
方法3:mkdir [-mp] [目录名称]
创建目录
-m:参数指定创建目录的权限
-p:参数可以创建不存在的上级目录:比如创建/test1/test2,test1不存在时,可以一起创建
修改文件和目录
mv 源文件 目标文件
-b:当文件存在时,覆盖前,为其创建一个备份
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀,一般默认后缀~
复制文件和目录
cp 源文件 目标文件
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-b:覆盖已存在的文件目标前将目标文件备份
删除文件和目录
rm filename 删除文件
rm -r dirname 删除一个目录中所有文件和目录本身
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录
-f:强制删除文件或目录
-i:删除已有文件或目录之前先询问用户
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理
rmdir dirname 删除空目录
rmdir dir1 dir2 删除多个空目录列表,使用空格隔开
-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除