目录
编辑
1.Losf找回丢失文件
2.前台和后台
3.启动级别
操作过程中我们难免会因为断电、系统崩溃之类的问题,丢失一些文件,这时候我们又要把它找回来,Losf操作就是找回丢失文件的关键。
root@uos~#: lsof root@uos~#: cat /var/log/messages root@uos~#: ps aux | grep cat root@uos~#: cp /var/log/messages /var/log/messages.bak root@uos~#: rm /var/log/messages root@uos~#: lsof | grep /var/log/messages
找回文件的两个条件,第一要知道文件名,第二是一定要运行过这个语言
root@uos~#: cat /proc/810/fd root@uos~#: cat /proc/fd/8 > /var/log/messages root@uos~#: cat /var/log/messages
root@uos~#: echo 1 > 1 root@uos~#: echo 1 > 2 root@uos~#: diff 1 2
这时候看没有返回输出,说明两个文件一样。
root@uos~#: echo 2 > 2 root@uos~#: diff 1 2
这样操作之后,就有返回值了,diff的命令就是判断两个文件是否一样。
root@uos~#: diff /var/log/messages /var/log/messages.bak
前台进程:是在终端中运行的命令,那么该终端就为进程的控制终端,一旦这个终端关闭,这个进程也随之消失。
后台进程:也叫守护进程(Daemon),是运行在后台的一种特殊进程,不受终端控制,它不需要终端的交互;Linux的大多数服务器就是使用守护进程实现的。比如Web服务器的httpd等。
root@uos:~# echo tang > tang root@uos:~# echo bing > bing root@uos:~# ls -l
root@uos:~# rm -rf tang* root@uos:~# echo tang > tang root@uos:~# ls -l root@uos:~# vim /tang
此时显示的就是前台,然后用Ctrl+Z之后就可以转后台了。然后用jobs来查看。
root@uos:~# jobs root@uos:~# vim bing root@uos:~# fg 1(就跑到前台了) root@uos:~# jobs(这样之后就没了)
root@uos:~# vim tang &(直接把它搁在后台了) root@uos:~# jobs root@uos:~# kill -9 %3(直接杀死进程,3表示vim的内部部分)
Ctrl命令小总结
Ctrl+Z是跑后台,Ctrl+D是退出,Ctrl+C是中止
使用Linux操作系统的时候,我们要学会一些快捷的使用方式,这是多练几次就可以掌握的。
本章节的启动级别也是我们实操的重要部分。
root@uos:~# systemctl(按两下Tab键)
root@uos:~# systemctl list-units
列出系统中所有资源,注意,.service是系统服务,.mount是系统挂载点,.slice是指系统设备,.target是系统启动目标等等。
root@uos:~# dpkg -l | grep ssh
这是目前的系统版本,systemctl对老版本内容都是支持的。
root@uos:~# 0 1 2 3 4 5 6 s
这几个都是模式,其中1和s是一样的,都是单用户模式,使用来管理的。0代表系统关机;2代表了基础的rootuser模式,基础的多用户模式,无网络的;3代表的是有网络的多用户模式;4是保留模式;5是图形化模式,也是多用户的;6代表了重启。
root@uos:~# init 0(关机) root@uos:~# init 1(单用户模式) root@uos:~# init 2(基础的多用户模式) root@uos:~# init 3(多用户模式) root@uos:~# init 4(保留的) root@uos:~# init 5(图形化模式) root@uos:~# init 6(重启)
root@uos:~# systemctl get-default root@uos:~# systemctl isolate runlevel(先输入run再Tab两次就有)
grahical带图形化的
root@uos:~# systemctl list-unit --type root@uos:~# systemctl list-units --type service root@uos:~# systemctl list-units --type target
systemctl是Systemd的主命令,用于管理系统。 查看系统服务 systemctl list-units 查看所有系统服务 systemctl list-units --all | grep ssh 单独查看apache2服务 设置系统运行级别 systemctl get-default 查看默认运行级别 systemctl isolate runlevel3.target 启动运行等级3 systemctl isolate runlevel5.target 图形界面 systemctl list-unit-files --type target | grep runleve 查看所有type target
systemctl控制服务 apt install apache2 systemctl status apache2 cat /lib/systemd/system/apache2.service apache2服务启动文件 systemctl start apache2 ps aux | grep apache2 ps aux 查看进程 systemctl stop apache2 systemctl restart apache2 systemctl enable apache2 开机自启动 /etc/systemd/system/multi-user.target.wants/apache2.service enable其实是是建立apache2服务软链接 systemctl disable apache2 取消开机自启动 systemctl mask apache2 屏蔽服务,永远不能启动 systemctl unmask apache2 取消屏蔽