首页 > 系统相关 >Linux知识点

Linux知识点

时间:2023-02-13 21:24:29浏览次数:58  
标签:知识点 查看 用户 nginx yum install Linux rpm

Linux

虚拟化所需工具:https://pan.baidu.com/s/1643-kYcx9oPGnGEZM1pLOw?pwd=g0v5 提取码:g0v5

基础包

# 解决在7的版本中没有ifconfig命令,加上-y不用手动确认
yum install net-tools
yum install net-tools -y
# 两下tab自动补齐
yum install bash-completion -y
# 联网下载文件
yum install wget -y
wget file_addr  # 有-O参数,指定下载地址
# 以树状显示目录结构命令tree
yum install tree -y
# 解决报错:WARNING!The remote SSH server rejected X11 forwarding request.
yum install xorg-x11-xauth -y
# 文件编辑工具
yum install vim -y
# 上传下载
yum install lrzsz -y

快捷键

Ctrl + a    # 光标跳转至正在输入的命令行的首部
Ctrl + e    # 光标跳转至正在输入的命令行的尾部
Ctrl + c    # 终止前台运行的程序
Ctrl + d    # 在shell中,ctrl-d表示推出当前shell。
Ctrl + z    # 将任务暂停,挂至后台
Ctrl + l    # 清屏,和clear命令等效。
Ctrl + k    # 删除从光标到行末的所有字符
Ctrl + u    # 删除从光标到行首的所有字符
Ctrl + r    # 搜索历史命令, 利用关键字,Tab建选中,只能找到最近的一条
Ctrl + w    # 按单词或空格进行向前删除
Ctrl + 左右建  # 按单词或空格进行向前向后跳

# 在命令行前加面加 "#" 则该命令不会被执行

基础命令

# 查看Linux内核版本
cat /proc/version
or
uname -a
# 查看Linux系统版本
cat /etc/redhat-release
# 查看主机名
hostname
井号:通常指超级管理员
$:普通用户
# 创建用户
useradd username
passwd password
# 切换用户
su - username
# 当前用户的家目录
~
# 回到家目录
cd
# 查看当前路径
pwd
# 切换目录
cd *
# 查看当前目录下的文件
ls
ls -a  # 查看隐藏文件 或 ls --all
# 查看详细
ll
ll -a
# 命令缩写用-,全写用--
# 查看命令历史
history
!数字   # 快速执行数字那一行
!yum    # 快速执行最近一条yum命令
history -c   # 清空所有记录(连到人家服务器,操作完了,执行一下)
history -w   # 可以把 历史记录写到用户家路径的.bash_history文件中
> filename  # 清空文件
# 重启网卡
systemctl restart network

# 查看硬盘使用情况
df -h
# 统计文件夹使用情况及空间大小
du -sh /usr/
# 查看登录日志
cat /var/log/secure

# 查看所有程序
ps aux
ps aux | head -n5  # 查看前五条
# 下载
wget -O 路径(可选) 地址
# 测试连通性
curl www.baidu.com
# 文本查看,分页
less、more(百分比):less /etc/services
# 查找命令
grep 'nq' /etc/services  # 查看文件中有nq的行
# 翻页
ctrl+b:下翻页,ctrl+f:上翻页
# 上传下载 (4g以内)
rz:上传,选择文件直接上传
sz:sz 文件路径  可以下载到当前主机
# 排序
sort 文件名  # 对文件内容排序
# uniq 去重,连续挨着的才能去,所以要跟sort连用
sort 文件名 | uniq
# 分割截取
cut -d " " -f2,5 文件名  # 把字符串按“ ” 分割,取出第2和第5个

"""文件属性和类型"""
# 以人性化显示,kb,gb
ll -h, ll /etc/services -h
# 文件类型
-   # 普通文件(文本, 二进制, 压缩, 图片, 日志等) 
d   # 目录文件
# 查看详细的文件类型
file /etc/services

"""软连接,硬链接"""
软链接新建了一个inode(相当于快捷方式),硬链接指向同一个inode
软:ln -s 链接到的路径  哪个文件/文件夹
硬:ln
# 取消软连接 
rm -rf /sbin/nginx  # 最后不能加/

"""vim"""
# 普通模式:
ctrl+b上翻页,ctrl+f下翻页
yy  复制一行
p   粘贴
dd  剪切
p   把上面剪切的粘贴上
# 编辑模式
i  insert插入
a  append追加
o  换行插入
esc回到普通模式
# 命令模式:
w  表示保存
q  退出
!  强制退出
:set nu    显示行号
:set nonu  不显示行号
/字符串     搜索这个字符串
:%s#ctrl#control#g  # 替换文本(:%s###g)

