linux基础学习-2
linux基础学习-2
Shell的实质
Shell本是一个类似于Pyhton的编程环境,包括变量、条件、循环、函数…
在执行Shell命令时,若不是Shell所规定的关键字时,便会去$PATH中查询,基于名字搜索,搜索到了之后便会执行该程序
$PATH:环境变量
查看$PATH
1 | |

每一个$PATH环境用:分隔
查看某程序所属$PATH,以echo为例
1 | |

此时可以看到echo属于/usr/bin/这个环境变量
知道了程序的绝对路径可以绕过$PATH直接执行
1 | |

路径
- 绝对路径
以/开头的就是绝对路径,他是一个文件的完整名称
上一小节的/usr/bin/echo就是一个绝对路径
查看当前目录的绝对路径
1 | |

- 相对路径
相对路径就是相对于当前目录的路径
当我处于/home/learn目录中时,使用ls命令查看当前目录的内容
1 | |

此时我可以直接进入或使用文件,而不是使用绝对路径
1 | |

在路径中,.代表当前目录,..代表上一级目录
退出到上一级目录
1 | |

文件操作
- 复制
例:
将file复制到/tmp目录中
1 | |
- 移动
例:
将file移动到/tmp中
1 | |
- 重命名
例:
将file重命名为filename
1 | |
- 创建目录
例:
创建一个名为dic的目录
1 | |
- 创建文件
例:
创建一个file文件
1 | |
权限
查看当前目录下所有文件或目录权限
1 | |

以Desktop目录为例
1 | |
以空格为分隔符,第一组就是该文件或目录的权限
第一个d代表类型为目录
后面九个字符,每三个一组,都按rwx的顺序排列r:读取,w:写入,x:可执行-则代表不具备该权限
第一组代表所属用户权限
第二组代表所属组权限
第三组代表其他用户权限
中间的两个learn代表所属用户和所属组
分析上述Desktop目录的权限
- 是一个目录
- 所属用户具有读取、写入、执行权限
- 所属组具备读取、执行,但不具备执行权限
- 其他用户具备读取、执行,但不具备执行权限
man
如果想了解一个程序的具体使用方法可以使用man程序
1 | |

列出了使用语法及其配套参数
输入输出流
输入流:< file
输出流:> file
输出流
将原本输出到屏幕上的内容,输出到file.txt
1 | |

还有一种>>的输出方式>是直接覆盖>>是追加
输入流
使用输入流读取文档
1 | |

cat file.txt和cat < file.txt的区别
cat file.txt是cat将file.txt作为参数,直接输出其内容
cat < file.txt是由shell先打开,并将其内容重定向到cat的标准输入(stdin)
相比cat file.txt ,cat < file.txt多了一步由shell打开
管道符(pipes)
将管道符左边的输出,作为管道符右边的输入
1 | |
分解命令
管道符左边打印当前目录下文件的详细信息
管道符右边取最后一行
组合命令
得到当前目录下最后一个文件的详细信息
Root
root用户,就是超级用户,相当于Windows中的Administrator
可以创建,修改,删除任何文件
日常使用中一般不会直接使用root用户,而是使用sudo
1 | |
使用这条命令时,提示我不能打开一些文件
当我使用sudo配上这条命令,就拥有了root用户的权限,即可执行这条命令
1 | |

登录root用户
1 | |

第一次登录root用户时不需要登陆密码
登陆成功后使用passwd命令设置密码