1.操作系统分类
桌面操作系统:window系列,macOS,Linux
服务器操作系统:Linux,window server
嵌入式服务器:Linux
移动服务器:ios,Android
虚拟机:
2.Linux命令
2.1常用Linux命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work directory | 查看当前所在文件夹路径 |
03 | cd [目录名] | change directory | 切换文件夹路径 |
04 | touch [文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除指定的文件 |
07 | clear | clear | 清屏 |
实用技巧:
a. ctrl + shift + = 放大终端窗口的字体显示
b. ctrl + - 缩小终端窗口的字体显示
c. 自动补全
敲出文件/目录/命令的前几个字母后,按tab键
若输入没有歧义,会自动补全;
若存在多个,再按tab键,系统会提示可能存在的文件/目录/命令
d. 曾经使用过的命令
按上下键可在已使用过的命令间切换;
若想退出选择,并不执行当前选中的命令,可通过Ctrl+ c快捷键退出;
f.Linux下文件和目录的特点
文件或目录以‘.’开头表示隐藏文件,需要用-a参数才能显示
.表示当前目录;..表示上一级目录
2.2终端命令格式
格式:
command [-options] [parameter]
command:命令名,
-options:选项,可用来对命令进行控制,也可省略
parameter:传给命令的参数,个数没有限制,可为0个或多个
其中方括号[]代表可选,非必须。
2.3查询帮助信息的两种方式
1.command --help 显示命令的帮助信息
2.man command 查看命令的使用手册
2.4文件和目录常用命令
命令 | 操作 | 作用 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
查看目录内容 | ls | ls 选项 ls -a (all的意思) ls -l 简写为ll ls -h 需写为ls -l -h缩写为ls -lh 或 ll -h ls -m
ls -l|wc -l 参数(即通配符的使用)
| 列出指定目录下的内容(不包含隐藏内容)
列出当前目录下的所有内容(包含隐藏内容) 以列表的方式显示文件的详细信息 配合-l以人性化的方式显示文件大小,不能单独使用 列出指定目录下的内容(包含隐藏内容),以水平方式分布列表,逗号隔开 用于统计当前文件夹中文件的数量
ls a* 匹配当前路径下以a开头的内容 ls a? 匹配当前路径下以a开头长度为2的内容 ...
| ||||||||||||
切换目录 | cd
| cd cd ~ cd . cd .. cd - cd 指定目录
| 切换到当前用户的主目录(/home/用户目录) 切换到当前用户的主目录(/home/用户目录) 保持当前目录不变 切换到上级目录 可以在最近两次工作目录之间来回切换 指定目录可以是 相对路径:相对当前目录所在的目录位置 绝对路径:相对根目录或者家目录所在的位置 | ||||||||||||
创建和删除操作 | touch | touch 文件名 | 若文件不存在,创建文件, 若存在,修改其末次修改日期 | ||||||||||||
mkdir | mkdir 目录名 mkdir -p 目录/目录
| 创建一个目录 创建多级目录,递归创建 需注意:目录名不能与当前目录中已有文件或目录重名 | |||||||||||||
rm | rm rm -f rm -r 参数(即通配符的使用)参考ls命令
| 删除文件或目录 强制删除,忽略不存在的文件,无需提示 递归删除文件夹下的内容,删除文件夹时必须
需注意:文件删除后不可恢复 | |||||||||||||
拷贝和移动文件 | tree | tree [目录名] tree -d | 以树状图列出指定目录下文件目录结构 只显示目录 | ||||||||||||
cp | cp 源文件 目标文件 cp -i cp -r
| 复制源文件或目录到目标路径下,可指定名称 覆盖文件前提示 若源文件为文件,则直接cp 若源文件为文件夹,则必须使用-r,将递归复制目录下所有子目录和文件,且目标文件必须是目录 | |||||||||||||
mv | mv 源文件 目标文件 mv -i | 移动文件或目录,也可以对文件或目录重命名 覆盖文件前提示 | |||||||||||||
查看文件内容 | cat | cat 文件名
cat -b 文件名 cat -n 文件名 | 查看文件内容,创建文件‘文件合并,追加文件内容等’,一次性显示所有内容,适合内容较少的文件 对非空输出行编号 对输出的所有行编号 | ||||||||||||
more | more 文件名
| 分屏显示文件内容,适合内容较多的文件
| |||||||||||||
less | 参考more命令 | ||||||||||||||
tail | tail tail -f | 显示文件最后n行
| |||||||||||||
grep | grep 内容 文件 grep -n grep -v grep -i 模式查找 grep ^a 文件 a$ | 文本搜索,可进行正则表达式查找 显示匹配行及行号 显示不包含匹配文本的所有行 忽略大小写
行首,搜索以a开头的行 行尾,搜索以a结尾的行 | |||||||||||||
其他 | echo | echo 文本内容 | 将所给文本内容显示,通常会和重定向联合使用 | ||||||||||||
重定向 > 和 >> | > >>
| 表示输出,会覆盖文件原有内容 表示追加,将内容追加到已有文件的末尾 Linux允许将命令执行结果重定向到一个文件,即将本应显示在终端的内容输出或追加到指定文件中 | |||||||||||||
管道 | | 常用more和grep | 将一个命令的输出 通过管道 作为另一个命令的输入 |左端塞内容(写),右端取内容(读) |
2.5远程管理命令
命令 | 操作 | 作用 | |
---|---|---|---|
关机/重启 | shutdown | shutdown 选项 时间 shutdown shutdown -c
shutdown -r shutdown -r now shutdown now shutdown 20:25 shutdown +10 | 关机/重启,远程维护时,最好不要关机,应重启 不指定选项和时间,默认表示1分钟后关闭电脑 当执行showdown后,在1分钟内执行该命令可取消关闭电脑 重新启动 表示立即重新启动 表示立即关机 表示今晚20点25分关机 表示10分钟后关机,也可通过-c取消 |
查看或配置网卡信息 | 说明: 网卡:是一个专门负责网络通讯的硬件设备 IP地址:是设置在网卡上的地址信息 我们可以把电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码 | ||
ifconfig |
ifconfig | grep intel | 查看/配置计算机当前的网卡配置信息 查看网卡对应的ip地址 | |
ping | ping ip地址 | 检测到目标ip地址的连接是否正常 | |
ssh | Linux中SSH是常用的工具,通过SSH客户端可连接到运行了SSH服务器的远程机器上。 域名:IP地址的别名,如www.baidu.com 端口号:通过IP地址找到网络上的计算机,通过端口号找到计算机上运行的应用程序 常用默认端口号:Web服务器80,SSH服务器22,HTTPS 443.FTP服务器21 | ||
远程登录或复制文件 | ssh [-p port] user@ip/域名/别名
exit | 关机/重新启动 其中user:是指远程机器上的用户名,若不指定,默认为当前用户,port是SSH服务器监听的端口,默认为22 退出当前用户的登录 | |
scp | 其地址格式与SSH基本类似,需要注意的是再指定端口时用的是大写的-P | ||
scp [-P port] 用户名@ip:文件名或路径 用户名@ip:文件名或路径 scp -r
| 远程复制文件
若为文件夹,则递归复制
|
2.6SSH高级
a.免密登录
b.配置别名
2.7用户权限相关命令
1).指定每个用户针对不同文件或目录的不同权限
序号 | 权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|---|
1 | 读 | read | r | 4 |
2 | 写 | write | w | 2 |
3 | 执行 | excute | x | 1 |
4 | 无权限 | - | 0 |
2).ls -l扩展内容:可查看文件夹下文件的详细信息,其具体从左到右依次是
权限 | 第一个字符若为d,则为目录
| |||||||||||||||||||||||||||||||||
硬连接数 | 指有多少种方式可访问当前目录/文件,注意文件一般为1,目录需视情况,通过cd 绝对路径可到达;在当前目录下通过cd .可到达;在子目录下,通过cd ..可到达,子目录越多,该值越大。 | |||||||||||||||||||||||||||||||||
拥有者 | 家目录下 文件/目录 的拥有者通常都是当前用户 | |||||||||||||||||||||||||||||||||
组 | 组名和用户名相同,即未创立组时,单独用户为一组 | |||||||||||||||||||||||||||||||||
大小 | 文件/目录大小 | |||||||||||||||||||||||||||||||||
时间 | 创建或修改时间 | |||||||||||||||||||||||||||||||||
名称 | 文件或目录名称 |
3).chmod简单使用-》修改用户/组对文件/目录的权限
格式:chmod +/-rwx 文件名/目录名
说明:其中+或者-表示增加或减少后续跟着的权限,该方式会更改拥有者和组的权限。
4).超级用户root
root账号通常用于系统的维护和管理,对操作系统的所有资源具有所有权限。一般不推荐直接使用root登录系统,而是在安装过程中,创建一个默认的用户账号
su 用户名 表示切换另一个用户登录系统
sudo用来以其他身份执行命令,预设用户为root,用户使用sudo命令时需先输入密码,然后有5分钟的有效期限,5分钟后需重新输入密码
5).组管理 终端命令
序号 | 命令 | 操作 | 作用 |
---|---|---|---|
1 | groupadd | sudo groupadd 组名 | 添加组,该命令需要通过sudo来执行 |
2 | groupdel | sudo groupdel 组名 | 删除组,该命令需要通过sudo来执行 |
3 | cat /etc/group | 确认组信息 | |
4 | chgrp | sudo chgrp -R 组名 文件/目录名 | 修改文件/目录的所属组 |
6).用户管理 终端命令
序号 | 命令 | 操作 | 作用 |
---|---|---|---|
1 | useradd |
useradd -m -g 组 用户名
| 添加新用户,需要通过sudo来执行 -m 自动建立用户家目录 -g 指定用户所在的组,否则会建立和用户名同名的组 |
2 | passwd |
passwd 用户名 | 设置用户密码,需要通过sudo来执行 若为普通用户,直接用passwd可修改自己账户密码 |
说明: 1.创建用户执行useradd命令后,必须执行passwd为用户指定密码; 2.创建用户时,若忘记添加-m选项指定新用户的家目录,最简单的办法是删除用户重新创建,也可以新建家目录并设置权限; 3.创建用户时,默认会创建和用户名同名的组名; 4.默认使用useradd创建的用户是没有权限使用sudo以root身份执行命令的,需将创建的用户添加到sudo附加组中并重新登录才可。 | |||
3 | userdel |
userdel -r 用户名 | 删除用户,需要通过sudo来执行 -r 自动删除用户家目录 |
4 | cat /etc/passwd | grep 用户名 | 确认用户信息 新建用户后,用户信息会保存着/etc/passwd文件中 | |
查看用户信息 | |||
1 | id | id [用户名] | 查看用户UID和GID信息即用户代号和组代号 |
2 | who | 查看当前所有登录的用户列表 | |
3 | whoami | 查看当前登录的用户账户名 | |
passwd文件内容,即用户信息,由6个分号组成的7个信息,分别是 1.用户名 2.密码(x,表示加密的密码) 3.UID(用户标识) 4.GID(组标识) 5.用户全名或本地账号 6.家目录 7.登录使用的shell,就是登录之后使用的终端命令,Ubuntu默认是dash | |||
usermod |
usermod -g 组 用户名 usermod -G 组 用户名 usermod -s /bin/bash 用户名 | 用来设置用户的主组/附加组和登录shell 修改用户的主组 修改用户的附加组 修改用户的登录shell | |
主组:通常在新建用户时指定,在etc/passwd文件中的第四列GID所对应的组 附加组:在etc/group中,最后一列表示该组的用户列表,指定用户的附加权限; 设置了用户的附加组后,需重新登录才能生效。 | |||
which | which 命令 | 查看命令所在位置 | |
su | su 用户名 su -用户名 | 切换用户,但没有切换目录 切换用户并切换到用户的家目录 | |
exit | 退出当前登录用户 | ||
修改文件权限 | |||
chown | chown 用户名 文件名/目录名 | 修改拥有者 | |
chgrp | chgrp -R 组名 文件/目录名 | 修改组,参考 5).组管理终端命令4 | |
chmod | chmod -R 755 文件/目录名 | 修改权限 参考3).chmod简单使用,755分别代表拥有者|组|其他的权限,参考权限的数字代号,r->4,w->2,x->1 |
2.8系统信息终端命令
命令 | 操作 | 作用 | |
---|---|---|---|
时间和日期 | date | date | 查看系统时间 |
cal | cal cal -y | 查看当前月的日历 查看一年的日历 | |
磁盘和目录控件(磁盘空间占用情况) | df (disk free) | df df -h | 显示磁盘剩余空间 以人性化的方式显示文件大小 |
du (disk usage) | du du -h [目录名] | 显示目录下的文件大小 以人性化的方式显示文件大小 | |
进程信息(程序执行情况) | ps (process status) | ps ps a ps u ps x ps au,ps aux | 查看进程的详细状况,默认显示当前用户通过终端启动的应用程序 显示终端上的所有进程,包括其他用户启动的进程 显示进程的详细状态 显示没有控制终端的进程 组合使用 |
top | 动态显示运行中的进程并排序,要退出按q | ||
kill | kill kill [-9] 进程代号 | 终止进程 终止指定代号的进程,-9表示强行终止 |
2.9其他终端命令
命令 | 操作 | 作用 | |
---|---|---|---|
查找文件 | find | find [路径] -name 查找条件
| 查找指定路径下(包含子目录)符合查找条件的文件或目录 查找条件可使用通配符,路径为空表示在当前路径下 |
软链接 | ln |
ln -s 被连接的源文件 连接文件名
| 类似于Windows的快捷方式 源文件建议使用绝对路径,这样当连接文件移动后仍可以使用 -s必须,否则是一个硬链接 |
打包压缩 | 在不同操作系统下,打包压缩方式不同,window下是rar,mac下是zip,Linux下是tar.gz | ||
tar(打包) | tar
tar -c tar -v tar -f tar -x tar -cvf 打包文件.tar 被打包的文件/路径 tar -xvf 打包文件.tar | 把一系列文件打包成一个大文件,只负责打包不负责压缩;或把一个打包的大文件恢复为一系列文件,只负责解包不负责解压 创建打包文件 列出归档解档的详细过程,显示进度 指定打包文件名称,必须放在选项最后,后面跟着打包文件名 解开打包文件 打包文件
解开文件 | |
gzip(压缩) .tar.gz | 等价于tar -z tar -zcvf 打包文件.tar.gz 被压缩的文件/路径... tar -zxvf z打包文件.tar.gz tar -zxvf z打包文件.tar.gz -C 目标路径 | 压缩和解压缩 压缩文件
解压文件 将文件解压到目标路径,目标路径必须存在
| |
bzip2 .tar.bz2 | 等价于tar -j tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径... tar -jxvf z打包文件.tar.bz2 tar -jxvf z打包文件.tar.bz2 -C 目标路径 | 与gzip用法一样 压缩文件
解压文件 将文件解压到目标路径,目标路径必须存在
| |
软件安装及卸载 | apt -get | sudo apt install 安装包 sudo apt remove 软件名 sudo apt upgrade | 安装软件 卸载软件 更新已安装的包 |
配置软件源 | Ubuntu中操作 |
计算机中文件大小的表示方式:
字节(B)->千(KB)->兆(MB)->千兆(GB)->太(TB)->拍(PB)->艾(EB)->泽(ZB)->尧(YB)