Linux之旅: 基础知识点的终极指南

文章目录


1、Linux的目录结构

重点目录结构:
/bin :命令文件目录

/dev : 设备(device)文件目录
/etc : 系统配置文件存放的目录
/home: 系统默认的用户宿主目录


2、ls命令

1)ls --a 显示当前目录中的所有文件,包含隐藏文件,

隐藏文件是在文件名字以"."(英文句号)开头的文件,所

2)ls --l 显示文件及其详细信息(这个命令有一个别名:ll)

常考考点:

drwxr-xr-x 第一个字符表示的文件类型:

d:目录文件

l:链接文件

b:块设备文件

c:字符设备文件

p:管道文件

-: 表示普通文件

后面的9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限 拥 。每组中"r"、"w"、"x"三个字符分别代表读、写、执行 的权限 每 ,若没有其中的任何一个权限则用"-"表示。执行的权限有两个字符可选,最常见的一个是"x"代表可执行,另一个是"s"代表套接口文件。

紧接着的数字"2",为这个目录下的目录文件数目(这个数目=隐藏目录数目+普通目录数目)。(如果这只是一个普通文件,那"2"就代表这个文件有两个别名,这个文件被人创建了一个硬链接文件),总而言之它就是一个计数,基本上对我们而言没有什么用,知道它是一个计数就OK.

后面的root代表这个文件(目录)的属主(Owner)为用户root,一般情况下就是创建者

再接下来的root代表这个文件(目录)所属的用户组(Group)为组root,后面会讲,一个用户组可以有很多用户

6 代表文件的大小(字节数),目录的大小总是为 6字节。如果想看K或者M,前面加一个选项-h

1月 24 15:54 代表文件(目录)的修改时间。

abc 代表文件(目录)的名字。

3)ls --i 显示文件的i节点号,相当于文件的身份id


3、管理文件和目录

mkdir -p : 即一次可以建立多个目录

mkdir -v : 每次创建新目录都显示信息

pwd:显示当前所在的目录的绝对路径

rmdir: 删除空目录

cp命令主要用于复制文件或目录

mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

rm命令用于删除一个文件或者目录。

-f 即使文件属性设为只读,也直接删除,无需逐一确认

-r 将目录及以下之文件一起删除

touch命令创建空文件

cat 命令用显示文件内容

more 命令类似 cat ,不过会以一页一页的形式显示

less 可以随意浏览文件

head -n 5 log.txt 说明:显示文件的前n行

tail filename 说明:显示filename最后10行

生成链接文件命令:ln

-s 创建软链接

不加 -s 创建硬链接


4、linux命令使用细节和技巧

linux不同文件类型对应的颜色: l

白色:表示普通文件

蓝色:表示目录

绿色:表示可执行文件

红色:表示压缩文件

Linux快捷键总结:

结束运行中的程序:ctrl+c

退出终端:ctrl+d

清空屏幕:ctrl+L

打开历史命令收索:ctrl+r

命令补全:tab键

vi编辑文件的时候,快速定位光标到最后一行:G

查看系统时间:# date


5、权限管理基本命令

w:写

r: 读

x:执行

更改文件或目录权限命令:chmod

chown 【用户】【文件或目录】

改变文件或目录所属组命令:chgrp

chgrp【用户组】【文件或目录】


6、搜索命令

whereis 命令不能搜索普通文件,而只能搜索系统命令
find [查找目录] [查找规则] [查找完后的操作]

例子:

1)通过文件名字查找,如名字为test的文件或目录,这个是精准查找

bash 复制代码
find ./ f -name - test

2)加通配符,查找名字包含test的文件或目录,这个是模糊查找 加

bash 复制代码
find ./ -name *test* f // * 表示任意字符, ?表示一个字符 /

不区分大小写的查找:find ./ - iname *test*

3)查询文件大小大于100M的文件

bash 复制代码
find ./ f -size - +204800 + // 注意这里的单位是数据块 

它和K的换算: 1数据块=215字节 =0.5K

所以100M=102400K=204800,

// +表示大于,-表示小于,不写表示等于 /

4)查询所有者为xxx的所拥有文件

bash 复制代码
find / f -user - xxxx x

5)查询用户组为xxx的所拥有文件

bash 复制代码
find / f -group - xxxx x

6)多条件查询,在/etc目录下查找文件大小大于80M,并且小于100M的文件
find /etc -size +163840 -a -size -204800 // -a:表示and,并且关系, 此外还有-o表示or,或者关系

7)默认查找的内容是目录和文件,但是我们只想找到文件或者目录中的一个,如:查找/etc目录下的init开头的文件 i

bash 复制代码
fine /etc -name init* -a  -type f

//这里f:表示文件,d:表示目录, l:表示软链接

grep命令:搜索在文件里边的内容

locate命令:不搜索具体目录,而是搜索一个数据

新增的文件无法locate,使用updatedb


7、管道符与重定向

管道符:

命令 1 | 命令 2

命令1的正确输出作为命令 2 的操作对象的操作对象

wc, 统计命令,常用选项参数:
-c 或--bytes或--chars 只显示Bytes数。
-l 或--lines 只显示行数。
-w 或--words 只显示单词数。

在默认的情况下,wc将计算指定文件的行数、单词数,以及字节数

重定向:

bash 复制代码
 > 覆盖
bash 复制代码
> > 追加

