Linux
概念:
权限 -rwr-r—- 十位组成一个 第一位表示文件类型,2-4:表示root用户的权限,5-7: 表示所属组的权限 8-10:表示普通用户的权限
什么是挂载?
就是和挂载点连接的过程叫挂载
linux 中使用系统目录作为盘符的.
- mkdir: 文件名 创建文件夹
- touch: 文件夹名/文件名 在目录下创建文件
- rm -rf 文件 : 删除文件不走回收站
- cat 文件 :查看文件内容
- vi : 编辑
- q! 快速保存
- :wq! 保存
- u 撤销上一步的操作
- Ctrl+r 恢复上一步被撤销的操作
- tab 补全命令
- ls -lh 查看目录下所有文件详细信息
系统分区
目录结构:
- /根目录
- bin 目录 : 命令保存目录
- cgroup :
- etc : 系统的默认的配置文件; 学习服务的时候就要使用到
- lib :系统函数库目录,常用的库放在这里,用的时候调用
- media: 挂载目录
- mnt :挂载目录
- opt
- root : 超级管理员使用的目录
- selinux
- sys:目录不能直接操作,保存的是内存的过载点
- usr : 系统资源保存 目录
- boot: 启动目录,启动相关的文件
- dev :特殊文件保存目录,里面都是硬件文件
- home: 普通用户的家目录
- lost+found
- misc :挂载目录
- net
- proc :目录不能直接操作,保存的是内存的过载点
- sbin :命令保存目录 root权限才能使用的命令
- srv
- tmp : 临时文件目录
- var : 保存系统相关文档
安装过程
/:根目录 /home :2000 /swap 1000 /boot 分区200
所学命令:
- pwd : 显示当前所在目录的位置
- ~ :代表当前用户的家目录
- # :表示当前用户是root用户
- $ :表示当前用户是普通用户
总结: bin 目录都是用来保存系统命令的目录,但是sbin用来保存root使用的命令
media ,mnt,misc三个目录是用来挂载的目录
三: 文件搜索命令:
- :搜索命令: locate <定位查找>
快>>功能单一
定位查找>
在数据库中查找,首先用updatedb 更新数据库 再执行 locate <文件名>文件名>
locate locate 查找数据库
locate 查找/tmp/文件 时 >updatedb >是查找不到数据的 ,因为在updatedb是遵循updatedb.conf 配置文件进行搜索的,但是在其中是忽略了tmp等文件的,还有.svn以及.git
- :whereis 表示我在哪,命令搜索系统命令
-b: 只查找看执行文件 -m 只查找帮助文件
还有比如whoami,表示我是谁, whatis 我是什么,帮助文档
– which <文件名> 查看执行命令,所在路径,以及别名 cd是shell自带的命令无法查看文件名>
–PATH环境变量:定义的系统搜索的命令路径 echo $PATH 系统命令使用,path路径中的bin执行文件,也就是命令
- find
- find [搜索范围] [搜索条件] # 搜索范围可以使用正则或者通配符
-
find / -name install.log # 文件名搜索 在全文件中搜索,性能消耗很大
- find /root -user root # 文件所有者搜索
- find /root - nouser # 搜索非文件所有者
在linux中文件都是文件所有者,除非是windows中转来的,或者是系统文件
时间查找
- find /var/log/ - mtime +10 # +10 表示10 天前 ,-10 表示10天内 ,10表示第10天
文件大小查找
- find . size 25k 或者M k小写,M大写 +25k 表示大于25k -25k表示小于25k 25k 表示等于25k
i节点查找
- find . -inum 266647(节点号)
逻辑查找
-
find /ect -size +20k -a -size -50k # -a 表示 and ,-o 表示or
-
find /ect -size +20k -a -size -50k -exec/-ok 命令1 {}\; #查找ect目录下大于20k小于50k的文件,并执行命令1
grep
- grep [选项] 字符串 文件名 # 在文件中搜索符合匹配符的字符串
选项 -i 忽略大小写 -v 排除指定字符串,就是不包含的字符
find与grep的区别
find 在目录中查找符合要求的文件 grep 在文件中查找符合要求的字符
压缩:
zip压缩:
-
压缩文件命令: zip 压缩后的名称.zip 原文件名称
-
压缩文件夹: zip -r 压缩后的名称.zip 原文件名称
-
解压缩命令: unzip 压缩文件名称
gzip压缩: 后缀为gp
-
压缩文件:
gzip 文件名
注意是压缩后原文件会消失 -
压缩文件保留原文件:
gzip -c 源文件 > 压缩文件
-
压缩目录:
gzip - r
压缩目录下所有的文件但是不能压缩目录 -
解压缩文件:
gzip -d 与解压文件
orgunzip 与解压文件
-
解压缩目录:
gunzip -r
目录不变,里面的文件被解压缩
bzip2
-
压缩文件:
bzip2 文件名
-
压缩文件保留原文件:
bzip2 - k 原文件
注意: 不支持压缩目录
解决不能压缩后两个不能压缩目录的问题
-
打包:
tar -cvf 文件名称 原文件
在进行bzip2或者gzip压缩 -
解打包:
tar -xcf 文件
-
目录直接打包成gzip :
tar -zcvf 压缩名.tar.gz 原文件
-
目录直接打包成bzip2 :
tar -jcvf 压缩名.tar.bz2 原文件
-
目录接打包:
tar -zxvf 文件
ortar -jxvf 文件
-
指定解压缩的位置:
tar - zxvf 文件名.tar.bz2 -c 指定的位置
-
指定压缩多个文件并指定压缩位置:
tar - zxvf /tmp/文件名字.tar.bz2 文件1 文件2
-
查看压缩文件 : ``` tar -ztvf 文件
关机和重启的命令
-
shutdown - r now : 现在重启
reboot 或者init 6
-
shutdown - h : 关机 也可以用
halt poweroff init 0
-
shutdown - c : 取消重启,关机
-
runlevel : 表示进入系统的级别 N 表示是空 3 表示没有图形化 5 是图形化界面
-
修改系统默认运行级别: cat/etc/inittab 注意: centos7的运行级别都定义在 /lib/systemd/system下. 不再是之前的/etc/inittab文件.
-
退出登录 : logout 在windows中只能有几个服务器
挂载命令
光盘,U盘就需要人为的进行挂载
-
mount : 挂载命令.查系统已经挂载的任务
-
mount -a : 自动挂载 /ect/fstab 自动挂载的文件 注意不能把U盘作为自动挂载,因为linux在启动时就会去寻找如果没有就会崩溃
-
mount [-t 文件系统] [-o特殊选项] 设备文件名 挂载点
-t 文件系统:可以ext3,或者ext4 ,ios9660 -o :指定挂载的额外选项 ,可以指为不可以挂载 -
挂载光盘 1 ,建立挂载点mkdir /mnt/cdrom 2, 建立挂载 mount -t ios9960 /dev/sr0 /mnt/cdrom 或者 mount /dev/sr0 /mnt/cdrom 注意: /dev/sr0 和 /dev/cdrom 是一样的,因为cdrom就是 sr0的软链接
卸载命令:
- umount 设备文件名或者挂载点 注意只能写一个,而且退出光盘目录,必须卸载
USB的挂载
-
fdisk -l #查看U盘的设备文件名
-
mount -t vfat /dev/sdb1 /mnt/usb # 注意linux是不支持NTFS文件系统的 fat32 文件系统
用户登录查看命令
-
w 查看当前登录的用户有那些,以及详细信息
-
last 所有用户登录信息 #查看的是/var/log/wtmp 下的日志
-
lastlog 最近登录信息
Shell
shell就是命令解析器,负责人与linux交流的最简单的界面,就是操作界面
linux用的是bash
- 查看自己使用shell版本: echo $SHELL # shell 种类很多: sh cshell 等,也可以在父bash中调用子bash
脚本执行方法
- echo [选项] [输出内容] # 选项
第一个脚本:
- vi hello.sh
\#!/bin/bash
内容: echo -e "输出的文字"
- 执行脚本: bash hello.sh 或者 1 ,先附加执行权限755 chmon 755 hello.sh 2,再用相对路径或者绝对路径进行调用执行,一般用户是在/home/haochen/文件
bash的基本命令
- 别名:alias 别名
比如:alias ls =’ls – color=auto’ 配置别名
- 永久生效是在 /root/.bashrc 中配置别名就可以了
路径 –> 别名 –> bash内部 –> $PATH
快捷键:
- ctrl + l 清屏
- ctrl + u 删除
- ctrl + c 结束命令
- ctrl + a 行首
- ctrl + e 行尾
- ctrl + z 放入后台执行
- ctrl + r 历史搜索
历史命令
- history [选项] [历史命令保存的文件]
- histroy - c 清空
- histroy - w 写入
修改历史命令的条数大小
- vi /etc/profile # 把HISSIZE改为10000
输出重定向
- date 表示是时间
标准输出重定向
- 命令 > 文件 覆盖的形式
- 命令 » 文件 不覆盖
标准错误输出重定向
- 错误命令 2>文件 覆盖
- 错误命令 2»文件 不覆盖
正确的和错误的重定向
- 命令 > 文件 2>&1
- 命令 » 文件 2>&1 #1
- 命令 &> 文件
- 命令 &» 文件 #2
-
命令» 文件1 2»文件2 #3
- 命令 &>/dev/null 系统黑洞,会回收
输入重定向
- wc < 或者« 字符
- ; 表示命令分割符
-
逻辑或 - && 逻辑与 在安装时应用比较多
管道符
-
命令1 命令2 #命令1的正确的输出结果会传递给命令2使用 -
netstat -an grep XXXX wc -l # 表示在网络列表中有xxx的连接者有多少个
通配符
- ? : 通配一个任意字符
-
- : 通配人任意个字符
- [] : 通配一个正则,或者一些字符,只代表通配一个字符,还有[^0-9] 表示非0-9
特殊符号
- $ 后面接变量
- ’$,`’ : 在单引号中 $,是没有意义的 只是普通的字符串
- ” “ : $ ` 在双引号中时具有特殊意义的
- `` : a= ` ls`表示执行系统命令 ,再赋值给a 与$(ls) 是一样的
-
表示注释
- \ 表示转意符