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 表示大于

相关推荐
xyliiiiiL4 分钟前
一文总结常见项目排查
java·服务器·数据库
小麦嵌入式44 分钟前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
刘若水1 小时前
Linux: 进程信号初识
linux·运维·服务器
chem41112 小时前
Conmon lisp Demo
服务器·数据库·lisp
渗透测试老鸟-九青2 小时前
面试经验分享 | 成都渗透测试工程师二面面经分享
服务器·经验分享·安全·web安全·面试·职场和发展·区块链
阳小江2 小时前
Docker知识点
运维·docker·容器
m0_555762902 小时前
QT 动态布局实现(待完善)
服务器·数据库·qt
极客柒2 小时前
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
服务器·docker·开源
只是橘色仍温柔3 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
IT里的交易员3 小时前
【系统】换硬盘不换系统,使用WIN PE Ghost镜像给电脑无损扩容换硬盘
运维·电脑