生活是属于每个人自己的感受,不属于任何别人的看法。
目录
2. 常见指令以及权限理解
2.1基础命令
2.1.1 目录相关命令
(1)ls (浏览目录内容)
- -l(查看文件的详细信息)
- -a(查看所有文件包括隐藏文件)
(2)pwd(查看当前所在路径)
- 绝对路径: 基于根目录的路径表达方式 /home/dev;
- 相对路径: 相对当前所在路径的表达方式( . ./dev/);
- 当前所在路径的表达方式: 在每一个目录下都会有两个目录
- . 目录自身
- . .自身的上一层路径
(3)mkdir(创建目录)
- -p(递归多层级创建空目录)
- mkdir -p abc/bcd/cde
(4)rmdir(删除空目录)
- -p(递归多层级删除空目录)
- rmdir -p abc/bcd/cde
(5)rm(删除普通文件)
- -r(递归删除目录下所有文件包括自身)
- -f(忽略提示信息,直接进行操作)
(6)cp(默认拷贝一个文件到指定位置)
- -r(递归拷贝目录下的所有文件包括自身)
- -f(忽略提示信息,直接进行操作)
(7)mv(将一个文件/目录移动到指定位置)
- -i(增加提示信息)
(8)cd(改变当前路径为指定路径)
- ~(快速返回当前用户家目录)
- -(返回上一次所在的路径)
2.1.2 普通文件命令
(1) touch (刷新文件的时间属性,文件不存在时则创建空的新文件)
- -d(使用指定的文件刷新文件的时间属性)
(2) cat (将文件内容打印到终端显示中)
- -n(加入行号)
(3) tac (按行逆序打印文件的内容)
(4) more (按页显示文件内容)
- 回车(向下按行滚动)
- 空格(向下翻页)
(4) less (按页显示文件内容)
- f/b(上下翻页)
- j/k(上下按行滚动)
- q(退出)
- /string(向下匹配string字符串)
- ?string(向上匹配string字符串)
- 按n(匹配下一个)
(5) tail (默认显示文件末尾的10行内容)
- -n(显示文件末尾的n行内容)
- -f(一直在动态刷新文件的末尾内容)
(6) head (默认显示文件的前10行内容)
- -n(显示文件的前n行内容)
2.1.3 文件压缩 / 解压缩命令
(1) zip/unzip (zip格式文件的压缩解压缩)
(2) gzip / gunzip
(3) bzip2 / bunzip2
(3) tar(文件打包)
- -c(打包)
- -x(解包)
- -z(打包/解包的同时进行gzip格式压缩/解压缩)
- -j(打包/解包同时进行bzip2格式压缩/解压缩)
- -v(显示详细的打包信息)
- -f(指定包名,通常最后一个选项)
2.1.4 系统时间日期命令
(1) cal(查看日历)
- -3(查看前3个月)
- -y(查看全年)
- -j(以day-of-year形式显示日历)
(2) date(查看/设置系统时间)
- -s(设置时间)
- date +‘%Y-%m-%d %H:%M:%S’
+‘%s’(显示时间戳)
2.1.5 系统资源命令
(1) top(查看CPU资源使用情况)
(2) fdisk(查看磁盘)
(3) df(查看磁盘使用情况)
(4) du(查看文件占用空间的大小)
(5) free(查看内存使用情况)
2.1.6 匹配查找命令
(1) grep(在指定文件中匹配包含有指定字符串的行)
-n(加上行号)
-i(忽略大小写进行匹配)
-v(匹配不包含指定字符串的行)反向匹配
-R(递归对指定目录下的所有文件进行字符串匹配)
正则表达式
定义
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
特点
1. 灵活性、逻辑性和功能性非常的强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制;
3. 对于刚接触的人来说,比较晦涩难懂。
举例
"^-?\d+KaTeX parse error: Undefined control sequence: \d at position 65: …示前面的字符即– 至多为一个,\̲d̲表示匹配所有的数字,+ 表示前…表示必须以前面的字符即 \d 结尾;
[\u4e00-\u9fa5] 匹配中文字符
通过:unicode编码判断是不是中文字符;
[^\x00-\xff] 匹配双字节字符
<tr style="height:650px;"valign=“top”>([\w\W]?)
抓取该网页的正文部分;
((?<=<(li)>)[\w\W]?(?=(</\1>)))
万能正则表达式,用途很广泛。
(2) find(在指定目录下查找文件)
-name(通过文件名查找文件)
-type(通过文件类型查找文件)
-size(通过文件大小查找文件)
2.1.7 进程指令
ps (用于报告当前系统的进程状态)
ps -aux | grep file
ps -ef | grep file
kill
用来删除执行中的程序或工作,也可将制定信息发送至程序, 预设的信息为SIGTERM (15) ,也可将执行程序终止.
ipcs (查看ipc)
ipcs -m 打印出使用共享内存进行进程间通信的信息
ipcs -s 打印出使用信号进行进程间通信的信息
ipcs -q 打印出使用消息队列进行进程间通信的信息
ipcrm
移除一个消息对象,或者共享内存段, 或者一个信号集, 同时会将ipc对象相关链的的数据也一起移除.
2.1.8 网络指令
netstat
查看网络状态
ping
表示因特网包探索器, 主要用来测网络是否连通.
route
主要操作Linux内核路由表, 从而操作路由逻辑.
2.1.9 其他命令
(1) bc (计算器)
(2) man (查看手册)
(3) su (切换用户)
su root
(4) Ctrl+c (终止当前操作)
(5) stat (查看文件的详细信息)
(6) |管道符 (链接两个命令,将前边命令处理结果交给后边的命令进行处理)
(7) >> (追加重定向,将数据追加到源文件末尾)
(8) > (清空重定向,清空文件源于内容,写入新数据)
(9) * (通配符)
(10) ifconfig (查看网卡信息)
(11) ldd (查看文件的可依赖项)
2.2 shell命令以及运行原理
2.2.1 shell的简单定义
(1)命令行解释器–解释用户输入对操作系统内核进行一层保护。
(2)将使用者的命令翻译给核心(kernel)处理,同时将核心的处理结果翻译给使用者。
2.2.2 shell的运行原理
(1)对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
(2)shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果再通过内核运行出结果,通过shell解析给用户。
2.3 Linux权限
2.3.1 Linux权限管理
(1)Linux下的两种用户
超级用户root
可以在Linux下做任何事情,不受限制,命令提示符为"#“;
普通用户
只能在Linux下做有限的事情,命令提示符为”$";
切换用户
su [用户名]
(2)文件访问者的分类
文件所有者u(user)
文件所属组g(group)
其他用户o(others)
(3)文件类型和文件访问权限
文件类型
d:文件夹
-:普通文件
l:软连接(类似windows的快捷方式)
b:块设备文件(例如硬盘、光驱)
p:管道文件
c:字符设备文件(例如屏幕等设备)
s:套接口文件
基本权限
r(可读可浏览)
w(可写可创建、删除)
x(可执行、可进入)
-(表示不具备该项权限)
(4)文件权限值的表示方法
字符表示方法
8进制数值表示方法
(5)文件访问权限的相关设置方法
chmod
功能
设置文件的访问权限(修改已经创建成功的文件权限)
格式
格式:chmod [参数] 权限 文件名
chmod命令权限值的格式
用户表示符+/-/=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号
chmod命令权限值的格式
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
例子
chmod 777 filename; 通过八进制权限修改
chmod o-x filename; 通过指定用户的权限修改
chmod +x file u+x g-x o+r a-x;
chown
功能
修改文件的拥有者
格式
chown [参数] 用户名 文件名
例子
chown username filename;
chgrp
功能
修改文件或目录的所属组
格式
chgrp [参数] 用户组名 文件名
例子
chgrp groupname filename;
umask
功能
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
格式
umask 权限值
最终权限
mask & (~umask)
说明
超级用户默认掩码值为0022,普通用户默认为0002。
2.3.2 目录的权限
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中;
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容;
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。
2.3.3 粘滞位
格式
chmod +t filename
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
- 超级管理员删除
- 该目录的所有者删除
- 该文件的所有者删除
其他用户在设置了粘滞位的目录下库创建文件,删除文件的话只能删除自己的文件而不能删除别人的文件。
2.3.4 权限总结
- (1)目录的可执行权限是表示你可否在目录下执行命令。
- (2)如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件);
- (3)如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录;
- (4)但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。