主要内容
- 关机:shutdown -h now(正常关机),halt(关闭内存),init 0
- vmware备份操作系统:频繁备份使用快照,长期才备份一次的使用克隆(克隆时系统必须处于关闭状态)
主要文件
- bin:二进制文件
- dev:外接设备,需要挂载(手动分配盘符)
- etc:配置文件
- home:除了root用户以外的用户的家目录
- proc:process,Linux运行的进程
- root:root用户的家目录
- sbin:super binary 也是二进制文件,但必须有超级管理员的权限才可以运行
- tmp:系统运行时产生的临时文件
- usr:存放用户自己安装的软件
- var:存放系统日志
- mnt:外接 设备挂载
相对路径:相对当前的工作路径
./ 从当前目录,这个符号可以省略
. ./从上一级目录下
绝对路径:从根“/”开始
########################基础指令################################
- ls(list)
- 蓝色表示文件夹
- 黑色表示文件
- 绿色表示其拥有所有权限(以上颜色是centos某版本,颜色根据linux的版本不同会不一样)
- ls -l 以详细列表的形式展示
- ls -a显示包含隐藏文件的列表
- ls -lh 以列表并且可读性高
- pwd(print working directtory) 打印当前工作目录
- cd (change directory) 切换目录
- ~ 表示当前用户的家目录
- mkdir (make directory) 创建目录
- mkdir -p 多层创建目录
- mkdir 路径1 路径2 路径3 同时创建多个文件夹
- touch 创建文件
- cp 被复制的文件的路径 目标路径
- cp -r 被复制路径 目标路径 递归复制,针对复制文件夹
- mv (move)移动
- mv 原位置 新位置
- rm 移除
- rm -f
- (force) 无须确认操作,强制删除
- rm -r 递归删除
- rm -rf
可以同时删除多个文档,中间用空格隔开
用*来表示任意字符或者字符串
- vim 文本编辑器
- vim 文件的路径
上面的文件路径中的文件名可以不存在
:q 退出打开的文件
- 输出重定向
>覆盖输出
>> 追加输出
将终端输出的内容 输出至文件中
- cat 直接打开一个文件,在终端查看
- cat 合并文件1 合并文件2 … >合并之后的文件路径
合并之后原文件还在
########################进阶指令################################
- df 查看磁盘空间
- df -h 以可读性查看磁盘空间
- free 查看内存使用情况
- free -m 以单位Mb查看
- free -g 以单位Gb查看
- head 查看一个文件的前n行 n默认10
- head -n 文件名
- tail 查看一个文件的末尾n行,n默认10
- tail -n 文件名
- tail -f 文件名 查看文件内容中追加的内容
- tail一般用于查看系统日志
- q键退出
- less 以较少的内容查看,按下辅助功能键查看更多
- 空格键可以翻页
- wc 统计文件信息
- 包括行数和单词数、字节数
- wc -lwc
- -l 行数
- -w 单词数
- -c 字节数
- date (重点)
查看系统当前时间 - date +%F
以类似“2020-01-01”格式输出时间 - date “+%F %T”
2020-01-01 12:30:30
date “-1 day” “+%F %T” 一天前的时间
- cal 输出日历
- cal -y 年份 输出第几年的日历
- clear/ctrl+L 清屏
- | 管道
一般用于“过滤”、“扩展处理”
管道不能单独使用,必须要配合其他指令
例如: ls /|grep y 输出根目录下面包含y的内容 grep 过滤
以管道为分界线,前面的内容为过滤源
s /|wc -l 根目录下的内容个数
########################高级指令################################
- hostname 操作服务器的主机名
- hostname -f 输出当前主机名的FQDN(全限定域名)
- id 查看一个用户的基本信息,不指定则默认当前用户
- whoami 一般用于shell脚本,获取用户名
- ps -ef
ps 用于查看服务器进程
-e 等价于-A,表示列出全部的进程
-f 显示全部的列(显示全字段)
如果一个进程的父级进程找不到,该进程为僵尸进程
- uid 该进程的用户id
- pid 进程id
- ppid 该进程的父级id
- c cpu占用率
- stime 进行的启动时间
- tty 终端设备,发起该进程的设备识别符号,如果显示“?”,表示该进程并不是由终端设备发起
- time 进程执行的时间
- cmd 该进程的名称或者对应的路径
- top 查看服务器资源进程,内存、cpu占用等等
q键退出
M 将结果按照内存排序
P 将结果按照cpu排序
l 查看每个cpu的状态
- du -sh 作用:查看目录的真实大小
-s summeries,显示汇总的大小
-h 以可读性较高的形式显示
- find 用于查找文件
-name 按照文档名称进行搜索
-type 按照文档的类型进行搜索
-表示文件(在使用find时用f替换)
d表示文件夹
- service 用于控制一些软件服务的启动、停止、重启
service 服务名 start/stop/restart
ps -ef|grep httpd 查看httpd进程
- kill 杀死进程
kill 进程pid
killall 进程名称
- ifconig 获取网卡信息
- reboot 重新启动计算机
- reboot -w 模拟重启(写关机日志)
-
shutdown 关机 (慎用)
-
shut down -h now
-
init 0
-
halt
-
poweroff
- uptime 输出计算机的运行时间
- uname 获取计算机操作系统的信息
- uname -a
- netstat -t 列出tcp协议的连接
- netstat -n 可读性较高
- netstat -l 列出正在监听的连接
- netstat -p 显示发出连接的进程pid和进程名称
- man 其实是manual,q退出,菜单
man加上想要查询的指令,可以查询这个指令的相关用法
########################练习################################
- ctrl+u快速删除一整行指令
- 快速删除/temp下所有的A开头的目录
rm -f /temp/A*- 备份
cp /etc/passwd /tmp- 查看系统最后创建的三个用户
tail -3 /etc/passwd- 统计当前系统中的一共多少用户
wc -l /etc/passwd- 如何创建/temp/test.conf文件
touch /temp/test.conf- 如何通过vim编辑打开/tmp/test.conf vim /temp/test.conf
- 如何查看头三行和尾三行
head -3 /etc/passwd #tail -3 /etc/passwd- 如何一次性创建目录/text/1/2/3/4
mkdir -p /text/1/2/3/4- 查看磁盘空间
du -sh /etc- 删除/tmp 所有文件
rm -rf /tmp/*- 启动Apache服务,并检查是否成功 service httpd start
ps -ef|grep httpd- 杀死Apache进程
killall httpd或者查看pid之后使用pid
########################vim################################
- 命令,编辑,末行
- vim 文件路径
- vim +数字 文件路径 定位行数打开
- vim +/关键词 文件路径 高亮打开
- vim 文件路径1 文件路径2 文件路径3
:files 查看打开了哪些文件 %a表示正打开的文件,#表示上一个打开的文件
:open 文件名 打开指定文件
:bn 切换到下一个文件 back next
:bp 切换到上一个文件 back prev
在命令模式下
- 光标移动:
- 光标移动到行首
^ - 光标移动到行尾
$ - 光标移动到首行
gg - 光标移动到末行
G - 翻屏
向上:Ctrl+b(before)或者 pageup
向下:ctrl+f(After)或者 pagedown
- 复制
-
复制光标所在行
yy -
粘贴 p
-
以光标所在行为准(包含当前行),向下复制指定的行数
数字yy(例如: 3yy) -
可视化复制
Ctrl+v
- 剪切、删除
-
剪切、删除光标所在行
dd -
剪切、删除向下的指定行(包含当前行)
数字dd(删除之后下一行上移) -
剪切、删除之后下一行不上移
D(删除之后当前行变为空白行) -
撤销、恢复
u(undo)
恢复 Ctrl+r 可以取消之前的一次撤销
- 光标移动
- 快速将光标移动到指定的行数
数字G - 以当前光标为准,向上或者向下移动
数字+↑或者数字+↓ - 末行模式下,移动到指定的行数
:数字回车
- 模式间的切换
- 命令模式输入:进入末模式
- 命令模式输入i、a进入编辑模式
在末行模式下
- 保存
:w - 另存为
:w 路径 - 退出
:q - 保存并退出
:wq - 强制退出,不保存刚才的修改
:q! - 调用外部命令
:!指令 - 搜索
/ - 在搜索结果中查看上一个和下一个
N/n (next) - 取消高亮
:nohl (no highlight) - 替换
: s/搜索的关键词/替换内容
只是替换光标所在行的符合条件的第一处
: s/搜索的关键词/替换内容/g
替换光标所在行的符合条件的所有
: %s/搜索的关键词/替换内容
替换整个文档中每行第一处符合条件的
: %s/搜索的关键词/替换内容/g
替换整个文档中的符合内容
%表示整个文档
g表示全局(global)
- 显示行号
:set nu
取消行号
:set nonu
在编辑模式下
-
i 在光标所在字符前面插入 insert
-
a 后面插入 after
-
esc 退出
-
代码着色
:syntax on 开启
:syntax off 关闭 -
默认运行级别配置文件/etc/inittab
init命令执行时回去读取上面这个文件
里面有0-6七种运行级别
0表示关机
3表示完全的多用户模式(纯命令行模式)
5表示完整的图像化界面模式
6表示重启。
注意:init指令需要root权限才能执行,上面切换为命令行模式时,是临时切换重启后还是图形界面,所以更改配置文件/etc/inittab中的default修改(修改的时候不能为0或者6),再重启。
########################用户管理################################
- /etc/passwd 存储用户的关键信息(包含主组信息)
- /etc/group 存储用户组的关键信息(包含附加组信息)
- /etc/shadow 存储用户的密码信息
用户管理
添加用户
useradd
-g 指定用户的用户主组
-G 指定用户的附加组
-u uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid‘’
如果不想使用系统分配的,也可以通过选项自定义
案例:创建用户zhangsan,在passwd中查看是否添加成功,/home目录下也应该有文件产生
- passwd文件组成:
用户名:密码:用户id:用户组id:注释:家目录:解释器shell
密码位置一般显示为x,表示密码占位符 - 解释器shell:等待用户输入指令后,该解释器会收集用户输入的指令,传递给内核处理
案例:添加选项,创建用户lisi,让lisi属于501主组,附加组500,自选靓号666
useradd -g 501 -G 500 -u 666 lisi
修改用户
usermod
-g
-G
-u
-l 修改用户名
案例:修改用户主组。修改zhangsan的用户主组为500,附加组为501
usermod -g 500 -G 501 zhangsan
案例:修改zhangsan用户的用户名为wangwu
usermod -l wangwu zhangsan
- 设置密码
passwd 用户名
案例:设置wangwu的密码
设置之后在shadow文件中查看
设置成功后可以登录用户
-
切换用户: su(switch user)
如果用户名不指定则表示切换为root用户 -
用户删除
userdel
-r 删除用户的同时,删除其家目录
案例:删除wangwu用户
如何删除已经登录的用户?
kill掉用户的进程,所以先查看用户进程:ps -ef|grep wangwu,再kill进程,再userdel
用户组管理
-
/etc/group
文件结构:
用户组名:密码:用户组id:组内用户 -
用户组添加
groupadd
-g 自选用户组id(默认从500开始) -
用户组修改
groupmod
-g 设置用户组id
-n 设置新的用户组名称 -
删除用户组
groupdel
注意:
删除的组是某个用户的主组时,则需要将组内所有用户移除才能删除
########################网络管理################################
-
网络配置文件
/etc/sysconig/network-scripts/
其中的ifcfg-eth0和ifcfg-lo为网卡信息 -
service network restart 网卡重启
/etc/init.d/network restart 如果没有上面的指令用这条 -
创建快捷方式(软链接)
ln -s 原文件位置 快捷方式位置
网卡不可轻易停止
- 停止某个网卡:#ifdown 网卡名
- 开启某个网卡:#ifup 网卡名
例如:需要重启eth0网卡,则可以输入
#ifdown eth0
#ifup eth0
########################ssh服务################################
-
ssh(secure shell ,安全外壳协议),该协议有2个常用的作用:远程连接协议、远程文件传输协议
端口号22 端口范围0-65535
ssh服务配置文件位置:/etc/ssh/ssh_config -
服务启动停止重启
#service sshd start/stop/retart
#/etc/init.d/sshd start/stop/retart -
远程终端
常用终端:Xshell、secureCRT、Putty
通过ip地址和端口号使用远程终端连接 -
ssh文件传输
①可视化的界面传输工具:Filezilla
新建站点,登陆类型正常
②通过命令行工具传输文件PSCP.exe,必须通过命令行打开
为了使用方便,将其放入环境变量中,可以直接放到C:/windows下 -
pscp格式
- pscp 选项 用户名@linux 主机地址:资源路径 windows本地地址 (说明这是下载格式)
- pscp 选项 资源路径 用户名@linux主机地址:远程路径 (上传至Linux服务器)
pscp 选项 -ls 用户名@linux主机地址(列出远程目录下结构)
pscp -r [email protected]:/etc E:/
- linux中的scp可以用于Linux相互上传