字符界面与shell
reboot,shutdown -r now 重启
shutdown -h now,halt 关机
pwd 当前所在路径
cd / 切换到根目录
ls [选项] [路径]
ls 查看当前目录下有哪些文件,
ls / 查看根目录下有哪些文件
选项
-a 查看目录下所有文件,包括隐藏文件,隐藏文件以 . 开头
-l 以列表的方式显示目录下所有的文件,
-t 以时间顺序显示文件和目录
-R 递归的方式列出所有文件夹和子文件夹
cat [选项] 文件列表
cat 1.txt 查看1.txt文件里的内容
选项
-n 显示行号
more 分屏显示内容,文件内容过多时使用
tail [选项] 文件
tail 1.txt 查看1.txt结尾部分,默认显示最后10行
选项:
-n 执行显示的行数
head 同tail
wc [选项] 文件
选项
-c 显示文件字节数
-l 显示文件行数
-w 显示文件单词数
通配符
* 任意长度的
? 一个长度
[] 指定范围,匹配一个
举例
ls *.png 查看后缀为png格式的文件
ls a? 查看以a开头的文件,并且文件名只有两个字符
ls [abc]* 查看以a or b or c开头的文件
ls [!abc]* 同上取反
ls [a-z]* 查看a到z开头的文件
重定向
ls -al > list 将当前目录下的文件保存到list文件中
cat > 文件 写入文件指定内容 按 ctrl+d结束输入
cat f1 f2 > f3 将f1和f2文件的内容合并到f3中
追加重定向 默认时覆盖
cat >> f1 像f1文件追加内容
管道
ls -l | wc -l 将ls-l的结果给wc -l,然后输出
vim编辑器
vim 2.txt 打开2.txt文件,按下 i,I,a,A,o,O 表示进入编辑状态
i 当前光标位置进行插入
I 当前光标行首进行插入
a 当前光标的下一个字符,进行插入
A 当前光标的行尾,进行插入
o 在当前光标的下一行新增一行,并且进入插入状态
O 在当前光标的上一行新增一行,并且进入插入状态
查找字符串
/字符串 n 继续找下一个符合条件的 N 反方向找符合条件的
:set nu 显示行号
:set noun 不显示行号
:1,2 co 3 将n1行到n2行(包括n2)所有文本复制到n3行之下
:1,2 m 3 将n1行到n2行(包括n2)所有文本移动到n3行之下
:1,2 d 将n1行到n2行(包括n2)所有文本删除
:1,2 s/字符串1/字符串2/g 将n1到n2行(包括n2)所有字符串1,用字符串2替代
保存和退出
:w 保存文件
:q 退出vim
:q! 不保存,强制性退出
:wq 保存并退出
用户与组群管理
用户
用户相关文件位置 /etc/passwd
用户名:口令:用户id:所属组id:全名:用户主目录/登录shell
口令用x填充,保存在/ect/shdow
boy:x:1000:1000:boy:/home/boy:/bin/bash
...
组群
文件位置 /etc/group
组群名:口令:组群id:用户列表
口令用x填充,保存在/ect/gshdow
boy:x:1000:boy
管理用户
useradd [选项] 用户名
选项
-c 全名 指定用户的全名称,即用户的注释
-d 主目录 指定用户的主目录
-e 有限期限 指定账号的有效期限
-f 缓冲天数 指定口令过期多久后关闭此账号
-g 组群id|族群名 指定用户所属的主要组群
-G 指定用户所属的附加组群,
-s 登录shell 指定用户登录启动时的shell类型
-u 用户id 指定用户的id
passwd [选项] [用户]
设置或修改用户的口令以及口令属性
选项
-d 用户名 删除用户口令,用户无密码即可登录
-l 用户名 暂时锁定指定的用户
-u 用户名 解除指定用户账号的锁定
-s 显示指定账号的状态
passwd tom 设置tom密码,创建过用户后,必须初始化密码
...
usermod [选项] 用户
选项
-c 全名 指定用户的全名称,即用户的注释
-d 主目录 指定用户的主目录
-e 有限期限 指定账号的有效期限
-f 缓冲天数 指定口令过期多久后关闭此账号
-g 组群id|族群名 指定用户所属的主要组群
-G 指定用户所属的附加组群,
-s 登录shell 指定用户登录启动时的shell类型
-u 用户id 指定用户的id
- l 用户名 指定用户的新名称
usermod -l tommy tom 将用户 tom 改为tommy 其他同useradd
userdel [-r] 用户名
-r表示将用户主目录也删除,不加-r只删除账号
su [-] [用户名]
su tom 切换到tom用户,但是当前目录还是/home/boy/下
su - tom 切换到tom用户,并且目录也切换到/home/tom/下,
管理组
groupadd [选项] 组群名
选项
-g 组群id
groupadd staff 创建 staff 组,不指定组群id系统会默认指定
groupmod [选项] 组群名
选项
-g 组群id
-n 指定组群名的新名字
groupdel 组群名
进程管理与系统监视
进程介绍
进程是具有独立功能的程序的一次运行过程,也是系统进行资源分配和调度的基本单位,linux
创建新进程时会指定一个唯一号码(进程PID),并以次区分不同的进程
作业
正在执行的一个或多个相关进程可形成一个作业
作为分为前台作业,后台作业
前台作业:运行于前台,用户正对其进行交互操作
后台作业:运行与后台,不接少终端输入,但是像终端输出结果
linux中进程优先级的取值范围在-20~19之间的整数,值越大,优先级越高,默认0
在shell命令末尾加& 然后回车,将会启动一个后台作业
bg [作业号]
vi f1
ctrl+z 挂起
[1]+ 已停止 vim f1
bg 1 前台作业切到后台运行
fg [作业号]
fg 1 将作业号为1的作业切到前台
管理进程
jobs [选项]
显示当前所有的作业
选项
-p 仅显示进程号
-l 同时显示进程号和作业号
jobs -l 显示所有作业,进程号和作业号
ps [选项]
显示进程的状态,默认显示当前用户在终端启动的进程
选项
-a 显示当前终端上所有进程,包括其他用户的进程
-e 显示系统中所有进程,包括其他用户进程和系统进程信息
-l 显示进程详细信息,包括父进程号,优先等级等
-u 显示进程详细信息,包括cpu和内存使用率等
-x 显示后台进程信息
-t 显示指定终端上的进程信息
ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 5729 5726 0 80 0 - 29112 do_wai pts/3 00:00:00 bash
0 R 1000 6382 5729 0 80 0 - 38300 - pts/3 00:00:00 ps
输出说明
S 进程状态,R表示运行,S表示休眠,T表示暂停或终止状态,Z表示僵死状态
UID 进程启动者的用户id
PID 进程号
PPID 父进程的进程号
NI 进程的优先等级
SZ 进程占用内存空间的大小,kb单位
TTY 进程所在终端的终端号,桌面环境为pts/0,字符界面为tty1-tty6
TIME 进程已运行时间
CMD 进程启动该命令的shell命令
ps -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
boy 2827 0.0 0.1 116344 1804 pts/0 Ss+ 06:41 0:00 bash
boy 2911 0.0 0.1 116560 1448 pts/1 Ss+ 06:42 0:01 -bash
boy 5365 0.0 0.1 116348 1336 pts/2 Ss+ 07:56 0:00 -bash
boy 5729 0.0 0.3 116448 3168 pts/3 Ss 08:08 0:00 -bash
boy 7058 0.0 0.1 155324 1856 pts/3 R+ 09:41 0:00 ps -u
主要输出说明
%CPU cpu的使用率
%MEM 内存的使用率
STAT 进程状态
START 进程的开始时间
kill [选项] 进程号
or kill % 作业号
终止正在运行的进程或者作业,超级用户可终止所有进程,普通用户只能终止自己的进程
选项
-9 强行终止指定进程
nice [-优先级值] 命令
指定启动的进程优先级,不指定时,默认设置10
nice -5 ftp 启动ftp,优先级为5
renice 优先级值 参数
修改运行中进程的优先级,设置指定用户或群组的进程优先级,优先级不需要加 -
主要参数
-p 进程号 修改指定进程的优先级
-u 用户名 修改指定用户所启动进程的默认优先级
-g 组群号 修改指定群组中所有用户的所启动进程的默认优先级
renice -5 -u boy boy用户进程优先级调整为 -5
进程调度
linux允许用户根据需要在指定的时间自动运行指定进程,
也允许用户将非常耗资源和时间的进程安排到系统比较空闲的时间执行
at [选项] [时间]
设置指定时间 执行的指定的命令
选项
-f 文件名 从指定文件而非标准输入设备获取将要执行的命令
-l 显示等待执行的调度作业
-d 删除指定的调度作业
进程开始执行的时间可采用一下方法表示
绝对记时法
HH:MM(小时:分钟) 可24小时记时,如果采用12小时记时,时间后面需要加AM(上午) or PM(下午)
相对记时法
now+时间间隔,时间单位为minutes(分钟),hours(时),day(天), week(星期)
直接记时法
today(今天),tomorrow(明天),midnight(深夜),noon(中午),teatime(下午4点)
例子:要求在2019年6月18日12:00向登录在系统上的所有用户发送 hello 信息
[boy@boy ~]$ at 12:00 06182019
at> who
at> hello
at> <EOT>
at> <EOT>
job 4 at Tue Jun 18 12:00:00 2019
batch [选项] [时间]
与at功能几乎相同,唯一区别就是不能指定运行时间,进程将在系统较空闲时运行,
batch适合时间上要求不高,但运行占资源较多的工作
cron调度
at和batch只能执行一次,cron可以每天都执行,
crontab配置文件
字段 分钟 时 日期 月份 星期 命令
取值范围 0~59 0~23 01~31 01~12 0(周日)~6,
所有字段不能为空,字段之间用空格分开,不指定内容用 * 符号
配置文件在 /var/spool/cron 位置
crontab [选项]
维护用户的crontab配置文件
选项
-e 创建并编辑crontab配置文件
-l 显示crontab文件内容
-r 删除crontab配置文件
crond进程
crond进程在系统启动时自动启动,并且一直运行在后台,
crond进程负责检测crontab配置文件,并设置其内容,定期执行cron调度工作
例子:每周五的17时00分将/home/boy/data目录中的所有文件压缩成/backup目录中的boy-data.tar.gz文件
00 17 * * 5 tar -czf /backup/hilen-data.tar.gz /home/boy/data
mail 查看执行的结果,邮件格式
网络基础
ip地址分类
类别 ip地址范围 默认的子网掩码
A 0.0.0.0~127.255.255.255 255.0.0.0
B 128.0.0.0~191.255.255.255 255.255.0.0
C 192.0.0.0~223.255.255.255 255.255.255.0
io接口 本地回送接口
eth接口 网卡设备接口
ppp接口 PPP设备接口
linux网络相关配置文件
/etc/services 系统中可用的网络服务
/etc/sysconfig/network-scripts 网络接口配置文件以及部分网络命令
/etc/hosts 主机域名与ip地址的对应关系
/etc/resolv.conf 客户机所使用的DNS服务器的相关信息
hostname [主机名]
查看或修改计算机的主机名
hostname boy 将主机名修改为linux
ifconfig [网络接口名] [IP地址] [netmask 子网掩码]
查看网络接口的配置情况,并且设置网卡的相关参数,激活或停用网络接口
ifconfig 查看当前网络接口的配置情况
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.121.133 netmask 255.255.255.0 broadcast 192.168.121.255
inet6 fe80::a105:94c8:8937:e879 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:5f:07:dd txqueuelen 1000 (Ethernet)
RX packets 19865 bytes 9546205 (9.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8410 bytes 1185582 (1.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 38 bytes 2890 (2.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 38 bytes 2890 (2.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ac:26:f0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
将网卡的ip设置为 192.168.0.10
ifconfig ens33 192.168.0.10
停用网卡eth0
ifconfig eth0 down
ifup and ifdwon
ifup 网络接口 or ifdown 网络接口
启用或停用网络接口
启用网卡eth0
ifup eth0
ping ....
route [[add|del] default gw 网关的ip地址]
查看内核路由表的配置情况,添加或取消网关的ip地址
route
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.121.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
添加网关,其ip地址为 192.168.0.100
route add default gw 192.168.0.100
service 服务名 start|stop|restart
service smb start 启动smb服务