三种模式
在正常模式下
基本操作
:wq 保存并退出
:q 未修改可正常退出
:q! 不保存强制退出
yy拷贝当前行 p复制 2p复制两份 dd删除
G跳转文件末尾 gg跳转文件开头
撤销动作 u
/关键字 搜索关键字
:set nu显示行号 :set nonu关闭行号
光标移动到指定位置 :set nu 显示行号,输入主键盘数字 和shift+g
关机和重启命令
shutdown 关机
shutdown -h now 立刻关机
shutdown -h 1 一分钟后关机
shutdown -r now 立刻重启
halt 效果等效关机
reboot 重启
syn 将内存中的数据立刻保存到磁盘
logout 退出
用户管理
添加用户
useradd 用户名
会自动在home目录下创建一个专属于这个用户名的文件夹
useradd -h 指定目录 用户名
将在指定的目录下创建文件夹
设置用户名的密码
passwd 用户名 输入的密码不可见
删除用户
root用户才有权限
userdel 用户名 保留了该用户的家目录
userdel -r 用户名 不保留该用户的家目录
一般保留用户的家目录
查询用户信息
id 用户名
切换用户
su - 用户名 - 左右都需要一个空格 从高权限到低权限不需要输入密码,反之需要
exit 返回刚刚的用户
用户组
groupadd 添加组
groupdel 删除组
在创建用户时建他划分到指定组 useradd -g 组名 用户名
更改用户组操作 usermod -g 组名 用户名
切换运行级别指令
init 级别
init 1
init 5
当丢失密码时,进入 单用户模式,可以不需要密码登录root
帮助指令
man 命令或者配置文件
help 命令
文件目录类
pwd 显示目前所在的绝对路径
ls 查看当前目录的所有消息 ls -l 列表形式 ls -a 显示隐藏 ll 于 ls -l相同
cd 切换目录
mkdir 目录 创建文件夹 -p 创建多级目录
rmdir 目录 删除空文件夹
rm -rf 目录或者文件 删除目录或者文件 即使不为空
touch 创建文件 可同时创建多个文件
cp 拷贝文件 目的地址
cp hello.java a/ 将hello.java复制到相对路径a下
cp -r 拷贝目录 目的地址 递归拷贝目录下所有文件
\cp 覆盖时镇压警告
mv 文件名1 文件名2 重命名
mv 文件 路径 将文件移动到指定目录
查看文件
cat 查看文件 只读方式打开 -n 行号 为了查看方便会加上管道命令 | more 分页查看
cat 文件 | more
more 查看文件 有诺干快捷键
less 查看文件 分屏文件 查看大文件首先 多次读取
覆盖和追加
ls -l > 文件 将 ls -l 的内容添加到文件中(覆盖)
ls -l >> 文件 追加
cat 文件1 > 文件2
输出
echo "内容" > 文件
echo 输出内容到控制台
查看文件部分
head 文件 查看前十行
head -n 5 文件 前五行
tail 文件 后十行
tail -n 5 文件 后五行
tail -f 文件 监控文档更新
软链接’
与windows中快捷方式类似
ln -s 指向文件或者目录 软链接名
rm -rf 软连接 删除软连接
历史
history 查看历史
!编号 执行历史操作
时间日期类
cal 日历
cal 年份 该年份日历
搜索
find
find 搜索范围 选项 文件名或者文件大小
选项为 -size时 文件大小指定 +20M 大于20M -20M小于20M 20M 等于20M
locate
由于locate 指令基于数据库进行查询,所有在第一次运行前,必须使用updatedb指令创建locate数据库
locate 搜索文件
grep指令和管道符号 |
grep 在文件内过滤查找 ,管道符号 | ,将前一个命令的结果传递给后面的命令处理
grep 选项 查找内容 源文件
选项 -n 显示行号 -i忽略字母大小写
压缩和解压缩类
gzip./gunzip
gzip 文件 压缩文件 只能将文件压缩成*.gz 压缩后不保留原来的文件
gunzip 文件.gz 解压缩
zip/unzip
zip 选项 目标名称 要压缩的内容 -r递归压缩
unzip 选项 要解压缩的文件 -d 目录 解压到该目录下
tar
打包命令,打包成 .tar.gz 通过选项确定压缩或者解压缩
tar 选项 xxx.tar.gz 打包的内容
压缩 -zcvf
解压缩-zxvf 实例 tar -zxvf a,tar.gz -C /opt/ 添加 -C /opt/ 将解压到 opt目录下
组管理和权限管理
组管理
在linux 中每个用户必须属于一个组,不能独立于一个组外。在linux中每个文件都有所有者,所在组,其他组的概念
修改文件的所有者
chown 用户名 文件名
组的创建
groupadd 组名
修改文件所在组
chgrp 组名 文件名
其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
改变用户所在组
usermod -g 组名 用户名
权限的基本介绍
rwd的介绍
rwd在文件中
r代表可读,查看
w可修改不可删除,删除一个文件的前提是对该文件所在的目录有写权限,才能删除文件
x代表可执行
rwd在目录中
r代表可读,ls查看目录内容
w可以修改,目录内的创建、删除、重命名目录
x代表可执行
可以将目录中的文件看出目录的内容,要修改删除目录中的文件就需要该目录的w权限
实际案例
修改权限chmod
第一种方式: +、- 、 =
u所有者 g所有组 o其他组 a所有人
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
第二种方式 数字变更
规则 r=4 w=2 x=1 ,rwx=7
chmod u=rwx,g=rx,o=x 文件目录名 等于 chmod 751 文件目录名
修改文件所有者chown
chown 文件所有者 文件 改变文件所有者
chown 文件所有者:所有组 文件 改变文件所有者
-R 如果是目录则使所有子文件递归生效
修改文件所有组chgrp
chgrp 组名字 文件名
任务调度
概念:是指系统在某个特定的时间执行特定的命令或者程序
crontab 选项
选项 -e编辑定时任务
-l查询定时任务
-r删除该用户下的定时任务
编写一个sh文件,在sh文件中输入要执行的代码,通过任务调度器crontab 调用
cron表达式 ,百度上很多自动生成器
磁盘分区、挂载
gtb分区比mbr分区更优秀,可以支持多个分区。并支持更大容量,mbr分区兼容性更好
windows下磁盘分区展示
Linux分区
通过lsblk指令查看分区
lsblk -f 和 lsblk
增加硬盘
磁盘情况查询
查询系统整体磁盘使用情况
df -h
查询指定目录磁盘使用情况
du -h 目录
选项
-h带计量单位
-a含文件
--max-depth=1 子目录深度
-c 增加汇总值
进程管理
在linux中每个执行的程序都是一个进程,每一个进程都会分配一个ID号吗,都会有一个父进程,一个父进程可以有多个子进程
ps -aux
查看父进程
ps -ef 其中的PPID就是父进程的ID
终止进程
kill 选项 进程号
-9 强制杀死
killall 进程名称
查看进程树
pstree -p 进程PID -u进程所属用户
服务管理
查看服务
两种方式
setup 图形画界面
ls -l /etc/init.d/
服务运行级别
查看服务
chkconfig --list 查看服务
chkconfig 服务名 on/off 开启关闭服务
动态监控进程
top 选项 top是实时更新
-d 秒数 指定秒数更新
-i 不显示休眠状态进程
-p 通过PID监控每个进程
进入top内操作
查看系统网络状况
netstat -anp
netstat -anp | grep sshd 常与 | grep 连用
RPM
rpm -qa | grep firefox 查询是否安装firefox
rpm -q 软件名 查询软件是否安装
rpm -qi 软件名 查询软件信息
rpm -ql 软件名 查询软件包的文件
rpm -qf 文件全路径 查询文件的所属软件包
rpm -e 软件名 卸载软件 rpm -e --nodeps 软件名 --nodeps强制卸载
rpm -ivh rpm包全路径名称 挂载iso文件在media下rpm找到该文件
yum
yum软件管理器,一次安装依赖的所有软件
yum list | grep xx 查询yum服务器是否有要安装的软件
yum install xxx 下载安装
发布项目
java -jar 项目名称
后台发布项目
nohup java -jar charity_project-0.0.1-SNAPSHOT.jar &
nohup表示永久运行。&表示后台运行
结束项目
查询pid
ps -ef | grep java
kill -9 PID
如果是war包
./startup.sh 开启tomcat
./shutdown.sh 关闭tomcat
链接:尚硅谷韩老师原文档 包含大量实例
提取码:z213