目录
1.linux概念
- 一切皆文件
- 系统小型轻量级
- 避免令人困惑的用户界面就是没有复杂的图形界面。
- 无后缀名
linux命令运行的过程
- 绝对路径>别名>内部命令>hash>外部命令
linux根目录文件描述
- dev:存放硬件设备(硬盘)
- home:家目录的上级目录,root用户例外
- etc:配置文件(用户信息,密码,挂载,yum)
- mnt:空目录,专门用来挂载的文件
- opt:放第三方软件
- var:var/log 日志文件
- bin:存放二进制文件(命令)
- sbin:管理员可以使用的命令
- lib64:代码库
- proc:进程有关,正在允许的程序
- net:网络
- run:内存中的文件
- boot:系统启动需要的文件
- root:管理员的家目录
- tmp: 临时文件
2.基础知识
[root@localhost usr]#
root:当前登录的用户
localhost:当前主机名
usr:目前所在文件夹
#:超级管理员
$:普通用户
drwxr-xr-x. 2 root root 97 10月 24 16:49 yy.txtd:代表文件类型
rwxr-xr-x:文件的权限
2:链接
root:文件的主人
root:文件所属组
97:文件大小
10月24 16:49:最后一次使用时间
yy.txt:文件的名字
3.文件类型
- :普通文件
d:目录文件夹
p:管道,只能单向传
s:套接字, 两台电脑之间传递信息
b:块设备,硬盘,一次可以接受或读取一块区域的数据
i:链接,快捷方式
c:字符,键盘,一次可以接受或读取一块区域的数据
4.shell、内部命令/外部命令
shell
- 协助人机交互,翻译,将人类使用的高级语言翻译成二级制语言
- 用户登录linux系统时,会自动加载一个shell程序,bash是Linux系统中默认使用shell程序
内部命令
- 不需要安装,集成在shell中,一旦登录用户自动加载在内存中,速度快內部命令没有独立文件,都在bin/bash程序中
- 內部命令没有独立文件,都在bin/bash程序中
外部命令
- 不在shell程序中,运行时需要从硬盘加载到内存
- 是一个独立文件
运行过程
- 先判断外部还是内部命令,内部直接运行
- 外部命令,先看hash缓存表,hash中有直接执行,如果没有,去硬盘找,如果表项有,但是没找到直接报错
4.Linux命令行的辅助操作
Tab:自动补齐
ctrl + e:光标移到最后
ctrl + u:清空至行首不包括当前光标处的字符
ctrl + k:清空至行尾包括当前光标处的字符
ctrl + a:光标移到最前
ctrl + w:从当前光标删除到开头
ctrl + l:清屏
ctrl + c:取消本次命令编辑
5.命令格式
CD
- 语法:cd 路径
cd //切换目录
cd ~ //切换到当前用户的家目录
cd - //返回上一次目录
cd .. //返回上一级
cd . //留在当前目录
LS
- 语法:ls 选项 文件
ls -a //显示所有隐藏文件 包括 . ..
ls -A //显示所有隐藏文件 不包括 . ..
ls -l //长格式显示 简称:ll
ls -d //只看目录本身
ls -h //人性化显示
ls -R //递归显示
ll -tr //显示当前文件下的文件,以时间排序倒序显示
ll -S //以文件大小显示
ls -i //查看文件的inode号
通配符
?:匹配一个字符
*:匹配任意长度的字符
{1..10}:1到10
{a..z}:小写的a到z
{A..Z}:大写的A到Z
[123]:代表任意一个,1或2或3
[a-z]:aA..z任意一个
[0-9]:匹配数字范围(0123456789)
\:转义符,表示原来的意思
[^yang]:除去yang字符以外的字符
alias
- alias别名
- 语法:alias 自定义命令=原始命令
- 原始命令中,有特殊字符如@*#&等都要打引号
[root@localhost dev]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost dev]# alias myvim='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
//设置别名为myvim
[root@localhost ~]# unalias myvim //取消别名设置
[root@localhost ~]# alias //查看设置的别名
du
- du 磁盘使用量
- 语法:du 选项 文件夹
du -a //一个个文件单独显示
du -s //显示总和
du -h //人性化显示 tip:a和s不能一起使用
du -sh //人性化显示总和
du -d1 //只显示第一层
du -exclud *txt //不显示txt文件
ll和du的区别
ll可以看到文件的真实大小
du可以看到文件的大小,占磁盘块的个数
mkdir
- mkdir:创建目录
mkdir -p //递归依次创建
mkdir a b c //同时建立a b c三个目录
mkdir a/aa/aaa -p //递归建立a aa aaa文件夹
touch
- touch:创建文件
touch 文件名
1.新文件
2.刷新文件的时间
若文件名存在视为情况2
若文件名不存在,视为情况1
硬链接/软链接
- ln 绝对路径下的源文件 目的地:创建硬链接
- ln -s 绝对路径下的源文件 目的地:创建软链接
两者区别
软链接:本质是同一个文件、支持文件夹、inode号不同、常用
硬链接:本质不是同一个文件、不支持文件夹、inode号相同、不常用
cp
- cp:复制
cp -f //强制复制
cp -r //递归复制所有目录
cp -a //递归复制所有目录并保留权限
cp -v //复制时展示可视化界面
cp -u //差异备份
mv
- mv:剪切
mv 文件 重命名 //改名
mv 文件 路径 重命名 //移动并改名
查找命令
which ls //精确查找
whereis ls //模糊查找
locate 文件 //查找数据库文件
locate -n 5 文件 //查找文件前5行
find
- 精确查找、实时查找、支持查找条件多、
find //什么都不讲相当于ls,默认处理动作打印
find -name //文件名查找
find -size //文件大小查找 K M G
find -type //文件类型查找
// -f:普通文件 -d:目录文件 -p:管道 -s:套接字 -l:链接 -c:字符 -b:块设备
find -user //用户信息查找
find -unuser //查找无主用户
find -inum //用inode号查找
find -perm //按文件权限查找
find -iname //文件名称查找不区分大小写
find -a //并且
find -o //或者
find -! //非,取反
find -delete //把查询到的命令一并删除
find -exec //把查询到的进行处理
列:
find -name '*log' -type f -size +1G -mtime +30
//找到30天以上大于1G,名字为log结尾的普通文件
find /data/ -type f -exec mv {} {}.txt \;
//将找到的文件全部改名为.txt结尾