1. linux 命令格式
命令格式
command [-options] [parameter]
说明:
- command :命令名,对应功能英文单词或者缩写
- -options:选项,用来对命令进行控制,可以省略
- parameter:传给命令的参数,可以是零个,也可以是多个
2. linux 常用命令
命令 | 作用 |
---|
ls | 查看当前文件夹下的内容 |
pwd | 查看当前所在文件夹 |
cd [目录名] | 切换文件夹 |
touch [文件名] | 如果文件不存在,新建文件 |
mkdir [目录名] | 创建目录 |
rm [文件名] | 删除指定文的文件名 |
clear | 清屏 |
3 ls命令常用选项
参数 | 含义 |
---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表的方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
计算机中文件大小的表示方式
单位 | 英文 | 含义 |
---|
字节 | B(Byte) | 在计算机中作为一个数字单元,一般为8位二进制数 |
千 | K(Kibibyte) | 1KB=1024B,千字节(1024=2**10) |
兆 | M(Mebibyte) | 1MB=1024KB,百万字节 |
千兆 | G(Gigabyte) | 1GB=1024MB,十亿字节,千兆字节 |
太 | T(Terabyte) | 1TB=1024GB,万亿字节,太字节 |
拍 | P(Petabyte) | 1PB=1024TB,千万亿字节,拍字节 |
艾 | E(Exabyte) | 1EB=1024PB,百亿亿字节,艾字节 |
泽 | Z(Zettabyte) | 1ZB=1024EB,十万亿亿字节,泽字节 |
尧 | Y(Yottabyte) | 1YB=1024ZB,一亿亿亿字节,尧字节 |
4 通配符的使用
通配符 | 含义 |
---|
. | 代表任意个数个字符 |
? | 代表任意一个字符,至少一个 |
[abc] | 匹配a,b,c中任意一个 |
[a-z] | 匹配从a到z范围内的任意一个字符 |
5 cd命令 切换目录
命令 | 含义 |
---|
cd | 切换到当前用户的主目录 /home/用户目录 |
cd ~ | 切换到当前用户的主目录 /home/用户目录 |
cd . | 当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
6 创建和删除操作
6.1 touch 命令 创建文件
- 创建文件或修改文件时间
- 如果文件不存在,可以创建一个空白文件
- 如果文件已经存在, 可以修改文件的最后修改时间
6.2 mkdir 命令 创建目录
新建的目录的名称 不能与当前目录中 已有的文件或者目录 重名
6.3 rm命令 删除文件/目录
使用 rm 命令要小心,因为文件删除后不能恢复
选项 | 含义 |
---|
-f | 强制删除,忽略不存在的文件,无提示 |
-r | 递归的删除目录下的内容,删除文件夹时必须加此参数 |
7 拷贝和移动命令
命令 | 作用 |
---|
tree [目录名] | 以树状图列出文件目录结构 |
cp 源文件 目标文件 | 复制文件或者目录 |
mv 源文件 目标文件 | 移动文件或者目录/文件或者目标文件重命名 |
7.1 tree 命令
7.2 cp 命令
- cp命令的功能时将给出的 文件 或 目录 复制到另一个 文件 或 目录 中,相当于DOC 下的 copy命令
选项 | 含义 |
---|
-i | 覆盖文件前提示 |
-r | 若给出的源文件时目录文件,则 cp将递归复制该目录下的所有目录和文件,目标文件必须为一个目录名 |
7.3 mv 命令
- mv 命令可以用来 移动 文件 或者 目录,也可以给文件或目录重命名
8 查看文件内容
命令 | 作用 |
---|
cat 文件名 | 查看文件内容,创建文件,文件合并,追加文件内容等功能 |
more 文件名 | 分屏显示文件内容 |
grep 搜索文本 文件名 | 搜索文本文件内容 |
8.1 cat 命令
- cat命令可以用来 查看文件内容,创建文件,合并文件,追加文件内容 功能
- cat会一次显示所有的内容,适合 查看内容较少 的文件文件
选项 | 含义 |
---|
-b | 对非空输出行编号 |
-n | 对输出的所有航编号 |
Linux 中还有一个nl命令和 cat -b的效果等价
8.2 more 命令
- more命令可以用于分屏显示文件内容,每次只显示一页内容
- 适合于 查看内容较多 的文本文件
使用more的操作键:
操作键 | 功能 |
---|
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索word字符串 |
8.3 grep 命令
- Linux系统中 grep命令是一种强大的文本搜索工具
- grep允许对文本进行 模式 查找,所谓的查找,又被称为正则表达式
选项 | 含义 |
---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行 |
-i | 忽略大小写 |
参数 | 含义 |
---|
^a | 行首,搜寻以a开头的行 |
ke$ | 行尾,搜寻以ke结尾的行 |
9. 其他命令
9.1 echo 命令
- echo会在终端中显示参数指定的文字,通常会和 重定向 联合使用
9.2 重定向 > 和 >>
- >表示输出,会覆盖文件原有的内容
- >>表示追加,会将内容追加到已有文件的末尾
9.3 管道 |
- Linux 允许将 一个命令的输出 可以 通过管道 做为 另一个命令的输入
- 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 |的左右分为两端,左端赛东西(输入),右边取东西(输出)
常用的管道命令有:
- more分屏显示内容
- grep在命令执行结果的基础上查询指定的文本
10 远程管理常用命令
目标
- 关机/重启
- 查看或者配置网卡信息
- 远程登录和复制文件
10.1 关机/重启 shutdown 命令
命令 | 作用 |
---|
shutdown 选项 时间 | 关机/重新启动 |
- shutdown命令可以 安全关闭 或者 重新启动系统
提示:
- 不指定选项和参数, 默认表示 1分钟 之后 关闭电脑
- 远程维护服务器时,最好不要关闭系统,而应该重新启动系统
# 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
# 立即关机,其中 now 表示现在
$ shutdown now
# 系统在今天的 20:25 会关机
$ shutdown 20:25
# 系统再过十分钟后自动关机
$ shutdown +10
# 取消之前指定的关机计划
$ shutdown -c
10.2 查看或者配置网卡信息
命令 | 作用 |
---|
ifconfig | 查看/配置计算机当前的网卡配置信息 |
ping ip地址 | 检测到目标ip地址的连接是否正常 |
- ifconfig可以查看/配置计算机当前的网卡配置信息
# 查看网卡配置信息
$ ifconfig
# 查看网卡对应的 IP 地址
$ ifconfig | grep inet
- 127.0.0.1被称为 本地回环/环回地址 ,一般用来测试本地网卡是否正常
10.3 远程登录和复制文件
命令 | 作用 |
---|
ssh 用户名@ip | 关机/重启命令 |
scp用户名@ip:文件名或路径 用户名@ip:文件名或者路径 | 远程复制文件 |
- ssh是目前比较可靠,专为远程登录回话和其他网络服务 提供安全性的协议
- 利用ssh协议可以有效的防止远程管理过程中的信息泄露
- 通过ssh协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
- ssh的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
域名和端口号
服务 | 端口号 |
---|
SSH服务器 | 22 |
Web服务器 | 80 |
HTTPS | 443 |
FTP服务器 | 21 |
SSH 客户端的简单使用
ssh [-p port] user@remote
- user是在远程机器上的用户名,如果不能指定的话默认为当前用户
- remote是远程机器的地址, 可以是 IP/域名/别名
- port是SSH Server 监听的端口,如果不指定,默认为22
提示:
SCP 远程复制文件
- user是在远程机器上的用户名,如果不能指定的话默认为当前用户
- remote是远程机器的地址, 可以是 IP/域名/别名
- port是SSH Server 监听的端口,如果不指定,默认为22
# 把本地的 test.java 文件复制到 远程目录 Desktop/test.java
# 注意: ":" 后面的路径如果不是绝对路径,则以用户的 /home/user目录作为参照路径
$ scp -P port test.java user@remote:/home/user/Desktop/test.java
# 加上 -r 选项可以传送文件夹
$ scp -r port test user@remote:/home/user/Desktop/test
# 把远程目录下的文件复制到当前目录下
$ scp -P port user@remote:/home/user/Desktop/test.java /u01/test.java
选项 | 含义 |
---|
-r | 若给出的源文件时目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-P | 若远程SSH服务器的端口不是22,则需要使用大写字母 -P 选项指定端口 |
SSH免密登录
提示:有关SSH配置信息都保存在 /home/user/.ssh 目录下
步骤
- 配置公钥
- 执行 ssh-keygen 即可生成SSH钥匙,一路回车即可
ssh-keygen命令参数
参数 | 含义 |
---|
-t | 指定密钥类型,默认是 rsa ,可以省略 |
-C | 设置注释文字,比如邮箱 |
-f | 指定密钥文件存储文件名 |
- 上传公钥到服务器
- 执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
非对称加密算法
- 客户端使用私钥加密, 服务器需要用公钥解密
- 服务器使用公钥加密, 客户端需要用私钥解密
远程服务器配置别名
~/.ssh/config文件夹里追加以下内容
Host ren161
HostName 192.168.125.161
User user
Port 22
11. 用户组 相关命令
11.1 ls -l 扩展
- 权限: 第一个字符如果是d表示目录
- 硬链接数: 通俗的讲,就是有多少中方式,可以访问到当前目录/文件
- 拥有者: 家目录下 文件/目录 的拥有者通常都是当前用户
- 组: 在Linux中,不同用户可以在一个组里
- 大小
- 时间
- 名称
目录 | 拥有者权限 | 组权限 | 其他用户权限 |
---|
- | r w - | r w - | r - - |
d | r w - | r w - | r - - |
11.2 chmod命令 简单使用
chmod +/-rwx 文件名/目录名
11.3 组管理 命令
命令 | 作用 |
---|
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
cat /etc/group | 确认组信息,新建组后,组信息会保存在 /etc/group文件中 |
chgrp -R 组名 文件/目录名 | 修改文件/目录的所属组 |
11.4 用户管理相关命令
命令 | 说明 |
---|
useradd -m -g 组 新建用户名 | -m 自动建立用户家目录 -g 指定用户所在的组,否则会建立一个和用户同名的组 |
passwd 用户名 | 如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
userdel -r 用户名 | -r 会自动删除用户家目录 |
cat /etc/passwd | grep y用户名 | 确认用户信息,新建用户后,用户信息会保存在 /etc/passwd 文件中 |
11.5 查看用户信息
命令 | 作用 |
---|
id 用户名 | 查看用户 UID 和 GID信息 |
who | 查看当前所有登录的用户列表 |
whoami | 查看当前登录用户名的账户名 |
/etc/passwd文件
/etc/passwd文件存放的是用户的信息,是由6个分号组成的7个信息
- 用户名
- 密码(x,表示加密的密码)
- UID(用户标识)
- GID(组标识)
- 用户全名或者本地账号
- 家目录
- 登录使用的Shell,就是登录之后,使用的终端命令,ubuntu默认是bash
11.6 usermod命令
- usermod可以用来设置用户的主组/附加组和登录shell
- 主组:通常在新建用户时指定,在.etc/passwd的第四列GID对应的组
- 附加组:在/etc/passwd中最后一列表示该组的用户列表,用户指定用户的附加权限
提示:设置了用户的附加组之后,需要从新登录才能生效
# 修改用户的主组
usermod -g 组 用户名
# 修改用户的附加组
usermod -G 组 用户名
# 修改用户登录 Shell
usermod -s /bin/bash
11.7 which 命令 查看命令所在位置
which ls
# 输出
# /bin/ls
11.8 su命令 切换用户
命令 | 作用 | 说明 |
---|
su - 用户名 | 切换用户,并且切换目录 | - 可以切换到用户家目录,否则位置不变 |
exit | 退出当前登录账户 | |
11.9 修改文件权限
命令 | 作用 |
---|
chown | 修改拥有者 |
chgrp | 修改组 |
chmod | 修改权限 |
# 修改文件/目录的拥有者
chown 用户名 文件名/文件目录
# 递归修改文件/目录的组
chgrp -R 组名 文件名/目录名
# 递归修改文件权限
chmod -R 755 文件名/目录名
- chmod在设置权限时,可以简单的使用三个数字分别对应 拥有者-组-其他用户的权限
数字权限对应
数字 | 权限 |
---|
7 | rwx |
6 | rw- |
5 | r-x |
4 | r– |
3 | -wx |
2 | -w- |
1 | –x |
0 | — |
12. 系统信息
12.1 时间和日期
命令 | 作用 |
---|
date | 查看系统时间 |
cal | 查看日历 -y 选项可以查看一年的日历 |
12.2 查看磁盘空间和目录空间占用
命令 | 作用 |
---|
df -h | disk free 显示磁盘剩余空间 |
du -h [目录名] | disk usage 显示目录下的文件大小 |
-h | 以人性化的方式显示文件大小 |
12.3 进程信息
命令 | 作用 |
---|
ps aux | 查看进程的详细状况 |
top | 动态显示进行中的进程并且排序 |
kill -9 进程代号 | 终止指定代号的进程 -9表示强行终止 |
- ps选项功能说明
选项|含义
—|---
a|显示终端上的所有进程,包括其他用户的进程
u|显示进程的详细信息
x|显示没有控制的终端的进程
13. 查找文件
13.1 find 命令 查找文件
- find命令 通常用来在 特定的目录下 搜索 符合条件的文件
命令 | 作用 |
---|
find [路径] -name “文件名” | 查找指定路径吓得文件,包括子目录 |
13.2 软连接
命令 | 作用 |
---|
ln -s 被链接的源文件 链接文件 | 建立文件的软链接,类似于快捷方式 |
14. tar 打包压缩命令
14.1 打包解包命令
- tar是Linux中最常用的备份工具,此命令可以 把一系列文件 打包成一个大文件夹,也可以把一个打包的大文件夹恢复成一个系列的文件
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
选项 | 含义 |
---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案文件名称, f 后面一定是.tar文件 所以必须放在选项最后 |
14.2 压缩解压缩命令
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径