zoukankan      html  css  js  c++  java
  • Linux实验楼学习笔记

    知识误区

    Shell和终端

    • 终端
      终端本质上是对应着 Linux上的/dev/tty设备,Linux 默认提供了 6 个纯命令行界面的 “terminal”来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,当切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。

    • Shell
      通常在图形界面中对实际体验带来差异的 Shell(壳)。有壳就有核,这里的核就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。
      Shell 既是用户交互的界面,也是控制系统的脚本语言。

    su,su-,sudo区别

    • su 可以切换到用户 user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。

    • su - 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。

    • sudo 普通用户执行一些或者全部的root命令的一个工具

    文件权限

    • 一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件

    linux目录结构

    • Linux 是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架。以下是FHS标准(Filesystem Hierarchy Standard 中文:文件系统层次结构标准)

    Shell变量和环境变量

    • Shell变量(/etc/bashrc),又称变量, Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号
      • 设置变量 declare 变量名
      • 变量名= XXX 变量赋值
      • echo $变量名打印变量值
    • 环境变量( /etc/profile )环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,除了创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。

    linux指令汇总

    Linux用户管理

    • 查看用户who am i,whoamipwd(打印所在文件位置,例如 /home/20175234 )

    • 创建用户sudo adduser 20175234(不可以数字打头哦,仅是示例)

    • 修改用户密码sudo passwd 20175234

    • 切换登陆用户su -l 20175234

    • 参看用户组groups 20175234,cat /etc/group | sort(查看 /etc/group 文件)

    • 更改用户组 sudo usermod -G sudo lilei(使用root用户或者其他已经在 sudo 用户组的用户,将20175234用户加入 sudo 用户组)

    • 删除用户sudo deluser 20175234 --remove-home

    文件权限管理

    • 变更文件所有者sudo chown 用户 文件名

    • 修改文件权限

      • 方式一:二进制数字表示

        每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ” ,则chmod 600 文件名说明只有拥有者可以读写
        -方式二:加减赋值操作
        g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。chmod go-rw 文件名可以实现上述操作。

    文件基本操作

    • 获取当前路径pwd
    • 新建空白文件touch 文件名
    • 新建目录
      • mkdir 目录
      • mkdir -p 目录同时创建父目录
    • 复制文件 cp 文件 路径
    • 复制目录cp -r/R 目录 目录
    • 删除文件
      • rm 文件
      • rm -f 文件删除有只读文件的权限的文件
    • 删除目录rm -r/R 目录
    • 移动文件mv 源目录文件 目的目录
    • 重命名文件mv 原文件名 新文件名
    • 批量处理文件
      • touch file{1..5}.txt使用通配符批量创建 5 个文件
      • rename 's/.txt/.c/' *.txt 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件
      • rename 'y/a-z/A-Z/' *.c批量将这 5 个文件,文件名和后缀改为大写
    • 查看文件
      • cat、tac打印文件内容到标准输出,cat 为正序显示,tac 为倒序显示

      • cat -n 文件名打印行号

      • nl 添加行号并打印

      • more/less 文件名分页查看文件

      • head/tail 文件名

        • tail -n 文件名查看末尾n行文件
        • tail -f 文件名查阅正在改变的日志文件
      • file 查看文件类型

    PATH路径

    • $ echo "PATH=$PATH:绝对路径" >> .zshrc
      >>表示将标准输出以追加的方式重定向到一个文件中,注意前面用到的>是以覆盖的方式重定向到一个文件中,使用的时候一定要注意分辨。在指定文件不存在的情况下都会创建新的文件

    变量修改和删除

    • 修改变量

    • 删除变量unset temp

    • 让变量生效source .zshrc或者. ./.zshrc

    搜索文件

    • whereis,简单快速查找二进制文件
    • local,快而全,通过“ /var/lib/mlocate/mlocate.db ”数据库查找,可以使用updatedb 更新后再查找
    • which,小而精,来确定是否安装了某个指定的软件,因为它只从 PATH 环境变量指定的路径中去搜索命令
    • find 精而细,可以通过文件类型、文件名进行查找,也可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索

    文件打包与解压

    • zip:
      • 打包 :zip something.zip something (目录请加 -r 参数)
      • 解包:unzip something.zip
        指定路径:-d 参数
    • tar:
      • 打包:tar -cf something.tar something
      • 解包:tar -xf something.tar
        指定路径:-C 参数
  • 相关阅读:
    【Python】使用hashlib进行MD5和sha1摘要计算
    【Python】torrentParser1.04 增加获得磁力链URI功能
    day30_Hibernate复习_02
    day30_Hibernate学习笔记_02
    day29_Hibernate复习_01
    day29_Hibernate学习笔记_01
    【重要】Spring在web.xml中的配置原理说明
    HTTP常见错误编号
    一级缓存和二级缓存的理解
    电商网站前台与后台系统架构
  • 原文地址:https://www.cnblogs.com/ysz-123/p/12336357.html
Copyright © 2011-2022 走看看