指令是什么
在了解指令前要先明确一点,Linux中的指令本质上都是程序,在命令行中输入命令回车之后,其实是在执行该程序的功能。而命令行参数即给命令传参,让程序执行不同的功能。
常见指令缩写
Linux中的基本指令都是英文字母的缩写,可以通过记缩写对应的单词来记忆对应指令的含义。
一些常见指令对应的单词:
- ls (list),罗列文件信息
- pwd( print working directory),打印当前工作目录
- cd( change dierctory),改变工作目录
- mkdir(make directory),创建目录
- rm(remove),删除目录或文件
- man(manual),指令参考手册
- cp(copy),拷贝
- mv(move),移动或者重命名
- cal(calender),查看日历
这些指令的释义都可以通过"man"指令在Linux操作系统中进行查询。
ls指令
语法:ls[选项] [目录或文件]
功能:罗列该目录下所有子目录或者文件
其中选项包含下面这些常用的:
- -a 显示所有文件,包括隐藏文件
- -l 显示文件详细信息(可以用ll替代)
- -t 显示时以时间排序
- -s 显示文件大小
- -R递归显示所有子目录下文件
- -lrt反向时间排序,修改时间最近的文件在最下面,可用于查看最近修改的文件
执行ls -lrt命令的结果:
这里需要注意的是,Linux中不以文件的后缀区分文件类型,而是以详细信息中的第一个字符区分,如上所写,“d"表示文件夹,”-"表示普通文件
pwd指令
语法:pwd
功能:显示用户当前所在目录
pwd命令较为简单,直接在命令行键入即可,执行结果:
显示了当前所在目录。
Linux中,"/“表示操作系统根目录,”…“代表上级目录,”."代表本级目录。
cd指令
语法:cd 目录名
功能:改变工作目录
常用:
-
cd ~:切换到家目录(等价于cd,~可以省略)
-
cd …:切换到上级目录
-
cd / :切换到根目录
-
cd [相对路径],从某一级开始计算,如:
切换到从当前级开始算起的test文件夹下的bb文件夹,是一个相对路径 -
cd [绝对路径],从根目录开始算起,如:
从根目录开始向下逐层递进。
Tips:
- 在输入指令时,可以使用“tab”键进行自动补全,能够提高效率。
- 当输入只有一级目录时,目录名后面得"/"可以省略。
mkdir指令
语法:mkdir [选项] 目录名
功能:创建新的目录
选项中加“-p” 可以递归创建多个层级的文件夹。
如图:
在当前文件夹下创建了"test"文件夹,并递归创建了"aa"、“bb”、“cc"三个文件夹:
而如果不加”/"进行分隔,而是以空格隔开,则会在当前目录平行创建多个文件及,如:
最终产生了四个在同一级别的文件夹。
rm 指令
语法:rm [选项] [目录或文件名]
功能:删除文件或目录
常用选项:
- -f 使文件属性为只读,即强制删除
- -i 删除目录时逐一询问是否删除其下的各个目录或者文件
- -r 删除目录及其下的所有文件,即递归删除,删除文件夹时需加上"-r"
有几个特殊的操作要注意使用:
rm ./* 表示从当前目录开始向下删除所有目录
rm /* :表示从根目录开始进行删除,谨慎使用,从根目录开始删除所有目录会导致Linux操作系统崩溃
另一个删除目录的指令时rmdir,他与rm的区别是rmdir只能删除空目录,rmdir -p,表示当删除子目录后若其父目录也为空,则连同父目录一起删除。
man指令
语法:man [选项] 命令名
功能:查找指令手册(共8个手册)
常用选项:
- -k 根据关键字搜索联机帮助,即若一个指令没有记完整,则可以通过该指令进行模糊查找
如:
通过man -k mkd 指令查找到与mkd三个字符相关的指令。 - num 即数字,指定在手册8章的哪一章查找
8章手册中,前三个要牢记
1 普通命令
2 系统调用,操作系统提供的函数,如open,write等(可以查到调用这些函数需要加什么头文件)
3 库函数,如printf等
cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或者目录,也可在拷贝时重命名
可以同时拷贝多个文件
常用选项:-r 递归处理 拷贝文件夹
如图:
将文件aa拷贝到上级目录并且重命名为bb。
mv指令
语法:mv [选项] 源文件或目录 目标文件或目录
功能:移动或者重命名
- 当第二个参数类型是文件名时(即不存在的目录),mv进行重命名,此时源文件(或者源目录名)只能由一个,即只能给一个文件重命名。
将目录重命名,如图:
- 当第二个参数类型时已存在的目录名称时,第一个参数可以是多个源文件(或者目录),即将多个文件移动到目标目录中
将3个文件同时拷贝到同一个目录下,如图:
echo 指令
语法:
echo “字符” > 文件(清空重定向)
echo “字符” >> 文件(追加重定向)
功能:重定向
如图:
向文件aa中清空重定向字符串"hello",可以理解为在aa文件中编辑了一个字符串。
cat指令
语法:cat [选项] [文件]
功能:查看目标文件内容
常用选项:
- -n 查看时输出行号
如图:
加上 -n 查看时会显示行号。
less指令
语法:less [参数] 文件
功能:查看文件内容,功能比cat和more更多
选项:
- -i 忽略搜索时的大小写
- -N 显示行号
进入less查看后:
- b 向前翻页
- f 向后翻页
- /字符串 向下搜索“字符串”功能
- ?字符串 向上搜索“字符串”功能
- n 重复前一个搜索
- N 反向重复前一个搜索
- q 退出
head指令
语法:head [选项] 文件
功能:显示文件开头的内容,默认10行
选项:
- -n(行数) 可以指定显示的行数
tail指令
语法:tail [选项] 文件
功能:显示文件末尾内容,默认10行
选项:
- -f 循环读取(可用于监测文件的改变) Ctrl +C 退出
- -n(行数) 可以指定显示的行数
date和cal
分别用于显示时间日期和查看日历,直接使用即可
如图:
find指令
语法:find pathname -options
功能:查找文件,并作对应处理
常用选项:-name 按照文件名查找文件
如图,分别从家目录和本级目录查找文件名为“aa”的文件:
此外,find还支持模糊查找,用*加部分文件名,如图:
grep指令
语法:grep [选项] 搜索字符串 文件
功能:在文件中搜索字符串,打印所有找到的行
常用选项:
- -i 忽略大小写
- -n 输出行号
- -v 反向搜索,显示没有搜索字符串的行
zip/unzip指令
语法:zip [选项] 压缩文件名.zip 目标文件或目录
功能:将文件或目录压缩成.zip格式
选项:
- -r 递归处理,即将目录和目录下的文件即子目录一并压缩,对于文件夹,要使用zip -r 进行递归处理
解压缩:unzip xxx.zip -d 路径
如图:
将test及其目录下的文件一并压缩成test.zip压缩文件。这里的.zip并不是代表文件类型的后缀,而是我们自己命的名,方便识别压缩文件。
tar指令
语法:
tar -zcvf 压缩后的文件名 待压缩文件
- -c 建立压缩文件
- -x 解开压缩文件
- -z 使用gzip压缩
- -j 使用bzip2压缩
- -v 压缩的过程中显示文件
- -f 使用文档名,后面紧跟压缩文件名称
两种压缩方式
-
gzip方式
压缩:tar -zcvf xxx.tar.gz 待压缩的文件或者文件夹
解压缩:tar -zxvf xxx.tar.gz
gzip方式压缩与解压缩,如图: -
bz2方式
压缩:tar -jcvf xxx.tar.gz 待压缩的文件或者文件夹
解压缩:tar -jxvf xxx.tar.gz
如图展示了gzip方式压缩与解压缩,bz2与gzip操作相同,只需将选项中的压缩方式"z"换成"j"即可。