Course overview + the shell

Course overview + the shell

Shell的实质

Shell本是一个类似于Pyhton的编程环境,包括变量、条件、循环、函数...

在执行Shell命令时,若不是Shell所规定的关键字时,便会去$PATH中查询,基于名字搜索,搜索到了之后便会执行该程序

$PATH:环境变量

查看$PATH

echo $PATH


每一个$PATH环境用:分隔

查看某程序所属$PATH,以echo为例

which echo


此时可以看到echo属于/usr/bin/这个环境变量

知道了程序的绝对路径可以绕过$PATH直接执行

/usr/bin/echo "Hello world"

路径

  • 绝对路径
    /开头的就是绝对路径,他是一个文件的完整名称
    上一小节的/usr/bin/echo就是一个绝对路径

查看当前目录的绝对路径

pwd

  • 相对路径
    相对路径就是相对于当前目录的路径

当我处于/home/learn目录中时,使用ls命令查看当前目录的内容

ls

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

cat /home/learn/last-modified.txt  //绝对路径

cat last-modified.txt //相对路径

在路径中,.代表当前目录,..代表上一级目录

退出到上一级目录

cd ..

文件操作

  • 复制
    例:
    file复制到/tmp目录中
cp file /tmp
  • 移动
    例:
    file移动到/tmp
mv file /tmp
  • 重命名
    例:
    file重命名为filename
mv file filename
  • 创建目录
    例:
    创建一个名为dic的目录
mkdir dic
  • 创建文件
    例:
    创建一个file文件
touch file

权限

查看当前目录下所有文件或目录权限

ls -l

Desktop目录为例

drwxr-xr-x 3 learn learn 4096 Nov 13 12:06 Desktop

以空格为分隔符,第一组就是该文件或目录的权限

第一个d代表类型为目录

后面九个字符,每三个一组,都按rwx的顺序排列
r:读取,w:写入,x:可执行
-则代表不具备该权限

第一组代表所属用户权限
第二组代表所属组权限
第三组代表其他用户权限

中间的两个learn代表所属用户和所属组

分析上述Desktop目录的权限

  • 是一个目录
  • 所属用户具有读取、写入、执行权限
  • 所属组具备读取、执行,但不具备执行权限
  • 其他用户具备读取、执行,但不具备执行权限

man

如果想了解一个程序的具体使用方法可以使用man程序

man ls

列出了使用语法及其配套参数

输入输出流

输入流:< file
输出流:> file

输出流
将原本输出到屏幕上的内容,输出到file.txt

echo "Hello world" > file.txt

还有一种>>的输出方式
>是直接覆盖
>>是追加

输入流
使用输入流读取文档

cat < file.txt

cat file.txt和cat < file.txt的区别

cat file.txtcatfile.txt作为参数,直接输出其内容

cat < file.txt是由shell先打开,并将其内容重定向到cat的标准输入(stdin)

相比cat file.txtcat < file.txt多了一步由shell打开

管道符(pipes)

将管道符左边的输出,作为管道符右边的输入

ls -l | tail -n1

分解命令
管道符左边打印当前目录下文件的详细信息
管道符右边取最后一行

组合命令
得到当前目录下最后一个文件的详细信息

Root

root用户,就是超级用户,相当于Windows中的Administrator
可以创建,修改,删除任何文件

日常使用中一般不会直接使用root用户,而是使用sudo

apt-get update

使用这条命令时,提示我不能打开一些文件

当我使用sudo配上这条命令,就拥有了root用户的权限,即可执行这条命令

sudo apt-get update

登录root用户

su root

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

原文章:http://www.ming-ice-tea.top/?p=26

posted @ 2024-12-22 13:20  明朝冰红茶  阅读(9)  评论(0编辑  收藏  举报