Linux基础 Day02笔记&作业

1.1 Linux文件类型

1.1.1文件的分类

我们的Windows中,我们通过文件的扩展名可以知晓文件的类型,但是在Linux中不用后缀名来进行区分,因为在Linux中一切皆为文件,你既可以使用vim打开一个txt的文件,也可以打开一个目录文件。

在前面我们学过一个 ls -l 的命令,通过这个命令我们可以看到文件的类型。

在Linux系统中的每种文件的类型都用一个字符进行标识,主要是有7种类型并用字符进行标识,每个字符的标识如图所示。

| 文件类型 | 类型符号 | 描述 |
| ———— | ——– | ———————————————————— |
| 普通文件 | - | 指ASCII 的文本文件、二进制可执行文件,以及硬链接文件 |
| 块设备文件 | b | 块 的 输入/输出 设备文件 |
| 字符设备文件 | c | 原始输入/输出设备文件,每次I/O仅一个字符 |
| 目录文件 | d | 包含若干文件或子目录 |
| 套接字设备 | s | 套接字是方便进程之间通讯的特殊文件。与管道文件不同的是,套接字能通过网络链接使不同计算机的进程之间进行通讯 |
| 符号链接文件 | l | 只保留了所指向文件的地址,而不是文件本身 |
| 管道文件 | p | 用于进程间的管道文件 |

1.1.2 普通文件

普通文件(Regular File)是 Linux 系统中最常见的文件类型。它可以包含任何类型的数据。例如,它可能包含文本、程序或二进制数据等。普通文件还可以进一步被分类为文本文件和二进制文件。

  • 文本文件:这些文件包含人类可读的字符,并且可以使用文本编辑器(如 vim、nano 或 gedit 等)进行查看和编辑。

  • 二进制文件:这些文件包含编译过的程序,或者其他非文本格式的数据。尝试用文本编辑器查看这些文件,你会看到一堆看起来无意义的字符。

在使用 ls -l 命令查看文件详细信息时,普通文件会被标记为 -,例如:

-rw-r--r-- 1 user group 123 Jan 1 00:00 example.txt
-rw-r--r-- 1 student student 8980 3月  24  2020 examples.desktop


-           rw- r--     r--
文件类型     用户主    用户组     其他人 
            7       4       4
r   写入
w   读取
x   执行
-   无权限

在这个例子中,第一个字符 - 表示 example.txt 是一个普通文件。其他字符表示文件的权限、所有者、大小和修改时间等信息。

1.1.3 目录文件

目录文件(Directory File)在 Linux 中是一种特殊的文件,它实际上是一个文件的索引,该文件包含了其他文件和目录的列表。当我们创建一个目录时,系统会自动创建一个目录文件来存储该目录的相关信息。

目录文件包含了目录下所有文件和子目录的名字,以及指向这些文件和子目录 i-node 的指针。但请注意,目录文件并不包含这些文件和子目录的实际内容,也不包含这些文件和子目录的具体位置,这些信息是被存储在各自的 i-node 中的。

在使用 ls -l 命令查看文件详细信息时,目录文件会被标记为 d,例如:

drwxr-xr-x 2 user group 4096 Jan 1 00:00 example_directory

在这个例子中,第一个字符 d 表示 example_directory 是一个目录文件。其他字符表示目录的权限、所有者、大小和修改时间等信息。

1.1.4 链接文件

链接文件是一种特殊的文件,它是对另一个文件的引用。Linux中有两种链接文件:硬链接和符号链接(也被称为软链接)。

硬链接:硬链接文件与它所链接的原文件共享相同的i-node和存储空间,换句话说,硬链接文件和原文件是完全相同的文件,只是名字不同。请注意,硬链接文件不能跨越不同的文件系统,并且不能链接目录。

符号链接:符号链接,或者说软链接,相当于Windows系统中的快捷方式。它是一个独立的文件,有自己的i-node,但它的内容是所链接文件的路径。符号链接可以链接任何类型的文件,并且可以跨越不同的文件系统。

在使用 ls -l 命令查看文件详细信息时,链接文件会被标记为 l,例如:

lrwxrwxrwx 1 user group 7 Jan  1 00:00 example_link -> example_file

