shenll的概念:用户向系统内核发出控制请求。
PS命令相关的两个常用命令
- ps -aux:会看到该进程相关的信息(%CPU %MEM ......)
- ps -axj:会看到该查询进程的父进程以及进程组合会话组组长的ID号。
- pstre:查看文件关系树
su命令
su 用户名:向指定的用户去切换,但是仅仅只是将用户的状态切换了,用户之前的所在位置以及环境变量都不会变。
su - 用户名:向指定的用户去切换的同时也将用户的所在位置切换到指定用户的家目录,环境变量也会使用更新的用户的环境变量。
su 等价于 su root
su - 等价于 su - root
添加用户
sudo adduser 用户名
删除用户
sudo deluser 用户名
目录文件操作相关
cat命令
(1)cat -n 文件名:带行标显示文本
(2)cat head/tail -N 文件名 :查看文件首尾各N行
(3)cat more:带百分比阅读文本。
cat less :不带百分比阅读文本。
不管是More还是less,查看的方式都是一样的:
按回车:一行一行刷
按空格键:一页一页刷
echo命令:用来输出,效果与printf类似,但是echo可以输出任何形式的内容,不分数据类型。
test命令:
测试命令:用于测试语句的执行效果
测试方向:3类
测试命令:test 或者 []
格式1:test 对象1 对象2 :eg-->test 10 -eq 8
格式2:[ 对象1 对象2 ] :eg--->[ 10 -eq 8 ]
测试整形
假设存在两个整形变量分别为:n1 n2
n1 -eq n2 :相等
n1 -ne n2 :不相等
n1 -gt n2 :大于
n1 -ge n2 :大于等于
n1 -lt n2 :小于
n1 -le n2 :小于等于
测试字符串
假设存在两个字符串变量分别为:s1 s2
s1 = s2:测试两个字符串是否相等
s1 != s2:测试两个字符串是否不相等
-z s2 :测试s2的长度是否为0
-n s2:测试s2的长度是否不为0
测试文件属性
假设存在两个文件名分别为:f1 f2
-f f1 :测试f1这个文件是否为普通文件
-d f2:测试f2这个文件是否为目录文件
-L f1:测试f1这个文件是否为软链接文件(符号链接)
-r f1:测试文件是否存在且具有可读权限
-w f1:测试文件是否存在且具有可写权限
-x f1:测试文件是否存在且具有可执行权限
f1 -nt f2:测试f1是否比f2更新
f1 -ot f2:测试f1是否比f2更旧
-s f2:测试f2这个文件的长度是否不为0
if语句
单分支,双分支,多路分支
多路分支:if , case
关于if的多路分支:
if 测试表达式1
then
命令表1
elif 测试表达式2
then
命令表2
。。。
else
命令表N
fi
case语句
关于case的多路分支:
case 值 in
模式1)
命令表1
;;
模式2)
命令表2
;;
....
*)
命令表N
esac
while语句
格式:
while 判断
do
命令表
done
for语句:
标准定义格式:
for 变量 in 单词列表
do
命令表
done