# 查看上一次的命令是否有误,无误显示0
echo $?

用户

who  # 当前有哪些用户登录了
whoami  # 当前登录用户
w  # 检查用户登陆情况

# id root
uid=0(root) gid=0(root) groups=0(root)
# 用户信息路径
cat /etc/passwd
# 密码存放路径
cat /etc/shadow
# 用户增删改
# 增(一个用户只能属于一个主组,可以属于多个附加组)
groupadd 组名  # 新增一个组
useradd -u 5001 -g 组名 -G 附组名1,附组名2 -c "可以写注释" -s /bin/bash lqz1
# 应用场景
创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统 
useradd mysql -M -s /sbin/nologin
# 改
usermod -c "注释" -md /用户目录 -s /bin/sh -l 用户名 新用户名  # -md,把环境也带过去
usermod -L 用户名  # 锁定后会无法登陆系统
usermod -U 用户名
passwd root  # 修改密码
# 删
userdel 用户名   # 删除用户,不删家目录
userdel -r 用户名  # 删除用户,删家目录(慎用)
# 组的增删改
groupadd no_gid  # 新增组
groupmod -g 1111 组名  # 改组id号
groupmod 组名 -n 新组名  # 改组名字
groupdel new_student  # 删除组(组下如果有人,把人删除,再删)

# 用户UID,系统中约定的含义
0		超级管理员,最高权限,有着极强的破坏能力
1~200	系统用户,用来运行系统自带的进程,默认已创建
201~999	系统用户,用来运行用户安装的程序,所以此类用户无需登录系统
1000+	普通用户,正常可以登陆系统的用户,权限比较小,能执行的任务有限

# finger查询用户信息以及登录信息
yum install finger -y
finger 用户名

# 切换用户
su user  # 不加载环境变量
su - user  # 加载环境变量

权限

# 修改权限: d r-x r-x r-x
7=4(r)+2(w)+1(x)
r:read写权限
w: write写权限
x:可执行
chmod 777 文件夹/文件

# 特殊权限chattr
# 选项: + 增加权限 -减少权限 =等于某个权限
# a:让文件或目录仅可追加内容
# i:不得任意更动文件或目录
chattr +i 文件名
chattr -i 文件名

解压缩

# gzip(只能压一个文件,不能压文件夹,会把原来的删除)
gzip 文件名
gzip -d 解压文件名
# zip的压缩和解压
yum install zip unzip -y
zip  filename.zip  filename  # 压单个文件
zip -r filename.zip /home/  # 把home文件夹压缩
unzip  filename.zip   # 解压
unzip -l  filename.zip  # 不解压,看内容
unzip filename.zip  -d /home/  # 解压到home路径
# tar打包与压缩
tar czf 文件名.tar.gz 文件名
tar xf  文件名.tar.gz
tar xzvf  xx.tar.gz  # 解压tar.gz,详细过程列出来
tar czf etc.tar.gz --exclude=etc/services etc/  # 排除文件
tar xf /etc/local.tar.gz  -C /home  # -C指定解压到哪个路径

软件下载和安装

# rpm
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm  # 安装rpm的软件
rpm -q  # 查看这个软件是否安装********
rpm -qa |grep tr  # 列出所有安装的软件
rpm -ql  # 查询指定软件包所安装的目录、文件列表rpm -ql unzip *****
rpm -qc unzip  # 查看这个软件的配置文件位置
rpm -qf /etc/pam.d/vsftpd  # 查看配置文件属于哪个软件
rpm -qlp trace-cmd-2.6.0-10.el7.x86_64.rpm  # 查看该软件包安装后会释放哪些文件
rpm -ivh https://*.rpm  # 远程地址下载
rpm -Uivh  # 升级软件需要用  U
rpm -e zabbix-agent
# yum配置源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  # 阿里源

# 源码安装nginx(其他软件一样步骤)
安装编译依赖
yum install -y make pcre-devel gcc gcc-c++ zlib zlib-devel openssl openssl-devel
1.下载
https://nginx.org/en/download.html
2.解压
tar xf ...
3.通过configure 生成配置信息,配置相关的选项,并生成Makefile,软件安装的信息
./configure --prefix=/usr/local/nginx
4.make && make install  # 按照Makefile生成的安装软件&&将二进制文件拷贝至对应的目录中
5.在任意路径敲nginx都能执行
建立软链接:ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
把/usr/loacl/nginx/sbin/路径加入环境变量
想使用systemctl管理(制作系统服务)
6.nginx命令介绍
nginx  # 启动
nginx -s reload  # 重新加载,修改配置文件
nginx -s restart  # 重启
nginx -s stop  # 停止

