1.一切都是一个文件 (硬盘)
2.系统小型 轻量型,300个包
3.避免令人困惑的用户界面 ------------------> 就是没有复杂的图形界面
4.不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型(windows中需要有后缀名)
5.免费
date -s:修改时间
Shell
Xshell -------- 软件 -------远程管理服务器的软件
shell ------- 一类软件的集合:
(杀毒软件)
- 作用:将人类使用的高级语言翻译成二进制语言
ASCll码
只要登录系统,必须先运行shell软件
- Linux系统中运行的特殊程序
- 在用户和内核之间充当翻译官
- 用户登录Linux系统时自动加载一个shell程序
- Bash是Linux系统中默认使用的shell程序 ------ 文件位于/bin/bash (主流的翻译器是bash软件)
bash ≈ 桌面
内部命令 | 外部命令 |
集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
bash ------> 内存
↑
外部 -------> 硬盘 (一些重要的外部命令已经安装)
linux中命令执行过程:从左往右依次执行
内部 外部 别名 hash
↓
别名>内部>hash>外部
(拿到不熟悉的系统先看 别名)
绝对路径下的命令的优先级 在hash前
相对路径: 从当前路径开始描述路径
绝对路径 : 从根目录开始描述目录
linux命令的格式:
命令字:
- 是整条命令中最关键的一部分
- 是唯一确定一条命令
选项:
-
短格式选项:使用“-”符号引导
-
长格式选项:使用“–”符号引导
1.命令 - 字母(可以多字符)
2.命令 – 单词
命令 + 选项(unix,linux,类linux)
一般来说选项没有前后顺序要求(极个别有要求)
参数:
对谁使用 参数------->文件、文件夹、用户
只有选项和参数可以前后调换位置
不写参数就默认显示当前文件夹下的所有文件
★★★★★命令、选项、参数三个中间一定要有空格
编辑linux命令行的辅助操作:
- tab ------- 补全命令(只有在$PATH^C 下才能补全文件位置)
命令帮助:help
man手册
命令:
pwd ----- 显示当前所在路径的绝对路径
cd ----- 切换当前的工作目录
通式:
cd + 目标位置(文件夹的位置)
cd - | 返回上一次所在目录 |
cd ~ | 去当前用户的家目录 |
cd 什么也不加 | 去当前用户的家目录 |
cd |
ls:
通式: ls (选项)… (参数) …
ls | 显示当前文件下的所有文件 |
-l | 长格式显示 ,可以看到文件的属性(向下显示) |
↓ | |
ls -d | 显示当前文件夹的属性,不加d,就会向下显示 |
-a | 显示所有文件和隐藏文件,包括点和点点 |
-d | 只显示当前文件夹的属性 --------- ls -dl |
-R | 递归显示(显示所有文件一直到底),不加只能看到第二层 |
-t | 按时间排序,新的在最上面 |
-S(大) | 按大小排序,大的在最上面 |
-r | 倒序显示 |
–color | 显示颜色 |
-h | 加上单位 |
文件类型:
- | 普通文件,文本,图片,压缩包等等 |
d | 目录文件夹 |
l | 软链接 ------ >做了一个快捷方式 |
c | 字符设备,例:键盘 |
b | 块设备,例:硬盘(最小空间4kb) |
s | 套接字 ------ 本地套接字、网络套接字(传递数据) |
p | 官道文件 |
权限:
2-10个字符表示权限,三个一组
-
rw- ------ 文件拥有者
-
r-- ------ 拥有组,组内的成员的权限
-
r-- ------ 其他人(other)的权限
rwx 来表示权限,如果没有权限就写 -
- r:read 读可以看
- w:write 可以写
- x:可以执行
- -:代表没有权限
1 --------- 代表链接数(硬链接)
root(用户名)------------ 文件的主人 拥有者
root(用户组)--------- 这个文件属于root组
268 ---- 文件的大小
anaconda ------- 用户名
通配符:
命令搭配使用:
ls ----- 文件名字
find ----- 找文件名字
一些符号不表示原来的意思,重新赋予它新的含义
作用:用来匹配文件或者文件夹的名字 ★★★★★ (名字)
? | 代表任意一个字符 |
* | 代表任意长度的字符 |
{1…10}括号表示一个范围 | |
[ ] | 一个字符 |
正则表达式:匹配文件里面的字符 (内容)
↓
找字:找固定位置的字 ---- 开头、结尾、中间, 字出现的次数
grep ---- 过滤文件中的内容
- 字符在文章中的位置
- 字符在文章中出现的次数
- 元字符
alias ----- 别名
小名
通用写法
alias + 自定义命令=‘原始命令’
du:
-a | 显示每一个文件占磁盘的大小(每一层中的每一个文件都列出来) |
-s | 显示当前文件夹占磁盘的大小 |
-h | 友好显示,有单位 |
-d | 显示的目录层级 |
du -sh ---- 总大小
ll ----- 文件的真实大小
du ----- 看到的是文件所占磁盘的空间(也会统计隐藏文件)
mkdir:
新建文件夹
-p -----递归创建多个文件夹
例:mkdir aa bb cc
touch:
1.新建空的文件
touch (文件名不存在) ----->创建
2.刷新文件的时间
touch (文件名已存在) ---->刷新
ln:
1.软链接:快捷方式
(软链接的大小是源文件路径的长度)
↓
- 类似于windows里快捷方式,软链接,符号里,会指向原来的文件(绝对路径)
★★★★★区别:-- 支持文件夹
2.硬链接:文件的小名(另一种找到文件的路径/方法)
↓
- 同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接加一,多路径访问。(绝对路径)
★★★★★区别:-- 不支持文件夹
软:ln -s 源文件的路径 软链接的路径
硬:ln 源文件的路径 硬连接的路径
软硬链接都用绝对路
ln -s /etc/passwd /mnt/
★★★删除软链接时不要加/