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.txt
将hello.txt
中的内容复制到hello2.txt
中两次
管道
|
的作用是将程序输出带到左侧并作为程序输入,并将输出带到右侧
用户
root
:拥有最高权限
sudo
:使用root权限执行命令su
:切换用户至root
其他用户
:其余权限
硬件
cd /sys
:进入硬件管理
在此界面输入ls
来查看所有硬件
改变硬件需要管理员权限(使用sudo
)
例如:sudo echo 500 > brightness
可以修改屏幕亮度为500(intel笔记本为例)
更多等待发掘