1.用户切换命令(su)
su - 用户名 == su- : 改变路径;
top :动态显示系统中运行的程序;
ps:显示当前系统中由该用户运行的进程列表;
ps - ef:查看所有的进程机器PID(进程号);
ps - aux:除了-ef外,还可以显示内存及cpu占有率;
sudo shut down -h now : 立刻关机,sudo reboot:重启;
kill -i:列出所有信号名称 kill - 9 (进程号)杀死进程;
free :查看当前系统内存使用情况;
df :查看文件系统磁盘空间占情况;
du:统计目录(或文件)所占空间或者磁盘空间大小;
fdisk 用示查看硬盘分区情况; fdisf - I(使用必须用root权限)
2. chmod(改变文件的访问权限)u 文件拥有者,g 所属的用户组,o 其它用户,+:表示增加权限,-:表示删除权限,=:设置权限
r(可读权限) w(写权限) x(可执行权限)
chown:修改文件的所有者和组别 sudo chown 修改后的用户名:组名 文件名
chgrp : 修改文件的组所有权 sudu chgrp 组名 文件名
alias:起别名 例如:alias 名字=“ls - lh”
` `(反引号)引住的内容以命令输出 `date`;
cat 查看文档 more 查看长文档;
wc - l:统计文件有多长 wc - c :统计文件有多少个字节;
*:匹配任意长度的字符串 mv * .c text(将所有带.c的文件移到text文件夹里面)
grep字符串:查找字符串;
>:输出重定向,如果文件不存在,则新建,如果文件存在则覆盖文件中的内容
>>:追加重定向,如果文件不存在,则新建,如果文件存在则追加在文件的末尾
2.压缩打包命令
压缩:gzip(压缩完后缀.gz) bzip2(压缩完后缀.bz2);
解压:gzip - d 压缩包名 bzip2 -d 压缩包名
tar:对文件目录进行打包或解包
主要参数:
-c:打包 -x:解包
-v:显示打包或解包的详细信息
-f:指定包名(该参数必须放在最后)
-z:调用gzip来压缩打包文件,与-x连用时完成解压缩
-j:调用bzip2来压缩打包文件,与-x连用时完成解压缩
将打包压缩一体化: tar -cvjf new.tar.bz2
将解包 解压 一体化:tar -xvjf new.tar.bz2
3.环境变量
env:查看系统中所有的环境变量
临时添加(关闭终端就不存在了):export PATH=$PATH: 路径
永久添加:
(1)sudo vim /etc/profile
(2)在文件的末尾添加export PATH=$PATH:
(3)添加完成之后重启或者source /etc/profile
4.用户管理命令
/etc/passwd 系统能够识别的用户清单
/etc/shadow 加密的用户清单,只有超级用户可以访问,用来保护加密口令的安全
/etc/group 组的名称和组的成员列表
添加用户:sudu adduser 用户名
删除用户:sudo deluser 用户名 -remove-home
添加组 :sudo groupadd 组名
删除组:sudo groupdel 组名
修改密码:sudo passwd 用户
5.安装软件
sudo apt update(更新检查)
安装软件:sudo apt install 包名
删除软件: sudo apt remove 包名
6.shell脚本
- 新建文件vim 1.sh
- 编辑文件
- 给.sh文件添加x权限
-
chmod 777 1.sh
- 运行
6.1用户自定义变量
shell中允许用户建立 变量存储类型,不支持数据类型
(1)由数字、字母、下划线组成,
(2)首字母不能为数字
(3)shell中变量一般用大写表示
注意:给变量赋值时,等号两边都没有空格 取用变量的值时,在变量名前加$
6.2预定义变量
$#:包含命令行参数的个数
$@:包含所有命令行参数
$*:包含所有命令行参数
$?:包含前一个命令的退出状态(在shell中0为真,非0为假)
$$:包含正在执行的进程的ID号
6.3 shell语句和程序
#:表示注释
输入 echo:自带换行
echo “hello shell”
不换行:echo -n “hello shell”
输入 read 变量名
read -p"打印提示语
"变量名
算术运算命令expr主要用于进行简单的整数运算、+、-、\*、/、%
6.4 测试字符串
s1 = s2 测试两个字符串的内容是否完全一样
s1 != s2 测试两个字符串内容是否有差异
-z s1 测试s1字符串的长度是否为0
-n s1 测试s1字符串的长度是否不为0
测试整数
a -eq b 测试a与b是否相等
a -ne b 测试a与b是否不相等
a -gt b 测试a是否大于b
a -ge b 测试a是否大于等于b
a -lt b 测试a是否小于b
a -le b 测试a是否小于等于b
测试文件属性
-d name 测试name是否为一个目录
-f name 测试name是否为普通文件
-L name 测试name是否为符号链接
-r name 测试name是否存在且可读
-w name 测试name是否存在且可写
-x name 测试name是否存在且课执行
-s name 测试name是都存在且长度不为0
f1 -nt f2 测试文件f1是否比文件f2更新
f1 -ot f2 测试文件f1是否比文件f2更旧
7.结构性语句
单分支
if [表达式]
then
语句
fi
双分支
if [表达式]
then
语句1
else
语句2
fi
多分支
if [表达式1]
then
语句1
elif[表达式2]
then
语句2
.......
elif[表达式n]
then
语句n
else
语句n+1
fi
case多分支
case 字符串 in
模式1)
命令表1
;;
模式2)
命令表2
;;
.....
模式n)
命令表n
;;
*)
;;
esac
for语句
for 变量名 in 单词表
do
语句
done
while语句
while [表达式]
do
语句
done
7.2函数
方法1:
函数名()
{
}
方法2:
function 函数名()
{
}
调用
方式1:
变量=`函数名 实际参数`
方式2:
函数名 实际参数
注意:一般使用的是方式2