在这个例子中,第一个字符 l 表示 example_link 是一个链接文件,箭头后面的 example_file 是它所链接的文件。其他字符表示链接文件的权限、所有者、大小和修改时间等信息。

1.1.5 设备文件

设备文件是一种特殊的文件,它用于表示系统中的设备,包括块设备和字符设备。

块设备:这种设备在处理数据时以较大的固定大小(称为块)为单位进行处理。硬盘、光驱等存储设备就属于块设备。

字符设备:这种设备在处理数据时以字符为单位进行处理,如键盘、鼠标等输入设备和打印机等输出设备。

在使用 ls -l 命令查看文件详细信息时,块设备文件会被标记为 b,字符设备文件会被标记为 c。例如:

brw-rw---- 1 root disk 8, 0 Jan  1 00:00 example_block_device
crw-rw---- 1 root dialout 4, 64 Jan  1 00:00 example_character_device

在这个例子中,第一个字符 b 或 c 表示 example_block_device 或 example_character_device 是一个块设备或字符设备文件。其他字符表示设备文件的权限、所有者、设备号和修改时间等信息。

套接字设备:这一类设备经常用于网络数据的链接,可以启动一个程序来监听用户 的要求

常见的字符设备文件:

  • /dev/console 控制终端
  • /dev/input/event0 ~ event4 键盘
  • /dev/input/mouse0 ~ mouse2 鼠标
  • /dev/ttyS0 : 串口设备 ,和我们Windows中的 COM口是一样的
  • /dev/null/ 空设备 当我们需要屏蔽一个设备的时候,我们可以重定向到 空设备

常见的块设备文件:

  • /dev/sda : 硬盘设备
    • /dev/sda1 : 硬盘的第一个主分区
    • 硬盘类型 :
      • scsi : sd开头
      • ide : hd 开头
    • 硬盘设备编号
      • a:表示第一主盘
      • b:表示第一从盘
      • c:代表第二从盘
    • 分区编号
      • 1:表示第一分区

字符设备和块设备的区别 : 1)操作设备的基本单位,字符设备一次只能读取1个字符, 块设备可以一次性读取一块数据

sdc4 第二从盘 第4分区

1.1.6 管道和套接字文件

管道文件使用 p 开头,我们的管道文件是用于进程间通讯所使用的,比较类似于我们的套接字文件,我们的套接字文件是用在我们不同主机之间的通讯,而我们的管道文件是 用于程序与程序之间相互通讯所使用。

可以通过命令 mkfifo来创建一个一个管道文件

3.2 Linux文件属性

3.2.1 文件权限信息

-rw-r--r-- 1 student    student     8980  3月  24  2020          examples.desktop
权限信息       文件属主   文件属组      大小   文件最后修改时间         文件名

权限信息

-       | rm-   | r--   | r-- 
文件类型  文件属主  同组用户 其他用户
r:read      读取
w:write     写入
x:excute    执行
-:          表示没有权限

权限表示方法

字符表示权限
字符权限:rwx    | r-x   |rw-
        111     101     110
绝对权限:7       5        6

当我们在进行查看文件属性时,我们使用字符权限表示法,当我们在程序中对文件进行权限规范时我们使用绝对权限

u:user 文件属主

g:group 同组用户

o:other 其他用户

a:all 所有用户

3.2.2 Linux目录结构

| 目录名称 | 功能 |
| ———– | —————————————————- |
| /etc | 存放系统配置文件 |
| /bin | 常用命令存放目录 |
| /sbin | 存放root的指令文件 |
| /lib | 存放库文件 |
| /home | 用户主目录 |
| /boot | 包含内核和启动文件 |
| /dev | 设备文件存放目录(用于和底层驱动管理) |
| /usr | 应用程序存放目录 |
| /mnt | 挂载目录,我们的共享文件夹就是挂载在这个目录下面 |
| /root | root用户主目录 |
| /proc | process 的缩写,主要描述系统进程 |
| /lost+found | 在该目录中可以找到一些误删除或丢失的文件,并恢复他们 |

Linux 的目录结构采用的是树状结构,这种结构以一个根(/)作为开始。这种方式和 Windows 的森林结构(多个独立的树形结构,如 C:, D:\ 等)有所不同。

