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