Linux教程

Linux学习笔记

本文主要是介绍Linux学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Linux学习笔记

Linux的目录结构

在这里插入图片描述

  • bin 存放二进制可执行文件(ls,cat,mkdir等)
  • boot 存放用于系统引导时使用的各种文件
  • dev 用于存放设备文件
  • etc 存放系统配置文件
  • home 存放所有用户文件的根目录
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  • mnt 系统管理员安装临时文件系统的安装点
  • opt 额外安装的可选应用程序包所放置的位置
  • proc 虚拟文件系统,存放当前内存的映射
  • root 超级用户目录
  • sbin 存放二进制可执行文件,只有root才能访问
  • tmp 用于存放各种临时文件
  • usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  • var 用于存放运行时需要改变数据的文件

Linux常用指令介绍

文件目录操作命令

  • ls 显示文件和目录列表
    • -l 列出文件的详细信息
    • -a 列出当前目录所有文件,包含隐藏文件
  • mkdir 创建目录
  • rmdir 删除空目录
    • -p 父目录不存在情况下先生成父目录
  • cd 切换目录
  • touch 生成一个空文件
  • echo 生成一个带内容文件 echo abcd>a.txt
  • cat、tac 显示文本文件内容
  • cp 复制文件或目录
  • rm 删除文件
    • -r 同时删除该目录下的所有文件
    • -f 强制删除文件或目录
  • mv 移动文件或目录、文件
  • mv aaa bbb 将aaa改名为bbb
  • find 在文件系统中查找指定的文件
    • -name 文件名
  • wc 统计文本文档的行数,字数,字符数
  • grep 在指定的文本文件中查找指定的字符串
  • tree 显示目录目录改名树
  • pwd 显示当前工作目录
  • ln 建立链接文件
  • more、less 分页显示文本文件内容
  • head,tail分别显示文件开头和结尾内容

系统管理命令

  • stat 显示指定文件的相关信息,比ls命令显示内容更多
  • who 显示在线登录用户
  • hostname 显示主机名称
  • uname显示系统信息
  • top 显示当前系统中耗费资源最多的进程
  • ps 显示瞬间的进程状态
  • du 显示指定的文件(目录)已使用的磁盘空间的总量
  • df 显示文件系统磁盘空间的使用情况
  • free 显示当前内存和交换空间的使用情况
  • ifconfig 显示网络接口信息
  • ping 测试网络的连通性
  • netstat 显示网络状态信息
  • man 命令帮助信息查询
  • clear 清屏
  • kill 杀死一个进程

备份压缩命令

  • gzip 压缩(解压)文件或目录,压缩文件后缀为gz
  • bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
  • tar 文件、目录打(解)包
gzip命令

命令格式:
gzip [选项] 压缩(解压缩)的文件名

  • 参数:
    -d 将压缩文件解压。
    -l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
    -v 对每一个压缩和解压的文件,显示文件名和压缩比。
    -num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6
bzip2命令

命令格式:
bzip2 [-cdz] 档名

  • 参数:
    -d :解压缩的参数
    -z :压缩的参数
    -num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6
tar命令

命令格式:
tar [-cxzjvf] 压缩打包文档的名称 欲打包目录

  • 参数:
    -c :建立一个归档文件的参数指令
    -x :解开一个归档文件的参数指令
    -z :是否需要用 gzip 压缩
    -j :是否需要用 bzip2 压缩
    -v :压缩的过程中显示文件
    -f :使用档名,在 f 之后要立即接档名
    -tf :查看归档文件里面的文件

关机/重启命令

  • shutdown系统关机
    • r 关机后重启
    • h 关机后不重新启动
    • now 立即关机
    • 12:30 指定关机时间
  • halt 关机后关闭电源
  • reboot 重新启动

Linux通道

通道接受了一个过程的标准输出,并把这个标准的输出作为另一个过程的标准输入。如果你没有重新定向这个输出,这个输出就在屏幕上显示出来,例如 ps -ef|grep java。

VIM编辑器

  • VIM的运行模式
    • 编辑模式:等待编辑命令输入
    • 插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息
    • 命令模式:在编辑模式下,输入 “:” 进行命令模式
  • VIM 使用的命令
    • :q 直接退出vi
    • :wq 保存后退出vi ,并可以新建文件
    • :q! 强制退出
    • :w file 将当前内容保存成某个文件
    • :set number 在编辑文件显示行号
    • :set nonumber 在编辑文件不显示行号

