path variable:
echo $PATH:打印出所有路径列表
which echo:echo程序在哪个路径执行
pwd:打印当前路径
cd /home:change direction
.:当前目录
..:父目录
cd ..:进入上一级父目录
cd ./home:进入当前目录的home目录
../../../../..:不断返回上一级目录
cd ~:回到主目录
cd -:回到之前所在目录
ls:列出当前目录中的文件
ls ..:列出上一级目录的文件
ls --help:帮助信息,区分flag和option
ls -l:打印展示更多的详细信息
d开头的是目录
三个字符:第一组是为文件的所有者设置的权限
第二组是为拥有该文件的组设置的权限
第三组是其他人的权限
r:read(查看) w:write(重命名、创建、删除) x:execute(执行)
Handy programs
mv:重命名文件和目录或修改文件和目录的路径:Linux mv 命令 | 菜鸟教程 (runoob.com)
mv xx.md xxx.md:重命名
cp xx.md ../xxx.md:不必在同一目录
rm ../xxx.md:删除某目录的文件
rmdir:删除空目录
mkdir:创建新目录,注意:“My Photos”
man:手册页,如man ls
Ctrl+L:清除终端回到顶部
在程序中创建连接:流与pipes
< file:将输入重定向为该文件的内容
>file:将前面的输出重定向到该文件中
echo hello > hello.txt:创建hello.txt,内容是hello
cat hello.txt:cat会打印hello
cat < hello.txt:从hello.txt获得输入,用cat输出
cat < hello.txt > hello2.txt:从hello.txt获得输入,用cat打印到hello2.txt
cat < hello.txt >> hello2.txt:>>表示append,即追加
|:pipes,将左边的输出作为右边的输入
ls -l / | tail -n1:结果将只打印最后一行,归功于|将两者链接
ls -l / | tail -n1 > ls.txt:最后一行将被写入ls.txt
curl --head --silent google.com | grep --ignore-case content-length | cut --delimiter=' ' -f2
:通过|实现连接的例子
root用户:do as su
cd /sys:内核参数文件夹
例子:
cd sys/class/backlight/intel_backlight/
cat brightness:屏幕亮度
echo 500 > brightness
sudo echo 500 > brightness
两者均无法执行,关于 shell,|
、>
、和 <
是通过 shell 执行的,而不是被各个程序单独执行。 echo
等程序并不知道 |
的存在,它们只知道从自己的输入输出流中进行读写。 对于上面这种情况, shell (权限为您的当前用户) 在设置 sudo echo
前尝试打开 brightness 文件并写入,但是系统拒绝了 shell 的操作因为此时 shell 不是根用户。
sudo su:使用该命令将用户转变为root,$→#,然后再输入命令即可
或者不改变root,使用如下命令,也可实现
echo 500 | sudo tee brightness:
修改系统中各种LED的状态:
echo 1 | sudo tee /sys/class/leds/input6::scrolllock/brightness
xdg-open:打开程序