linux
命令
cat less more tail vim
group
cd
touch
rm
mkdir -p a/b/c
cp mv
man which
ipconfig
重定向
1> 标准正确
2> 标准错误
&> 错误正确
>> 追加
echo 123>a.txt
VIM
命令行模式、扩展命令行模式、编辑模式
可命令高亮
命令行模式:
i 当前位置插入
a 当前后一个字符插入
o 下一行插入
O 上一行插入
wq! 强制保存退出
x!
扩展命令行模式:
/ 搜索,n下一个,N上一个
nohl 取消高亮
set nu(nonu) 显示行号(取消显示行号)
(n)yy 复制(n)整行
p§ 向下(向上)粘贴
(n)dd 删除(n)整行
u 撤销上一次操作
x 删除一个字符
家目录下创建.vimrc永久保存设置
用户
id 用户名
uid= gid= group=
- 超级用户 uid=0
- 系统用户 uid=1-499
- 普通用户
ls -l 文件名
? 拥有人 拥有组
/etc/passwd七个字段:
- 用户名
- x /etc/shadow 密码
- uid
- gid
- 真实姓名
- 主目录(家目录)
- 默认shell程序(/sbin/nologin无法登陆)
/etc/group四个字段:
- 名称
- 密码
- gid
- 补充组
useradd user
userdel -r user
visudo==vim /etc/sudoers
usermod -u -c -s -g -G user
passwd user
groupadd
groupmod -n
权限
基本权限:
rwx-rwx-rwx
拥有人-拥有组-其他人
421-421-421
r:读
w:写
x:执行
chomod ugoa +-= rwx(421) 文件名
特别权限:
u+s(suid)
g+s(sgid)
o+t(sticky)
进程
pidof 查看进程pid
ps -aux 查看所有进程
ps -ef 查看进程pid
top 实时刷新,按1可以看多少核
PPID父进程
PID子进程
如果两个相等,那么这是在父进程中运行子进程
kill -1 pid
-9
-15
-19
-18
优先级
PRI=PR+NI(优先级越高数字越低)
PR 0-20
NI user:0-19 root:-20-19
设定nice值:
nice -n 5 vim abc
重新设定nice值:
renice -n -1 11641
系统进程
redhat7以上:systemd:pid为1的进程
redhat6:upstart
redhat5:init
systemctl status service
start
restart
stop
reload
is-enabled
enable
disable
软件
挂载:sudo mount /dev/sr0 /mnt/yum/
容量:df -h
RPM
安装:rpm -ivh 全名
移除:rpm -e 安装包名字
查询:rpm -qa
RPM无法安装具有依赖关系的软件包
YUM
/etc/yum.repos.d 创建一个以repo为结尾的文件
[app]
name=install app
baseurl=file:///mnt/yum/AppStream
gpgcheck=0
enable=1
[base]
baseurl=file:///mnt/yum/BaseOS
gpgcheck=0
enable=1
使用方法:
yum list
install
remove
网络
SSH
使用方法:
- 打开ssh服务
- 互相ping通
- 执行
ssh 用户名@192.168.1.1 (注意一定要存在该用户) - 接收密钥
不建议进行嵌套,可以使用ssh -X开始图形化。
服务器公钥路径:
/etc/ssh
客户端公钥路径:
/home/.ssh/known.hosts
基于密钥的认证
ssh-keygen
ssh-copy-id -i /home/.ssh/id_rsa.pub root@192.168.1.1(注意一定是.pub文件)
此方法更安全
ssh欢迎界面
新建/etc/motd文件
远程拷贝
增量同步:用于同步日志
rsync -av /rhce root@192.168.1.1:/root 同步目录
rsync -av /rhce/ root@192.168.1.1:/root 同步目录下的文件
a:目录
v:详细信息
HTTP
/var/www/html 创建一个以html结尾的文件
hello world
使用方法:
- 关闭防火墙
systemctl stop firewalld.service - 执行
curl http://192.168.1.1
FTP
此方法是共享用户家目录进行文本传输
使用方法:
- 开启服务
- 关闭防火墙
systemctl stop firewlld.service - 关闭selinux
setenforce 0 - 创建用户
- 在用户家目录下创建一个文件
- 执行
ftp 192.168.1.1 - 执行
mget 下载文件 - 执行
mput 上传文件
fpt状态下用quit退出
HOST
修改域名:
- vim /etc/hostname
- hostnamectl set-hostname
绑定域名:
vim /etc/hosts
192.168.1.1 a.com a
192.168.1.2 b.com b
可视化网络配置
nmtui
链接
硬:ln 源 目标
软:ln -s 源 目标
软相当于快捷方式
硬相当于同一文件不同名字
归档、压缩
gizp file
日志
linux内建了一个基于Syslog协议的标准日志记录系统:systemd-journald和rsyslog处理日志
- systemd-journald临时 (/run)
- rsyslog永久并排序 (/var/log)
日志文件 | 存储的消息类型 |
---|
/var/log/messages | 大多数系统日志消息记录在此处。例如包括与身份验证、电子邮件处理和调度作业执行相关的消息以及纯粹与调试相关的消息 | /var/log/secure | 与安全性和身份验证事件相关的syslog消息 | /var/log/maillog | 与邮件服务器相关的syslog消息 | /var/log/cron | 与调度作业执行相关的syslog消息 | /var/log/boot.log | 与系统启动相关的syslog控制台消息 |
wtmp文件:开机,关机,重启的日志信息,用last 命令查看
lastlog文件:登陆信息,用lastlog 查看
/etc/rsyslog.d下的rsyslog.conf文件
代码 | 优先级 | 严重性 |
---|
0 | emerg | 系统不可用 | 1 | alert | 必须立即采取措施 | 2 | crit | 临界情况 | 3 | err | 非严重错误状况 | 4 | warning | 警告情况 | 5 | notice | 正常但重要的事件 | 6 | info | 信息性事件 | 7 | debug | 调试级别消息 |
自己更改日志:
sudo vim /etc/rsyslog.conf
查找
locate命令
每次使用前都需要更新下数据库并且搜索不精确,所以不常用
sudo updatedblocate 名字
find命令
更加精确但比locate慢
脚本
开头一定是#!/bin/bash 。脚本如果不是放在PATH变量下就必须用绝对路径且脚本一定要有可执行权限,不成文规定用.sh结尾
echo $PATH 查看path的值
对特殊字符加引号
“” 允许命令和变量的替换
‘’ 不允许命令和变量的替换
\ 转义
# 注释
$ 变量的值
for循环:
for 变量 in 某一个值
do
? 命令
done
作业调度
一次性:at
周期性:cron
|