目录:
1、Linux命令基础
1.1 shell
1.2 Linux命令的分类
1.3 linux执行命令的过程
1.4 编辑Linux命令行的辅助操作
1.5 通配符的使用
2、Linux命令
2.1 cd
2.2 ls
2.3 alias
2.4 mkdir
2.5 touch
2.6 ln
2.7 cp
3、查找命令/文件存放目录
3.1 which
3.2 locate
3.3 find
1、Linux命令基础
1.1 shell
shell是Linux系统中运行的一种特殊程序,在用户和内核之间充当“翻译官”,将人类的高级语言翻译成二进制,用户登录Linux系统时自动加载一个shell程序,bash是Linux系统中默认使用的shell程序。不是一个具体的软件名。bash是默认,nologin最特殊的,不让登录。
查看有多少个shell:
1.2 Linux命令的分类
内部命令和外部命令的区别:
程序:执行特定任务的一串代码
命令 举例:ls 二进制代码
ls :执行显示当前文件夹所有文件的任务
程序需要安装
内部程序(命令):直接安装进内核,不需要安装,是操作系统的一部分。内部命令是一直打开的 Linux中固定了几个文件夹,存放外部命令。
外部程序(命令):需要自己安装
优先级:内部>hash>外部
hash:记住缓存
为什么既是内部程序又是外部程序?内部出现问题就用外部的,双重保险。
1.3 linux执行命令的过程
内部》外部
1、判断是内部命令还是外部命令,如果是内部命令直接执行
2、如果是外部命令,首先看hash缓存表,如果表中有,按表中的路径直接查找,如果表中查不到,直接报错
3、如果hash表没有,会去$PATH 下的文件夹中查找,一个一个查找,懒惰模式,找一个即停止,找不到,直接报错。
/usr/local/sbin:/user/local/bin:/usr/sbin:/usr/bin:/root/bin
shell是一类程序的总称,
bash centos7默认的shell类型
查看是内部命令还是外部命令:
有路径的是外部命令:
内嵌是内部命令又是外部命令:
Linux命令行的格式:
通用的命令行使用格式:命令行 [选项] [参数]
命令字是整条命令中最关键的一部分,唯一确定一条命令
选项中有短格式选项:使用”-“符号引导,长格式选项:使用”--“符号引导
加”--“
不加”-“:
1.4 编辑Linux命令行的辅助操作
Tab键:自动补齐
反斜杠”\“:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl+C组合键:取消本次命令编辑
Ctrl+E组合键:到行尾
Ctrl+S/Ctrl+Q 锁屏/解锁
上下箭头:回看执行过的命令
上下键
获得命令帮助的方法
内部命令help 查看shell内部命令的帮助信息
命令的--help选项:适用于大多数Linux外部命令
使用man命令阅读手册页
使用方向键滚动一行文本
使用Page Up和Page Down键翻页
按 Q或q键退出阅读环境
按“\”键查找内容,n向下N向上
第一个man是man命令,第二个man是手册:
1.5 通配符的使用
通配符的作用是:匹配文件的名字,去模糊查找文件,常见的有 *代表任意字符 ?代表任意一个字符
临时修改:修改内存中的设置 关机后不保存;
永久保存:写入文件,修改配置文件,保存在硬盘中,永久有效。
补充[[:alpha:]] 任意字母
在小写字母后面加入A...Z的文件:
删除1开头的数字,在查看个数:
找a-c A-C之间的文件,
找a-c之间的文件
小写字母表示a-z,大写字母表示A-Z
查找0-9 的文件:
查找etc目录下的:
pwd查看当前工作目录
每个用户都有一个家目录,家目录存放当前用户特殊配置的文件夹
2.1 cd
cd:切换文件夹(目录)
家目录:存放当前用户配置信息的文件夹
当前用户对自己家目录与最高权限
家目录:
root:超级管理员的家目录: /root
普通用户的家目录: /home与用户同名的文件夹
/第一个是根目录
~:当前用户的家目录
cd 什么都没有 去往当前用户的家目录
cd~ 去往当前的家目录
cd ./当前目录
cd ../上级目录
cd ../../上上级目 录
cd - 返回上一次所在目录 只有一次有效
绝对路径:/在第一位的是绝对路径,是唯一的,没有同名的,从根目录开始写路径,以根开头
相对路径:不能从根目录上写路径,不是以根开头
yum install tree 添加tree
切换工作目录 -cd
将用户的工作目录更改到他位置
2.2 ls
ls list 列出当前文件夹下所有文件
基础功能不包括隐藏文件 (ls-a 查看文件的配置,显示所有文件,包括隐藏文件,包括. 当前目录 ..当前目录的上级目录 -A 显示)
ls-l 长格式显示,显示详细信息 ls-l=ll
ls-a 显示所有文件,包括隐藏文件,也包括.(当前目录) ..(当前目录的上级目录)
ls-A 显示所有文件包括隐藏文件
ls-h人性化显示
ls-d ld 只显示当前文件夹,长格式
ls-R 递归显示所有文件
--color 显示颜色
-t 一时间排序
-r倒序
- i indoe号
3、目录
注:ls不能直接使用,它跟通配符一起使用
代表文件格式 7种 | |
- | 普通文件 |
d | 文件夹 |
c | 字符文件 |
p | 管道文件 |
b | 块设备 |
s | 套集字 |
l | 链接文件 |
普通文件 文件夹 块设备 连接文件
s 套接字文件 就是用来传递的,里面有IP地址和端口号
rw-r--r--
rw-(创建者)r-- (所属组) r--(其他) rwx
权限 可读 可写 可执行
r 可读
w 可写
x 可执行
-代表文件属性
1 硬连接数
root 创建者
root 所属组
11文件大小
2.3 alias
别名:将一些很长的命令,自定义成简单好记忆的命令。
alias 自定义命令=‘原始命令‘ 临时的
删除别名
unalias 自定义命令
\cd /opt/ #临时用一次, \转义符代表使用原来的意思
vim .bashrc 是对root生效
vim /etc/profile 是全局生效
别名>内部>外部
命令执行的顺序
1、绝对路径下的执行顺序
2、先看别名,如果有别名,直接执行
3、再区别是内部还是外部,内部直接执行
4、外部 首先看hash表,表中有直接执行,表中有但是找不到 直接报错
5、没有hash 回去$PASH 路径下的文件夹去找,找到执行,找不到直接报错。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
du (disk use) 统计文件占用磁盘大小
du -a /data每个文件单独显示
du -s /data 只显示总大小
注意:du -as不能同时使用
ls 看到的是真实大小,du统计的是当前文件占磁盘的大小,不足4k按4k算。
注意 -as不能一起用
补充:只想看etc下第一层目录的使用情况
du -d 1
-d 1 代表第一层
-d 2 代表第二层
写全了就是 -d 1 --max-depth=1
--exclude=*.txt 排除txt
建立别名为ccc,然后改别名为cxk
2.4 mkdir
创建新目录 mkdir
创建新的空目录 mkdir [选项] 目录位置及名称 (-p:一次性创建嵌套的多层目录)
-p 递归建立文件夹
-v 显示建立目录的过程
mkdir -pv /data{11,22,33}/{aa,bb,cc}
一次建立多个文件
2.5 touch
当文件不存在时,直接新建改文件,并且文件是空文件,当文件存时,会刷新 改文件的时间戳。
建立新文件cs,建好之后文件存在了就刷新时间:
2.6 ln
创建链接文件:
链接文件类型:软链接、硬链接。
ln [-s] 源文件或目录...链接文件或目标位置 有-s是创建软链接,否则是硬链接。
硬链接是不好建文件夹的
软链接:类似于windows快捷方式
大小:源文件的路径大小 /opt/passwd 11字节
删除源文件 链接文件失效
修改源文件 一起变化
软链接可以作用于文件夹
indoe号 不同
移动软连接 是不影响使用
文件类型 源文件和链接文件不同
连接数不变
硬链接
2.7 cp
复制文件或目录-cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件夹
cp [选项]...源文件或目录...目标文件或目录
-f 强制复制不提示有同名的文件
-i 提示覆盖同名的文件
-p保留属性
-a更强大的保留属性,连链接文件也可以保留
-r复制文件夹的时候一定要带
一次复制多个文件只能 最后只能跟目录
复制并且改名
-u差异备份,选择性了解
第一次是将etc文 件夹拷贝到data目录并且改名etc.bak
第二次是将etc复制到etc.bak下成为子目录 etc
第三次是将etc复制到etc.bak下成为子目录因为已经有etc.bak所以会提示
andible 幂等性 如论执行多少次
rm
-f 强制删除
-r递归删除
管道查看有几行,将ls的结果当做参数交给下一个命令
管道符的作用:将前一个命令的结果当做对象传递给下一个命令执行
3、查找命令/文件存放目录
3.1which
3.2 locate
3.3 find
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
查找文件或子目录的目录位置 查找条件类型
-name 名字 查找 可以使用 通配符 " "
-size 大小 范围 k M G 在没有 + — 写的越小越好
-user 根据 文件的主人
-type 文件类型 -f 普通 -d 目录 -s 套接字 -l 连接 -p 管道 -c 字符 -b 块设备
-maxdepth 最大层次
-mindepth 最小层次
-mtime 时间 +3 第4天 到正无穷 -3 0-2 3 3
-nouser 无主用户 用户被删除
-inum inode号
-empty 空文件