Linux学习笔记(个人笔记)

Linux学习笔记

第一章:Linux概述

优点:
* 内核免费
* 完全开源
* 可自我进行封装系统级程序
虚拟机:
* 为了避免重装系统
虚拟化软件VMware:
* 方便构建虚拟机
开发注意:
* Linux更注重命令行
* Linux图形化界面不稳定
* 命令行减少系统占用
* 跨越Windows和Linux交互不方便,因此需要远程连接,使用finalshell

第二章:Linux基础命令

Linux与Windows的区别:
* Linux没有盘符,只有一个根目录
* Linux路径使用”/“,Windows使用”\“
* ”/usr/local"中的第一个”/“表示Linux系统的根目录
* 示例:/test/hello.txt
Linux命令:
概念:
* 命令行:即Linux终端(Terminal),是一种命令提示符页面
* 命令:即Linux程序,一个命令就是一个程序,无图形化界面
* 注意命令行,命令,文件三者的概念不同
* 命令可简单定义为 command [-options] [parameter]
    · command为命令本身
    · -options为命令的一些选项,即行为细节
    · parameter为命令的参数,用于控制命令的指向目标
    · 例如,ls -l /home/local代表以列表形式显示文件夹
ls命令:
ls [-a -l -h] [Linux路径]
    · ls 默认平铺用户目录下的文件夹
    · ls 命令参数:
        -a 表示all,列出所有文件和文件夹,包括隐藏的,“.bin”含有.表示隐藏
        -l 表示list,以列表形式表示
        -h 表示以容易阅读的形式展示文件大小,必须以-lh,-hl使用
cd、pwd命令:
cd  [Linux路径] 
    · cd 带参数,指向目标路径
    · cd 不带参数,回到工作目录
    · 作用为改变默认路径

pwd
    · 打印工作目录
相对路径、绝对路径和特殊路径:
· 绝对路径:以根目录为起点
· 相对路径:以当前目录为起点
· 特殊路径:
    "." 表示当前目录,如 cd./Desktop等于 cd Desktop
    ".." 表示上一级目录,如 cd ..返回上一级,cd ../.. 返回上两级
    "~" 表示HOME目录
mkdir命令:
mkdir [-p] [Linux路径]
    -p 可选,自动创建不存在的父目录,适合创建多级文件夹
    · 路径必填
touch、cat、more命令:
toucch [Linux路径]
    · 作用为创建文件,注意是文件;ls -l,d代表文件夹

cat [Linux路径]
    · 作用为读取文件内容,显示全部内容

more [Linux路径]
    · 作用为读取文件内容,但是可以翻页
    · 空格翻页,q进行推出
cp、mv、rm命令:
cp [-r] 参数1 参数2
    -r 可选,用于复制文件夹使用,表示递归
    参数1,Linux路径,表示被复制的文件或文件夹
    参数2,Linux路径,表示要复制到的目录

mv 参数1 参数2
    参数1,Linux路径,表示被移动的文件或文件夹
    参数2,Linux路径,表示要移动到到的目录
    · 可以用来进行改名

rm [-r -f] 参数1 参数2 …… 参数n
    -r 用于删除文件夹
    -f 强制删除
    参数 代表目标路径
    · rm命令支持通配符*, 用来做模糊匹配
        · test*,表示匹配任何以test开头的内容
        · *test,表示匹配任何以test结尾的内容
        · *test*,表示匹配任何包含test的内容

