一.初识Linux
- 操作系统:
操作计算机的系统性的软件集合(管理计算机上软件硬件的软件)
- 计算机:
一堆硬件的集合
- 软件:
告诉操作系统去操作硬件在什么时候处理什么数据
二.基础指令思维导图
二.终端
- 什么是终端:
简单的命令行界面,供我们敲击命令完成对系统的操作
- 命令的使用个格式
命令名称 [操作名称] [操作对象],有的时候不需要操作名称和操作对象。
三.对于目录的命令
- 目录
Windows下称为文件夹,linux下称为目录
- 家目录和根目录
-1.家目录:
操作系统为每个用户创建的受保护的目录,打开一个终端,默认处于当前用户的家目录下(在其主目录中),用/home 表示。
如果建立一个用户,用户名为##,那么在/home目录下就有一个对应的/home/##路径,用来存放用户的主目录。
2.根目录:linux文件系统的最上级目录,用/来表示,在系统运行时建立。
- ls指令
ls:默认浏览当前目录下(家目录)的文件信息
ls -a:默认浏览当前目录下的所有文件,包括隐藏文件(以.开头的文件)
ls -l:显示录下文件的详细信息
ls -la:显示目录下所有文件(包括隐藏文件)的详细信息
-
相对路径和绝对路径
1.相对路径:可以有多个,根据所在位置的不同
2.绝对路径:唯一的,以根目录为起点
eg:/***/*** -
当前目录和上一层目录
1.当前目录:用.表示
ls .:显示出来的是当前目录下的文件信息
eg:所在目录:/home/a/b/c 显示出来:c(若c中没有目录或文件,则不显示,若有,则显示c中的文件或信息)
2.ls 英文双句号:表示浏览上一层目录的文件信息 -
删除目录和创建目录
1.mkdir [目录名]:创建空目录
mkdir -p [目录名/目录名]:递归多层级创建目录,从外往内,哪层不存在就创建哪层(所创建目录一个一个往下递归)
eg: mkdir -p tmp/a (先创建 tmp 之后为a)
2.rmdir [目录名]:删除空目录(若要删除的目录里面有目录或文件,则不能进行删除)
rmdir -p [目录名/目录名]:递归多层级删除目录,从内往外,哪一层为空就删除哪一层
eg:rmdir -p tmp/a 先删除a 再删除 tmp -
复制和移动目录
1.cp:将文件拷贝到另外一个位置(默认只能拷贝普通文件)
cp -r:递归将一个目录及其内部文件拷贝到指定位置(拷贝目录)
eg: cp ./text.txt ./workspace/
2.mv:将文件或目录移动到另一个位置 -
进入某个目录
cd:改变当前所在路径,进入某个目录
cd ~:退出某个目录,返回默认目录(家目录)
四.对于文件的命令
- 查看文件信息
stat [文件名]:查看文件状态信息(包括文件的三个时间属性以及其他)
eg: stat /workspace/test.txt
- 创建文件和删除文件
1.touch [文件名]:如果文件不存在,则创建文件,若文件存在则刷新文件时间属性
touch -d [指定时间] [文件名]:用指定时间刷新文件的时间属性(刷新访问a和更改m时间)
eg:
touch -d 2018-08-20 12:00:00 aaa.txt
修改aaa.txt文件访问时间与更改时间为 2018-08-20 12:00:00
touch -a [文件名]:用当前系统时间刷新文件的访问时间
touch -m [文件名]:用当前系统时间刷新文件的更改时间
2.rm [文件名]:删除文件
rm -r:删除目录及其包含文件
rm -f:直接进行删除操作,不进行提示
rm -i:每次删除之前进行提示(回答:n/y)
eg: rm ./workspace/test.txt
rm :是否删除普通文件 “test.txt” ?
rm -ir:删除目录及其包含文件,并且进行提示
rm -rf:删除目录及其包含文件,没有提示
-
对文件内容进行操作
1.cat [文件名]:将文件内容打印出来
2.分页显示文件内容
(1)more [文件名]:
向下按行滚动:按回车键
向下按页滚动:按空格键
退出显示: 按q
(2) less [文件名]:
向下按行滚动:↓或使用回车
向下按页滚动:f键/使用空格
向上按行滚动:↑/b键
退出显示: 按q
/:向下匹配字符串 eg:/a 查找a
?:向上匹配字符串
3.head:默认显示文件的前10行内容
head -n :指定显示的前n行
eg: head -n 3 rise.txt 指定显示rise.txt文件的前三行
4.tail:默认显示文件的末尾10行内容
tail -n:指定显示的后n行
eg: tail -n 3 rise.txt 指定显示rise.txt文件的末尾三行 -
打印字符串
echo:打印字符串,将数据写入标准输出流–显示器设备文件
-
重定向符号
“>>” 、">":重定向符号,将数据流进行重定向–文件重定向
将要操作的数据不再写入原本的文件,而是写入到新的文件中
echo “abc”>>test.txt 把原本要写入到标准输出的文件数据 ,写入到test.txt文件中
“>>” :追加重定向,将数据重新定向到指定文件中,新数据会被追加到文件的尾部
“>”:清空重定向,将数据重新定向到指定的文件中,但在这之前会清空文件原有内容 -
管道符
管道符 |:连接两个命令,将第一个命令的输出结果作为第二个命令的输入数据,让第二个命令进行处理
五.压缩命令
压缩:将一个文件按照压缩算法,将文件数据有多变少
- zip/unzip
文件后缀名为.zip
zip [压缩后文件名] [要压缩的文件名] :另外创建文件,原文件保留
unzip [解压缩文件名] - gzip/gunzip
文件后缀名为.gz
gzip [要压缩的文件名]
其不需要指定压缩后压缩包名称,会自动在要压缩的文件名后面直接加上.gz作为压缩文件名称(原文件不存在)
gunzip [解压缩文件名] - bzip2/bunzip2
文件后缀名 bz2
bzip [要压缩的文件名]
其不需要指定压缩后压缩包名称,会自动在要压缩的文件名后面直接加上.bz2作为压缩文件名称(原文件不存在)
bunzip2 [解压缩文件名] - 打包
打包:将多个文件合成一个文件
tar:linux下使用最多的打包解包工具(在打包解包同时,进行压缩解压缩)
tar -c:打包
tar -x:解包
tar -z:打包或解包的同时进行gzip格式压缩解压缩
tar -j:打包或解包的同时进行bzip2格式压缩解压缩
tar -v:显示打包解包信息
tar -f:用于指定tar包名称(进行命名)通常作为最后一个选项
eg: tar -czvf [生成的tar包的名称] [要打包的文件名称]
tar -xzvf [要解包的文件名称]
六.匹配查找指令 - 文件中查找
grep “”**“” [文件名]:从文件内容中匹配包含某个字符的行
grep -i:匹配时忽略大小写
grep -v:反向匹配 匹配不包含指定字符的行 - 目录中查找
find:在目录中查找指定名称、大小、时间、类型的文件
一般格式: find + 目录名称 + 参数
find ./ -name “##” 按文件名查找
find ./ -type d 按文件类型查找(f–普通文件 d–目录文件 c–字符设备 b–块设备 p–管道文件 )
find ./ -mmin -10 按时间查找
find ./ -size -10M 按文件大小查找
七.其他命令
- 计算器 bc
-
打印或设置系统时间
date :打印或设置系统时间
date +"%Y-%m-%d %H:%M:%S" 按照常见日期格式显示
date +"%s" 时间戳为1970年1月1 日0点0分0秒到现在的秒数
date -s “2018-06-01 09:00:00” 设置系统时间
-
日历cal
-
中断操作
Ctrl+c
-
对于用户的操作
su [用户名]:切换用户
su root —切换到管理员用户,需要输入管理员密码
useadd [用户名]:添加用户
usedel [用户名]:删除用户
- Tab键
敲首字母后->点击Tab ->自动文件名补全 - 关机命令
shutdown -h now