Linux:一切皆文件
分区:/boot:做引导盘
/swap:虚拟内存————最大20gb
/data:自己放文件用
/:根分区
image.png

- 图形界面:
- Ctrl+Shift +号 //调整命令终端变大
- Ctrl - 号 //调整命令终端变小
- 命令终端:
- ~ 家目录:用户的私有场所,其他用户不能随便访问
#- root超级管理员家目录:/root
$- 普通用户的家目录:/homt/用户名同名,lisi用户的家目录:/home/lisi

Linux系统基本概念


- Linux系统而言:

- 多用户的系统:允许同时有很多个用户登录系统,使用系统里的资源
- 多任务的系统:允许同时执行多个任务

- 严格区分大小写:命令,选项,参数,文件名,目录名都严格区分大小写
- 一切皆文件:硬件设备(内存、CPU、网卡、显示器、硬盘等等)都是以文件的形式存在的
- 不管是文件还是目录都是以倒挂的树形结构,存在于系统的“/”根目录下,根目录是Linux系统的起点
- 对于Linux系统而言,目录/文件没有扩展名一说,扩展名如:.sh(脚本文件) .conf(配置文件) .log(日志文件) .rpm(软件包).tar(压缩包)是易于用户方便识别
- 没有提示就是最好的提示(成功了)

快捷键

Ctrl + l:清屏

Ctrl + c:取消当前执行的命令

Ctrl + a:将当前光标移动至行首

Ctrl + e:将当前光标移动至行尾

Ctrl + u 清空至行首

Ctrl + w 删除一个单词

exit:退出系统

tab建自动补齐:可补齐命令、选项、参数、文件路径、软件名、服务名

命令行一般命令格式

  • 命令字 [-选项…] [参数…]
    • 命令字:命令本身(功能)
    • 选项:
      • 短选项:-l -a -d -h(单个字符),短选项可以合并使用:-la -lh
      • 长选项:—help(单词),长选项通常是不能合并使用的
    • 参数:命令的执行对象,文件/目录/程序等
    • []:可选的
    • …:可以同时有多个选项或参数


Linux系统辨别目录与文件的方法

蓝色表示目录(windows系统里的文件夹)

白色表示文件

浅蓝色表示链接文件(类似于windows系统的快捷方式)

绿色表示可执行文件(如脚本,命令程序文件)

红色表示压缩文件

黄色表示设备文件(硬盘、键盘、鼠标、网卡、CPU硬件设备都是以文件的形式存在的)

红色闪动文件——>表示链接文件不可用

ls命令

  • ls命令(英文全拼:list):用于查看目录下内容及目录和文件详细属性信息
  • 命令格式:ls [-选项…] [参数…]
  • 常用选项:
    • -a 显示目录下所有内容,包含隐藏的内容
    • -l 以长格式显示目录下的内容及详细属性
    • -h 人性化显示目录下内容大小(kB、MB、GB)
    • -d 仅显示目录本身而不显示目录下的内容
    • -i 查看inode号(系统任何的文件或目录都有一个唯一的编号)
    • -R:递归查看目录下所有内容(从头到尾)

Linux系统文件类型

- 文件:

d 目录:

l 链接文件

b 跨设备文件

c 字符设备文件

p 管道设备文件

s 套接字
image.png

Linux系统下的归属关系

  • 在Linux系统下,文件给用户分成了三类
    • u 所有者:文件或目录的拥有者,拥有者的权限通常是最大的
    • g 所属组:文件或目录属于哪一个组,所属组的权限略微比所有者小
    • o 其他人:既不是文件或目录的所有者,也部署于文件或目录组内的成员,其他人的权限通常最小的权限


ls命令示例:

  1. //显示当前所在目录下的所有内容
  2. [root@localhost ~]# ls
  3. //查看根目录下所有内容
  4. [root@localhost ~]# ls /
  5. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
  6. //查看/etc目录下所有内容
  7. [root@localhost ~]# ls /etc
  8. //查看/bin目录下所有内容
  9. [root@localhost ~]# ls /bin
  10. //查看/dev目录下所有内容
  11. [root@localhost ~]# ls /dev
  12. //查看目录下所有目录和文件,包括隐藏的内容
  13. [root@localhost ~]# ls -a
  14. //以长格式显示目录下所有内容,包括详细的属性信息
  15. [root@localhost ~]# ls -l
  16. -rw-r--r--. 1 root root 1831 3 13 17:45 initial-setup-ks.cfg
  17. drwxr-xr-x. 2 root root 6 3 13 17:47 公共
  18. #解释
  19. -:文件类型
  20. 1:代表文件的引用次数,只针对与做了硬连接的文件才有效
  21. root:文件的所有者
  22. root:文件的所属组
  23. 1831:文件的大小,默认以字节为单位显示大小
  24. 3 13 17:45:文件最近一次的修改时间
  25. initial-setup-ks.cfg:文件名
  26. //以长格式显示目录所有内容,以人性化的方式显示详细的属性信息
  27. [root@localhost ~]# ls -l -h
  28. //短选项合并使用
  29. [root@localhost ~]# ls -lh
  30. //以长格式显示目录所有内容,以人性化的方式显示详细的属性信息,包括隐藏的内容
  31. [root@localhost ~]# ls -lha
  32. //以长格式显示根目录下所有内容,包括详细的属性信息
  33. [root@localhost ~]# ls -l /
  34. lrwxrwxrwx. 1 root root 7 3 13 17:15 bin -> usr/bin
  35. //创建hello.txt文件
  36. [root@localhost ~]# touch hello.txt
  37. //查看文件的元数据信息
  38. [root@localhost ~]# stat hello.txt
  39. 文件:"hello.txt"
  40. 大小:0 块:0 IO 块:4096 普通空文件
  41. 设备:fd00h/64768d Inode33575020 硬链接:1
  42. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  43. 环境:unconfined_u:object_r:admin_home_t:s0
  44. 最近访问:2021-03-14 16:38:14.349861770 +0800
  45. 最近更改:2021-03-14 16:38:14.349861770 +0800
  46. 最近改动:2021-03-14 16:38:14.349861770 +0800
  47. 创建时间:-

