目录
Linux
优势:
-
一切都是一个文件。容易看(包括硬件,文本,二进制,源代码)
-
系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
-
当遇到复杂任务,通过不同功能用途的程序组合起来完成。 轻量级,一台服务 dhcp ip 数据库服务 网页
-
避免令人困惑的用户界面就是没有复杂的图形界面。
-
不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
Linux 一切皆文件 (文件夹目录)
linux系统分区 要分三个区
/ 根分区 :最重要的分区 所有文件、文件夹都在这个 /文件夹下
swap分区 将一部分硬盘空间作为内存空间使用 (内存的使用)
当内存不足时 会将硬盘上的空间当做内存救急使用
swap分区 归根结底还是硬盘空间 所以速度很慢,不能长时间使用
boot分区 操作系统启动需要的文件 5-10 G
Linux
路径怎么表示?
【root@local host usr】#
Root 当前登录的用户
local host当前主机名
Usr 目前所在文件夹
# 超级管理员
$ 普通用户
命令是程序
程序:执行特定任务的一串代码
翻译成可以让电脑运行的文件 可执行(二进制)
内部命令 不需要安装集成在shell(bash)中,一旦登录用户自动加载在内存中速度快
外部命令 不在shell程序中 运行时需要从硬盘加载到内存
Type+命令 来测试是否为内部或外部命令
内部命令是没有独立文件的 都在/bin /bash程序中
外部命令是一个 独立的文件
Hash 缓存表
Linux
第一步首先判断外部还是内部 如果是内部直接运行 如果是外部 从hash(缓存表)若hash中有 直接运行 如果没有表项中没有去硬盘上找(如果表项有,但没有找到直接报错) 先去看规定的路径中是否有(懒惰模式) 如果都找不到 直接报错
/usr/local/sbin; /
绝对路径> 内部 > hash >外部
既属于内部又属于外部命令 echo (回声)
Linux 帮助
内部 help.cd
外部 命令- - help
Shell
杀毒软件
shell就可以当作是协助人机交互翻译
Linux shell是一类软件的总称
将人类使用的高级语言翻译成二进制
bash:linux默认使用的是bash
bash是linux系统中运行的一种程序
shell 与内外部命令
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
type+命令 #可以查看该命令是内部命令或外部命令
命令行格式
- 1Linux 使用命令是有语法格式
命令 选项 参数
Ls 长格式 - - help
短格式 -l
注意点:
- 注意空格不要遗漏
- 英文字符区分大小写
- 命令字 是整条命令中最关键且唯一确定的部分
- [选项] 短格式用-引导,通常 一个字母 ;长格式用--引导,通常完整的单词
- [参数] 命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容 ,个数可以是零到多个
2.编辑Linux命令行的常用辅助操作
help 命令
help 命令
man
man分九个章节默认打开第一章节(menu菜单 manual手册)
9个章节
man 1 | 看命令的使用方法(重中之重) |
man 2 | 系统调用 |
man 3 | 程序库调用 |
man 4 | 设备 |
man 5 | 系统中的文件格式(重中之重) |
man 6 | 游戏 |
man 7 | 杂项 |
man 8 | 系统指令 |
man 9 | 内核内部指令 |
目录操作
pwd
pwd指的是 显示当前目录
cd
cd切换工作目录
命令 | 效果 |
cd cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
一个点号“.”开头(自己 | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号“..”开头(上一级) | 表示以当前目录的上一级目录(父目录)作为起点 |
cd /etc/ | 进入/etc/文件夹 |
语法 cd 路径 (绝对 相对 都无所谓)
cd cd~ 都是代表去往当前目录的
cd - 到前一次目录 (只能一次)
LS
ls--list 列表 显示所有文件
语法 ls 选项
其中ls-l = ll
- 代表文件的类型
rw-r--r-- 文件的权限
1 链接
Root 文件的主人
Root 文件的属组
0 文件大小
8月26 2021 最后一次使用时间
abc.txt 文件的名字
通配符
符号 | 效果 |
? | 匹配一个字符 |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
{1..10} | 1到10 |
{A..Z} | A B C .....Z |
{a..z} | a b c ...z |
[123] [此处括号里值代表一个字符] | 取其中之一有就显示; 没有也无所谓 |
\ | 转义符,表示原来的意思 |
[0-9]单个数字 | 匹配数字范围(0123456789) |
[[:lower:]] | 小写字母表示 a-z |
[[:upper:]] | 大写字母表示 A-Z |
通配符指的是 匹配文件名 find
而整合表达式时 匹配文章中的内容 grep sed awk
电脑反馈给你的东西都是字符 全是文章里的内容 电脑不认识文件名
通配符
*代表任意长度的字符
p* 指p开头 *.conf 指以.conf结尾的所有字符
?指一个字符
ls*显示所有文件 但是不包括隐藏文件
alias
alias 别名 就是自定义命令=原始命令
原始命令中 有特殊字符(@#%)都请打上引号
例:Vim /etc/sysconfig/network-scripts/ifcfg-ens33
Alias myvim=’Vim /etc/sysconfig/network-scripts/ifcfg-ens33’
取消别名 unalias+命令
在linux基本所有使用命令修改的配置都是临时的 想永久保存得写入文件 写到家目录.bashrc(文件名)
退出别名 esc+shift :+q w+q 保存退出 ! 强制
绝对路径》别名》内部》hash》外部
du
du磁盘使用量 disk'use
语法 du 选项 文件夹
-a 一个个文件单独显示
-s 显示总和
-h 人性化显示
-d 显示层级
需要注意的是 a和s 不可以同时使用
ll和du 都是表示看到文件的大小
但是 ll 看到的文件大小是文件的真实大小 而du看到的大小是文件占用磁盘的大小
mkdir
mkdir 是建立文件夹
mkdir -p 递归创建 没有文件夹会自动递归创建
mkdir -v 显示过程
rmdir 删除文件夹
touch
touch分两种情况
1.新建文件夹 2.刷新文件的时间
touch文件名
如果文件名存在 就是情况2
如果文件名不存在 就是情况1
软硬连接
硬连接 在系统上多了一条路径去找到文件
软连接 就类似于windows快捷键,软连接,符号连接,会指向原来的文件
他们两个有什么区别呢?
对比项 | 硬链接 | 软链接 |
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径的长度 |
语法 ln 绝对路径下的源文件 目的地 ------硬链接
ln -s 绝对路径下的源文件 目的地 -------软链接
ln 绝对路径下的源文件 目的地/名字 给硬链接 不加名字就和源文件同名
ln -s 绝对路径下的源文件 目的地 给软链接 不加名字就和源文件同名
cp
格式:
cp [选项]… 源文件 目标
#相当改名复制 文件夹 文件相当于 改名字另存为
cp [选项]... 源文件... 文件夹
#多个源文件只能复制到文件夹
选项 | 说明 |
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息 |
-v | 可视化 |
-u | 相当于增备,差异备份(只对文件夹起作用) |
mv
mv [选项] … 源文件或目录… 目标文件或目录 单个文件
移动 或者改名
-
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-
-v:显示文件或目录的移动过程;
rm
rm [选项] 要删除的文件或目录
- -f 强制
- -i 交互
- -r 递归(删除目录需要)
查找文件
find
命令特点 精确查找 实时查找 支持查找条件巨多
语法
查找路径:指定具体目标路径;不指定为默认为当前目录
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
常用选项
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 -iname "文件名称" 不区分大小写 |
按文件大小查找 | -size | 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
按inode号 | -inum | 根据文件inode号查找 |
按权限查找 | -perm | 按文件权限查找 |
最大搜索目录深度 | -maxdepth level | 将你的文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level | 同上 find /etc -maxdepth 2 -mindepth 2 |
which
which查找命令 精确
通常查找命令 例如 which ls