一、什么是Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、 支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和 64位硬件。
二、基本命令
pwd [选项] [文件或目录]-----显示当前工作目录。
ls [选项] [文件或目录]-----执行ls指令可列出目录的内容,包括文件和子目录的名称。
选项:
- -l : 每列仅显示一个文件或目录名称。
- -a 或--all : 下所有文件和目录。
- -i 或--inode: 显示文件和目录的inode编号。
文件或目录:
- 制定的目录或这文件,如果没有这一项,默认当前目录。
cd [选项] [文件或目录]-----在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。
文件或目录:
- 绝对路径:一定由根目录 / 写起
- 相对路径:相对于某一路径,其中.代表当前目 录,..代表上一级目录
- ~:表示家目录
uname [选项] [文件或目录]-----会显示出关于系统的重要信息,如内核名称,主机名,内核版本,处理机类型等。
选项:
- -r:内核版本
- -n: 主机名
- -a: 所有信息
touch [选项] [文件或目录]-----使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。注意的是如果文件不存在则创建文件。
选项:
- -t:使用指定的时间,而非现在的时间
文件或目录:
- 要改变的文件的路径。
mkdir [选项] [文件或目录]-----创建目录。
选项:
- -p:递归创建目录,嵌套目录
文件或目录:
- 跟目录的路径
cp [选项] [源文件或目录] [目的文件或目录]-----将文件和目录从一个目录拷贝到另一个目录。
选项:
- -i:在拷贝过程中询问是否要拷贝
- -f:在拷贝过程中不询问直接拷贝
- -r:拷贝目录中的所有文件和目录
文件或目录:
- 源文件或目录:指的是需要拷贝哪个文件的路径
- 目的文件或目录:指要把源文件或目录拷贝到哪里的路径
rmdir [选项] [目录]-----删除空的文件目录。
选项:
- -p:删除指定目录上的所有目录
文件或目录:
- 要删除的文件目录的路径
rm [选项] [文件或目录]-----删除文件或目录,执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
选项:
- -i:删除时询问是否要删除
- -f: 删除时不询问直接删除
- -r: 递归删除目录下的所有文件或目录
文件或目录:
- 所要删除的文件或目录的路径
mv [选项] [源文件或目录] [目标文件或目录]-----可移动文件或目录,或是更改文件或目录的名称。
选项:
- -i:在移动时有覆盖是询问是否要覆盖
- -f: 在移动时有覆盖不询问直接覆盖
文件或目录:
- 源文件或目录:要移动或更名的文件或目录
- 目标文件或目录:如果有不是当前路径的路径就是要移动,如果是当前路径下就是更名
tar [选项] [目标包名] [源文件或目录]-----是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。
选项:
- -c:创建一个包
- -f: 定义目标包
目标包名:
- 要打成的包名
源文件名或目录名:
- 哪些文件要被打成包
tar [选项] [包名]-----是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。
选项:
- -t:查看包里面的文件
- -f: 定义目标包
目标包名:
- 查看xxx.tar 的包的路径
tar [选项] [包名] [源文件或目录]-----是要是用来打包或这解包,压缩或这是解压缩的一个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。
选项:
- -r:将文件追加到包中
- -f: 定义目标包
包名:
- 查看xxx.tar 的包的路径
源文件或目录:
- 要添加的文件或这目录
三、文件命令
man [选项] 命令名-----是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
选项:
- -a:在所有的man帮助手册中搜索
- -f:等价于whatis指令,显示给定关键字的简短描述信息
find [查找的路径][选项] [参数]-----在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
选项:
- -type:文件分类超找
- -maxdepth :从当前目录开始搜索的深度(也 就是子目录的嵌套)
参数:
- f(表示普通文件),c, d, l, b ,s ,p 这些文件类型
date [选项] [参数]-----打印不同格式的时间或日期,以及要根据时间和日期执行操作,也可以使用命令设置固定的格式,在类UNIX系统中,日期被存储为一个整数,1970年1 月1日0时0分0秒起流逝的秒数。
选项:
- -d:显示字符串所指的日期与时间 。字符串前后必须加上双引号
- -s:根据字符串来设置日期与时间 。字符串前后必须加上双引号
- -u:显示GMT(世界时间)
cal [选项] [月份] [年份]-----显示日历,可以按照指定的年份月份来显示,还可以显示当年中的第几天。
选项:
- -s: 显示星期天为一个星期的第一天,默认的格式
- -m: 显示星期一为一个星期的第一天
- -j: 显示在当年中的第几天
月份:1-12
年份: 1-9999
du [选项] [参数]-----对文件和目录磁盘使用的空间的查看
选项:
- -s 仅显示总计,只列出最后加总的值。
- -h 以K,M,G为单位,提高信息的可读性。
参数: 目录或文件
ln [选项] [参数]-----ln命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
选项:
- -s:创建软连接
参数:
- 源文件:指定要连接的文件
- 目标文件:指定源文件要连接的文件
exit-----退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。
grep-----是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项:
- -i 忽略字符大小写的差别。
- -n 在显示符合范本样式的那一列之前, 标示出该列的编号。
- -v 反转查找。
参数:
- 关键字:要超找的字符串
- 文件路径:要去哪个文件去超找
wc [选项] [文件]-----用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
选项:
- -c:只显示Bytes数
- -l:只显示列数
- -w:只显示字数
cat [选项] [文件]-----用来显示文件的内容
选项:
- -n:有1开始对所有输出的行数编号
- -b:和-n相似,只不过对于空白行不编号;
more [文件]-----命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比
操作
- 按Space键:显示文本的下一屏内容。
- 按Enier键:只显示文本的下一行内容。
- 按H键:显示帮助屏,该屏上有相关的帮助信息。
- 按B键:显示上一屏内容。
- 按Q键:退出more命令;
less [参数] [文件]-----用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
参数
- -e:文件内容显示完毕后,自动退出
- -N:每一行行首显示行号
head [参数] [文件]-----用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
参数 -n:指定从头显示多少行
tail [参数] [文件]-----tail命令默认在屏幕上显示指定文件的末尾10行。
参数
- -n:指定从尾显示多少行
- -f:监控文件尾部插入的行
echo [参数]-----在shell中打印shell变量的值,或者直接输出指定的字符串。
参数: 要输出的值或字符串
alias [选项] [参数]-----使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引起来,防止特殊字符导致错误。
选项: -p:打印已经设置的命令别名。
参数: alias 新的命令='原命令 -选项/参数'
unalias [选项] [参数]-----用来取消命令别名,是为shell内建命令。如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。
选项: -a:取消所有命令别名。
参数: 命令别名:指定要取消的命令别名。
四、进程、权限命令
ps [选项] [参数]-----用于报告当前系统的进程状态
选项:
- -a:显示所有用户的进程
- -u:显示用户名和启动时间
- -x:显示 没有控制终端的进程
- -e:显示所有进程,包括没有控制终端的进程
- -l:长格式显示
kill [选项] [参数] -----终止一个进程
选项:
- -1:重启进程
- -9:强制杀死
参数: pid进程编号
top [选项] [参数]-----进程状态显示和控制,每5s中自动刷新一次(动态显示)
- uptime :命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
- free : 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区空闲内存:available = free + buffer(缓冲) + cache(缓存)
- mpstat :CPU核状态
- ifstat : 网卡网络状态
- df :查看磁盘的使用率
adduser [参数]-----adduser使用来新建用户,指定用户的家目录和组
[参数]: 用户名
id [选项] [参数]-----id命令可以显示真实有效的用户ID(UID)和组ID(GID)
选项:
- -g:显示用户所属群组的ID。
- -u:显示用户ID。
参数: 用户名:要查看的用户名。
chown [选项] [参数]-----chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。
选项: -R:递归处理,将指定目录下的所有文件及子目录一并处理。
参数:
- 所属用户:要改变的所属用户
- 所属组:要改变的所属组
chmod [选项] [参数]-----chmod命令用来变更文件或目录的权限。在Linux系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分。
选项: 权限:权限值
参数: 文件名:设置权限的文件名
五、网络命令
ifconfig[参数]-----用于配置和显示Linux内核中网络接口的网络参数用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
参数: 网卡 ip 掩码 up down
netstat[选项]-----用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
选项:
- -l:显示监控中的服务器的Socket
- -n:直接使用ip地址,而不通过域名服务器
- -p:显示正在使用Socket的程序识别码和程序名称
wget[选项][参数]-----从指定的URL下载文件
选项:
- -b:进行后台的方式运行wget
- -c:继续执行上次终端的任务
参数: 网址
防火墙
# 参数解释
- firwall-cmd:是Linux提供的操作firewall的一个工具;
- --permanent:表示设置为持久;
- --add-port:标识添加的端口;
SELinux的关闭:
- #修改配置文件
vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled #增加
:wq! #保存退出
如果有安装了iptables服务:
- iptables状态的查看: service iptables status
- 关闭iptables: service iptables stop
六、Docker
在Linux上安装软件有三种方式:
- 在redhat系列下的发行版通过rpm包安装或者是在debian系列下的发行版通过deb包安装
- 通过工具安装,在redhat系列下的发行版通过yum安装或者是在debian系列下的发行版通过apt-get安装
- 源码包安装,下载源代码包,进行编译后安装
Docker安装
- 安装依赖工具 yum -y install yum-utils device-mapper-persistent-data lvm2
- 下载镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装 yum makecache fast yum -y install docker-ce
- 启动 systemctl start docker
- 查看状态 systemctl status docker
- 测试 docker run hello-world
Docker 镜像
- 获取镜像: docker pull 镜像名称
- 查看本地所有的镜像: docker images
- 删除本地镜像 docker rmi 镜像标识
Docker 容器
运行容器: docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识
参数解释:
- -d 代表后台执行
- -p 将当前Linux的端口和容器的端口号进行映射
- --name 容器的名字
查看正在运行的容器: docker ps -qa
参数解释 :
- -a 所有容器(包括没有运行的容器)
- -q 只查看标识
停止容器运行: docker stop 容器标识
启动容器: docker start 容器标识
删除容器: (只能删除停止运行的容器)
- docker rm 容器标识
- docker rm -f 容器标识 (强制删除容器,(即使是运行中的))