一、简单的Shell命令
Linux命令又称Shell命令。命令中输入的第一个字为命令的名字,第二个字是命令的选项或参数,命令中的每个字要用空格隔开。具体格式如下:
命令名 [选项] [参数]
选项是一种标志,常用来扩展命令特性或功能,在语法上可有可无。通常包含一个或多个英文字母,字母前有一个减号(“-”用来区别选项和参数)。例如ls命令,没有选项则只列出文件名字,不显示其他更多信息。而ls -l命令可列出包含文件名、文件大小、权限等更多信息的文件。
下面介绍一些简单的Shell命令,小括号中的为命令全称。
1.pwd (print work directory)
功能:显示当前目录的绝对路径。实际操作中,要经常使用该命令明确当前的操作目录,以免造成混乱。
2.cd [目录] (charge directory)
功能:切换到指定目录。
2.1 切换到指定的目录:cd /目录名
2.2切换到用户家目录:cd命令不带任何参数表示切换到当前用户的家目录:cd
2.3返回上一级目录:cd ..
2.4返回上一个目录:cd -
3.ls[选项][文件|目录] (list)
功能:显示指定目录下的内容。包括该目录下的文件和子目录,不指定目录时,则显示当前目录中的文件和子目录信息。
主要选项说明有:
-a 显示所有的文件和子目录,包括隐藏文件和隐藏子目录。Linux中的隐藏文件和隐藏子目录以“.”开头。
-l 显示文件和子目录的详细信息,此处的"l"代表long。
-d 参数应该是目录,只显示目录的信息,而不显示其中所包含的文件及子目录的信息。该选项通常与“- l”一起使用,后接目录名,以长格式显示目录信息。
-R 不仅显示指定目录下得文件和子目录信息,而且递归显示各子目录下的文件和子目录信息。
-t 按照时间顺序显示文件,新的文件显示在前面。ls命令默认按照字母顺序排列。
4.who
功能:显示当前已登录到系统的所有用户名及其终端名和登录到系统的时间。
5.clear
功能:清楚当前终端的屏幕内容,Ctrl+L也可以。
6.获取帮助可用的相关命令及其格式为whatis 命令名,命令名--help,man 命令名,info 命令名,/usr/share/doc
二、bash变量
变量设置格式为“变量名=值”。
常用的环境变量如下图:
三、通配符
* 代表任意长度的字符串 ,不能与“.”开头的文件名(隐藏文件)相匹配。例如,“*”不能匹配名为“.file”的文件,必须使用“.*”才能匹配到类似“.file”这样的文件。
? 代表任意一个字符。
[ ]、-、! [ ]用来指定字符范围,范围可以用直接的字符组成,也可以由起始字符,“-”和终止字符组成。如果使用“!”,表示不再此范围的其他字符。
ls *.jpg 列出所有JPG图片文件
ls a? 列出首字母是a,文件名只有两个字符的所有文件
ls [abc]* 列出首字母是a、b、c的所有文件
ls [!abc]* 列出首字母不是a、b、c的所有文件
ls [a-z]* 列出首字母是a到z的所有文件
四、别名
1.查看别名 alias
2.设置别名 alias 别名=‘Shell命令名’
3.取消别名 unalias 别名
五、去除特殊符号意义
Linux系统某些符号具有特殊的意思,如!表示去历史记录,$表示取变量的值,”(反引号)表示取命令的执行结果等。
要去除这些特殊符号的意义,有以下三种方法:
1.反斜杠(\)可以将下一个字符按字面处理。
2.单引号(‘’)使任何特殊字符都不转义,原样输出。
3.双引号(“”)只有以下四种情况下转义:
(1)$——取变量的值;
(2)”(反引号)——命令替换;
(3)\——单个字符禁止;
(4)!——历史记录替换。
六、文件管理
1.复制文件或目录
cp [选项] 源文件或源目录 目标文件或目标目录
选项的相关说明:
-b 若存在同名文件,则在覆盖之前备份原来的文件
-f 强制覆盖同名文件
-r或-R 按递归方式,保留原目录结构复制文件
-p 备份权限(保留权限、拥有人、时间戳)
-d 只复制快捷方式
-a 包含-p,-r,-d
原来目录下有test1,test2,后来将test1复制为test2,因test2已存在,所以备份成test2~
备份目录时选项要用-r或-R,复制文件时,目标存在则覆盖,目标不存在则新建。
2.移动或重命名文件或目录
mv [选项] 源文件或源目录 目标文件或目标目录
选项有-b和-f,使用方式与cp相同。
3.创建空文件或更新文件的时间戳
touch [选项] 文件
-a 更改文件的访问时间,a表示access
-m 更改文件的修改时间,m表示modify
不带命令选项,则为创建一个空文件。
4.创建目录
mkdir [选项] 目录
-m 访问权限 创建目录的同时设置目录的访问权限
-p 一次性创建多级目录 如:mkdir -p first/second
5.删除文件或目录
rm [选项] 文件或目录
-f 强制删除,不需要确认。f即为force
-r或-R 按递归方式删除目录
6.删除一个或多个空目录
rmdir [选项] 目录
-p 递归删除目录,当子目录删除后其父目录为空时,也一同被删除