Linux
一、Linux概要
操作系统:管理计算机软硬件的程序
Linux特点
- 基本思想:一切都是文件、每个软件都有确定的用途
- 支持多平台
- 开源免费
二、用户操作
1、基础操作
账号管理需要root权限
登陆用户:su 用户名
推出登陆:Ctrl + D
上下键能出现之前的命令
2、账号管理
- 创建用户:
useradd (选项) 用户名
- 设置密码:
passed (选项) 用户名
- 密码不显示
- 密码要求
- 数字/字母
- 大于8位
- 不能设置回文
- 修改用户:
usermod ...
- 修改用户名:
usermod -l rex wmh
- 修改用户名:
- 删除用户:
userdel (选项) 用户名
- 强制删除:
userdel -r -f 用户名
- 强制删除:
3、显示用户信息
- 显示登录账号的信息
- 语法:
logname [--help][--version]
- 选项:
- --help:帮助
- --version:版本信息
4、切换用户
- 语法:
su 用户名
- 选项:
su -c 命令 用户名
:用此账户执行条命令
5、用户组
- 创建用户组:
groupadd [选项] 用户组名
- 修改用户组:
groupmod [选项] 用户组名
- 查询用户所属组:
groups 用户组名
- 删除用户组:
groupdel 用户组名
6、用户管理
- 语法:
gpasswd(选项)组名
- 选项
- -a:添加用户到组
- -d:从组删除用户
- -A:指定管理员
- -M:指定组成员和-A的用途差不多
- -r:删除密码
- -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
- 查看组内成员:
grep 'kafazu' /etc/group
三、系统管理
1、日期管理
- 查询日期:
date [参数]
- 选项
- -d<字符串>:显示字符串所指的日期与时间,字符串加双引号
- 字符串格式:"yyyy-mm-dd hh:mm:ss"
- -s<字符串>:根据字符串来设置日期与时间,字符串加双引号
- 需要root权限
- -u:显示GMT
- CST:北京时间
- --help:帮助
- --version :显示版本信息
- -d<字符串>:显示字符串所指的日期与时间,字符串加双引号
2、id命令
查询登录账户的信息:id
3、sudo命令
提高普通账号的权限:sudo 命令
4、top命令
- 实时显示process动态:
top [参数]
- PID:每个进程的id
- USER:进程所属的用户
- PR/NI:优先级
- VIRT:虚拟内存量
- S:运行状态
- R:run
- S:sleep
- 结束监控快捷键:
q
- 参数
- -c:显示完整command命令
- -p pid:监控指定进程
5、ps命令
- 静态查看正在运行的进程信息:
ps [参数]
- 参数
- -A:查看全部的进程信息
- -ef:查看全部的进程信息(完整)
- -u 用户名:查看属于指定用户的进程信息
6、kill命令
- 中断进程:
kill pid
kill -参数 pid
- 参数:-9:强制结束(酒杀)
- 中断用户的使用进程
kill -9 $(ps -ef | grep 用户名)
killall -u 用户名
7、关机命令
- 关机:
shutdown
- CentOS7默认延迟一分钟关机
- 立即关机:
shutdown -h now
- 延迟关机:
shutdown +n "xxx"
- n:指n分钟之后关机
- "xxx":关机的警告信息
- 重启:
shutdown -r +n "xxx"
- 取消关机:
shutdown -c
8、重启命令
立即重启:reboot
9、who命令
- 显示当前登录系统的用户:
who [参数]
- 参数:-H:带标题显示
10、timedatectl命令
- ntp时间服务器:用于同步计算机时间
- 相关命令
- 查看服务器时间与时区:
timedatectl
- 设置时区:
timedatectl set-timezone "Asia/Shanghai"
- ntp关闭:
timedatectl set-ntp false
- ntp开启:
timedatectl set-ntp true
- 查看服务器时间与时区:
11、clear命令
清屏幕:clear
四、目录管理
1、目录概要
- 根目录:/
- 系统配置文件:etc
- 系统预设执行文件:bin、sbin、usr
- 运行日志文件:/var/log
2、切换目录
- 切换目录:
cd 目录名
- 相对路径:以当前目录
- 绝对路径:从根目录/开始
- 目录回退:
cd ..
3、展示目录
- 展示目录:
ls [参数] 目录名称
- 参数:
- -l:详细信息
- -a:显示隐藏文件
- -al:所有文件的详细信息
- 权限:
- d:目录
- -:文件
- 属主
- 属组
- 大小
- 最后一次访问时间
- 文件名
- 权限:
4、当前目录
查看当前目录:pwd [-P]
5、创建目录
- 创建目录:
mkdir 文件夹名称
- 创建多级目录:
mkdir -p 文件夹名称1/文件夹名称2
6、删除空目录
- 删除空文件夹:
rmdir 文件夹名称
- 删除多级空文件夹:
rmdir -p 文件夹名称1/文件夹名称2
7、删除文件
- 删除单个目录/文件:
rm 文件路径
- 删除多层目录与其文件:
rm -r 文件路径
- 忽略提醒:
rm -p 目录
8、复制文件
- 复制单个文件:
cp aaa/a.txt bbb
- 复制整个文件夹:
cp -r aaa/* bbb
9、移动文件/重命名
- 移动文件:
mv 文件 目录
- 文件重命名:
mv 文件 文件
- 文件夹移动/重命名:
mv 目录 目录
10、目录权限属性
1)符号权限:
- 权限分类
- -:没有权限
- r:读
- w:写
- x:执行
- 位数含义:
- 第1位:格式
- -:文件
- d:目录
- l:链接文件
- 2-4位:属主权限:u
- 5-7位:属组权限:g
- 8-10位:其他用户权限:o
- 全部身份:a
- 第1位:格式
- 符号
- +:加权限
- -:减权限
- =:设定权限
2)数字权限
权限 | 缩写 | 数字符号 |
---|---|---|
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
无权限 | - | 0 |
数字权限 = 数字和
11、目录权限修改
1)chgrp命令
更改目录的属组:chgrp -v 属组名 目录
2)chown命令
- 更改目录的属主:
chown 属主名 目录
- 更改目录的属主和属组:
chown [参数] 属主名:属组名 目录
- -R:处理目录及其子目录
3)chmod命令
更改目录的访问权限:
- 数字权限:
chmod -R 符号权限 目录
- 符号权限:
chmod u=rwx,g=rw,o=r 目录
chmod -R a=rwx 目录
chamod -R g+x,o+r 目录
五、文件管理
1、touch命令
- 创建一个文件/修改时间属性:
touch a.txt
- 创建多个空文件:
touch a{1..5}.txt
- 查看文件详细属性:
stat 文件名
2、vim编辑器
1)vi/vim简介
- vi
- 只能编辑文本,不能排版
- 不支持鼠标
- 没有菜单
- 只有命令
- vim
- vi的升级版
- 代码补全,编译...
2)vim的三种模式
- 三种模式
- 阅读:命令模式
- 编辑:编辑模式
- 保存:末行模式
- 模式的切换:
- 命令 --> 编辑:
i
- 编辑 --> 命令:
Esc
- 命令 --> 末行:
:
- 末行 --> 命令:
Esc Esc
- 命令 --> 编辑:
3)打开文件
打开文件:vim 文件名
- 如果文件存在:打开文件
- 如果文件不存在:打开临时文件,保存退出后会新建文件
4)进入编辑模式
i
:当前字符前插入I
:行首插入a
:当前字符后插入A
:行末插入o
:行后添加一行O
:行前添加一行
5)保存文件
:q
:无操作退出:q!
:不保存退出:wq
:正常保存退出:wq!
:强行保存退出
6)vim定位行
查看文件并定位到指定行数:vim 文件名 +行号
7)异常处理
- 若vim异常退出,磁盘中会存有交换文件(.swp)
- 删除交换文件即可
3、文件查看
1)cat命令
- 查看小型文件内容:
cat 文件
- 查看小型文件内容(显示行号):
cat -n 文件
2)less命令
- 查看大型文件内容:
less 文件
- 查看大型文件内容(显示行号):
less -N 文件
- 退出阅读:
q
3)tail命令
- 查看文件的最后十行:
tail 文件
- 查看文件的最后...行:
tail -... 文件
- 动态显示最后十行:
tail -[...]f 文件
- 指定最后...行,默认10
- 退出:
Ctrl + C
- 显示文件最后...个字符:
tail -c ... 文件
4)grep命令
- 查找文本:
grep [参数] 关键字 文件
-n
:带行号查找-a
:忽略大小写-v
:不展示
- 查找进程:
ps -ef | grep sshd
- 求进程个数:
ps -ef | grep -c sshd
- 求进程个数:
4、重定向输出
- 重定向:将需要输出打印的文本保存到文件
- 语法:
- 覆盖:
cat a.txt > b.txt
- 追加:
cat a.txt > b.txt
- 覆盖:
5、管道
- 管道:将一个命令的输出作为另一个命令的输入
- 语法:
ps -ef | grep java
ls --help | more
6、echo命令
- 展示文本:
echo 字符串
- 覆盖写入到文件:
echo 字符串 > 文件
- 追加写入到文件:
echo 字符串 >> 文件
- 追加保存错误信息:
错误语法 &>> 文件
7、软连接
- 软连接:快捷方式
- 原理:软连接 --> 文件名的地址 --> 文件名 --> 文件数据
- 生成软连接:
ln -s 原目录 新目录
8、find命令
查找文件/目录
- 本目录下按名称查找:
find . -name "*.txt"
- 根目录下按时间(...天内)查找:
find / -cname -...
六、压缩
1、gzip命令
- 压缩文件:
gzip 文件
- 解压文件:
gzip -dv 文件
2、gunzip命令
解压文件:gunzip 文件
3、tar命令
- 打包文件:
tar -cvf 打包文件名 文件名
--> xxx.tar - 压缩文件:
tar -zcvf 压缩包名 文件夹/文件名
--> xxx.gz - 查看压缩包:
tar -ztvf 压缩包名
- 解压:
tar -zxvf 压缩包名
4、zip压缩
- 压缩文件:
zip -q -r 压缩包名 文件/文件夹
--> xxx.zip - 查看压缩包:
unzip -l 压缩包名
- 解压文件:
unzip -d 解压目录 压缩包名
七、网络
1、hostname命令
- 查看主机名:
hostname
- 更改主机名(临时):
hostname xxx
- 改配置文件:
/etc/sysconfig/network
2、ifconfig命令
- 显示网卡信息:
ifconfig
- 关闭网卡:
ifconfig 网卡名 down
- 启用网卡:
ifconfig 网卡名 up
- 配置ip地址:
ifconfig 网卡名 ip地址
- 配置ip地址和子网掩码:
ifconfig 网卡名 ip地址 netmask 子网掩码
3、ping命令
- 检测是否联通:
ping ip/域名
- 指定接收包...次:
ping -c ... ip/域名
4、netstat命令
- 详细连接情况:
netstat -a
- 网卡列表:
netstat -i
5、域名映射
- 域名映射:主机名作为ip地址解析
- 修改
/etc/hosts
文件
6、yum命令
- yum:用于查找安装下载卸载软件
- 安装tree:
yum -y install tree
- 卸载tree:
yum remove tree
- 查找tom开头的软件:
yum list tom*
7、更改yum源文件
- 安装下载工具:
wgetyum install -y wget
- 下载阿里云的Centos-7.repo文件:
wget-OCentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
- 清理之前的缓存,并重新加载yum:
yum clean all
- 建立一个缓存文件:
yum makecache
- 查找软件,验证阿里云的yum源是否可以正常使用:
yum search tomcat
8、rpm与yum
- rpm:只能本地安装程序
- yum:在线下载并安装
9、JDK
- 卸载(centos自带精简版jdk)
- 下载并安装
- 配置path