今日所学:
命令:是用户向内核发起的控制请求。并且与内核进行交互的文本形式;
shell: 命令行解释器
Linux中的Shell就是Linux内核的外层保护工具,并且负责完成用户与内核间的交互
shell脚本:一个或者多个shell命令组合在一起,在一个shell文件里,进行逻辑控制
shell分类:sh
csh
ksh
bash
shell下面的特殊字符
通配符
- *:可以匹配任意长度的字符 ex:rm 1.*//删除所有以1.为前缀的文件
- ?:匹配一个长度的字符
- [字符列表]:匹配列表中任意一个字符 ex rm [12].c 删除1.c 2.c
- [-]:匹配范围内任意一个字符
- [^列表]:匹配除了列表之外的所有字符中的任意一个
管道符 |
管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成了一个管道。
wc 文件名:查看文件单词个数、行号和字符个数
-l:查看行号
-w:查看单词个数
-c:查看字符个数
例子: ls|wc -l
重定向符
输出重定向:
1.>文件名:将>前面命令的输出结果重定向到目标文件中,目标文件中原来的内容被1清空
2.>>文件名:将>前面命令的输出结果重定向到目标文件中,目标文件中原来的内容被追加
输入重定向:
<文件名:将文件作为输入源 wc<1.c//将1.c作为输入源给wc命令
报错重定向
2> 或 &>
将报错信息重定向到指定的文件中
例子:cd 1 2>1.c //将cd 1这个命令语句的报错信息重定向到1.c中,1.c原来的内容被清空
命令置换符:
` `
命令替换是将一个命令的输出作为另一个命令的参数。命令格式如下所示。
格式:命令1 `命令2` 把命令2的输出结果作为命令1的参数使用
shell命令
基本系统维护命令
1. shutdown:用于关机或者重启
shutdown -h now:立即关机
shutdown -h +60:60分钟后关机
shutdown -r now:立即重启
2. passwd+用户名:修改用户的密码
3. su:改变身份为管理员用户,退出时终端输入exit4
4. echo:终端显示信息
echo -n:显示信息后不换行
5. date:显示日期
6. clear:清屏
7. df:查看磁盘占用情况
-a:显示所有物理内存使用情况cd
-h:以兆为单位查看
-k:以千字节为单位查看
-T:查看磁盘对应文件的类型
8. mount:挂载命令
umount:卸载
用户管理命令
存放用户信息的配置文件:/etc/passwd (sudo vi /etc/passwd)
\/etc/passwd文件是系统能够识别的用户清单
用户登陆时,系统查询这个文件,确定用户的UID并验证用户口令
内容:登陆名 经过加密的口令 UID 默认的GID 个人信息 主目录 登陆shell
/etc/group:存放用户组相关的信息
包含了UNIX组的名称和每个组中成员列表
每一行代表一个组,包括4个字段:
组名 加密的口令 GID号 成员列表,彼此用逗号隔开
1.添加用户:adduser
adduser <username>
2.修改用户属性:usermod
usermod [-u uid [-o]] [-g group] [-G gropup,…]
[-d home [-m]] [-s shell] [-c comment]
[-l new_name] [-f inactive] [-e expire]
[-p passwd] [-L|-U] name
例子:usermod -p 123456 username //修改密码
给用户重命名并且更改对应用户主目录的名字:
usermod -d /home/newname -m -l newname oldname
3.删除用户:deluser
deluser <username>
例子: deluser --remove-home user1
4.删除用户组:delgroup
delgroup groupname
例子:delgroup groupname1
进程管理命令
进程状态:D: 不可中断的静止
R: 正在执行中
S: 阻塞状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的内存分页可分配
<: 高优先级的进程
N: 低优先级的进程
L: 有内存分页分配并锁在内存中
ps
查看进程的动态
参数:
-A 列出所有的行程
-aux 显示所有包含其他使用者的行程
-ef 显示所有进程包含父进程号
top
动态监视进程运行状态
shift+'>' :向下翻页
shift+'<' :向上翻页
q:退出
kill
用于终止特定的 进程
使用格式:
kill 指定的信号编号 进程号
kill -l:查看信号列表
2) SIGINT:ctrl c
3) SIGQUIT:ctr \ 类似段错误
9) SIGKILL:杀死进程
14) SIGALRM:alarm()函数调用时产生该信号
17) SIGCHLD:子进程结束时会给父进程发送该信号
19) SIGSTOP :暂停进程