以下是 Linux 文件系统的一些重要目录:

bin :存放常用的命令 例如 rm、ls 、cat 、cp

etc :存放系统配置文件 例如 密码 /ect/passwd

lib : 存放程序常用的库文件 例如 : 动态库.so 文件(相当于是Windows中的. dll) 静态库 .a

lost+found : 回收站

mnt : 共享文件夹

usr : 用户安装的应用

boot : 内核启动文件 分配内存 分配中断(CPU核心)

dev : 设备

​ dev/tty 串口设备 字符设备

​ dev/sda 存储设备 块设备

​ dev/input 标准外部输入 字符设备 鼠标 键盘

​ ==dev/stdin 标准输入 从键盘==

​ ==dev/stdout 标准输出 到终端==

​ ==dev/stderr 标准错误 错误码==

home: 普通用户家目录

root : 超级用户


根目录、树型结

一级子目录/bin、/boot、/etc、/home、/usr、/root、/dev、/lib、/mnt、/tmp、

/var 目录介绍及其中常用文件介绍

用户主目录~,工作目录.,父目录..的介绍及使用


3.2.3 绝对路径和相对路径

在 Linux 系统中,路径是用来定位文件或目录的重要工具。路径的种类主要有两种:绝对路径和相对路径。

绝对路径:==路径从文件系统的根目录 / 开始==,给出了从根目录到目标文件或目录的完整路径。例如,/usr/share/doc 就是一个绝对路径,它代表的是文件系统中的 /usr/share/doc 这个目录。

相对路径:==相对路径是以当前目录为参照点的路径==,它并不从 / 开始。举个例子,假设当前目录是 /usr,那么 share/doc 就是一个相对路径,它指向的是当前目录 /usr 下的 share/doc 这个目录,其实际位置是 /usr/share/doc

绝对路径和相对路径在实际使用中各有优势。如果我们知道文件或目录的完整位置,就可以使用绝对路径来直接访问。然而,如果我们正在操作的文件或目录就在当前工作目录或其附近,使用相对路径可以更为便捷。

在使用相对路径时,还有两个特别的符号可以帮助我们快速定位:

  • .:代表当前目录
  • ..:代表父目录

举例来说,假设当前目录是 /usr/share,那么 . 就代表 /usr/share.. 就代表 /usr。这两个符号在实际操作中经常用到,能够极大提高工作效率。

作业:

1、一些命令的实现

1.1 chown 改变文件的属主或属组

china@ubuntu:~$ sudo chown root 1.c
china@ubuntu:~$ sudo chown -R china  kk/

 umask 改变系统权限掩码

china@ubuntu:~$ umask
0022
china@ubuntu:~$ umask 003
china@ubuntu:~$ umask
0003
china@ubuntu:~$ umask 002
china@ubuntu:~$ umask
0002

 chmod 文件权限

china@ubuntu:~$ sudo chmod 777 text.c
[sudo] china 的密码: 
china@ubuntu:~$ ls -l
总用量 56
-rwxrw-rw- 1 china china 7630 3月   3 10:17 001.txt
-rw-r--r-- 1 root  china  107 3月   3 10:17 1.c
prw-r--r-- 1 china china    0 3月   3 19:51 2.txt
drwxr-xr-x 2 china china 4096 2月  28 20:51 Desktop
drwxr-xr-x 2 china china 4096 2月  15  2020 Documents
drwxr-xr-x 2 china china 4096 2月  15  2020 Downloads
drwxr-xr-x 2 china china 4096 2月  27  2020 ftpboot
drwxr-xr-x 2 china china 4096 3月   3 10:49 kk
drwxr-xr-x 2 china china 4096 2月  15  2020 Music
drwxr-xr-x 2 china china 4096 2月  15  2020 Pictures
drwxr-xr-x 2 china china 4096 2月  24  2020 Public
drwxr-xr-x 2 china china 4096 2月  15  2020 Templates
-rwxrwxrwx 1 china china    0 3月   3 20:21 text.c
drwxr-xr-x 2 china china 4096 2月  15  2020 Videos
drwxr-xr-x 9 china china 4096 6月  13  2019 vmware-tools-distrib
china@ubuntu:~$ 

 gzip压缩:

 china@ubuntu:~$ gzip 11.txt
