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