进程管理

1.ps aux 用它,[系统进程]
2.ps ef
3.ps aux|grep id,进程名字,
4.top  # 实时看状态
5.kill -l  # 列出当前系统所支持的信号
6.kill -9 进程id号  # 强行关闭
7.pkill -9 nginx  # 关闭nginx所有进程
8.killall nginx  # 关闭nginx所有进程

# screen管理后台进程
yum install screen -y
screen -S myjobs  # 创建了一个窗口,执行耗时任务,进程
ctrl+a+d  退出当前bashshell但是耗时任务还在后台运行
screen -r myjobs 调到前台执行
screen -list  查看所有任务

系统服务

# 关闭防火墙
systemctl stop firewalld
setenforce 0
# 重新加载单元
systemctl daemon-reload

# 制作nginx服务
1.cd /usr/lib/systemd/system/
2.vim nginx.service
3.写入文件
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

# 修改文件权限
chmod 745 nginx.service
# 查看服务状态:
systemctl status nginx.service
	# disabled表示没有开机自启动
	Loaded: loaded (/usr/lib/systemd/system/nginx.service; `disabled`; vendor preset: disabled)

# 其他命令
# 启动nginx服务
systemctl start nginx.service
# 设置开机自启动
systemctl enable nginx.service
# 停止开机自启动
systemctl disable nginx.service
# 查看服务当前状态
systemctl status nginx.service
# 重新启动服务
systemctl restart nginx.service
# 查看所有已启动的服务
systemctl list-units --type=service

paramiko模块的使用

import paramiko
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='', port=22, username='root', password='')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls')  # 传入要执行的命令
# 获取命令结果
result = stdout.read()
print(result.decode('utf-8'))
# 关闭连接
ssh.close()

标签:知识点,查看,用户,nginx,yum,install,Linux,rpm
From: https://www.cnblogs.com/hkwJsxl/p/17117829.html

相关文章

  • linux的安装方式--yum安装
    yum安装 前提 在Linux上安装软件中最头疼的就是软件包之间的依赖关系,通常安装A软件,但是编译的时候会报错说需要B软件,当安装B软件时又报告需要C软件。这个问题rpm安......
  • 基础-Linux网络
    查看路由表[root@localhost~]#route-nDestinationGatewayGenmaskFlagsMetricRefUseIface0.0.0.0172.18.4.2540.0.0.0......
  • java的知识点
    java知识点1、包装类自带有parse方法Integeri=315;inti1=Integer.parseInt("315");System.out.println(i==i1);Longl1=45......
  • css知识点
    1.css盒模型:盒子的组成:内容content,内边距padding,边框border,外边距margin盒模型的类型:标准盒模型:margin+padding+border+contentIE盒模型:margin+content(包含了bo......
  • 如何在Linux上优雅地写代码-Linux生存指南
    初入Linux,发现老是要面对一个命令行,大黑框,看不懂各种手册,写代码也是用vi/vim,难受的捉急。其实Linux下的各种工具,强大得超出你的想象,如果你初入Linux,那么你急需阅读这篇文章,......
  • linux文件拼接命令 paste
    paste[文件名1[文件名2]……][选项]-s把文件以行的方式拼接-d制定分隔符,默认以制表符分隔[root@localhost~]#seq5>1.txt[root@localhost~]#seq610>2.t......
  • linux服务器配置查看
    查看linux服务器配置查硬盘信息sblk看sdasdbsdc之类的以下可以看出是500Gsda第一块,sdb是第二块以下可以看出是1T+100G......
  • 30个Javascript知识点总结,总有你不会的!
    最近重温了一遍红宝书,发现一些比较好玩的写法,很多东西日常都在用,但是发现还会有不一样的写法,结合一些日常工作中使用的方法,为大家总结一篇日常经常使用可能还不知道的点,希......
  • 8. Linux 任务计划
    1.一次性调度执行scheduleone-timetaskswith​​at​​.【至少在lubuntu20.04上已经没有了,Windows已经deprecated了】$at<timespec>#<timespec>示例#now+5min......
  • Linux下使用EasyX库
    Linux下使用EasyX一、EasyX与CLion简介(一)、EasyXEasyX,全名:“EasyXGraphicsLibraryforC++”。由于其采用静态编译,并不依赖任何dll,超低的学习成本,深受许多开发......