目录
一、Linux基础知识
1、Linux命令头解释
[root@localhost ~]#
root:代表当前用户的用户名;
localhost:代表当前主机的主机名;
~:代表当前所在目录;
#:表示权限,#表示超级管理员,$表示用户。
2、文件详细信息解读
目录详细信息如下:
随机挑选一行进行解读,
lrwxrwxrwx.:应分成 l 和 rwxrwxrwx,其中 l 表示文件的类型,而文件类型分7种
- :代表普通文件
d:表示为目录文件
l :表示链接文件,类似于Windows中的快捷方式
b:表示块设备文件,即硬件存储设备,按块读取
c:表示字符设备文件,按字节读取
p:表示管道文件,使用于单项进程交互
s:表示套接字文件,使用于双向进程交互
rwxrwxrwx分成三段也就是三个“rwx”组成,第一个rwx代表所属用户对该文件的权限,其中 r 代表可读,w 代表可写,x 代表可执行;第二个rwx代表所属用户组对该文件的权限;第三个rwx代表其他用户对该文件的权限。
1: 表示硬链接数。
root root:前一个root代表所属用户,后一个root代表所属用户组。
7:表示该文件的大小。
6月 29 21:57 :表示该文件最近一次修改的时间。
lib:表示该文件的名称。
lib ->usr/lib:表示lib指向的链接路径
3、辅助快捷键
Ctrl + c:停止命令;
Ctrl + l:清空屏幕;
Ctrl + a:将光标移动到最前;
Ctrl + e或 end 键:将光标移动到最后;
Ctrl + u:从光标处清空至行首(不包括当前光标处);
Ctrl + k:从光标处清空至行尾(包括当前光标处);
Ctrl + w:从当前光标处删除到开头;
Ctrl + d:从当前光标处删除到末尾;
Ctrl + s/Ctrl + q:锁屏/解锁;
Tab键:命令补全(命令唯一则直接补全,命令不唯一,连按两次列出所有可能命令)。
二、基础命令
1、查询命令
查询命令包括:help,man,info。
help
- 查看内部命令
格式:help 内部命令
- 查看外部命令
格式:外部命令 --help
man
man分九个章节,默认打开第一章节(manual手册)
区段划分如下所示:
区段1:用户指令
区段2:系统调用
区段3:程序库调用
区段4:设备
区段5:文件格式
区段6:游戏
区段7:杂项
区段8:系统指令
区段9:内核内部指令
区段n:Tcl或Tk指令
info
info是一种文档格式,也是阅读此格式文档的阅读器。
2、目录操作命令
pwd 查看当前路径
cd 切换目录
命令 | 效果 |
cd cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录)
|
cd - | 到前一次目录 |
一个点号“.”开头(自己) | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号“..”开头(上一级) | 表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名”形式开头 | 表示以指定用户的宿主目录(家目录)作为起点 |
"."开头文件 | 表示隐藏文件 |
ls 查看目录内的文件
ls使用格式
ls [选项] [文件或目录...]
-l 长格式显示文件和目录列表 ll=ls -l
-a 显示全部包括隐藏文件
-A 显示全部文件或隐藏文件,但不包括 . 和..
-d 仅列出目录本身,而不是列出目录内的文件数据
-h 友好显示文件大小(human,人性化)
-R 递归显示该目录及该目录的子目录下的所有内容
-S 以文件容量大小排序
文件类型
- 普通文件,包括纯文本文件、二进制文件、各种压缩文件等
d 目录,类似Windows系统的文件夹
b 块设备文件,就是保存大块数据的设备,比如最常见的硬盘
c 字符设备文件
s 套接字文件,通常用在网络数据连接,可以启动一个程序监听用户的要求,用户可以通过套接字进行数据通信
p 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误
l 链接文件,类似Windows系统中的快捷方式
通配符
用于匹配文件名
符号 | 效果 |
? | 匹配一个字符 |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
{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 |
[^xiao] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
alias 别名
格式:alias 自定义命令= ’ 原始命令 ‘
unalias 删除别名
格式:unalias 自定义命令
\ 别名 不使用别名,使用原始命令
du 查看当前所在文件夹占用磁盘多少单元
格式:du [选项] [文件或目录… ]
选项: -a -h -s --maxdepth( = - d ) -exclude
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s:只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
--maxdepth:最大显示到第n层
-exclude:不计入统计
du与ls都可以查看文件的大小,有何区别:
ls:显示文件的真实大小;
du:显示文件在磁盘中所占的空间大小。
mkdir 创建目录
mkdir -p 递归创建(没有文件夹,会自动递归创建)
touch 创建文件
格式:touch 新建文件名
- touch 新文件...(可为空)
- touch 不会破坏已有文件 刷新时间
硬连接与软连接文件
硬连接:同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接数加一,多路径访问。
软连接:类似于windows里快捷方式,软连接,符号连接,会指向原来的文件
格式:
硬连接:ln 源文件 链接文件或目标位置
软连接:ln -s 源文件或目录 链接文件或目标位置
软硬连接的区别对比:
对比项 | 硬连接 | 软连接 |
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建和删除硬连接,连接数会相应的增加和减少 | 删除新建都不改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只减少连接数,但连接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 连接文件与源文件无关 |
文件大小 | 与源文件相同 | 保存的是源文件的路径的长度 |
cp 复制(copy)
格式:
cp [选项] 源文件 目标目录/文件名 ——相当于改名复制到目的目录
选项 | 说明 |
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及目录 |
-a | 完整保留所有信息 |
-v | 可视化 |
-u | 相当于增备,差异备份(只对文件夹起作用) |
mv 移动
格式:mv [选项] 源文件或目录 目标文件或目录
移动或改名
选项 | 效果 |
-f | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
-i | 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项) |
-n | 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 |
-v | 显示文件或目录的移动过程 |
rm 删除
-f:强制
-i:交互
-r:递归(删除目录需要)
通常使用 rm -rf 目录或文件名
3、查找命令
find
命令的特点:
-
精确查找
-
实时查找
-
支持查找条件巨多
格式:
find [选项] [查找路径] [查找条件] [处理动作]
举例说明:
常用可选项
选项 | 说明 |
-name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
-size | 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
-user | 根据文件是否属于目标用户进行查找 |
-type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、符号链接文件(l)、套接字文件(s)、管道文件(p) |
-inum | 根据文件inode号查找 |
-perm | 按文件权限查找 |
-maxdepth n(n是层级数) -mindepth n(n是层级数) | 将你的文件已分级的形式查找 |
4、查看硬件信息及其他系统信息
lscpu:查看cpu信息
cat /proc/cpuinfo也可以看到
free :查看内存大小
cat /proc/meminfo也可以看到
lsblk:查看硬盘分区情况
cat /proc/partitions也可以看到
arch:查看机器架构
uname -r:查看内核版本
cat /etc/redhat-release 也可以看到
date:查看系统时间