计算机教育中缺失的一课笔记
课程概览与shell
处理空格
如果您希望传递的参数中包含空格(例如一个名为 My Photos 的文件夹),您要么用使用单引号,双引号将其包裹起来,要么使用转义符号 \
进行处理(My\ Photos
)
Shell 的内置(builtin)命令
❯ which echo
echo: shell built-in command
❯ bash
kody@kody-KPRC-WX0:~$ which echo
/bin/echo
为什么在zsh输入which echo显示的内容和bash里面输入which echo显示的内容不一样呢?
参考(chaoxi)Shell 的内置(builtin)命令是什么,常常傻傻分不清
builtin 命令是 shell (譬如 bash)里自带的命令,由于其作为 shell 程序(进程)的一部分常驻在内存中,所以和一个普通命令相比起来, builtin 命令的执行速度要快得多。
而echo就是一个builtin命令,在zsh和bash中都是。需要用type判断一个命令是不是build命令:
❯ type echo
echo is a shell builtin
❯ bash
kody@kody-KPRC-WX0:~$ type echo
echo 是 shell 内建
zsh优化了which,将其作为了builtin命令,发挥和type一样的功效
kody@kody-KPRC-WX0:~$ type which
which 是 /usr/bin/which
kody@kody-KPRC-WX0:~$ exit
exit
❯ type which
which is a shell builtin
设置zsh为中文
# 修改~/.zshrc
# You may need to manually set your language environment
export LANG=zh_CN.utf8
# 安装中文的man文档
sudo apt-get install manpages-zh
chmod命令
chmod主要有两种用法:
-
chmod 777 [filename]
给对应文件重新赋权:创建者、同组、其他用户(读4 写2 执行1)
-
chmod u+a [filenmae]
修改文件权限,+表示增加,-表示减少,=表示重新赋权,例如上面是给文件创建者所有权限
u文件属主、g同组用户、o其他用户、a所有用户;权限包括:rwx
常用参数:
- -v :显示权限变更的详细资料
- -R :对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
课后练习
# 使用 | 和 > ,将 semester 文件输出的最后更改日期信息,写入主目录下的 last-modified.txt 的文件中
./semester | grep last > /last-modified.txt
# 写一段命令来从 /sys 中获取笔记本的电量信息,或者台式机 CPU 的温度
cat /sys/class/power_supply/BAT1/capacity