Linux

发布时间 2023-07-19 12:40:57作者: Candy独角兽

linux基础

第1节

1.1 目录

去往当前目录家目录
cd ~
cd
cd /root/
cd /            进入根目录

cd -             回到上一层目录

cd  /boot     根文件夹下面的boot文件夹

/ 根是起点  所有文件的起点  根:系统的入口
/在前面是根目录  /在后面为分隔符
#   超级用户

$   普通用户:权限受限用户
绝对路径:以根开头的文件路径,是唯一的

相对路径:不以根开头的文件路径,不一定唯一

pwd   显示当前路径

1.2 shell是什么

shell是一类软件总称

shell程序:将人类使用的高级语言,翻译成二进制语言(机器可以听懂的语言)

bash是shell的一种,CentOS默认shell:/bin/bash

每打开一个交互界面 必须加载一个shell程序

内核是操作系统的一部分,内核用于调动硬件

1.3 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.4 文件类型

七个文件类型

  • -普通文件

  • d目录文件directory

  • l符号链接文件link

  • b块设备文件block

  • c字符设备文件character

  • p管道文件pipe #一般用在内部

  • s套接字文件socket #程序之间传递信息 紫色

第一个字符 文件类型
- 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d 目录,类似 Windows 系统中的文件夹。
b 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 字符设备文件
s 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l 链接文件,类似 Windows 系统中的快捷方式。

1.5 ls

ls [选项] [文件或目录]
-l 长格式显示文件和目录列表,显示详细信息 ll=ls -l
-a 显示全部包括隐藏文件
-A 显示全部文件或隐藏文件,不包括.和..
-d 仅列出目录本身,而不是列出目录内的文件数据
-h 友好显示文件大小,人性化带单位显示
-R 递归显示该目录及该目录的子目录下的所有内容
-t 以时间顺序显示
-r 倒序显示
--color 显示颜色
-s 以文件容量大小排序

第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。

disk use

du --max-depth=1 最大显示层级1级

2.3 mkdir 创建文件

  • 文件名最长255个字节

mkdir test

mkdir test1 test2

mkdir -p aa/bb/cc 递归创建

mkdir -pv /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}

一次建立多个文件

2.4 touch

  • touch 新文件…(可为空) 文件名 不存在就是新建空文件
  • touch 不会破坏已有文件 刷新文件

ln -s 绝对路径的源文件 软连接位置

ls 绝对路径源文件 硬连接位置

对比项 硬链接 软链接
本质 本质是同一个文件 本质不是同一个文件
inode(身份证号) 相同 不同
连接数 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 删除,新建都不会改变
文件夹 不支持 支持
删除源文件 只是链接数减一,但链接文件的访问不受影响 无法访问连接文件
文件类型 和源文件相同 链接文件,和源文件无关
文件大小 和源文件相同(指向硬盘上的同一个文件) 源文件的路径的长度

2.5 copy 备份

cp 原文件 新文件

cp /etc/passwd /mnt/test

将etc下的passwd文件复制到mnt下并改名为test

选项 说明
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a 完整保留所有的信息
-v 可视化
-u 相当于增备,差异备份(只对文件夹起作用)

2.6 find 查找文件

格式:

find  [查找路径][OPTION]...  [查找条件] [处理动作]

查找方式 描述
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)

**重启 						      #reboot	或者	init6**

**查看当前系统内存		          #free	 -h**