root@localhost tmp\]# `date > abc` 将当前日期写入文件abc: \[root@localhost tmp\]# `date >> abc` 将当前日期追加到文件abc的末尾: \[root@localhost tmp\]# `1234 2> abc` 尝试执行命令1234,但该命令不存在,会将错误信息重定向写入文件abc,2对应错误信息 *** ** * ** *** ## 8、压缩和解压命令 1)命令:gzip (压缩文件) 压缩文件后缀.gz ps: `gzip test.txt` 结果:生成文件test.txt.gz,原文件test.txt消失。 注意:只能**压缩文件** ,不能压缩目录,压缩后不保留原始文件 ,压缩比大概1/5 解压命令:**gunzip** 解压缩文件名 2)命令:bzip2 (gzip的升级版,压缩比要比gzip更高一些) 压缩文件后缀:\*.bz2 语法:bzip2 \[选项\] 文件 -k 压缩后保留原始文件 - ps: `bzip2 -k test.txt` 生成test.txt.bz2文件,原始文件test.txt保留着 注意:同样不能压缩目录。 解压命令:bunzip2或者bzip2 -d 压缩文件名 总结:对于压缩和解压,我们真正记的其实就4条命令: 生成Japan.tar.gz压缩文件: ```bash tar -zcvf Japan.tar.gz Japan ``` 解压文件: ```bash tar -zxvf Japan.tar.gz ``` 生成Japan.tar.bz2压缩文件: ```bash tar -jcvf Japan.tar.bz2 Japan ``` 解压文件: ```bash tar -jxvf Japan.tar.bz2 ``` *** ** * ** *** ## 9、用户及vim编辑器 1)who 命令显示关于当前在本地系统上的所有用户的信息。 \[root@localhost \~\]# who 2)vim编辑器 第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/004281b9dc7045759b5b4f61cc4c8ddb.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5609f3ec60684ae0a1be715e892e869a.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/782de4aa69ed42b78f6307fcf843013c.png) 第二部分:一般模式切换到编辑模式的可用的按钮说明 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ff7437a5648c467eb20a410c30c2b0ce.png) 第三部分:一般模式切换到指令行模式的可用的按钮说明 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9b4616d1526f4f1f9d6946b1dddff4d7.png) *** ** * ** *** ## 10、用户和用户组管理 ### 一、Linux系统用户账号的基本管理 1、添加新的用户账号使用useradd命令 ```bash useradd 选项 用户名 ``` 2.删除一个已有的用户账号使用userdel命令,其格式如下: ```bash userdel 选项 用户名 ``` 常用的选项是 -r ,它的作用是把用户的主目录一起删除。 3.修改已有用户的信息使用usermod命令,其格式如下: ```bash usermod 选项 用户名 ``` 4.指定和修改用户口令的Shell命令是passwd。 超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。 命令的格式为: ```bash passwd 选项 用户名 ``` 5.su 命令可以切换成不同的用户身份,命令格式如下: ```bash su [选项] 用户名 ``` ### 二、Linux系统用户组的管理 1.增加一个新的用户组使用groupadd命令。其格式如下: ```bash groupadd 用户组的组名 ``` 2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下: ```bash groupdel 用户组 ``` *** ** * ** *** 注: 在 shell 命令终端输入week=(Monday Tuesday Wednesday Thursday ); week\[6\]=Sunday `${week[*]}` 和 `${week[@]}` 都会输出数组中的所有元素。 区别在于当被双引号包围时,\[\*\]会将所有元素视为一个整体,而\[@\]会将每个元素视为独立的字符串。 `${name%%.*}` 会删除变量name中最后一个.及其后面的**所有内容** 。 `${name%.*}` 会删除变量name中最后一个.及其后面的内容,但只是最短匹配。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/848fe156f2c9406fa6159d48a909238b.png) shell编程: 基本语法结构--\> ```bash if [ ];then echo ... elif echo ... else echo ... fi ``` ```bash case "$choice" in a) date ;; b) ls ;; *) echo ... ;; esac ``` ```bash until [ ];do echo ... done ``` ```bash for xxx in "${xxx[@]}";do echo ... done ``` 最后总结一些小tips: > -a 表示"和" > > -le 表示小于等于 > > -gt 表示大于

相关推荐
泽虞7 分钟前
《LINUX系统编程》笔记p3
linux·运维·服务器·c语言·笔记·面试
源代码杀手34 分钟前
大模型微调训练资源占用查询:Windows 10 查看 NVIDIA 显卡GPU状态教程(替代 Ubuntu 下 watch nvidia-smi)
linux·windows·ubuntu
苹果醋32 小时前
Java并发编程-Java内存模型(JMM)
java·运维·spring boot·mysql·nginx
dingcb1682 小时前
4090服务器无法sudo apt update 问题解决
运维·服务器
头发那是一根不剩了2 小时前
服务器硬盘进行分区和挂载
linux·运维·服务器
Johny_Zhao2 小时前
Linux防止rm误操作防护方案
linux·网络·人工智能·网络安全·信息安全·云计算·yum源·系统运维
心一信息3 小时前
如何通过华为无线控制器添加一个名为yunwei的无线网络
运维·网络·华为
stark张宇3 小时前
Linux 零基础入门,看这一篇就够了
linux·服务器
TDengine (老段)3 小时前
TDengine IDMP 运维指南(4. 使用 Docker 部署)
运维·数据库·物联网·docker·时序数据库·tdengine·涛思数据
三婶儿3 小时前
在没有客户端的客户环境下,如何用 Python 一键执行 MySQL 与达梦数据库 SQL
运维·后端·python