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 参数
原文地址:https://www.cnblogs.com/ysz-123/p/12336357.html