每日分享:
努力是一件特别需要沉下心来,长久坚持的事。
一、什么是shell
shell是Linux系统中运行的一中特殊程序;
在用户和内核之间充当翻译官;
用户登录Linux系统时,自动加载一个shell程序;
bin /bsah是Linux系统默认使用的shell实现
二、Linux命令的分类
内部命令与外部命令的区别
内部命令 | 外部命令 |
---|---|
属于shell的一部分 | shell程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应系统中一个文件 |
可以直接使用 | 要知道文件位置,由shell加载后才能执行 |
内部命令大于外部命令
help命令可以查看内部命令
可以使用 type 命令来区分内外部命令
三、Linux命令行的模式
命令字+选项+参数(英文字母区分大小写)
命令字
是整条命令最关键的一部分
唯一确定一条命令
选项
短格式选项,使用“-”符号
长格式选项,使用“–”符号
四、Linux目录及功能
/ 根
bin 执行命令
boot 启动目录
dev 设备、硬件
etc 配置文件
home 用户文件
root 超级管理员
run 运行文件
sbin 超管命令
tmp 临时目录
usr 应用程序
var 日志文件
五、编辑Linux命令行的辅助操作
Tab ###自动补齐(两次显示所有选项)
\ ###强制换行或转义
Ctrl+U ###请空至行首不包括当前光标所处的字符
Ctrl+K ###清空至行尾不包括当前光标所处的字符
Ctrl+l ###清屏
Ctrl+c ###取消本次编辑命令
Ctrl+s/Ctrl+q ###锁屏/解屏
六、获得命令帮助的方法
1、内部命令help
查看shell内部命令的帮助信息
2、命令的“–help”
适用于大多数Linux外部命令
3、使用man命令阅读手册页
1、使用上下箭头滚动一行文本
2、使用Page UP和Page Down键翻页
3、按Q或q键退出阅读环境
4、按“\”键查找内容
4、info 也可以查看相关的帮助信息
5、百度
百度是最快解决方式不拘泥形式
七、Linux命令
7.1、查看切换显示统计目录
7.1.1、pwd
pwd ###显示当前路径
7.1.2 、切换工作目录——cd
格式: cd 目标位置 (change directory)
cd 目标位置 ###切换到目标位置
cd - ###切换到上一次目录
cd/cd~ ###切换到root的家目录
绝对路径:唯一的路径,从根目录开始说明
相对路径:可能找到多个路径,从当前目录说明
7.1.3、列表显示目录内容——ls(生产环境中慎重直接使用,有的服务器上的文件是千万级别,文件量过大会直接死机)
-l ###以长格式显示文件和目录ls -l=ll
-a ###显示全部文件(包含隐藏文件 . 和 …)
-A ###显示全部文件(不包含隐藏文件)
d ###仅仅显示目录本身,而不是列出目录内的文件数据
-i ###显示indoe号
–color ###显示颜色
-R ###递归显示该目录及该目录子目录下的内容
-h ###友好显示文件大小
文件类型
字符 | 文件类型 |
---|---|
- | 普通文件 |
d | 目录文件,类似Windows系统中的文件夹 |
l | 链接文件,类似Windows系统中快捷方式 |
b | 块设备文件,就是保存大块数据的设备,比如最常见的硬盘 |
c | 字符设备文件,如键盘,鼠标等 |
p | 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信 |
颜色表示的文件类型:
黑色 | 普通文件 |
---|---|
红色 | 压缩文件 |
蓝色 | 文件夹 |
绿色 | 可执行文件 |
天蓝色 | 链接文件(快捷方式) |
黄色 | 块设备文件(硬盘) |
7.1.4、通配符
去匹配文件名(包括文件夹)ls
符号 | 效果 |
---|---|
? | 匹配一个字符 |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配隐藏文件 ,即"." 开头的文件, |
\ | 转义符,表示原来的意思 |
{1…10} | 1到10 |
{a…z} | a b c …z |
{A…Z} | A B C …Z |
[123]([此处括号里值代表一个字符]) | 取其中之一有就显示没有也无所谓 |
[a-z]单个小写字母 | 范围需要注意a-z(a、A到最后z,没Z) |
[0-9]单个数字 | 匹配数字范围(0123456789) |
7.1.5、设置别名——alias
临时修改
alias 命令别名= 命令
alias s=‘ls’ ##设置ls的别名为s(不加引号无法识别)
unalisas 别名 ##删除别名
\ 加别名命令 ##(显示原始命令)
永久修改
- 在/etc/.bashrc 会影响全部
- /root/.bashrc只影响当前用户( 当前用户的家目录 )
补充:绝对路径>别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
7.1.6统计目录及文件空间占用情况——du
统计指定目录(或文件)所占磁盘空间的大小
du [选项] [文件或目录… ]
选项 | 说明 |
---|---|
-d | 制定目录层数,如 [root@localhost etc]# du -d1 ##只显示etc目录下的第一层 |
-a | 统计磁盘空间占用时所有的文件,而不仅仅只是统计目录 |
-s | 只统计空间的总大小 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
注意:a和s不能同时使用
df (disk free) ###显示磁盘的相关信息
7.2、创建文件和目录
-
文件名最长255个字节
-
包括路径在内文件名称最长4095个字节
-
除了斜杠和NULL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用。
7.2.1、创建文件目录——mkdir
格式:mkdir [选项] 目录位置及名称…
mkdir 路径和目录名 ###mkdir 创建目录(文件夹)
-p ###(递归创建文件夹);当创建文件夹时,没有上一级目录,自动创建
例子:mkdir /home/{dir1,dir2} ###在home目录下建dir1,dir2两个文件夹
7.2.2、touch
- touch 新文件…(可为空) ##创建新文件
- touch 不会破坏已有文件 ##刷新时间
补充:创建文件三种方式:
- touch 文件名
- vim 文件名
- echo“ ”>文件名
7.2.3、硬链接与软链接
加s是软连接 符号连接
硬链接 | 软链接 |
---|---|
ln 硬链接 | ln-s 软链接 |
本质是同一个文件 | 本质不是同一个文件 |
硬链接不支持文件夹 | 软链接支持文件夹 |
indoe号相同 | indoe号不同 |
源文件删除可以任意继续访问 | 源文件删除不能任意继续访问 |
小结:
硬链接相当于备份了一份,并保留所有属性;
软连接相当于创建了一个快捷方式依托于源文件
7.2.4复制文件或目录——cp
- cp [选项]… 源文件 目标 相当改名复制
例子:cp -r /etc/ /opt/etc.bak ###把etc目录下的所有文件复制到opt下并且改名为etc.bak(改名)
-r /源文件路径/ /目标文件路径 ###复制目录必须使用这个,表示递归复制所有文件 及子目录,复制文件夹时一定要 -r, 不加不让复制 - cp [选项]… 源文件… 文件夹 多个源文件只能复制到文件夹
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提示,强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-r | 表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息 |
-p | 复制文件时保存源文件权限、宿主及时间标记等属性不变 |
-b | 先备份(只保留最近) |
-v | 可视化 |
-u | 相当于增备,差异备份 |
如果已有文件夹会生成子目录
7.2.5、移动、改名——mv
格式:mv [选项] … 源文件或目录… 目标文件或目录 单个文件
如果目标位置与源位置相同,则相当于执行重命名操作
移动
批量改名rename
格式:rename 旧字符 新字符 目标文件
7.2.6、删除文件或目录——rm
- -f ##强制
- -i ##交互(提示你要不要删除)
- -r ##递归(删除目录需要)
*注意:实际工作中不要随便用rm -rf /这条命令,非常危险
7.3、精细查找文件或目录——find
命令的特点:
- 精确查找
- 实时查找,便利(慢)
- 支持查找条件较多
格式:
find 范围 选项 参数
范围:指定具体目标路径;默认为当前目录
选项:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
参数:对符合条件的文件做操作,默认输出至屏幕
选项 | 说明 |
---|---|
-name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
-size | 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
-user | 根据文件是否属于目标用户进行查找 |
-type | 根据文件的类型进行查找 |
-perm | 按文件权限查找 |
-inum | 根据文件inode号查找 |
-type TYPE
TYPE可以是以下形式:
f: 普通文件
d: 目录文件
l: 符号链接文件
s:套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
查找命令程序所在位置——which
which 命令|程序名
八、硬件信息
8.1查看CPU
lscpu或cat /proc/cpuinfo命令可以查看cpu信息
8.2查看内存大小
free或cat /proc/meminfo
8.3查看硬盘和分区情况