THE SHELL

什么是Shell?

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

基本命令

  • date:输出当前时间.
  • echo:回声,输出echo 后面的内容,可以是字符串.
  • echo $PATH:输出本地所有环境变量找到执行命令所在程序目录.
  • which:查找程序目录,例如which echo.
  • pwd:输出当前工作目录.
  • cd:进入新目录.
  • ls:列出当前目录所有文件.
  • order --help:列出可用命令和帮助.
  • ls -l:长列表列出所有文件.
  • mv:移动文件,使用空格分隔要移动的文件和移动到的文件.
  • cp:复制文件,用法同上.
  • rm:移除文件.
  • rmdir:移除文件夹.
  • mkdir:创建文件夹.
  • man ls:查看shell手册.
  • crtl+L:清理终端.
  • tail:输出命令输出的最后n行,使用参数-n控制.
  • curl:请求url获取内容.
  • sudo:管理员执行.
  • su:切换root.
  • find:找文件.

文件

相对路径

  • .:当前目录
  • ..:父目录

例如cd ./home表示进入当前目录下的home文件夹

cd ..表示回到上一级

../../../../../current_dictory表示从当前目录起始向上回5层目录

cd -表示回到上一次的目录

绝对路径

从根目录开始完整表示路径

权限

解释-rw-r--r--

第一个的rw表示文件所有者的权限

第二个的r表示文件所有者所在的组的权限

第三个的r表示其他所有人的权限

权限 含义
r 你可以读取文件(夹)内容
w 你可以修改并保存文件(夹)
x 你可以执行文件
- 表示无权限

[!CAUTION]

如果你需要执行某个文件,你需要具有该文件所在目录的所有父目录的执行权限,否则你将无法执行该文件。

同理,若你想要删除某文件(对其具有写权限),你需要具有该文件所在目录的所有父目录的写权限,否则你将只能清空文件内容而无法将其删除。

连接

>表示将内容复制,其个数表示复制次数.

echo hello > hello.txt表示将hello输入hello.txt

cat < hello.txt输出hello.txt的内容

cat hello.txt >> hello2.txthello.txt中的内容复制到hello2.txt中两次

管道

|的作用是将程序输出带到左侧并作为程序输入,并将输出带到右侧

用户

root:拥有最高权限

  • sudo:使用root权限执行命令
  • su:切换用户至root

其他用户:其余权限

硬件

cd /sys:进入硬件管理

在此界面输入ls来查看所有硬件

改变硬件需要管理员权限(使用sudo)

例如:sudo echo 500 > brightness可以修改屏幕亮度为500(intel笔记本为例)

更多等待发掘