china@ubuntu:~$ ls -l
总用量 52
-rwxrw-rw- 1 china china  504 3月   3 10:17 11.txt.gz
-rw-r--r-- 1 root  china  107 3月   3 10:17 1.c
prw-r--r-- 1 china china    0 3月   3 19:51 2.txt
drwxr-xr-x 2 china china 4096 2月  28 20:51 Desktop
drwxr-xr-x 2 china china 4096 2月  15  2020 Documents
drwxr-xr-x 2 china china 4096 2月  15  2020 Downloads
drwxr-xr-x 2 china china 4096 2月  27  2020 ftpboot
drwxr-xr-x 2 china china 4096 3月   3 10:49 kk
drwxr-xr-x 2 china china 4096 2月  15  2020 Music
drwxr-xr-x 2 china china 4096 2月  15  2020 Pictures
drwxr-xr-x 2 china china 4096 2月  24  2020 Public
drwxr-xr-x 2 china china 4096 2月  15  2020 Templates
-rwxrwxrwx 1 china china    0 3月   3 20:21 text.c
drwxr-xr-x 2 china china 4096 2月  15  2020 Videos
drwxr-xr-x 9 china china 4096 6月  13  2019 vmware-tools-distrib
china@ubuntu:~$ gunzip 11.txt.gz
china@ubuntu:~$ ls -l
总用量 56
-rwxrw-rw- 1 china china 7630 3月   3 10:17 11.txt
-rw-r--r-- 1 root  china  107 3月   3 10:17 1.c
prw-r--r-- 1 china china    0 3月   3 19:51 2.txt
drwxr-xr-x 2 china china 4096 2月  28 20:51 Desktop
drwxr-xr-x 2 china china 4096 2月  15  2020 Documents
drwxr-xr-x 2 china china 4096 2月  15  2020 Downloads
drwxr-xr-x 2 china china 4096 2月  27  2020 ftpboot
drwxr-xr-x 2 china china 4096 3月   3 10:49 kk
drwxr-xr-x 2 china china 4096 2月  15  2020 Music
drwxr-xr-x 2 china china 4096 2月  15  2020 Pictures
drwxr-xr-x 2 china china 4096 2月  24  2020 Public
drwxr-xr-x 2 china china 4096 2月  15  2020 Templates
-rwxrwxrwx 1 china china    0 3月   3 20:21 text.c
drwxr-xr-x 2 china china 4096 2月  15  2020 Videos
drwxr-xr-x 9 china china 4096 6月  13  2019 vmware-tools-distrib
china@ubuntu:~$ 

bzip2压缩、 xz压缩类同gzip

归档与解归档的命令

china@ubuntu:~$ tar -cvf dar.tar 11.txt
11.txt
china@ubuntu:~$ tar -xvf dar.tar 11.txt
11.txt
 用户与组
china@ubuntu:~$ groups
china adm cdrom sudo dip plugdev lpadmin sambashare
china@ubuntu:~$ sudo groupadd nihao
china@ubuntu:~$ sudo usermod -aG nihao  china

创建用户与删除用户

china@ubuntu:~$ su
密码: 
root@ubuntu:/home/china# adduse linux

Command 'adduse' not found, did you mean:

  command 'adduser' from deb adduser

Try: apt install <deb name>

root@ubuntu:/home/china# adduser linux
正在添加用户"linux"...
正在添加新组"linux" (1004)...
正在添加新用户"linux" (1001) 到组"linux"...
创建主目录"/home/linux"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd:已成功更新密码
正在改变 linux 的用户信息
请输入新值,或直接敲回车键以使用默认值
	全名 []: 
	房间号码 []: 
	工作电话 []: 
	家庭电话 []: 
	其它 []: 
这些信息是否正确? [Y/n] y
root@ubuntu:/home/china# exit
exit
china@ubuntu:~$ cd ../
china@ubuntu:/home$ ls
china  linux

自己编写一个 C语言程序 让其死循环 然后 通过命令的方式 去查找到 进程 然后删除:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值