用户和组账户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。

  • 用户账户

    • 普通用户账户:普通用户在系统上的任务是进行普通操作
    • 超级用户账户:管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。
  • 组账户

    • 私有组:当创建一个用户时没有指定属于哪个组,Linux就会建立一个与用户同名的私有组,此私有组只含有该用户。
    • 标准组:当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组。
  • 账户系统文件

    • /etc/passwd 每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:
      用户名:口令:用户标示号:组标示号:注释:宿主目录:命令解释器
      root❌0:0:RedHat Linux:/root:/bin/bash

      • 口令是X,说明用户的口令是被/etc/shadow文件保护的
      • 用户标识号:系统内唯一,root用户的UID为0,普通用户从1000开始,1-999是系统的标准账户
      • 宿主目录:用户登录系统后所进入的目录
      • 命令解释器:指定该用户使用的shell ,默认的是/bin/bash
    • /etc/shadow 为了增加系统的安全性,用户口令通常用shadow passwords保护。只有root可读。每行 包含如下信息:
      用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
      root: 1 1 1K4gXdkjf$TIKrvWuldq6oQ4HEoFIGQ/:14831:0:99999:7:::

      • 最后一次修改时间:从1970-1-1起,到用户最后一次更改口令的天数
      • 最小时间间隔:从1970-1-1起,到用户可以更改口令的天数
      • 最大时间间隔:从1970-1-1起,必须更改的口令天数
      • 警告时间:在口令过期之前几天通知
      • 不活动时间:在用户口令过期后到禁用账户的天数
  • /etc/group
    将用户进行分组时Linux对用户进行管理及控制访问权限的一种手段。一个组中可以有多个用户,一个用户可以同时属于多个组。该文件对所有用户可读。
    组名:组口令:gid:组成员
    root❌0:root

  • /etc/gshadow
    该文件用户定义用户组口令,组管理员等信息只有root用户可读。
    root:::root

使用命令行工具管理账户

  • useradd 用户名
  • useradd –u(UID号)
  • useradd –p(口令)
  • useradd –g(分组)
  • useradd –s(SHELL)
  • useradd –d(用户目录)
  • usermod –u(新UID)
  • usermod –d(用户目录)
  • usermod –g(组名)
  • usermod –s(SHELL)
  • usermod –p(新口令)
  • usermod –l(新登录名)
  • usermod –L (锁定用户账号密码)
  • usermod –U (解锁用户账号)
  • userdel 用户名 (删除用户账号)
  • userdel –r 删除账号时同时删除目录

组账户维护命令

  • groupadd 组账户名 (创建新组)
  • groupadd –g 指定组GID
  • groupmod –g 更改组的GID
  • groupmod –n 更改组账户名
  • groupdel 组账户名 (删除指定组账户)

口令维护命令

  • passwd 用户账户名 (设置用户口令)
  • passwd –l 用户账户名 (锁定用户账户)
  • passwd –u 用户账户名 (解锁用户账户)
  • passwd –d 用户账户名 (删除账户口令)
  • gpasswd –a 用户账户名 组账户名 (将指定用户添加到指定组)
  • gpasswd –d 用户账户名 组账户名 (将用户从指定组中删除)
  • gpasswd –A 用户账户名 组账户名 (将用户指定为组的管理员)

用户和组状态命令

  • su 用户名 切换用户账户
    • su root
    • su - root
  • id 用户名 显示用户的UID,GID
  • whoami 显示当前用户名称
  • groups 显示用户所属组
  • sudo
    • cat /etc/sudoers

文件权限管理

  • 三种基本权限

    • R 读权限
    • W 写权限
    • X 执行权限
  • 查看文件和目录的权限
    ls –l 文件名
    显示信息包含:文件类型(d 目录,- 普通文件,l 链接文件),文件权限,文件的属主,文件的所属组,文件的大小,文件的创建时间,文件的名称
    -rw-r–r-- 1 apple users 2254 2006-05-20 13:47 tt.htm
    从第二个字符起rw-是说用户apple有读、写权,没有运行权,接着的r–表示用户组users只有读权限,没有运行权,最后的r–指其他人(others)只有读权限,没有写权和运行权。

  • 更改操作权限
    chmod 【u 属主 g 所属组用户 o 其他用户 a 所有用户】 【+ 加权限 – 减权限 =加权限同时将原有权限删除】 【rwx】 文件或目录名
    -R 下面的子目录做相同权限操作
    也可以用数字来表示权限如 chmod 777 file
    r 4 w 2 x 1
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=5;

这篇关于Linux学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!