Linux:一切皆文件

分区:/boot:做引导盘

/swap:虚拟内存————最大20gb

/data:自己放文件用

/:根分区

- 图形界面:

  - 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 套接字

Linux系统下的归属关系

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

ls命令示例:

//显示当前所在目录下的所有内容
[root@localhost ~]# ls

//查看根目录下所有内容
[root@localhost ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

//查看/etc目录下所有内容
[root@localhost ~]# ls /etc

//查看/bin目录下所有内容
[root@localhost ~]# ls /bin

//查看/dev目录下所有内容
[root@localhost ~]# ls /dev

//查看目录下所有目录和文件,包括隐藏的内容
[root@localhost ~]# ls -a

//以长格式显示目录下所有内容,包括详细的属性信息
[root@localhost ~]# ls -l
-rw-r--r--. 1 root root 1831 3月 13 17:45 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 3月 13 17:47 公共
#解释
-:文件类型
1:代表文件的引用次数,只针对与做了硬连接的文件才有效
root:文件的所有者
root:文件的所属组
1831:文件的大小,默认以字节为单位显示大小
3月 13 17:45:文件最近一次的修改时间
initial-setup-ks.cfg:文件名

//以长格式显示目录所有内容,以人性化的方式显示详细的属性信息
[root@localhost ~]# ls -l -h

//短选项合并使用
[root@localhost ~]# ls -lh

//以长格式显示目录所有内容,以人性化的方式显示详细的属性信息,包括隐藏的内容
[root@localhost ~]# ls -lha

//以长格式显示根目录下所有内容,包括详细的属性信息
[root@localhost ~]# ls -l /
lrwxrwxrwx. 1 root root 7 3月 13 17:15 bin -> usr/bin

//创建hello.txt文件
[root@localhost ~]# touch hello.txt

//查看文件的元数据信息
[root@localhost ~]# stat hello.txt
文件:"hello.txt"
大小:0         块:0 IO 块:4096 普通空文件
设备:fd00h/64768d        Inode:33575020 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-03-14 16:38:14.349861770 +0800
最近更改:2021-03-14 16:38:14.349861770 +0800
最近改动:2021-03-14 16:38:14.349861770 +0800
创建时间:-

Linux基本权限的类别

  • r 读取  w 写入  x 执行  - 没有权限
  • 权限顺序:rwxrwxrwx

[root@localhost ~]# ls -l
-rw-r--r--. 1 root root 1831 3月 13 17:45 initial-setup-ks.cfg
#解释
-:文件类型
rw- r-- r--:所有者u、所属组g、其他人o的权限
u g o

1:代表文件的引用次数,只针对与做了硬连接的文件才有效
root:文件的所有者
root:文件的所属组
1831:文件的大小,默认以字节为单位显示大小
3月 13 17:45:文件最近一次的修改时间
initial-setup-ks.cfg:文件名

//查看/root目录本身详细属性信息
[root@localhost ~]# ls -ld /root
dr-xr-x---. 14 root root 4096 3月 14 16:38 /root

//查看当前目录下所有内容的inode号
[root@localhost ~]# ls -i
33574979 anaconda-ks.cfg 33574984 initial-setup-ks.cfg 33575035 模板 33575036 图片 17470701 下载 17470702 音乐
33575020 hello.txt 51909391 公共 51909392 视频 3204374 文档 33575017 新建文件夹.zip 3204373 桌面

//查看hello.txt文件的inode号
[root@localhost ~]# ls -i hello.txt
33575020 hello.txt

//查看/etc/目录本身的inode号
[root@localhost ~]# ls -id /etc
16777281 /etc

mkdir命令

  • mkdir(英文全拼:make directory)用于创建新目录
  • 命令格式:mkdir [-选项] 目录名
  • 常用选项:
  • -p 递归创建多个目录
  • 注意事项:
  • 目录还是文件的名字,除了以"/"以外的任意名称,"/"根目录,路径分隔符
  • 文件或目录的名字长度不能超过255个字符
  • mkdir命令示例

//在当前所在目录创建test目录
[root@localhost ~]# mkdir test
[root@localhost ~]# ls

//在当前所在目录同时创建多个目录
[root@localhost ~]# mkdir test1 test2 test3
[root@localhost ~]# ls

//指定在/tmp目录下创建abc目录
[root@localhost ~]# mkdir /tmp/abc
[root@localhost ~]# ls /tmp
abc

//在指定目录下同时创建多个目录
[root@localhost ~]# mkdir /tmp/abc1 /tmp/abc2 /tmp/abc3
[root@localhost ~]# ls /tmp

//在/opt目录下创建student,在当前目录创建student1..3
[root@localhost ~]# mkdir /opt/student student1 student2 student3
student1 student2 student3——————创建在当前目录下了
[root@localhost ~]# ls /opt
rh student

//mkdir默认无法在一个不存在的目录下创建目录,需要通过-p选项
[root@localhost ~]# mkdir /opt/xx/oo
mkdir: 无法创建目录"/opt/xx/oo": 没有那个文件或目录

[root@localhost ~]# mkdir /opt/a/b/c/d
mkdir: 无法创建目录"/opt/a/b/c/d": 没有那个文件或目录

//在/opt目录下递归创建目录
[root@localhost ~]# mkdir -p /opt/xx/oo
[root@localhost ~]# ls /opt
rh student xx

[root@localhost ~]# mkdir -p /opt/a/b/c/d
[root@localhost ~]# ls /opt
a rh student xx

//ls -R选项可以递归目录下所有内容
[root@localhost ~]# ls -R /opt/a
/opt/a:
b

/opt/a/b:
c

/opt/a/b/c:
d

RHCSA_DAY02的更多相关文章

随机推荐

  1. 1、SpringBoot整合之SpringBoot整合JSP

    SpringBoot整合JSP 一.创建SpringBoot项目,仅选择Web模块即可 二.在POM文件中添加依赖 <!-- 添加servlet依赖模块 --> <dependenc ...

  2. USB上位机通信:CyAPI

    至今的工作中,有USB接口通信的需求,记录一下. 建立一个USB设备对象 CCyUSBDevice *USBDevice = new CCyUSBDev(Handle): 打开USB设备 一个USB设 ...

  3. UVA 10887 set或hash

    题意: 给出n个A串和m个B串,将这A串与B串连接(B接在A后面)可以生成n*m个AB串,求不同的AB串的数量 分析: set直接水过 #include <bits/stdc++.h> u ...

  4. CentOS-Docker搭建Kafka(单点,含:zookeeper、kafka-manager)

    Docker搭建Kafka(单点,含:zookeeper.kafka-manager) 下载相关容器 $ docker pull wurstmeister/zookeeper $ docker pul ...

  5. C# 8.0和.NET Core 3.0高级编程 分享笔记二:编程基础第二部分

    这一篇是接上一篇笔记的第二部分. 2.5深入研究控制台应用程序 前面创建并使用了基本的控制台应用程序,下面更深入地研究它们. 控制台应用程序是基于文本的,在命令上运行的.它们通常执行需要编写脚本的简单 ...

  6. FreeRTOS消息队列

    FreeRTOS 的一个重要的通信机制----消息队列,消息队列在实际项目中应用较多. 一.消息队列的作用及概念: 消息队列就是通过 RTOS 内核提供的服务,任务或中断服务子程序可以将一个消息(注意 ...

  7. Linux sudo命令——sudoers文件的配置

    Linux sudo命令与其配置文件/etc/sudoers   对linux有一定了解的人多少也会知道点关于sudo命令.sudo命令核心思想是权限的赋予 ,即某个命令的所属用户不是你自己,而你却有 ...

  8. C语言:宏参数的字符串化和宏参数的连接

    在宏定义中,有时还会用到#和##两个符号,它们能够对宏参数进行操作. # 的用法 #用来将宏参数转换为字符串,也就是在宏参数的开头和末尾添加引号.例如有如下宏定义: #define STR(s) #s ...

  9. 家庭账本开发day03

    今天在编写form表单提交时遇到很多问题,在向servlet提交请求时找不到资源, 在网上查找学习了相关的信息,找到原因,添加注解或者配置xml文件的相关映射 解决问题.成功完成了账单添加的功能.

  10. ESP8266 NodeMCU小白手把手入门(实操篇)以土壤湿度和DHT传感器为例讲解读取传感器的值

    物联网使得现实世界中的实体和数字世界比以往任何时候都更紧密地联系在一起.NodeMCU作为其中的一个重要设备,作用之一就是与传感器相连以实现万物互联通讯.这篇关于NodeMCU的实操篇以土壤湿度传感器 ...