linux学习

这篇博客主要介绍了Linux的基础操作,包括命令、VIM编辑器的使用、用户管理、进程管理、软件安装、网络配置(SSH、HTTP、FTP)、链接、归档压缩、日志管理和脚本编写。重点讲解了命令重定向、VIM的编辑模式、用户权限、SSH的基于密钥认证、RPM和YUM包管理、以及作业调度。通过本文,读者可以掌握Linux系统的日常操作。
摘要由CSDN通过智能技术生成

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七个字段:

  1. 用户名
  2. x /etc/shadow 密码
  3. uid
  4. gid
  5. 真实姓名
  6. 主目录(家目录)
  7. 默认shell程序(/sbin/nologin无法登陆)

/etc/group四个字段:

  1. 名称
  2. 密码
  3. gid
  4. 补充组

 useradd user #创建用户
 userdel -r user #删除用户
 visudo==vim /etc/sudoers #修改用户权限
 usermod -u -c -s -g -G user #修改用户属性 -指定uid -真实姓名 -指定登陆shell -修改用户主要组 -添加补充组
 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

使用方法:

  1. 打开ssh服务
  2. 互相ping通
  3. 执行ssh 用户名@192.168.1.1(注意一定要存在该用户)
  4. 接收密钥

不建议进行嵌套,可以使用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

使用方法:

  1. 关闭防火墙systemctl stop firewalld.service
  2. 执行curl http://192.168.1.1

FTP

此方法是共享用户家目录进行文本传输

使用方法:

  1. 开启服务
  2. 关闭防火墙systemctl stop firewlld.service
  3. 关闭selinux setenforce 0
  4. 创建用户
  5. 在用户家目录下创建一个文件
  6. 执行ftp 192.168.1.1
  7. 执行mget下载文件
  8. 执行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	   #用gizp方式压缩	-d    	   #用gizp方式解压缩zcat file.gz   #不解压查看文件xz file        #用xz方式压缩	-d  	   #用xz方式解压缩xzcat file.xz  #不解压查看文件bzip2 file 	   #用bzip2方式压缩	-d         #用bzip2方式解压缩	-k         #不删除原文件压缩bzcat file.bz2 #不解压查看文件tar 目标文件 源文件	-c         #创建归档	-x		   #提取归档	-t		   #列出归档	-v		   #详细信息	-f		   #文件名	-p		   #保留权限	-z		   #用gzip压缩	-j		   #bzip2压缩	-J		   #xz压缩	-C		   #指定压缩路径

日志

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文件

代码优先级严重性
0emerg系统不可用
1alert必须立即采取措施
2crit临界情况
3err非严重错误状况
4warning警告情况
5notice正常但重要的事件
6info信息性事件
7debug调试级别消息

自己更改日志:

sudo vim /etc/rsyslog.conf#在46行自行添加:*.debug				/var/log/debugmsg#刷新服务sudo systemctl restart rsyslog.s

查找

locate命令

每次使用前都需要更新下数据库并且搜索不精确,所以不常用

sudo updatedblocate 名字

find命令

更加精确但比locate慢

#find 路径 条件 动作find -name  #名字	 -exec  #动作	 -iname #忽略大小写	 -size  #大小	 -group	 -uid	 -gid	 -perm  #权限	 -type -l  #链接类型	 	   -d  #目录类型	 	   -b  #设备	 	   -f  #文件find /etc -size +3k -o 3k #列出/etc目录下大于等于3k的文件find / iname a -type f -exec cp {} /root/ \;一定要加一个反斜

脚本

开头一定是#!/bin/bash。脚本如果不是放在PATH变量下就必须用绝对路径且脚本一定要有可执行权限,不成文规定用.sh结尾

echo $PATH查看path的值


对特殊字符加引号

“” 允许命令和变量的替换

‘’ 不允许命令和变量的替换

\ 转义

# 注释

$ 变量的值


for循环:

for 变量 in 某一个值

do

​ 命令

done

作业调度

一次性:at

周期性:cron

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值