一、Linux命令概述
1. 命令解释器
shell命令解释器负责接收用户的命令进行解释,将解释结果(要执行的命令)传递给系统内核,完成命令对应的事项,并通过屏幕反馈给终端
2. 命令的分类
- 内部命令:集成于shell解释器程序内部的指令,无需从硬盘中读取,执行效率更高
- 外部命令:对应了系统中的每一个文件,属于shell解释器之外的命令。Linux系统必须知道外部命令的对应文件位置,才能由shell加载;
- 验证命令是内部还是外部命令:
- enable命令,执行后若无输出则为内部命令,输出not shell则是外部命令
- which 外部命令,用于查看外部命令在系统中存放的位置
3. 命令的通用格式
-
命令名 [选项] [参数]
。中括号表示可加可不加- 选项:调节命令的具体功能,有三种格式
-
-选项
,短格式 -
--选项
长格式,适用于选项为多个字符,例如--help -选项 -选项
-
- 参数:命令字的处理对象,通常为文件名、目录名、用户名等
- 选项:调节命令的具体功能,有三种格式
4. 命令中的快捷键
- ctrl+l,清除屏幕内容
- ctrl+c,停止当前命令的编写
- ctrl+alt+fn,图形界面切换字符界面
- alt+fn,字符界面切换字符界面
- alt+f7,字符界面切换图形界面或f1
5. 命令的帮助
首我们要此命令是内部命令还是外部命令,再获得帮助
- 内部命令的帮助:
help 内部命令
- 外部命令的帮助:
外部命令 --help
- 命令的帮助手册:
man 命令
,内外都可以。交互式中ctrl+F/B翻页,q退出,/关键字进行查找内容 - 软件安装时自带的帮助:
/usr/share/doc/软件名
二、对文件的命令
1. 查找:
有cd、pwd、ls、du、which、find、cat、more、less、head、tail、grep、wc、find
等命令
- cd介绍:切换当前目录至指定目录
-
cd 目录名称
,切换到当前目录下的一个子目录 -
cd /
,切换到根目录
-
- pwd介绍:打印当前工作目录的完整路径名
- ls介绍:ls全称list,作用是列出有关文件的信息(默认为当前目录)。也可以列出其他目录或者路径下的文件信息或者目录信息
-
ls或者ls 目录位置
,显示目录中的内容 -
ls -a 目录位置
,列出指定目录下的所有文件,包括隐藏文件 -
ls -ld 文件或目录位置
,以长格式显示目录或文件本身的属性,而不是目录下的子文件的属性 -
ls -lh 文件位置
,以长格式并且以k或者M显示文件的大小
-
- which介绍:查找外部命令的存放位置
-
which 外部命令
,注意只能查找外部命令的存放位置
-
- find介绍:根据条件查找文件位置
-
find 查找范围目录 查找类型 查找条件
- 查找范围目录:查找文件的范围,/代表根目录
- 查找类型:可根据文件名-name、文件类型-typ、文件大小-size等类型进行查找
- 查找条件:根据查找类型拟定适当的查找条件
- 如
find / -name fstab
,就是在根目录进行查找文件名为fstab的文件
-
- cat简介:查看文件内容。也可以查看多个文件的内容,中间用空格隔开
- 如
cat /etc/fstab /proc/version
- 如
- more简介:全屏分页查看文件内容,会输出查看的百分比(适合较长的文件--日志文件),交互式界面中使用enter进行逐行查看;空格向下翻屏;b键向上翻屏;q退出
- head简介:查看文件开头的部分内容
-
head -n 文件位置
,n代表阿拉伯数字,代表想查看的行数,默认为十行
-
- tail简介:查看文件结尾的部分内容
-
tail -n 文件位置
,n代表阿拉伯数字,代表想查看的行数,默认为十行 -
tail -f 文件位置
,监控文件的变化,ctrl+c终止
-
- wc简介:统计文本的内容,不指定选项时,默认为行数、单词数、字节数
-
wc -c 文件位置
,统计文件中的字节数 -
wc -l 文件位置
,统计文件中的行数 -
wc -w 文件位置
,统计文件中的单词数
-
- grep简介:过滤文件内容并显示包含指定字符串的行
-
grep 关键字 文件位置
,查找文件中包含关键字的行 -
grep -i 关键字 文件位置
,忽略关键字的大小写进行查找 -
grep -v 关键字 文件位置
,输出排除关键字以外的行 - 关键字的语法:$代表空行、word$代表以word结尾的行、word代表以word开头的行
-
2. 创建
有mkdir、touch、ln、cp
等命令
-
mkdir
简介:用于创建新的目录-
mkdir 目录名
,在当前目录创建子目录 -
mkdir -p
目录名/目录名/ ##一次性创建多层目录
-
- touch简介:用于创建新的空文件
-
touch .文件名
##创建隐藏文件 -
如touch {1..9}.txt
##创建1.txt...9.txt 九个文件
-
- ln简介:为文件或目录创建链接文件,注意源文件和目标文件必须都为绝对路径
-
ln -s 源文件 目标链接文件
,创建软链接,- 特点:可以跨文件系统,但是源文件失效,软链接失效
-
ln 源文件 目标连接文件
##创建硬链接,特点:不可以跨文件系统,但是源文件失效,硬链接不失效
-
- cp简介:复制文件或目录
-
cp 选项 源文件或目录 目标文件或目录
- 选项:
-r
,复制目录时,表示子文件子目录都会被递归复制 -
-f
,复制同名文件或者目录时,不进行提醒,直接强制复制
- 选项:
- 常用:
cp -rf 源文件或源目录 目标目录或文件
,若源是目录或者源文件大于一个,那么目标必须是目 录
-
3. 删除
有rm、mv
等命令
-
rm简介:用于删除指定的文件或目录
-
rm 选项 文件或目录
- 选项:
-r
,删除目录时用到,表示递归删除整个目录树。-f
,删除时不进行提醒,强制删除
- 选项:
- 常用:
rm -rf 文件或者目录
-
-
mv简介:为指定的文件或目录移动存储位置
mv 需要移动的文件或者目录 目标目录
- 注意事项:
- 在同一级目录下,可以完成改名
- 移动时,目标必须是目录
- 移动并改名、覆盖(一定慎重并且名称要相同)
4. 修改
创建或修改文件:vi
- 工作模式:
- 命令模式:启动
vi
编辑器默认进入的第一个模式。在此模式中完成光标的移动、查找、删除、复制、粘贴等操作,在此模式下,a、i、o
三个键都可以切换到输入模式。按:
键切换到末行模式; - 输入模式:该模式中的主要操作就是写入内容。可以对文本进行添加修改、删除操作,在此模式下,最后一行会出现
INSERT
的内容,在此模式按esc
键退出到命令模式 - 末行模式:该模式用于设置
vi
编辑环境,保存文件,退出编辑器等操作。在此模式下,最后一行会出现:
的内容,按esc
可退出到命令模式
- 命令模式:启动
- 基本用法
-
- vi+文件名
- 找到要更改的部分
- 按
i
进行编辑(从命令模式到输入模式) - 按
esc
键退出编辑(从输入模式到命令模式) -
:wq
保存退出 -
:q!
不保存退出(从命令模式到末行模式)
-
- 编辑文本快捷键:
- 在光标所在行的下一行添加内容
o:
- 在光标所在行的上一行添加内容
O:
- 在光标所在行的下一行添加内容
三、文件的备份
1. gzip命令
- 压缩和解压缩工具,压缩文件的扩展名为.gz,选项-9代表高压缩;
- 语法:
- 压缩文件为.gz格式文件:
gzip -9 文件名
- 解压缩文件:
gzip -d 文件名.gz
- 压缩文件为.gz格式文件:
2. bzip2命令
- 压缩和解压缩工具,压缩文件的扩展名为.bz2,选项-9代表高压缩
- 语法:
- 压缩文件为.bz2格式文件:bzip2 -9 文件名
- 解压缩文件:bzip2 -d 文件名.bz2
无论是gzip命令还是bzip2命令,压缩文件后,源文件将被删除,解压缩后,源文件恢复
3. tar命令
-
归档文件--将文件进行归档时,文件也会被压缩(调用gzip或者bzip2工具),归档时,源文件是不受影响的
-
语法:
- 归档命令:
tar 选项 归档及压缩文件名 需要归档的文件或目录
- 解压文件:
tar 选项 归档及压缩文件名 -C 目标目录
- 归档命令:
-
选项:
-z 使用gzip工具进行压缩解压,文件名为.tar.gz
-j 使用bzip2工具进行压缩解压,文件名为.tar.bz2
-J 使用xz工具进行压缩解压,文件名为.tar.xz
-c 压缩文件
-C 解压文件到目标目录
-f 表示使用归档文件,压缩解压都需要指定
-v 输出详细信息
-x 解压文件
-t 列表查看包内的文件(查看时用到)
-p 小写p,打包时保留文件或目录的权限
注:压缩率:xz>bzip2>gzip
- 常用语法
归档:
tar zcvf 文件.tar.gz 需要归档的文件或目录 ##调用gzip工具进行归档
tar jcvf 文件.tar.bz2 需要归档的文件或目录 ##调用bzip2工具进行归档
tar Jcvf 文件.tar.xz 需要归档的文件或目录 ##调用xz工具进行归档
解压:
tar zxvf 文件.tar.gz -C 解压释放目录 ##调用gzip工具进行解压
tar jxvf 文件.tar.bz2 -C 解压释放目录 ##调用bzip2工具进行解压
tar Jxvf 文件.tar.xz -C 解压释放目录 ##调用xz工具进行解压
只查看不解压:
tar ztf 文件.tar.gz
tar jtf 文件.tar.bz2
tar Jtf 文件.tar.xz
四、扩展
1. linux中目录结构:
/boot/:存放系统启动文件,内核文件等
/etc/:存放系统服务配置文件
/proc/:存放系统的硬件状态的信息配置文件
/dev/:存档硬件的映射文件目录
/home/:所有普通用户的默认家目录
/root/:超级管理员的默认家目录
/var/:存放系统中动态变化的文件,如日志等
/usr/:存放其他用户的文件目录,通常为程序文件等
/bin/:存放所有用户都可执行的并经常执行的命令文件
/sbin/:存放系统中基本的管理命令,通常管理员才有权限执行
/tmp/:系统中的临时文件存放目录
2. 特殊符号
>与<:> 重定向输出--表示前一个命令的输出结果到后边的文件中;
< 重定向输入--表示后边文件的内容作为前一个命令的参数
>>:重定向追加--在重定向输出的基础上,不覆盖原有文件内容
|:前一个命令的输出作为后一个命令的输入
*:通配符,代表任意字符,不限制位数
?:问号,代表任意字符,只代表1位