title: 第五章 Linux实操篇
categories:
原文地址
vi是系统自带的文本编辑器
vim是vi的增强版
正常模式下,我们可以使用快捷键
在该模式下,程序员可以输入内容
完成读取、存盘、替换、显示行号等动作
yy 复制
dd 删除
u撤销
set nu 设置行号 set nonu 取消行号
shift+g 定位 eg: 5 shift+g 定位到第5行
关机或重启时,先执行sync指令,把内存写入磁盘
用户注销
logout注销指令在图形界面无效,在运行级别3下有效
说明:
useradd
useradd leeyf //添加用户leeyf 默认创建group leeyf
创建成功后,会自动创建和用户同名的家目录
可通过useradd -d 指定目录,创建新用户,并指定家 目录
passwd 用户名 //修改密码
userdel 用户名 //删除用户保留用户主目录
userdel -r 用户名 //删除用户及用户主目录
是否保留家目录?
删除用户时,一般不会删除家目录
id 用户名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyo2GTlL-1571913902523)(/pic/4-1569569340608.png)]
当用户不存在,返回无此用户
su - 切换用户名
exit //返回到原来用户 或者ctrl+D 退出当前用户
whoami / who am i
groupadd 组名 //创建组
groupdel 组名 //删除组
useradd -g 用户组 用户名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bsPK73Ko-1571913902525)(/pic/5-1569569340608.png)]
usermod -g 用户组 用户名 /将用户改组
/etc/passwd //用户配置文件
/etc/group //组胚子文件
/etc/shadow //口令配置文件(密码和登录信息)加密
leeyf:x:1000:1000::/home/leeyf:/bin/bash
用户名:加密密码:用户id:用户组id::家目录:shell路径
leeyf:x:1000
组名:口令组标识符:组id:组内用户列表(隐藏)
级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户(找回密码) |
2 | 多用户无网络服务 |
3 | 多用户有网络服务 |
4 | 保留 |
5 | 图形界面 |
6 | 重启 |
/etc/inittab
id:5:initdefault 这行中的数字为运行级别
init [012356]
解题思路:进入单用户
//centos7
引导界面
e 进入编辑界面
ro 改 rw
删除 rhjb quite
utf8 后 + init/bin/sh
ctrl+x 执行进入单用户
passwd root
如果乱码 LANG=en
修改后
touch /.autorelabel
然后重启
当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解指令的使用方法。
pwd
(显示当前目录绝对路径)ls [选项] [目录或文件]
cd [参数] [路径]
cd ~
回到家目录cd ..
回到当前目录的上一级目录mkdir [选项] 要创建的目录
rmdir [选项] 要删除的空目录
-p
创建多级目录rm -rf 目录
touch 文件名称
创建空文件touch [文件1,文件2]
可一次性创建多个文件cp [选项] source dest
rm [选项] 文件或目录
-r
递归删除整个文件夹-f
强制删除不提示mv oldNameFile newNameFile
重命名mv /temp/movefile /targetFolder
移动文件cat [选项] 内容
-n
显示行号cat [选项] 内容 | more
以cat打开文件,并使用分页显示基于vi编辑器的文本过滤器,以全屏幕的方式按页显示内容
基础语法
more 要查看的文件
内置快捷键
快捷键 | 功能 |
---|---|
空白键space | 向下翻一页 |
Enter | 向下翻一行 |
q | 立即离开more,不再显示文件内容 |
ctrl+F | 向下滚动一屏 |
ctrl+B | 返回上一屏 |
= | 输出当前行号 |
f | 输出文件名和当前行的行号 |
分屏查看文件内容,功能与more相似,但比more强大。
less在显示文件内容时,并部署一次将整个文件加载之后再显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
操作 | 功能说明 |
---|---|
空白键 | 向下移动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字串 | 向下搜寻[字串],n向下查询,N向上查询 |
?字串 | 向上搜寻[字串],n向上查询,N向下查询 |
q | 离开less程序 |
>
输出重定向 和 >>
追加
>
覆盖原来内容>>
追加内容在原文件ls -l > 文件
列表的内容写入文件中ls -al >> 文件
列表的内容追加到文件的末尾cat 文件1 > 文件2
将文件1的内容覆盖到文件2echo "内容" >> 文件
echo $PATH
输出环境变量head 文件
查看文件头10行内容head -n 5
查看文件头5行内容tail 文件
查看文件后10行内容tail -n 5 文件
查看文件后5行内容tail -f 文件
实时追踪该文档的所有更新软链接~符号链接 ,主要存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名]
给原文件创建一个软链接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H52YgVw0-1571913902526)(/pic/6-1569569340608.png)]
删除软链接
rm -rf LinkToROot
当用pwd查看目录时,仍然是软链接所在目录
查看已经执行过历史命令,也可以执行历史指令
基本语法
history
history
显示所有执行过的所有历史指令
history 10
显示最近执行过的10个指令
!10
执行历史指令中编号为10的指令
date
显示当前时间date +"%Y"
显示当前年date +"%m"
显示当前月date +"%d"
显示当前日date +"%Y-%m-%d-%H%M%S"
显示年月日时分秒date -s 字符串时间
cal [选项]
不加选项,显示本月日历cal 2020
显示 2020年日历从指定目录向下递归遍历各个子目录,将满足条件的 文件或目录显示在终端
基本语法
find [搜索范围] [选项]
选项说明
-name <查询方式>
按照指定的文件名查找模式或文件-user<用户名>
查找属于指定用户名的所有文件-size<文件大小>
按照指定的文件大小查找文件find / -size +20M
查找大于20M的文件
find / -size -20M
查找小于20M的文件
locate 查询文件
-n
显示匹配行及行号-i
忽略字母大小写[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l8IxdSUD-1571913902527)(/pic/7-1569569340608.png)]
gzip 文件
压缩为 *.gz文件gunzip 文件
解压缩 将*.gz 文件解压zip [选项] xxx.zip 要压缩的内容
压缩文件和目录unzip [选项] xxx.zip
解压缩文件-r
递归压缩,压缩目录-d
目录 指定解压缩后文件的存放目录tar [选项] xxx.tar.gz打包内容
-c
产生tar打包文件-v
显示详细信息-f
指定压缩后的文件名-z
打包同时压缩-x
解包tar文件tar -zcvf a.tar.gz 要压缩的文件
压缩打包tar -zxvf a.tar.gz
解压打包ls -ahl
查看文件的所有者[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IDQwgSEv-1571913902527)(/pic/8-1569569340608.png)]
chown 用户名 文件名
修改文件所有者[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jz2JdJbv-1571913902528)(/pic/9-1569569340608.png)]
groupadd 组名
useradd -g 组名 用户名
ls-ahl
chgrp== 用户组 文件名
usermod -g 组名 用户名
usermod -d 目录名 用户名
类型 | 定义 |
---|---|
- | 普通文件 |
d | 目录 |
l | 链接文件 |
c | 字符设备【键盘、鼠标】 |
b | 块文件【硬盘】 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SKyintV9-1571913902528)(/pic/11-1569569340608.png)]
类型 | 定义 |
---|---|
r | 读 |
w | 写 |
x | 执行 |
类型 | 定义 |
---|---|
r | 读 |
w | 写 |
x | 执行 |
类型 | 定义 |
---|---|
r | 读 |
w | 写 |
x | 执行 |
符号 | 代表 |
---|---|
r | 读取查看 |
w | 可以修改,不代表可以删除(删除条件对该文件所在目录有写权限,才能删除) |
x | 代表可以被执行 |
符号 | 代表 |
---|---|
r | 可读取 |
w | 可以修改,目录内创建+删除+重命名目录 |
x | 可以进入目录 |
符号 | 含义 |
---|---|
u | 所有者 |
g | 所有组 |
o | 其他人 |
a | 所有人(u,g,o) |
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
chmod u=rwx,g=xr,o=xr abc
chmod u-x,g+w abc
chmod a+r abc
规则 :r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录
相当于 chmod 751 文件目录
chown newowner file
改变文件所有者chown newowner:newgroup file
改变用户的所有者和所有组chgrp newgroup file
改变文件的所有组police ,bandit
jack,jerry: 警察
xh,xq:土匪
1.创建组
2.创建用户
3.jack 创建一个文件,自己可以读写,本组人可以读写,其他组没有任何权限
4.jack修改该文件,让其他组可以读,本组人可以读写
5.xh投靠警察,查看是否可以读写
groupadd police //创建组
groupadd bandit //创建组
useradd -g police jack //创建用户并指定组
useradd -g police jerry
useradd -g bandit xh
useradd -g bandit xq
passwd 用户 //给所有用户添加密码
touch a.txt //创建文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OM9VeMz3-1571913902529)(/pic/12-1569569340608.png)]
chmod o-r a.txt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIsljzWN-1571913902530)(/pic/13-1569569340608.png)]
chmod o+r,g+rw a.txt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2NR86yn3-1571913902531)(/pic/14-1569569340608.png)]
usermod -g police xh //改变xh所在组
chmod g=rx jack //给所在组 r x权限
crontab [选项]
-e
编辑定时任务-l
查看定时任务-r
删除当前用户所有定时任务service crond restart
重启任务调度*/ * * * * * 指令
项目 | 含义 | 范围 |
---|---|---|
第一个’*’ | 一小时中的第几分钟 | 0-59 |
第二个* | 一天中的第几个小时 | 0-23 |
第三个* | 一个月当中的第几天 | 1-31 |
第四个* | 一年当中的第几个月 | 1-12 |
第五个* | 一周中的星期几 | 0-7(07是周天) |
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个※代表一个消失中每分钟都执行一次的意思 |
, | 代表不连续的时间。比如’0 8,12,16 * * * 命令’,代表在每天的8点0坟,12点0分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如’0 5 * * 1-6 命令’,代表在周一到周六的5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如’*/10 * * * * 命令’,代表每隔10分钟执行一次命令 |
*/1 * * * * date>> /tmp/mydate
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kjLF69kC-1571913902531)(/pic/15-1569569340608.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wLSJmk46-1571913902532)(/pic/16-1569569340608.png)]
lsblk -f
(老师不离开) 查看系统的分区和挂载情况[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L4eemzZP-1571913902533)(/pic/17-1569569340609.png)]
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb x
vim /etc/fstab
/dev/sdbx /home/newdisk ext4 defaults 0 0
df -lh
du -h /目录
-s
指定目录占用大小汇总-h
带计量单位-a
含文件--max-depth=1
子目录深度ls -l /home/leeyf | grep '^-' | wc -l
ls -l /home/leeyf | grep '^d' | wc -l
ls -lR /home/leeyf | grep '^-' | wc -l
ls -lR /home/leeyf | grep '^d' | wc -l
tree 目录
NAT模式(网络环境)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-86iCGjaC-1571913902533)(/pic/18-1569569340609.png)]
ifconfig
ping
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pri7eJxn-1571913902535)(/pic/20-1569569340609.png)]
ps -a
:显示当前终端的所有进程信息ps -u
:以用户个事显示进程信息ps -x
:显示后台进程运行的参数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1sqKU10N-1571913902536)(/pic/21-1569569340609.png)]
ps -aux |grep xxx
过滤查询ps -ef
查看父进程
kill [选项] PID
强制终止进程通过进程号killall 进程名称
通过进程名称杀死进程,也支持通配符,这在系统过载而变得很慢时很有用-9
强迫进程立即停止pstree [选项]
更加直观的查看进程信息-p
显示进程的PID-u
显示进程的所属用户telnet ip 端口号
查看服务 chkconfig --list|grep xxx
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off
跟ps相似,top在执行一段时间可以更新正在运行的进程
top [选项]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ciEft2Z-1571913902538)(/pic/24-1569569340609.png)]
netstat [选项]
-an
按一定顺序排列输出-p
显示哪个进程在调用