linux基础 超级笔记

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统计单词数

管道符:|

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

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:查看操作文档。

相关推荐
phoenix09811 小时前
Linux入门DAY29
linux·运维
一休哥助手1 小时前
Naive RAG:简单而高效的检索增强生成架构解析与实践指南
运维·人工智能·架构
叔叔别拉了我害怕2 小时前
封装FTPSClient连接ftps服务器
服务器·git·github
入秋2 小时前
Linux服务器安装部署 Nginx、Redis、PostgreSQL、Docker
linux·前端
不甘懦弱2 小时前
阿里云搭建flask服务器
服务器·python·flask
Bi2 小时前
包含多个子项目集成一个项目部署Vercel方法
运维·前端
Mr. Cao code2 小时前
使用Tomcat Clustering和Redis Session Manager实现Session共享
java·linux·运维·redis·缓存·tomcat
zcz16071278212 小时前
Linux 网络命令大全
linux·运维·网络
the sun342 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++
VVVVWeiYee2 小时前
BGP高级特性
运维·服务器·网络