一.概念
1. Shell是一个处理用户在Linux请求的工具(软件),负责解释用户输入的命令
二.命令
1.修改登录密码: passwd 密码保存在/etc/shadow文件中
2.查看当前登录人: whoami
3.查看当前所有登录用户: users/who
4.查看文件和目录: ls (-l) /ls ch*.doc *可以匹配任意字符 ls -al 查所有文件的详细信息以及权限信息(all/level)
5.cd ~: 回到主目录
6.pwd: 获取当前路径
7.mikdir -p 绝对/相对路径: 创建目录,如果父级目录没有,自动创建
8.rmdi 目录名r: 删除空的目录
9.文件权限ls -l:
-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfile
2-5是文件创建者的权限
5-7是所属用户组的权限
8-10是其他用户的权限
10.chmod(change mode): 改变权限 + 增加权限/ - 减少权限/ =设置指定权限
11.chown 用户名/用户id 文件名: 改变文件所有者
chgrp 群组名/群组id 文件名: 改变文件所属用户组
三.操作文件相关命令:
1.vi 文件名: 创建并打开文件,进入编辑模式
2. view 文件名: 只读模式打开
3.左下上右 HKJL
4. i进入编辑模式。esc退出编辑模式
5.cat -b 文件名: 查看文件内容并显示行号
6.cp 文件1 文件2: 拷贝文件
7.rm 文件1 文件2 : 删除文件
8. 普通模式/编辑模式/命令模式
1) 普通模式下: i插入/c修改/o另起一行进入编辑模式,esc退回普通模式
2) 普通模式输入: 进入命令模式,回车执行命令,命令执行完退回普通模式
9. wq 保存并退出vi q! 强行退出,不保存
10.普通模式下: / 向下查找 ?向上查找
四.变量
1. 登录系统时,系统会先到寻找 /etc/profile 和 .profile 两个文件对应的变量。 .profile是用户自己定义的变量
五.管道: 两个命令用" | " 连起来用,一个命令的输入为另一个的输出
1.grep:搜索工具 grep -i "某字符串". 搜索某字符串,不区分大小写
2.sort -f: 不缺分大小写排序,默认是升序排序
六.进程管理:
1.每个进程都有唯一的pid
2.ps 查看运行进程,瞬时非动态 -aux 显示所有用户进程/无终端进程/更多信息/所有进程
3. kill -9 进程号: 杀死进程
4. top: 动态显示正在运行的进程资源使用信息,可排序
七.网络通信:
1. ping 命令判断对方主机是否可用
2. telnet: 连接并登录到远程计算机
3. netstat: 网络连接情况
八.文件系统:
1. df:查看磁盘使用情况
2.du -h: 指定目录磁盘使用情况
3. 硬盘的最小单位为扇区(512字节=0.5k),每次读取时为一块(8个连续扇区)
九.变量:
1. 定义变量: 变量名 = “”。 readonly 变量名 只读变量
2.使用变量 &变量名 / &{变量名}
3.执行脚本时传递参数 ./ xxx.h "a" "b" "c"
脚本内接参数 $*或$@接
4.执行命令后将结果赋给变量保存: `变量名 = linux命令
5.运算表达式: 变量名 = `exper ...` +/- / \* / / 要有空格隔开
6.关系运算符: -eq -gt -ge equal great then
7.检测字符串是否相等 = != 为空 str
8.字符串: 双引号里面可以有变量以及转义字符
9.字符串长度 ${#变量名} 字串 ${字符串:1:4} 查找字串 ` expr index "$变量名" 字串`
10.数组: 变量名 = (a1 a2 a3.. )
获取数组长度 ${#变量名[*]}
11. if [空格 ...空格]
then ...
elif [空格 ...空格]
then ...
else ...
fi
12. case .. in
x) .. ;;
y) .. ;;
*) ... ;;
esac
13. for 变量名 in 列表
do
...
done
14. while
do
....
done
15.break n :跳出几层循环
16. continue 继续
17.函数: 只能返回整数,无return, 默认返回最后一句结果
1) 函数名(){ return}
2)调用时直接函数名
3) 函数里用参数 ${n} ${#}参数个数 ${×} 所有参数
18.输入输出文件:
1) 命令 > 文件名: 将结果输入到文件
2) 命令 < 文件名: 从文将中读取信息并计算结果