linux基础 超级笔记

embedded/2024/12/22 5:57:16/

1.Linux系统的组成

· Linux系统内核:提供系统最核心的功能,如软硬件和资源调度。

· 系统及应用程序:文件、任务管理器。

2.Linux发行版

通过修改内核代码自行集成系统程序,即封装。比如Ubuntu和centos这种。不过基础命令是完全相同的。

3.虚拟机

给虚拟的计算机硬件配置新的os,虚拟的电脑称为虚拟机。

4.虚拟机快照

通过快照将虚拟机状态保存,以后可以恢复到这个状态。 

二、基础命令

1.linux目录结构

Linux没用盘符的概念,只有一个根目录“/”,所有文件都在它下面。

路径之间的层级关系使用:/来表示。eg:/usr/bin/hello.txt

2.命令基础

命令格式:command [-options] [parameter]

-op:命令的选项,控制命令的行为细节。选项可以组合使用。

para:命令的参数,用于命令的指向目标。

Linux的命令本质是可执行二进制程序。

3.ls命令

以平铺的形式,列出目录下(默认home目录)的内容。

ls [-a -l -h] [Linux路径]

-a:all展示,包括隐藏文件。

-l:竖向展示。

-h:需要和-l搭配使用,展示文件大小单位。

ls --help:

4.目录切换命令

cd:更改工作目录,change directory。

cd [linux path]

· 不写参数默认回到home目录。

pwd:查看当前所在的工作目录,print work directory。

无选项无参数。

5.文件操作命令

touch path:创建文件。

cat path:输出文件内容。

more path:分页输出文件内容,空格翻页,q退出。

mv:移动文件/夹,改名字。mv 1 2,将1移到2,如果2不存在则将1改名为2。

cp:复制,cp oldname newname。不必在同一目录中,可以加path。

rm [-r -f] p1 p2 p3...:删文件,-r表示删除文件夹,支持多个参数。支持通配符 * 模糊匹配。

ctrl + l:清屏。

rmdir:删空目录。

mkdir:创建目录。

6.查找命令

which:查看所使用的命令程序文件存放在哪里。

find path -name "filename":搜索指定文件。filename支持通配符查找。

find path -size +- n [k, M, G]:

· +-表示大于小于。

· n表示大小。

· kmg表示大小单位。

7.grep、wc和管道符

grep [-n] "关键字" 文件路径:从文件中通过关键字过滤文件。

· -n:在结果中显示匹配的行的行号。

· 文件路径:可作为内容输入端口。

wc [-c -m -l -w] 文件路径:

· -c统计bytes数   

· -m统计字符数

· -l统计行数

· -w统计单词数

管道符:|

将左边命令的输出结果作为右边命令的参数。

8.

echo "":输出。

echo ``:将内容作为命令执行,然后输出。

重定向符:

· >,将左侧命令结果,覆盖写入右侧文件。

· >>,~,追加写入。

tail [-f -num] path:查看文件尾部内容,默认查看10行。

head:同上,查看文件首部内容。

· -f:持续跟踪。

· -num:查看倒数num行的内容。

9.vim编辑器

vim path:使用vim编辑器编辑文件。

· 命令模式:所有按键都被视为命令,以命令驱动执行不同的功能。

具体指令可以自己搜。

· 输入模式:对文件内容自由编辑。

· 底线命令模式:以冒号开始,用于文件的保存退出。

三、Linux用户和权限

1.root用户

su - 用户名。switch user。

exit:退回上一个用户。 

sudo 命令:为这条命令临时赋予root授权。但是普通用户没有权力使用sudo,我们需要配置sudo认证。

· 切换到root,执行visudo命令。在最后一行添加:username ALL=(ALL)    NOPASSWD: ALL。然后wq。

2.用户、用户组

Linux中的权限管控分为:

· 针对用户的权限。

· 针对用户组的权限。

在root用户下:

· groupadd 组名:创建用户组。

· groupdel 组名:删除。

· useradd [-g -d] username:创建用户。-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。-d指定用户H0ME路径,不指定,HOME目录默认在:/home/用户名。

· userdel[-r]用户名。-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留。

· id [用户名],查看用户所属组。用户名,被查看的用户,如果不提供则查看自身修改用户所属组。

· usermod -aG:用户组 用户名。指定用户加入指定组。

· getent passwd:查看系统中用户。共有7份信息,分别是:

用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)。

· getent group:查看所有组。组名:组认证:组id。

3.权限信息查看

ls -l,显示权限细节。

第一部分

权限分为10个位置

· r是读,w是写,x是执行。

第二部分是所属用户,第三部分是所属用户组。

4.修改权限

只能是所属用户或root有权修改。

chmod [-R] 权限 文件或文件夹

· -R表示对文件夹内所有文件应用相同的操作。

eg:chmod u=,g=,o= test.txt

· u代表用户,g代表组,o代表其他。

chown [-R] [用户] [:] [用户组] 文件/文件夹

· 只能root用户执行。

· -R同上。

四、

1.软件安装

必需root权限。

apt [-y] [install | remove | search] 软件名

