linux简述
是一种免费使用和自由传播的类UNIX操作系统。其内核由林纳斯·托瓦兹于1991年10月5日首次发布,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,是一个性能稳定的多用户网络操作系统。
linux命令类型
- 别名
- 内部命令
- hash
- 外部命令
优先级
别名>内部命令>hash>外部命令
执行命令的过程
- 先判断命令是内部命令还是外部命令,如果是内部命令直接执行
- 如果是外部命令,首先看缓存表,如果表中有这个命令,按照表中的路径直接查找;如果表中查不到,直接报错
- 如果hash没有,就会去$PATH下的文件夹中差债,挨个查找,懒惰模式,找到一个即刻停止,找不到,直接报错
- /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
命令行格式
命令 空格 [选项] 空格 [参数]
linux命令行辅助快捷键
| 快捷键 | 功能 |
|---|---|
| Tab键 | 自动补齐 |
| ctrl+l | 清屏 |
| ctrl+e或end 键 | 光标移到最后 |
| Ctrl+c | 取消本次命令编辑 |
| Ctrl+s/Ctrl+q | 锁屏/解锁 |
| 向上下箭头 | 回看执行过的命令 |
| Ctrl+w | 从当前光标删除到开头 |
| Ctrl+a | 光标移到最前 |
| ALT+d | 从当前光标删除末尾 |
| Ctrl+U | 清空至行首不包括当前光标处的 字符 |
| Ctrl+K | 清空至行尾包括当前光标处的字符 |
获取命令帮助
- 内部命令用:help +可选项
- 外部命令用:可选项 + --help
- man命令
- info
- 百度
- man man
常用的man帮助命令:
- man1
- man5
linux路径划分
- 绝对路径:以根开头的(唯一的)
- 相对路径:不是以根开头(相对于当前路径,注意当前文件夹)
防火墙
systemctl stop firewalld.service关闭防火墙
systemctl disable --now firewalld.service永久关闭防火墙,并且立即关闭
setenforce 0(必须关闭)临时关闭
systemctl status firewalld.service查看防火墙的状态
命令
"~"家目录:当前用户配置信息的文件夹
root超级管理员是根目录下的root
路径:/root
普通用户的家目录:/home/与同名的文件夹
cd
cd 切换文件夹(目录)
cd与cd~的作用一样
cd -回到上一次目录(只有一次有效)
"."与".."
ls
标准格式:ls 空格 [选项] 空格 [文件或目录]
注意中间必须要空格,空几格没关系,但是一定要有空格
选项
| 选项 | 用意 |
|---|---|
| -l | 长格式显示目录或列表,显示详情信息 |
| -a | 显示所有文件,包括隐藏文件和当前目录与当前目录的上一级 |
| -A | 显示所有文件,不包括隐藏文件,不包括当前目录以及当前目录的上一级 |
| -h | 人性化显示文件大小(加上单位) |
| -d | 只显示当前文件夹 |
| -R | 递归显示当前文件夹 |
| -t | 以时间排序(默认最新创建的放在最下面) |
| -r | 倒序排序 |
| -s | 以大小排序(默认大的放在上面) |
选项可以组合使用
通配符
| 符号 | 说明 |
|---|---|
| ? | 匹配一个字符的文件 |
| ※ | 匹配所有不是隐藏字符的文件 |
| {1..10} | 1到10 |
| {a..d} | ab..d |
| {A..D} | Ab..D |
| [456] | 显示括号里面取其中一个显示(挨个显示),有就显示,没有就不显示 |
| [a-d] | 匹配a-z范围内的文件,单个小写字母 |
| [0-5] | 单个数字,匹配数字范围(012345) |
| [^lu] | 匹配除了括号中之外的字符 |
| [[:lower:]] | 小写字母表示 a-z |
| [[:upper:]] | 大写字母表示 A-Z |
| [[:digit:]] | 任意数字,相当于0-9 |
拓展
ls [a-zA-Z](右上角有个星号)
- 显示从A-Z和a-z的文件(取得时候第一位取得小写,座椅最后一位也取到小写,所以少一个也没关系)
alias
linux中有两种修改方式:
- 临时修改:修改内存中的设置,关机后不保存
- 永久修改:写入文件,修改配置文件,保存在硬盘中永久有效
标准格式:
alias 命令别名 = “命令”
删除别名
unalias 自定义命令
- 注意:不要随便尝试修改,会出错,出事
du(disk usage)
- 查看当前所在文件夹的总磁盘占用量了
标准格式:du [选项] [文件或文件夹]
| 选项 | 说明 |
|---|---|
| -a | 将文件夹中每一个文件单独列出来 |
| -s | 当前文件总大小 |
注意:du中-a与-s不能组合使用
ls与du的区别
- ls 看到的是真实大小
- du 统计的是当前文件占磁盘的大小,不足4k按4k算
补充
只想看某目录下第一层
- du -d 1 +某目录
du也统计隐藏文件
mkdir
- mkdir -p 递归创建文件夹
- mkdir -pv 显示创建过程(v)
拓展:
tree:以树形结构列出指定目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件。
touch
标准格式:touch + 文件名
touch用法
1.当文件不存在时,直接新建该文件,并且该文件是空文件
2.当文件存在时,会刷新文件时间戳
软连接(ln -s)
标准格式:ln -s 源连接路径 目的连接路径
- 例子:ln -s /etc/ /mnt/
- 将根目录下的/etc/文件做软连接,做到根目录下的/mnt/目录下
- ln -s (加上绝对路径)
###############pwd -P显示真实路径############
注意:一定要用绝对路径
软连接特点
1. 源文件一定要存在,源文件被删除,连接文件无法使用
2. 原文件内容修改,连接文件也修改
3. 连接文件的大小 源文件的长度
硬连接
多了一种方式去找文件(不能说成复制)
标准格式:ln 源连接路径 目的连接路径
注意:硬连接不能跨分区建立,是无法打开文件夹创建的,当原件被删除时,硬连接的数据不会被删除,只会被覆盖