Linux基本权限的类别

  • r 读取 w 写入 x 执行 - 没有权限
  • 权限顺序:rwxrwxrwx
  1. [root@localhost ~]# ls -l
  2. -rw-r--r--. 1 root root 1831 3 13 17:45 initial-setup-ks.cfg
  3. #解释
  4. -:文件类型
  5. rw- r-- r--:所有者u、所属组g、其他人o的权限
  6. u g o
  7. 1:代表文件的引用次数,只针对与做了硬连接的文件才有效
  8. root:文件的所有者
  9. root:文件的所属组
  10. 1831:文件的大小,默认以字节为单位显示大小
  11. 3 13 17:45:文件最近一次的修改时间
  12. initial-setup-ks.cfg:文件名
  13. //查看/root目录本身详细属性信息
  14. [root@localhost ~]# ls -ld /root
  15. dr-xr-x---. 14 root root 4096 3 14 16:38 /root
  16. //查看当前目录下所有内容的inode号
  17. [root@localhost ~]# ls -i
  18. 33574979 anaconda-ks.cfg 33574984 initial-setup-ks.cfg 33575035 模板 33575036 图片 17470701 下载 17470702 音乐
  19. 33575020 hello.txt 51909391 公共 51909392 视频 3204374 文档 33575017 新建文件夹.zip 3204373 桌面
  20. //查看hello.txt文件的inode号
  21. [root@localhost ~]# ls -i hello.txt
  22. 33575020 hello.txt
  23. //查看/etc/目录本身的inode号
  24. [root@localhost ~]# ls -id /etc
  25. 16777281 /etc

mkdir命令

  • mkdir(英文全拼:make directory)用于创建新目录
  • 命令格式:mkdir [-选项] 目录名
  • 常用选项:
    • -p 递归创建多个目录
  • 注意事项:
    • 目录还是文件的名字,除了以“/”以外的任意名称,“/”根目录,路径分隔符
    • 文件或目录的名字长度不能超过255个字符
  • mkdir命令示例
  1. //在当前所在目录创建test目录
  2. [root@localhost ~]# mkdir test
  3. [root@localhost ~]# ls
  4. //在当前所在目录同时创建多个目录
  5. [root@localhost ~]# mkdir test1 test2 test3
  6. [root@localhost ~]# ls
  7. //指定在/tmp目录下创建abc目录
  8. [root@localhost ~]# mkdir /tmp/abc
  9. [root@localhost ~]# ls /tmp
  10. abc
  11. //在指定目录下同时创建多个目录
  12. [root@localhost ~]# mkdir /tmp/abc1 /tmp/abc2 /tmp/abc3
  13. [root@localhost ~]# ls /tmp
  14. //在/opt目录下创建student,在当前目录创建student1..3
  15. [root@localhost ~]# mkdir /opt/student student1 student2 student3
  16. student1 student2 student3——————创建在当前目录下了
  17. [root@localhost ~]# ls /opt
  18. rh student
  19. //mkdir默认无法在一个不存在的目录下创建目录,需要通过-p选项
  20. [root@localhost ~]# mkdir /opt/xx/oo
  21. mkdir: 无法创建目录"/opt/xx/oo": 没有那个文件或目录
  22. [root@localhost ~]# mkdir /opt/a/b/c/d
  23. mkdir: 无法创建目录"/opt/a/b/c/d": 没有那个文件或目录
  24. //在/opt目录下递归创建目录
  25. [root@localhost ~]# mkdir -p /opt/xx/oo
  26. [root@localhost ~]# ls /opt
  27. rh student xx
  28. [root@localhost ~]# mkdir -p /opt/a/b/c/d
  29. [root@localhost ~]# ls /opt
  30. a rh student xx
  31. //ls -R选项可以递归目录下所有内容
  32. [root@localhost ~]# ls -R /opt/a
  33. /opt/a:
  34. b
  35. /opt/a/b:
  36. c
  37. /opt/a/b/c:
  38. d