Linux基础
linux基础
第1节
1.1 目录
去往当前目录家目录
cd ~
cd
cd /root/
cd / #进入根目录
cd - #回到上一层目录
cd /boot #根文件夹下面的boot文件夹
/ 根是起点 所有文件的起点 根:系统的入口
/在前面是根目录 /在后面为分隔符
localhost #主机名
# #超级管理员用户
$ #普通用户:权限受限用户
关机命令:
1、halt #立刻关机
2、poweroff #立刻关机
3、shutdown -h now #立刻关机(root用户使用)
4、shutdown -h 10 #10分钟后自动关机
#重启:
reboot
init6
shutdown -r now
绝对路径:以根开头的文件路径,是唯一的
相对路径:不以根开头的文件路径,不一定唯一
pwd 显示当前路径
1.2 --help
查看外部命令帮助
[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help
1.3 shell是什么
shell是一类软件总称
shell程序:将人类使用的高级语言,翻译成二进制语言(机器可以听懂的语言)
bash是shell的一种,CentOS默认shell:/bin/bash
每打开一个交互界面 必须加载一个shell程序
内核是操作系统的一部分,内核用于调动硬件
1.4 linux命令
linux命令分为内部命令和外部命令
bash集成了很多程序 内部命令
系统安装后:还需要安装的程序就是外部命令
所有的内部命令就在内存中
外部命令 存储在硬盘上
命令执行的过程
判断是否是内部命令,是直接执行,
不是,去看hash缓存表 如果hash 表有直接执行,有 但是找不到 报错
如果是第一次执行的外部命令,会去规定的文件夹找命令,如果没有会报错
执行命令,命令不存在有可能:
1. 命令打错
2. hash缓存中没有
3. 不在$PATH中
4. 没有安装
ls -l:使用较长格式列出信息
ls --help
tab:自动补全 唯一 直接补 不是唯一 全部显示
ctrl+l:可以清屏
ctrl+c:终止
ctrl+a:光标移到最前
ctrl+e:光标移到最后
ctrl+e:搜索命令
rm -rf / *:删除根目录
1.5 文件类型
七个文件类型
-
-普通文件
-
d目录文件directory
-
l符号链接文件link
-
b块设备文件block
-
c字符设备文件character
-
p管道文件pipe #一般用在内部
-
s套接字文件socket #程序之间传递信息 紫色
第一个字符 | 文件类型 |
---|---|
- | 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。 |
d | 目录,类似 Windows 系统中的文件夹。 |
b | 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。 |
c | 字符设备文件 |
s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 |
p | 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
l | 链接文件,类似 Windows 系统中的快捷方式。 |
1.6 列表显示目录内容 ls
ls [选项] [文件或目录] | |
---|---|
-l | 长格式显示详细信息 ll=ls -l |
-a | 显示全部包括隐藏文件 |
-A | 显示全部文件或隐藏文件,不包括.和.. |
-d | 仅列出目录本身,而不是列出目录内的文件数据 |
-h | 友好显示文件大小,人性化带单位显示 |
-R | 递归显示该目录及该目录的子目录下的所有内容 |
-t | 以时间顺序显示 |
-r | 倒序显示 |
--color | 显示颜色 |
-s | 以文件容量大小排序 |
-i | 显示inode号 |
第2节
2.1 alias 别名机制
alias 自定义命令(不建议使用已有的命令和数字)='要优化的命令'
alias myvim=‘vim /etc/sysconfig/network-scripts/ifcfg-ens33’
unalias 删除别名
alias 单独打可以显示当前系统下所有别名
\别名 取消别名
永久改名
vim .bashrc
alias myvim=‘vim /etc/sysconfig/network-scripts/ifcfg-ens33’
临时修改
alias
unalias 删除别名
\ls 显示原来面目
cd是内部命令
如果将cd定义成别名(ls),cd还是切换目录,代表内部高
如果将cd定义成别名(ls),cd变成显示目录(ls),代表别名优先级高
优先级别
1. 绝对路径下的命令
2. 别名
3. 内部
4. hash
5. 外部
2.2 du 磁盘使用情况
查看当前所在文件夹的总磁盘占用了磁盘的多少单元块。默认一单元块为4k,不满4k算4k。
du=disk use
基本格式
du [选项] [文件或目录]
常见选项
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:以更人性化的方式(默认KB计数,不显示单位)显示统计结果
-s:只统计所占用空间总的大小,而不统计每个子目录、文件大小
--max-depth=1/n(-d):最大显示层级1级/级
--exclude:不计入统计
2.3 mkdir 创建文件夹
- 文件名最长255个字节
mkdir -p #递归创建
mkdir -p aa/bb/cc #递归创建 aa/bb/cc
mkdir -pv /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}
#一次建立多个文件
2.4 touch 创建空文件
- touch 新文件…(可为空) 文件名 不存在就是新建空文件
- touch 不会破坏已有文件 刷新文件
每个文件有三个时间戳:
access time:atime 访问时间 #读取文件内容
modify time:mtime 修改时间 #改变文件内容(数据)
change time:ctime 改变时间 #元数据发生改变(元数据 文件大小 权限)
2.5 copy 备份
cp 原文件 新文件
cp /etc/passwd /mnt/test
将etc下的passwd文件复制到mnt下并改名为test
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息 |
-v | 可视化 |
-u | 相当于增备,差异备份(只对文件夹起作用) |
2.6 which 查找命令/文件存放目录
which只能找命令,查找范围也是固定的
在固定的文件夹找,范围由环境变量PATH决定(在echo $PATH的五个路径下找)
which -a #显示更详细
2.7 locate
locate 速度快,不是真的去硬盘上遍历去找文件,去系统的数据库文件中查找
用途:不常用文件,要存在系统上比较久
选项
-i #不区分大小写的搜索
-n N #只列举前N个匹配项目
2.8 find 查找文件或目录
find 速度慢,他是真去磁盘上一个一个找
格式:
find [查找范围][OPTION]... [查找条件] [处理动作]
find / -name [0-9]* #找到当前目录下所有以数字开头的文件
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 按目标文件名称查找,可以使用 "*" 和 "?" 通配符 |
按文件大小查找 | -size | 根据目标文件大小查找,使用 "+" 或 "-" 进行大小限制,常用单位KB、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件类型查找,文件类型有普通文件(f)、目录文件(d)、块设备文件(b)、字符设备文件(c)等 |
查找方式 | 描述 |
---|---|
which | 只能找命令,查找范围也是固定的$PATH路径 |
locate | 速度快,不是真的去硬盘上遍历去找文件,他是去系统的数据库文件中查找 |
updatedb | 不要轻易使用,会卡死 |
find | 速度慢,是真的去磁盘上一个一个给你找 |
find /data/ -name ‘*.txt’ -exec cp{} \; #复制
find /data/ -name ‘*.txt’ -exec mv{} {}.bak \; #改名
-exec #连接find和cp 直接复制 一次一次处理
-ok #连接find和cp 需要确认 一次一次处理
\; #代表结束
查找路径:指定具体目标路径;不指定为默认为当前目录
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
2.9 硬连接与软连接文件
硬连接 同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接数加一,多路径访问。
软连接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件。
ln(link)
ln [-s] 源文件或目录… 链接文件或目标位置
加s是软连接 符号连接
对比项 | 硬链接 | 软链接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径的长度 |
例子
ln -s 绝对路径的源文件 软连接位置
ls 绝对路径源文件 硬连接位置
硬连接的本质是别名
通常只用软连接 不用硬连接
3.0 env 看环境变量