# Linux 基础
# 概念
- Linux 指的是 Linux 内核 Linux Kernel
- 我们通常使用的是 Linux 发行版,在 Linux 内核基础上打包了一些应用软件和系统软件,形成了 Linux 操作系统。
- 常见的 Linux 发行版有 centos、ubuntu、redhat、debian、fedora
- ubuntu 是在 debian 基础上做了一些优化和个性化的封装。
- redhat 公司是商业公司,提供商业支持。开源了 redhat 源代码,centos 就是在 redhat 的基础上发展起来的。 centos 是 redhat 公司的社区支持版本。该公司资助了 fedora。
- 常用的虚拟机 vmware
# 常用软件安装
- 下载 wmware:window 下载 Workstation Pro、mac 下载 Fusion。
- 下载 centos:centos 作为服务器用 下载 minimal 版本 iso(常用的有 163、huaweicloud、aliyun 镜像)。内存配置 1G
- 下载 ubuntu:ubuntu 作为 window 开发环境,下载 Desktop LTS 版本。内存配置 2G ~ 4G
- centos 下安装软件:yum;ubuntu 下安装软件:apt-get
# 常用 linux 命令总结
- ssh 登录服务器:ssh user@ip 或者 ssh user@域名 (只是域名,不带协议,例如 ssh root@www.baidu.com)
- su 切换用户:su user1
- ls 列举目录
- ls -l 长格式显示目录 = ll
- ls -a 显示隐藏文件
- ls -d 查看目录本身的属性
- exit 退出当前登录
- cat 查看文件内容
- 分页查看 cat file | more,然后按空格分页查看。
- 在 linux 里下载工具和软件包的命令
- wget:支持 http 和 https 协议;wget 软件 url;断点续传下载 wget -c 软件 url
- curl:支持 http https ftp 协议;例如 curl http://www.baidu.com 、curl http://www.baidu.com -o baidu.html
- 在 linux 里安装 yum install 例如:yum install wget
- 查看手册 man:man wget。
- w / who:查看登录用户信息。
- 文件处理命令
- mkdir:创建目录
- mkdir -p 目录名:递归创建目录。
- cd:切换目录
- cd / 切换到根目录。
- cd ~ 切换到用户目录。
- pwd:查看当前目录
- rmdir:删除目录
- rm:删除目录或文件
- -r 递归删除目录
- -f 强制删除
- cp:复制
- cp 源文件或目录 目标文件
- cp -r:递归复制
- cp -d:若源文件是链接文件,则复制链接属性
- cp -p:连带文件属性复制
- cp -a:=== cp -rpd
- mv:移动文件
- mv 源文件或目录 目标文件
- locate:在后台数据库按文件名搜索
- 数据保存在/var/lib/mlocate 后台数据库中,每天更新一次。
- 用 updatedb 命令立即更新。
- 速度比较快,只能搜索文件名。
- whereis:搜素命令所在路径和帮助文件所在位置
- -m:只搜索帮助文件
- -b:只搜索可执行文件
- which:搜索外部安装命令,无法查看 shell 自带的命令。
- find:文件搜索命令
- find 搜索范围 搜索条件
- find -name:按照名字查找
- find . -name a.txt
- 通配符查找
- “*” 任意字符
- . 任意一个字符
- [] 中括号中的任意一个字符
- i 不区分大小写查找
- user 按照所有者查找
- size 按照文件大小查找
- +10k:大于 10k
- 10k:10k
- -10k:小于 10k
- find . -size +10k
- 修改时间查找
- ctime:修改文件属性
- atime:访问时间
- mtime: 修改文件内容时间
- 10:10 天当天
- +10:10 天之前
- -10:10 天以内
- find . -mtime 10
- 综合应用
- a:and
- o:or
- not:非
- find /tmp -size +10k -a -size -20k
- grep:在文件中匹配符合条件的字符串
- i:不区分大小写
- 压缩和解压命令
- zip 格式
- 压缩文件:zip 压缩文件名 源文件
- 压缩目录:zip -r 压缩文件名 源目录
- 解压:unzip 压缩文件名
- mkdir book; zip -r book.zip book
- gzip 格式
- gzip 源文件名:压缩源文件为.gz,同时删除源文件
- gzip -d 压缩文件名(.gz):解压缩文件,同时删除 .gz 压缩包
- gunzip 压缩包(.gz):解压缩文件,同时删除 .gz 压缩包
- gzip -c 源文件名 > 压缩文件名(.gz):压缩源文件,同时保留源文件
- gzip -r 目录名:压缩目录里的文件,不压缩目录
- 压缩是压缩目录下的文件
- bz2 格式
- bzip2 源文件名:压缩源文件为 .bz2 格式,同时删除源文件
- bunzip2 压缩包(.bz2):解压缩文件
- bzip2 -d 压缩包(.bz2):解压缩文件
- bzip2 -k 源文件:压缩源文件为 .bz2 格式,同时保留源文件
- 不能压缩目录
- tar
- 打包命令
- tar -cvf 打包文件名 源文件
- c:打包
- v:显示打包过程
- f:指定打包后的文件名
- x:解打包
- tar -cvf a.txt.tar a.txt
- tar -xvf a.txt.tar
- zip 格式
- mkdir:创建目录
# 常用 Linux 终端快捷键
- ctrl + s:冻结终端。
- ctrl + q:解冻终端。
- ctrl + c:强行终止。
- ctrl + a / ctrl + e:光标移动到行首/行尾。
- ctrl + d:退出 shell。
- ctrl + l:清屏 == clear。
# linux 目录介绍
root 目录 root 用户的目录在 /root
boot 目录 引导操作系统的配置文件和操作系统的内核
home 目录 root 用户的 home 目录在 root 目录下 /root,其他用户的目录在 /home/(/home/user1),每一个用户的 home 目录下 都有一个 .bashrc 配置当前用户的环境变量
etc 目录 存放程序和系统配置文件 _ 不同配置文件 形式不同 _ shadow:用户身份的配置文件 _ nginx:/ect/nginx/nginx.conf _ .d:shell 脚本文件 _ 用户目录 ~ 下 ls -a 也可以看到一些配置文件 _ profile:全局配置环境变量,重启生效 _ rc.d rc.local rc0.d ... :操作系统在启动的时候要执行的脚本 用来拉起 一些服务 _ “#!shell 解释器路径”:shell 脚本的第一行(#!/bin/bash 或者 #!/bin/sh)
var 目录
- /var/log 目录 存放 操作系统、服务和程序 默认日志文件。(例如 nginx、jenkins、mariadb、yum)
- /var/www/html:apache 服务的默认网站根目录
bin 目录 存放的是二进制文件 常用的执行命令 是/usr/bin 的一个 软连接
media、mnt 目录 挂载 外部存储设备(例如 u 盘) mnt 目录
temp 目录 存放程序运行时产生的临时文件
run 目录 存放程序运行时产生的临时文件和 pid 文件。
dev 目录 硬件设备、虚拟设备,在 Linux 下 所有的设备都是文件。(打开一个终端,依赖的就是 tty)。
lib 目录 linux 的二进制库 * linux 下的二进制库有 .a .so .lib 文件
opt 目录 空目录,用来放自己的程序
proc 目录 在内存中 虚拟目录 操作系统运行的时候才出现的目录 存储 操作系统运行时所需要维护的数据。(例如 服务进程、cpu 信息、mem 信息)
usr 目录 存放 常用的程序和库
Linux 安全 →