su root (然后输入密码)
    · 表示切换根用户,exit可以退回,一定记得退回
    · 根用户时,千万别使用以下命令(狗头)
        rm -rf /
        rm -rf /*
which、find命令:
which 要查找的命令(也就是程序)
    · 查找所需要的程序在哪

find 起始路径 -name "被查找的文件名"
或 find 起始路径 -size +|- n[kMG]
    +、- 表示大于或者小于
    n表示大小数字
    kMG,注意k小写,k表示kb,M表示MB,G表示GB
    · -name支持通配符
grep、wc命令:
grep [-n] 关键字 文件路径
    -n 可选,表示在结果中显示匹配的行的行号
    关键字 必填,表示过滤的关键字,带有空格或其他符号,建议使用""包住
    文件路劲 必填,表示要过滤的文件路径,可作为内容输入端口
    · 注意是过滤文件中的内容
    
wc [-c -m -l -w] 文件路径
    -c 统计bytes数量
    -m 统计字符数量
    -l 统计行数
    -w 统计单词数量
    文件路径 被统计的文件,可作为内容输入端口

管道符 "|"
    · 作用为将管道左边命令的结果,作为右边命令的输入
echo、tail命令:
echo 要输出的内容
    · 类似print语句

` ` 命令用反引号(也称为飘号)
    · echo `pwd`表示使用pwd命令
    · 键盘上 ~ 所在的按键打出来这个符号 `

>、>>重定向符号
    > 将左侧命令的结果,覆盖写入右侧文件
    >>  将左侧命令的结果,追加写入到右侧文件

tail [-f -num] [Linux路径]
    -f 表示持续跟踪
    -num 表示查看尾部多少行,不写默认10行
    Linux路径 代表文件路径

·Linux中CTRL+C代表强制停止
vi、vim编辑器:
vim(visual interface)
    · vim为vi的加强版本,兼容vi指令
    · 可编辑文本,还有shell程序编辑功能 

三种工作模式:
命令模式
    · 此模式下,所有按键都被认为是命令,以驱动不同的功能
    · 此模式下,不可进行自由文本编辑
输入模式
    · 即所谓的编辑模式、插入模式
    · 可对自由文本内容进行编辑
底线模式
    · 以冒号:开始,通常用于文件的保存、退出

vim 文件路径
    · 路径不存在,编辑创建的新文件
    · 路径存在,直接编辑旧文件

三种工作模式的切换及快捷键如下图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三章:Linux用户组及权限控制:

Root用户:
· 同Windows或者MacOS,都是权限最大的管理员

su [-] [用户名]
    - 可选,表示是否在切换用户后加载环境变量
    · 切换后,可以通过exit命令或者CTRL+D退出切换

sudo 其他命令
    · 在其他命令前,带上sudo,表示临时赋予这一条命令Root权限
    · 需要注意的是,普通用户必须有sudo配置认证
        1.进行配置,通过vi sudo命令,会自动打开vi编辑器的:/etc/sudoers
        2.在文件最后添加 
            用户名 ALL=(ALL)    NOPASSWORD:ALL
        3.ESC, 然后通过输入:wq保存
用户、用户组:
    · Linux的权限管控分为用户和用户组
用户组管理:
    · 需要在Root权限下执行
    groupadd 用户组名
        · 创建用户组
    groupdel 用户组名
        · 删除用户组
用户管理:
    创建用户:
    useradd [-g -d] 用户名
        -g 指定用户组,不指定的话,会创建同名用户组并自动加入,-g的前提是组存在
        -d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
    删除用户:
    userdel [-r] 用户名
        -r 删除用户的home目录,不使用-r,删除用户时,home目录保留
    查看用户所属组:
    id [用户名]
        用户名 提供则查看用户,不提供则查看自身
    修改用户所属组:
    usermod -aG 
查看信息:
    getent passwd
        · 查看系统全部用户信息
    getent group
        · 查看系统全部组信息
权限信息解读:
权限细节:

在这里插入图片描述

权限信息:

在这里插入图片描述

RWX信息解读:

在这里插入图片描述

权限信息修改:
· 只有文件、文件夹的所属用户或者Root用户才可以修改

chmod [-R] 权限 文件或者文件夹路径
    -R 对文件内的全部内容应用相同的操作
    · 例如,chmod u=rwx, g=rx, o=x hello.txt
    · 其中,u表示user所属用户权限,g表示group权限,o表示other其他用户权限
    · 其中可通过数字快速修改,如,chmod 751 hell.txt

在这里插入图片描述

chown命令:
· 修改文件、文件夹的所属用户和用户组
· 普通用户无法修改,只能root用户

chown [-R] [用户][:][用户组] 文件或者文件夹路径
    -R 对文件内的全部内容应用相同的操作
    用户 修改所属用户
    用户组 修改所属用户组
    : 用于分割用户和用户组

第四章:Linux快捷键、系统信息、系统监控、文件上传和下载:

快捷键:
CTRL+C快捷键:
    · 可以强行停止程序,也可以跳过输入错误的命令

CTRL+D快捷键:
    · 退出账户登录或者某些特定程序的专属页面,例如Python
    · 不能用于vi/vim

history命令:
    · 查看历史输入的命令
    · 可结合grep命令进行过滤

![命令前缀]:
    · 自动搜索并执行匹配前缀的命令(由新到旧)
    · 例如,如果输入过python命令,可以用!p去执行过去的python命令,p是你想要匹配的前缀

CTRL+R快捷键:
    · 敲击后,可以输入内容,然后系统去匹配与内容相关的历史命令

光标移动快捷键:
CTRL+A 跳到命令开头
CTRL+E 跳到命令结尾
CTRL+键盘左键 向左跳一个单词
CTRL+键盘右键 向右跳一个单词

CTRL+L快捷键 或者 clear命令:
    · 清理屏幕输出
Linux安装软件:
· yum为RPM包软件管理器,自动化安装Linux软件,自动解决依赖问题

yum [-y] [install | remove | search] 软件名称
    -y 自动确认,无需手动安装
    install 安装
    remove 卸载
    search 搜索
    · yum命令需要root权限,可以切换用户或者使用sudo命令
    · Linux系统中的软件安装包大多数为.rpm格式

· 注意Ubuntu使用apt命令,CentOS使用yum命令
    apt [-y] [install | remove | search] 软件名称
    · 除此之外基本没有区别
控制软件启动和关闭:
· systemctl命令控制启动、停止、开机自启

systemctl [start | stop | status | enable | disable] 服务名
    start 启动
    stop 关闭
    status 查看状态
    enable 开启开机自启
    disable 关闭开机自启
软链接:
· 类似Windows的快捷方式,指向原本的文件或者文件夹

ln -s 参数1 参数2
    -s 创建软链接
    参数1 被链接的文件或文件夹
    参数2 要链接去的地方
日期和时区:
date [-d] [+格式化字符串]
    -d 按照给定的字符串显示日期,一般用于日期计算
    %Y 年
    %y 年份后的两位数字
    %m 月份
    %d 日
    %H 小时
    %M 分钟
    %S 秒
    %s 自1970-01-01 00:00:00 UTC到现在的秒数
· 例如, date +%Y-%m-%d 输出年月日
· 例如, date -d "+1 day" +%Y-%m-%d 原先基础山加一天
    · -d支持的时间标记有year、month、day、hour、minute、second

Linux要修改时区符合显示生活时间
    · 首先,rm -f /etc/localtime
    · 然后,ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    · 注意,需要root权限

ntp程序自动校准
    · 启动ntpd服务后会定期校准时间
IP地址、主机名:
lo地址:
    · 此IP地址代表本机
0.0.0.0:
    · 直到本机或者端口绑定中确定绑定关系

主机名:
    · 通过hostname命令查询
修改主机名:
    hostnamectl set-hostname 主机名
固定IP:
虚拟机VMware中:
    1.在VMware Workstation中配置IP地址网关和网段
    2.在linux中配置
        · vim /etc/sysconfig/network-scripts/ifcfg-ens33
        · BOOTPROTO 中dhcp改static
        · 新添加IPADDR="你想要的IP地址"(IPADDR设置为你想要的IP地址)
        ·   IPADDR="192.168.88.128"
            NETMASK="255.255.255.0"
            GATEWAY="192.168.88.2"
            DNS1="192.168.88.2"

        · systemctl restart network重启就OK了
网络传输
ping [-c num] ip或者主机名
    -c 检查的次数,不写默认无数次

· 要下载东西统一到清华镜像源去下载,否则有些软件奇慢无比
· https://mirrors.tuna.tsinghua.edu.cn/
wget [-b] url
    -b 后台下载,会写日志到wgee-log文件

curl [-O] url
    -O 用于下载文件
    · 发起网络请求
端口:

在这里插入图片描述

nmap IP地址
    · 可以查看IP地址的端口
    · 非系统自带

netstat -anp | grep 端口号
    · 查看指定端口
    · 非系统自带
进程管理:
ps [-e -f]
    -e 显示出全部的进程
    -f 以完全格式化的形式展示信息
    · 一般来说,固定使用ps -ef

kill [-9] 进程ID
    -9 表示强制关闭
主机状态:
top [-p -d -c -n -b -i -u]:
    -p 只显示某个进程的信息
    -d 设置刷新时间,默认是5s
    -c 显示产生进程的完整命令
    -n 指定刷新次数
    -b 以非交互式全屏模式运行,以批次方式执行top,一般配合-n指定输出次数
    -i 不显示任何闲置(idle)或无用(zombie)的进程
    -u 查找特定用户启动的进程
    · 查看CPU、内存使用情况
    · 命令详解和交互式选项如下:

在这里插入图片描述
在这里插入图片描述

df [-h]
    -h 人性化显示
    · 显示磁盘信息

iostat [-x][num1][num2]
    -x 显示更多信息
    num1 数字,刷新间隔
    num2 数字,刷新几次

sar -n DEV num1 num2
    -n 查看网络,DEV表示查看网络接口
    num1 刷新间隔
    num2 刷新次数
环境变量:
PATH变量:
    · 这个变量存储的是每次我们要执行的命令的地址,如执行cd,则会到
    · PATH=/home/cornly/python3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/cornly/.local/bin:/home/cornly/bin
    · 这个路径去找是否有cd这个命令

echo $PATH 或者 echo ${PATH}ABC
    · 取变量,如 echo $PATH
            得/home/cornly/python3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/cornly/.local/bin:/home/cornly/bin
    · {}表示找ABC这个量
Linux环境变量设置(很重要):

在这里插入图片描述
在这里插入图片描述

上传和下载:

在这里插入图片描述

压缩和解压:
Linux常用zip、tar、gzip格式压缩包

tar [-c -v -x -f -z -C] 压缩得到的文件名字 参数1 参数2 参数3 …… 参数n
    -c 创建压缩文件
    -v 显示压缩、解压过程
    -x 解压模式
    -f 要创建或者解压的文件,位置必须处于最后一个
    -z gzip模式,不使用则是tar模式,若使用,一般放在第一位
    -C 选择解压的目的地,用于解压模式

zip [-r] 压缩得到的文件名字 参数1 参数2 参数3 …… 参数n
    -r 包含文件夹时需要带上,不包含时可不写
unzip 要解压文件的名字 [-d] 参数    
    -d 指定的解压位置
    参数 位置

Python安装及远程开发:

Python安装:
    · 安装的话可以参考别人的链接,如下:
        https://zhuanlan.zhihu.com/p/469420901?utm_id=0

远程开发:    
    · 远程部署直接SSH上找Linux上的python解释器就好了
    · 但是要注意请直接找到最开始的python解释器,而不是软链接后的那个
    · 因为可能是链接的缘故,远程开发使用软链接的快捷程序是识别不到里面的包和模块
    · 所以只能选中最开始的那个解释器

pycharm远程开发:
    · 请注意如果要执行文件,一定需要先上传到Linux本地,再执行,否则是没有文件的
    · /home/cornly/python3/bin/python3.8 /tmp/pycharm_project_531/Except.py 
    · 上面一行代表的是左边是python解释器,右边是你需要上传文件的地址,531为代号
    · 尽量使用root或者高权限用户,不然文件有时候上传会无法更新










   · 远程部署直接SSH上找Linux上的python解释器就好了
    · 但是要注意请直接找到最开始的python解释器,而不是软链接后的那个
    · 因为可能是链接的缘故,远程开发使用软链接的快捷程序是识别不到里面的包和模块
    · 所以只能选中最开始的那个解释器

pycharm远程开发:
    · 请注意如果要执行文件,一定需要先上传到Linux本地,再执行,否则是没有文件的
    · /home/cornly/python3/bin/python3.8 /tmp/pycharm_project_531/Except.py 
    · 上面一行代表的是左边是python解释器,右边是你需要上传文件的地址,531为代号
    · 尽量使用root或者高权限用户,不然文件有时候上传会无法更新
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值