zoukankan      html  css  js  c++  java
  • 黑马班笔记

    Linux 文件和目录结构

    • windows 单用户
    • Linux 多用户
    • Linux 没有盘符概念,都是用文件夹.
    • "/"本目录
    • home 目录 下的目录代表各个用户.
    • 树状
    • Linux 主要目录速查表 可以去网上找
      /etc 保存配置文件
      /bin 保存执行的二进制文件目录,也就是终端命令.

    常用Linux 命令基本使用

    • ubantu 调节终端字体快捷键 放大:ctrl + shif + = 缩小:ctrl + -
    • ls: 查看当前文件夹下内容
    • pwd: 查看当前所在文件夹
    • cd [目录名] :切换文件夹
    • touch [文件名]:如果文件不存在,新建文件
    • mkdir [目录名]:新建文件夹
    • rm [文件名]:删除指定文件 rm -r 删除目录
    • clear:清屏

    终端命令格式

    command [-options] [parameter]
    []:代表可选. 注意空格
    command: 命令名
    -options:选项,可用来对命令控制,也可以省略

    parameter: 传给命令参数,可以说是零个,一个,或多个.

    查阅终端命令帮助信息.

    command --help 帮助

    man command 手册

    ls -a 查看隐藏文件
    ls -l 已列表方式显示
    ls -l -h h是用来 更方便的查看文件大小的

    选项可以在一个-后一起使用 比如 ls -alh

    通配符

    "" 代表任意个字符(包括0个) 例如: ls 1或 ls *1.txt ls 1
    "?"代表任意一个字符 ,至少一个 例如: ls 1?1.txt
    '[]' 可以定义一个匹配的字符组 ls [12]23.txt
    "[abc]" 匹配 a b c的任意一个

    "[a-f]"匹配从a到f范围内的任意一个字符

    cd命令扩展

    回到home目录的方式 直接 cd 或者 cd ~
    代表home
    cd . 保持在当前目录布标
    cd.. 回到上级目录

    cd - 最近两个工作目录之间切换

    相对目录

    绝对目录

    文件命令

    touch 命令 如果文件不存在 穿件一个空白文件,如果已经存在会修改文件的末次修改日期
    mkdir -p 参数 可以递归创建目录. mkdir a/b/c/d/e/f 新建目录不能与当前目录中已有的目录或文件同名.
    rm 删除文件或目录 不能恢复(不去回收站)
    rm -r 递归删除目录下的内容,删除文件夹时候必须带此参数.
    rm -f 强制删除文件 忽略不存在的文件 并且不会提示
    rm 可以用通配符一次性删除想要删掉的内容哦.
    rm -r * 本文件夹所有文件夹会全部删除 一般不要用.
    rm -rf * 禁术 你可以尝试一下
    tree[目录名] 以树状图列出文件结构 -d 参数 只显示文件夹
    cp 源文件 目标目录 复制 文件 和目录
    cp -i 覆盖文件前提示 安全! 有用.
    cp -r 若给出的源文件是目录文件,则cp 将递归复制该目录下所有子目录和文件,目标文件必须为一个目录名.
    mv 源文件 目标位置 移动文件, 可以给文件和目录用来重命名

    mv -i 覆盖之前体质(重命名时更加安全!)

    查看文件内容

    cat 文件名 查看文件内容 创建文件 文件合并 追加文件内容等功能
    cat -b 文件名 显示文件行号 (不包含空行)
    cat -n 文件名 (包含空行)
    more 文件名 分屏显示文件内容 使用方法和man命令一样
    grep 搜索文本 文件名 搜索文本文件内容 是一个强大的文本搜索工具
    grep 允许对文本文件进行模式查找,模式 查找就是正则表达式
    -n 显示匹配行及行号
    -v 显示不包含脾胃文本的所有行 (求反)
    -i 忽略大小写
    ^a 行首,搜寻以a开头的行
    k$ 行尾,搜寻以ke结束的行.

    如果要搜索的内容用空格要用 " " 把内容引起来.

    echo和重定向

    echo 把参数重新显示一遍 在日常中很少使用 和重新定向一起使用
    重定向:把本应该显示在屏幕上的内容输出到其他位置.用">"表示输出用">>"表示追加
    echo touch 1.txt > 1.log
    echo touch 123.txt >> 1.log
    ls -lh > a..txt 把ls 的内容输出到文件a.txt里面

    ">"一个大于号会把以前内容覆盖掉.

    管道概念 |

    Linux允许一个命令的输出可以通过管道作为另一个命令的输入.
    要使用管道至少需要两个命令,后面的命令通常使用more 和 grep
    ls -lh | more 分屏显示
    ls -alh ~ | grep open | more 搜索open的解决过分屏显示

    tree / | grep open | more

    远程管理常用命令

    shutdown 选项 时间 : 关机和重启电脑
    默认是关机 -r选项是重启 现在是:now 不指定时间是1分钟之后
    shutdown -c 取消关机计划
    shutdown 20:25 :20点25会关机
    shutdown +10 过十分钟后关机
    远程服务器 一般用重启 不要用关机.
    ifconfig 查看网卡配置信息
    ping

    ifconfig | grep inet ::利用通道,只显示ip地址

    ssh基础

    客户端和服务器都是软件
    数据传输是加密的并且是压缩的.
    是目前较可靠,专为远程登录回话和其他网络服务提供安全性的协议
    ssh [-P port] user@remote
    uer: 是远程计算机上的用户名
    remote:是远程计算机的地址 ip或域名
    port: 是ssh server 监控端口默认是22
    scp: 复制文件 只能在linux或unix下进行
    scp -P 22 user@remote:desktop/01.py /home
    scp -P 22 01.py user@remote:desktop
    scp -P 22 -r user@remote:desktop /home
    windows用filezilla软件进行文件传输。
    ssh 免密码登录
    有关ssh配置信息都保存在用户家目录下的.ssh目录下(存储key)
    配置公钥
    在.ssh 目录下 执行 shh-keygen即可生成ssh钥匙一路回车即可
    上传公钥(pub文件)到服务器 :ssh-copy-id user@remote
    本地使用私钥对数据加密解密,服务器使用公钥对数据加密解密
    非对称加密算法
    使用公钥加密的数据需要使用私钥解密
    使用私钥加密的数据需要使用公钥解密
    配置别名 把复杂的用户地址 变成一个别名
    在~/.ssh/config下 追加内容
    Host name
    HostName ip地址
    User user

    Port 22

    用户权限

    用户是Linux系统工作中重要的一环 用户管理包括用户与组管理
    在Linux系统中不论是由本机或远程登陆系统每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
    在Linux中 可以指定每一个用户针对不同的文件或者目录的不同权限
    为文件/目录的权限包括
    读 r 4
    写 w 2
    执行 x 1
    为了方便用户管理提出了组的概念
    在实际应用中可以预先针对组设置好权限,然后将不同的用户添加到对应的组中 从而不用依次为每个用户设置权限
    ls -l 硬链接概念,表示有几种方式能进入到此文件。
    ls -l “-”代表文件 “d”代表文件夹
    后面的三组 rwx 分别代表第一组代表用户权限,第二组代表用户组权限,第三组代表来宾权限
    chmod +或- r或w或x 文件名/目录名 代表 增加或者减去指定文件夹或文件的权限
    三组rwx后面试 所属用户在后面是所属组
    如果目录没有可执行权限 不能对目录进行操作
    组管理
    groupadd 组名 添加组
    groupdel 组名 删除组
    cat/etc/group 查看组信息

    chgrp 组名 文件/目录名 修改文件/目录成都所属组

    用户相关命令

    创建用户必须要使用两个命令:
    useradd -m -g 组名 新建用户名 添加用户 -m自动建立用户家目录 -g指定用户所在的组,否则会建立一个和同名的组
    passwd 用户名 设置用户密码 如果是普通用户直接用passwd可以修改自己的账户密码
    userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录。
    cat /etc/passwd | grep 用户名 查看
    id[用户名] 查看用户UID 和GID 用户代号 组代号
    who 查看当前登录的用户列表
    whoami
    passwd 文件 在 /etc/passwd 是村阿阿房用户的信息,由6个分号分成7个信息 分别是:
    1.用户名
    2.密码 x代表加密
    3.UID
    4.GID
    5.用户全名或本地账号
    6.家目录

    7.登录使用的shell就是登录之后使用的终端命令ubuntu默认是dash

    usermod 主组和附加组

    附加组通常用来给用户附加权限。
    usermod 可以用来设置用户的主组/附加组和登录shell格式如下:
    主组:通常在新建用户时指定,在etc/passwd的第4列GID对应的组
    附加族:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限
    提示:设置了用户的夫家族之后需要重新登录才能生效
    修改用户的主组 usermod -g 组 用户名
    修改用户的附加组 usermod -G 组 用户名
    修改用户登录shell usermod -s /bin/bash
    注意 默认使用useradd添加用户是没有权限使用suo以root身份执行命令的,可以使用以下命令,将用户添加到附加组中。

    usermod -G sudo 用户名

    which(重要)

    提示:
    /etc/passwd 适用于保存用户信息的文件
    /usr/bin/passwd 是用于修改用户密码的程序。
    which 命令可以查看执行命令所在的位置:
    例如:
    which passwd
    which ls
    which useradd

    查看 查找到的问价发现属于root组 对root 可对可写可执行 ,对于其他用户是可读可执行。

    bin 和 sbin

    在Linux中,觉大都数可执行文件都是保存在/bin /sbin /usr/bin /usr/sbin
    /bin 是二进制执行文件目录 主要用于具体应用
    /sbin 是系统管理员专用的二进制代码存放目录主要用于系统管理
    /usr/bin 后期安装的一些软件

    /usr/sbin 超级用户的一些管理程序。

    切换用户

    su -用户名 切换用户 并且切换目录 -可以切换到用户家目录 否则位置不变
    exit 退出表示退出切换的用户身份。
    image.png

    su 不接用户名可以切换到root 但是不推荐使用 不安全

    修改文件权限

    chown 修改拥有者
    chgrp 修改组
    chmod 修改权限
    修改文件|目录的拥有者:chown 用户名 文件名|目录名
    递归修改文件|目录的组:chgrp -R 组名 文件名|目录名
    递归修改文件权限: chmod -R 755 文件名|目录名
    4 2 1概念 分别是读 写 执行
    注意:000 代表 --- 不设置

    常用的 分别是 777 和 755 和 644

    系统信息相关命令

    通常是远程维护服务器的时候使用的。查看服务器上的系统日期和时间/磁盘空间占用情况/程序执行情况。
    date 查看系统时间
    cal 查看日历(本月) 加-y选项可以查看一年的日历。
    df -h disk free 显示磁盘剩余空间
    du -h [目录名] diskusage显示目录下的文件大小
    进程:通俗讲就是当前正在执行的一个程序.
    ps -aux 查看进程的详细状况
    top 动态显示运行中的进程.退出按"q"
    kill[-9]进程代号(PID) 终止指定代号的进程 -9表示强行终止
    ps 默认只会显示当前用户通过终端启动的应用程序
    ps 选项说明功能(不需要"-"号):
    a: 显示终端上的所有进程包括其他用户的进程
    u:显示进程的详细状态
    x:显示没有控制终端的进程

    提示:使用kill 命令时最好只终止单签用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃.

    其他命令

    查找文件
    find [路径] -name."py" 查找指定路径下扩展名是.py的文件包括子目录
    -name 是选项
    如果省略路径 表示在当前文件夹下查找
    之前学习的通配符在使用find 命令时同事可用.
    还有更多高级使用方法.
    文件软链接
    就是类似于windows下的快捷方式
    ln -s 被链接的源文件(绝对路径) 链接文件名 .建立文件的软连接
    注意:

    1. 没有 -s 选项建立的是硬链接
      两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
      2.源文件要使用绝对路径,不能使用先谷底路径,这样可以方便移动连接文件后仍然能够正常使用.

    在linux中文件名和文件的数据是分开存储的

    打包压缩

    在不同的操作系统中 常用的打包压缩方式是不同的
    windows 常用rar
    mac 常用zip
    Linux 常用 tar.gz
    打包(只打包 不压缩!)和解包:
    tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大的文件中,也可以把打包的大文件恢复成一系列文件
    tar命令格式: tar -cvf 打包文件.tar 被打包文件/路径
    解包文件:tar -xvf 打包文件.tar
    选项说明:
    c: 生成档案文件创建打包文件
    x: 解开档案文件
    v: 列出归档解档过程,显示进度
    f: 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后面
    注意: f选项必须放在最后,其他选项顺序可以随意.
    想要压缩文件用 gzip 对tar包进行压缩
    扩展名一般为 .tar.gz
    linux中最常见的压缩 文件格式就是:
    .tar.gz
    在tar命令中有一个选项 -z可以调用gzip从而可以方便的实现压缩和解压缩功能
    命令格式如下:
    压缩文件: tar -zcvf 打包文件.tar.gz 被压缩的文件/路径..
    解压缩文件: tar -zxvf 打包文件.tar.gz
    解压到指定路径:tar -zxvf 打包文件.tar.gz -C 目标路径
    选项 -C 解压缩到指定目录 注意指定的目录必须存在.

    bzip2(two)
    和gzip基本一样 扩展名为*.tar.bz2

    命令中 用 -jcvf 换为-j选项

    软件安装

    配置软件源
    小火车演示 sudo apt install sl
    当前进程排名优化软件. sudo apt install htop
    主服务器国外太慢,想要更快的速度可以更换镜像源:
    图形界面: 系统设置--> 软件和更新-->源代码 --下载自--其他站点-- 填写网址.
    可以选择最佳服务器 自动全部测试选择最快
    点击关闭
    然后重新载入,更新缓存. 要等待.
    tips:
    问题:正在等待packagekitd退出
    解决办法:systemctl stop packagekit 或者 systemctl disable packagekit

    通过apt安装卸载软件
    安装软件
    sudo apt install 软件包
    卸载软件
    sudo apt remove 软件名
    更新已安装的包
    sudo apt upgrade

  • 相关阅读:
    苹果p12文件--一个苹果证书怎么多次使用(蛋疼,这些问题只有和其他企业合作才会遇到,别人的账号不可能给你,蛋疼....)
    xcode 树形管理 cocos2d-x的资源
    cocos2d-x 扩充引擎基类功能 引起的头文件重复包含问题的分析
    pytest--运行指定的测试和参数化
    adb--常用命令
    appium--desktop
    adb--环境安装
    pytest--命令行常用参数
    django -- auth模块
    pytest--常用插件
  • 原文地址:https://www.cnblogs.com/srnl/p/11746108.html
Copyright © 2011-2022 走看看