· -y:自动确认安装

2.控制软件

systemctl start | stop | status | enable | disable 服务名

· disable / enable:关闭/打开 开机自启动。

服务包括:

· NetworkManager,主网络服务

· network,副网络服务

· firewalld,防火墙

· sshd,ssh

3.软链接

将文件、文件夹链接到其他位置。

类似快捷方式。

ln -s 参数1 参数2

把1链接到2。

4.日期和时区

date [-d] [+格式化字符串]

· 格式化字符串:控制显示的日期格式

· -d:进行日期计算

修改时区:

rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Asia/Shanghai/etc/localtime.

自动校准时间

apt -y install ntp

设置开机自启动:systemctl start ntpd, systemctl enable ntpd.

5.IP地址

ifconfig查看ip

主网卡:ens33

hostname查看主机名

hostnamectl set-hostname 主机名:修改主机名,需root。    

域名解析:

就是通过主机名找到ip地址。

先查看本机的记录,再联网去DNS服务器

6.配置固定IP

7.网络传输

检查指定服务器是否可联通:

ping [-c num] ip或主机名

· num是检查的次数

下载网络文件:

wget [-b] url下载链接

· -b:后台下载。

发送http网络请求,用于下载文件、获取信息:

curl [-O] url

· -O用于下载文件。

8.虚拟端口

锁定计算机上具体的程序

nmap安装:apt -y install nmap

nmap ip:查看端口占用。

9.进程管理

关闭进程

kill [-9] 进程ID

· -9强制关闭。

10.主机状态监控

top

11.环境变量

以键值对方式存储。

env查看~

echo $键:获取环境变量的工作目录。

设置环境变量:

· 临时设置,export 名=值

· 永久生效

vim修改文件

 

五、other

ctrl c:停止命令。

history:查看历史命令。

ctrl r:输入内容去匹配历史命令。

ctrl a:光标移动到命令开始。

ctrl e:~结束。

ctrl <-:光标左跳一个单词。

ctrl ->:右跳。

ctrl l:清屏。

.其他

· 一个dot代表当前目录,两个dot代表上级目录。

· ~:代表home目录的路径,可以直接~ls 或者 cd~。

· man + command:查看操作文档。


http://www.ppmy.cn/embedded/124521.html

相关文章

微信小程序 实现下拉刷新功能

实现小程序中的下拉刷新功能 下拉刷新是小程序中一种非常常见的用户交互方式&#xff0c;通过下拉页面&#xff0c;用户可以自动刷新页面以获取最新的内容。这种功能不仅提高了用户体验&#xff0c;还能确保用户总是看到最新的信息。本文将介绍如何在微信小程序中实现下拉刷新…

华为Nova9开启开发人员选项

默认状态下&#xff0c;华为Nova9的开发人员选项是隐藏的&#xff0c;如下图&#xff1a; 要开启开发人员选项&#xff0c;在“设置→关于手机”中找到“HarmonyOS版本”或者“软件版本”&#xff0c;在版本号上连续点击&#xff0c;每次点击“HarmonyOS版本”和“软件版本”会…

2-108 基于matlab的模板匹配法实现车牌识别

基于matlab的模板匹配法实现车牌识别&#xff0c;包含完整的字符库和案例车牌。选择待识别车牌&#xff0c;对车牌图像进行边缘检测、腐蚀、平滑、定位彩色、滤波、最小化区域等一系列操作&#xff0c;分割出字符区域&#xff0c;并与全字符模板库比较&#xff0c;得到最终的车…

SpringBoot精华:打造高效美容院管理系统

第一章 绪论 1.1 选题背景 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;尽管身边每时每刻都在产生大量信息&#xff0c;这些信息也都会在短时间内得到处理&#xff0c;并迅速传播。因为很多时候&#xff0c;管理层决策需要大量信…

Python软体中使用NLTK进行文本分析

Python软体中使用NLTK进行文本分析 作为一名Python程序员,我经常被问到关于自然语言处理的相关问题。在本文中,我将分享如何使用NLTK(Natural Language Toolkit)进行文本分析。NLTK是一种流行的Python库,用于自然语言处理。 什么是NLTK? NLTK是一种Python库,用于自然…

通信工程学习:什么是AIOT智能物联网

AIOT&#xff1a;智能物联网 AIOT智能物联网&#xff0c;即Artificial Intelligence of Things&#xff08;人工智能物联网&#xff09;&#xff0c;是人工智能&#xff08;AI&#xff09;与物联网&#xff08;IoT&#xff09;技术的深度融合。这一技术通过物联网产生、收集来自…

目标检测与图像分类:有什么区别?各自的使用场景是什么?

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【Qt】控件概述(4)—— 输出类控件

输出类控件 1. QLineEdit——单行输入框2. QTextEdit——多行输入框3. QComboBox——下拉框4. QSpinBox——微调框5. QDateEdit && QTimeEdit && QDateTimeEdit6 QDial——旋钮7. QSlider——滑动条 1. QLineEdit——单行输入框 QLineEdit是一个单行的输入框&…