一.linux命令基础
1.Linux的哲学思想
2.什么是shell
3.linux命令的分类
4.Linux命令行的格式
二.Linux命令帮助
- 快捷键
- 帮助命令
三.目录与文件基本操作
1.查看切换显示统计目录
1.1.pwp
1.2.cd
1.3.LS
1.3.1不同文件的表示
1.4.通配符
1.5 .alias
1.6.du
2.创建目录
2.1.mkdir touch
2.2.硬链接与软链接文件
2.3.复制
2.4.移动 改名
2.5.删除文件
2.6.查找文件
2.6.1.find
2.6.2.which
四.硬件信息及其他系统信息
一.linux命令基础
1.Linux的哲学思想
- 一切都是一个文件。(包括硬件,文本,二进制,源代码)
-
系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
-
当遇到复杂任务,通过不同功能用途的程序组合起来完成。
-
避免令人困惑的用户界面就是没有复杂的图形界面。
-
连配置文件都存储在文本中,方便增删改查。
-
不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
2.什么是shell
- Linux系统中运行的一种特殊程序
- 在用户和内核之间充当“翻译官”
- 用户登录Linux系统时,自动加载一个shell程序
- bash是Linux系统中默认使用的shell程序
文件位于/bin/bash
3.linux命令的分类
- 内部命令与外部命令的区别
内部命令:
- 集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令
- 属于shell的一部分
- 没有单独的对应系统文件
- 自动载入内存,可直接使用
外部命令:
- linux系统中能够完成特定功能的脚本文件或二进制程序
- 属于shell翻译器程序外的命令
- 每个外部命令对应了系统中的一个文件
- 必须知道其对应的文件位置,由shell加载后才能执行
4.Linux命令行的格式
- 通用的命令行使用格式
- 命令字空格[选项]空格[参数]
命令字:
- 是整条命令最关键的一部分
- 唯一确认一条命令
选项:
- 短格式选项:使用”-“符号引导(多个单字符选项可以组合在一起)
- 长格式选项:使用”--“符号引导
参数:
- 命令字的处理对象
- 可以是文件名、目录(路径)名或用户名等内容
- 个数可以是零到多个
二.Linux命令帮助
1.快捷键
快捷键 | 功能 |
---|---|
Tab 键 | 自动补齐(两次可以显示所有选项) |
反斜杠“\” | 强制换行或转义 |
Ctrl+a | 光标移到最前 |
Ctrl+e end 键 | 光标移到最后 |
Ctrl+U | 清空至行首不包括当前光标处的 字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+w | 从当前光标删除到开头 |
ALT+d | 从当前光标删除末尾 |
Ctrl+l | 清屏 |
Ctrl+c | 取消本次命令编辑 |
Ctrl+s/Ctrl+q | 锁屏/解锁 |
向上下箭头 | 回看执行过的命令 |
2.帮助命令
help echo
#帮助查看内部命令
useradd --hlep
#帮助查看外部命令
man man
#查看帮助文档的命令
三.目录与文件基本操作
1.查看切换显示统计目录
1.1pwd
#显示当前路径
pwd -p
#显示真实路径
1. 2.cd
cd cd ~
#若不指定目标位置,切换到当前用户的宿主目录(家目录)
cd -
#到前一次目录
.
#表示以当前的工作目录作为起点(已点开头的是)
..
#表示以当前目录的上一级目录(父目录)作为起点
"."开头文件
#表示隐藏文件
1.3.LS
格式
ls [选项] [文件或者目录]
选项 | 效果 |
-l | 已长格式显示文件和目录列表 ll=ls -l |
-a | 显示全部文件包括隐藏文件 |
-A | 显示全部文件或隐藏文件,但不包括.和.. |
-d | 只显示当前目录 |
-h | 友好显示文件大小 |
-R | 递归显示该目录及该目录子目录下的所有内容 |
--color | 显示颜色 |
-s | 按从大到小排序 |
-:rw-r--r--. 1 root root 0 1月 20 11:38 1.txt
-: 代表文件属性(普通文件 或文件夹)
rw-r--r--:代表权限(可读、可写、可执行)
1:硬连接快捷方式
第一个root:属主(文件的主人)
第二个root:属组(属于哪个组)
0:文件大小
1月 20 11:38:修改时间
1.txt:文件名
3.1.颜色表示的文件类型:
- 黑色数据文件 TXT
- 绿色 可执行文件
- 黄色 块设备文件
- 红色 压缩包
- 蓝色 文件夹
- 天蓝色 连接文件(快捷方式)
vim /etc/DIR_COLORS
#颜色在这里显示
1.不同文件的表示
- - 普通文件
- d 目录文件directory
- l 符号链接文件link
- b 块设备block 比如直接读1块 /dev 4k (512*8(扇区)=4096字节=4k)
- c 字符设备character 一个字符一个字符读取 /dev/zero (/dev/null)
- p 管道文件pipe 两个软件联系 A-管道文件-B A 写 B 读 单向的
- s 套接字文件socket 可以双向的
1.4.通配符
符号 | 效果 |
---|---|
? | 匹配一个字符 f?.txt |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
{1..10} | 1到10 |
{a..z} | a b c ...z |
{A..Z} | A B C .....Z |
[123] | 取其中之一有就显示没有也无所谓 |
[a-z] | 范围需要注意 |
[0-9] | 匹配数字范围(0123456789) |
\ | 转义符,表示原来的意思 |
[[:lower:]] | 小写字母表示 a-z |
[[:upper:]] | 大写字母表示 A-Z |
[^zhou] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
1.5 .alias
(1)设置别名
alias 命令别名=命令
(2)删除别名
1. 6.du
du [选项] [文件或目录… ]
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小 |
--max-depth=n | 最大显示到第n层 |
注意a s无法同时使用
2.创建目录
2.1.mkdir touch
mkdir [选项] 目录位置及名称…
mkdir 1 2 3
#创建多个文件夹
(1)mkdiir -p
#递归创建
(2)touch
- touch 新文件…(可为空)
- touch 不会破坏已有文件 刷新时间
每个文件有三个时间戳:
- access time 访问时间,atime,读取文件内容
- modify time 修改时间,mtime,改变文件内容(数据)
- change time 改变时间,ctime,元数据发生改变
(3)touch 1 2 3
#创建新文件
echo "" > 4
#创建4的空文件
(4) stat /opt/rh
#查看三种时间
2.2.硬链接与软连接文件
硬连接 同一个文件取不同的名或者叫多个名字(例如人 是不是有乳名,姓名 同样指的都是一个人 )不支持文件夹,创建一个连接数加一,多路径访问。
软连接 类似于windows里快捷方式,软连接,符号连接
比项 | 硬连接 | 软连接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除新建不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径的长度 |
(1)ln /opt/ 1.txt /mnt/11.txt
#建立硬连接
(2)ln -s /opt/ 1.txt /mnt/11.txt
#建立软连接
2.3.复制
1.cp
(1)cp [选项] 源文件 目标
(2)cp [选项] 源文件 文件夹 多个文件只能复制到文件夹
项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息 |
-v | 可视化 |
-u | 相当于增备,差异备份 |
-b | 先备份(只保留最近) |
2.4.移动 改名
1.mv rename
(1)mv
#移动文件或目录
(2)rename
#批量修改后缀名
2.5.删除文件
1.rm
rm [选项] 要删除的文件或目录
-
-
-f、强制
-
-i、交互
-
-r 递归(删除目录需要)
-
2.6.查找文件
2.6.1.find
命令的特点:
-
精确查找
-
实时查找
-
支持查找条件较多
格式:
find [OPTION]... [查找路径] [查找条件] [处理动作]
关键字 | 说明 | |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
最大搜索目录深度 | -maxdepth level | 将你的文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level | 将你的文件已分级的形式查找 |
各表达式之间使用逻辑运算符 “-a”表示 而且(and) “-o”表示 或者(or)
(1) 以文件名查找
(2) 以文件大小查找
-size 10M 表示9M到10M 且不包括9M
-size -10M 表示9M以内 包括9M
-size +10M 表示10M以上 不包括 10M
(3) 以文件类型查找
(4)文件 分级查找
(5)-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令
{}: 用于引用查找到的文件名称自身
(6)-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会
交互式要求用户确认
2.6.2.which
#寻找命令位置
四.硬件信息及其他系统信息
1.cpu
- lscpu命令可以查看cpu信息
- cat /proc/cpuinfo也可看查看到
2.free
#查看内存大小
3.lsblk
#查看硬盘和分区情况
4.arch
#查看机器架构
5. uname -r
#查看内核版本
6.date
#查看当前系统时间
- -d 你描述的日期,显示指定字符串所描述的时间,而非当前时间
- %F 完整日期格式,等价于 %Y-%m-%d
- % T 时间(24小时制)(hh:mm:ss)