前言
本篇了解 Linux重定向 + 管道命令 + 环境变量PATH,如有错误,请在评论区指正,让我们一起交流,共同进步!
本文开始
1. FHS
FHS:一套规定Linux的目录结构,规定各个目录都有它特点的功能;
2. 重定向
-
人机交互,默认打开3个文件:
1)标准输入 - stdin - 0
2)标准输出 - stdout - 1
3)标准错误输出 - stderr - 2 -
重定向:
1)一个大于号 > : echo “hello word” > file.txt
#> 输出重定向:本来输出到显示器上的,结果输出到文件中;① 写入到指定文件 ② 覆盖写 ;
2)两个大于号 >>:echo "hello " >> file.txt
#>> 追加重定向,会在文件结尾,追加内容;
3)一个小于号 < :cat < file.txt
#< : 将文件打开,作为程序的数据源;
【注】大于号 只重定向标准输出!
例如:find /home -name test.c > msg.txt - > 标准错误会输出到显示器上, 标准输出放入了msg.txt文件;
find /home -name test.c > msg.txt 2>&1 ->将标准错误也放入msg.txt文件中
#/dev/null -> 信息黑洞,丢弃不要的内容;
例:find /home -name test.c 2> /dev/null
3. 管道
- last 命令 -> last | head -5
last : 显示历史登录信息
head -5 : 将文本行的前5行内容进行显示;
| -> 管道: 传输数据
last | grep zhang | wc -l -> zhang: 是用户 ->显示历史登录用户zhang一共登录了多少回;
grep: 按照行为单位,进行关键字过滤
wc -l:统计行数
4. 环境变量 - PATH
可执行程序:命令、程序、工具都统称 可执行程序;
一条命令执行过程本质:
① 找到 - 找到命令路径 -》通过PATH查找
② 执行
- PATH
在系统中,可执行程序的搜索路径保存在一个 全局 变量 PATH中;
-》PATH给系统提供命令的搜索路径;
-》 PATH保存了多条路径,路径之间用 “ :” 隔开;
-》路径搜索从左往右开始查找;
touch mycmd.c -> vim mycmd.c
前提:不是系统命令,执行需要./mycmd才能执行;系统命令 mycmd就可以执行;现在修改命令,让mycmd达到系统命令的程度,这样之间输入mycmd就可以直接执行;
1)sudo cp mycmd /usr/bin -》将mycmd命令拷贝到系统命令目录中;- 不推荐
2)将当前路径添加到环境变量中:export PATH=$PATH:/home/zhang -> 冒号后面为添加的命令;
- which 命令 -》查找路径的
which mycmd -> 找mycmd的路径
5. 权限管理
Linux两种用户:
超级用户:命令提示符是 - # - 无限制
普通用户:命令提示符是 - $ - 有限制
- 用户切换
- su / su - : 都是转为root用户; su 使用当前路径,su - 跳转到root的家目录(/root); -》 输入的root的密码
- sudo -s : 输入的是自己的密码
3)普通用户 -》 root用户:su / su -
root用户 -》普通用户:exit / ctrl + d
-
文件的权限
1)属性:读,写,执行
2)人:文件拥有者,文件的所属组,文件的其他 -
文件类别:linux 是开头标识的
1)d:目录
2)-:普通文件
3)b:块设备
4)c:字符设置
5)p:管道
6)s:socket 文件
7)l:链接文件 -
认识权限
例:d rwx rwx r-x : d是标识目录;后面9个字符三个三个为一组,分别对应之前的 拥有者,所属组,其他;r - 读权限,w - 写权限,x - 执行权限; -
chmod命令 - 修改权限
1)chmod + u… + g… + o…
加一个权限 chmod u+x file.txt;
删除文件有的全部权限:chmod g-rw file.txt;
加上全部权限:chmod o+rwx file.txt
chmod u-x,g+rwx,o-rwx file.txt -> 拥有者减去权限x, 所属组权限加上全部, 其他人权限减去rwx;
【注】u : 拥有者, g:所属组,o:其他;
所属文件类型 + 3组权限 + 拥有者名称 + 所属组名称 + 文件大小 + 最后修改时间;
2)chmod + 八进制 + file_name
666 <=> -rw-rw-rw-
866 <=> -rwx-rw-rw-
修改拥有者名称:sudo chown root file.txt
修改所属组名称:sudo chgrp root file.txt
一起修改:sudo chown zhang:zhang file.txt
【注】进入一共目录需要权限 x -> 执行权限;
- echo写内容:echo “hello” >> file.txt
总结
✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!