Shell
是一种应用程序,用以完成用户与内核之间的交互
一个功能强大的编程语言(C语言)
一个解释执行的脚本语言,不需要编译,写完直接执行
目前Linux 乌班图的Shell默认是bash
查看当前提供的Shell:cat /etc/shells

查看当前系统默认的Shell:echo $SHELL

关机相关命令
立即关机:sudo shutdown -h now
立即关机重启:sudo shutdown -r now或者sudo reboot now
定时关机:sudo shutdown -h +45(45分钟后关机)
定时重启:sudo shutdown -r +60(60分钟后关机)
权限相关命令
基本命令
Linux下分为超级用户(根目录、安装软件等更大权限)和普通用户
su:执行命令在所要求用户下
-c:变更用户,执行完命令后变回来
su -c ls root或其他用户:切换到root或其他用户下执行ls命令,执行完后回到当前用户
-l:更换用户,并且不换回,若不加用户名,默认是root用户
su -l 用户名,退出使用exit或者ctrl+d
echo $PASH:PASH是环境变量,记录环境访问变量时访问的路径
su -l root和su root都可切换到超级用户下,不同点是su -l root是切换了环境变量而su root没有切换,还是当前用户的环境变量。
passwd 用户名:修改指定用户密码,若不加用户名表示修改当前用户密码
修改权限

u(当前):读写可执行
g(同组):读写可执行
o(其他用户):读可执行
a:所有人
修改权限:字母法和数字法两种方法
字母法:chmod (u g o a) (+-=) (r w x) (文件名)
给当前用户可执行权限

=的使用

数字法:cmod +数字组合+文件名
下面这个图的权限是775 ,其中0代表8进制标识:chmod 0775 client

基本命令
man
1命令、2系统调用、3库函数、4特殊文件、5文件配置、6游戏、7杂项、8超级用户、9内核帮助手册
多使用前三个

date
打印或者设置系统时间

clear或者ctrl+l
清空当前界面
df
报告磁盘的使用情况

du
报告文件使用情况

两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
输入输出相关操作
输出命令
echo
往终端显示文本内容
下图中双引号输出变量值,单引号是原样输出

-n:没有了默认换行

-e:使能转义字符,例如使得编辑的字符串的\n能够成为换行符

-E:不使能转义字符
输入输出重定向
改变shell命令或程序默认的标准输入/输出目标,重新定向到新的目标


下图中>和>>的区别是:>是新建,>>是追加
前两个是标准输出重定向,第三个是标准出错重定向,第四个两个一起。

输入重定向

下图演示<file作用

下图中cat本来是输入什么展示什么,cat<<9表示直到遇到9才进行展示

通配符、管道


下图为示例,计算cat输出的大小,字符等

在file文件中查找字符串hello
历史查询、补齐功能
history:历史命令查询
下图中!c表示查找历史命令中上一个以c开头的命令

键盘Tab:自动补齐
命令置换
将命令保存以赋给其他命令
