一.shell
1)bash
bash是linux里面默认的shell程序 位于/bin/bash
2)shell与内、外部命令
1.shell分为内部命令和外部命令,一般先执行内部命令,hash再执行外部命令
2.内外部命令的区别
内部命令 | 外部命令 |
集成于shell解释器程序内部的一些特殊指令,也称为内建(built-in)指令 | linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
3.help命令可以查看内部命令
例:#help
4.type命令区分内外部命令
例:type cd
5.hash
hash -d 加缓存里的命令 单独删除
hash -r 删除所有
将缓存的外部命令转移到其他默认的目录中,无法再次使用,需要清掉hash值之后,才可以继续使用
二.命令行格式
再linux中,凡是再字符操作界面中输入能够完成特定操作和任务的字符串都可以称为命令
严格来说,命令通常只代表实现某一类功能的程序的名称
1)格式
1.命令字 空格 【选项】 空格 【参数】
2.快捷键
快捷键 | 功能 |
tab键 | 自动补齐 |
反斜杠“\” |
强制换行或转义 |
ctrl +a |
强制换行或转义 |
ctrl + e或end | 光标移到最后 |
ctrl + U | 清空至行首不包括当前光标处的字符 |
ctrl + k | 清空至行尾包括当前光标处的字符 |
ctrl + w | 从当前光标删除到开头 |
alt + d | 从当前光标删除到开头 |
ctrl + l | 清屏 |
ctrl + c | 取消本次命令编辑 |
ctrl + s/+ q | 锁屏/解锁 |
向上下箭头 | 回看执行过的命令 |
2)帮助
help
--help 查看外部命令帮助
3) man
分为9个章节
man 1 :用户指令
man 2 :系统调用
man 3 : 程序库调用
man 4 : 设备
man 5 : 文件格式
man 6 :游戏
man 7 : 杂项
man 8 : 系统指令
man 9 : 内核内部指令
man n : Tcl 或Tk指令
三.目录操作
1)pwd
pwd为当前路径
pwd -P 为真实路径
2)cd
cd为目标位置
..表示上一级目录 .表示当前目录
3)7种文件类型
- 普通类型 包括纯文本文件 二进制文件 各种压缩文件等
l 连接 快捷方式
b 磁盘 块设备
c 字符文件 字符设备文件
d 目录 目录 文件夹
s 套接字 通常用在网络数据连接,可以用做监听,进行数据通信
p 管道 解决多个程序同时存取一个文件所造成的错误
4)ls
-l 已长格式显示文件和目录列表 ll=ls -l
-a 显示全部包括隐藏文件
-A 显示全部文件或隐藏文件,但不包括 . 和..
-d 仅列出目录本身,而不是列出目录内的文件数据
-h 友好显示文件大小(human,人性化)
-R 递归显示该目录及该目录的子目录下的所有内容
-t 已时间顺序显示
-r 倒序显示
--color 显示颜色
-S 以文件容量大小排序
5)通配符
符号 | 效果 |
---|---|
? | 匹配一个字符 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 |
[[:alpha:]] | 任意字母 |
6)alias
alias 命令别名 = '命令'
unalias 别名命令 删除别名
\加别名命令 (显示原始命令)
7)du
du 【选项】【文件或目录...】
-a 统计磁盘空间占用时包括所有的文件
-h 以更人性化的方式KB 显示出统计结果
-s 只统计所占用空间总的大小,而不是统计每个子目录和文件的大小
--max-depth = n (-d 1) 最大显示第几层 (第一层子文件)
--exclude 不计入统计
四.创建文件夹
1)创建目录 mkdir
mkdir -p 递归创建 没有文件夹 会自动递归创建
mkdir 【选项】 目录位置及名称
2)touch
touch 新文件...(可为空) 文件名 不存在就是新建空文件
touch 不会破坏已有文件 刷新文件
3)硬连接与软连接文件
硬连接 同一个文件取不同的名或者叫多个名字 不支持文件夹,创建一个连接数+1 , 多路径访问
软连接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件 (应该使绝对路径) . /opt /mnt
ln (link)
ln[-s] 源文件 或 目录 ... 链接文件或者目标位置
加s是软连接 符号连接
对比项 | 硬链接 | 软连接 |
本质 | 本质是同一个文件 | 本质不是一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,连接数会增加,删除硬链接,连接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除原文件 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径长度 |
4)复制
cp 备份
1. cp[选项]...源文件 目标 相当改名复制 文件夹 文件相当于 改名字另存为
2. cp[选项]...源文件...文件夹 多个源文件只能复制到文件夹
3.选项
-f 强制复制,不提醒
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持原文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项
-a 完整保留所有的信息
-v 可视化
-u 相当于增备,差异备份(只对文件夹起作用)
5)移动
mv [选项] ... 源文件或目录... 目标文件或者单个文件
移动 或者改名
-f 强行覆盖
-i 交互移动
-n 如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v 显示文件或者目录的移动过程
6)删除文件
rm [选项] 要删除的文件或者目录
-f 强制
-i 交互
-r 递归
7)查找文件
1.locate
2.find
格式: find 【查找路径】 【option】 ... 【查找条件】 【处理动作】
find /
查找路径:指定具体目标路径:不指定为默认为当前目录
查找条件:可以对文件名 大小 类型 权限进行查找:默认为找出制定路径下的所有文件
处理动作:符合条件的文件做操作,默认输出至屏幕
常用可选项
-name 根据目标名字查找
-size 根据目标大小查找——+ - kB MB GB
-user 根据是否属于目标用户进行查找
-type 根据文件类型进行查找
-inum 根据文件inode 号查找
-perm 按文件权限查找
-maxdepth level 将你的文件已分级的形式查找
-mindepth level 同上
-mtime 根据时间戳time天 min分钟
8)程序查找which
which 命令 |程序名
which ls
标签:文件,Shell,...,源文件,查找,命令行,格式,目录,man From: https://www.cnblogs.com/tsumiki/p/17563072.html