序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print name of of current/working directory | 查看当前所在文件夹 |
03 | cd[目录名] | change directory | 切换文件夹 |
04 | touch[目录名] | touch | 如果文件不存在,新建文件 |
05 | mkdir[目录名] | make directory | 创建目录 |
06 | rm[文件名] | remove | 删除指定的文件名 |
07 | clear | clear | 清屏 |
小技巧:
- ctrl + shift + = 放大终端窗口的字体显示
- ctrl + - 缩小终端窗口的字体显示
linux终端命令格式
1.终端命令格式
command [-options] [parameter]
说明:
- command: 命令名,相应功能的英文 单词或单词的缩写
- `[-options]: 选项,可用来对命令进行控制,也可以省略
- [parameter]: 传给命令的参数,可以是 零个、一个或多个
[]代表可选
2.查阅命令帮助信息
2.1 command --help (crontab --help)
2.2 man command
说明:man 是 manual 的缩写,是linux 提供的一个手册,包含了绝大部分的命令、函数的详细使用说明
使用man时的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
文件和目录常用命令
- 查看目录内容
- ls
- 切换目录
- cd
- 创建和删除操作
- touch
- rm
- mkdir
- 拷贝和移动文件
- cp
- mv
- 查看文件内容
- cat
- more
- grep
- 其他
- echo
- 重定向 > 和 >>
- 管道 |
ls命令说明
linux下文件和目录的特点
- linux 文件 或者 目录 名称最长可以有 256 个字符
- 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示(ls -a)
- . 代表当前目录
- .. 代表上一级目录
ls常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l 以人性化的方式显示文件大小(ls -lh = ls -l -h, ls -a -h = ls -ah) |
ls 通配符的使用
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少一个 |
[] | 表示可以匹配字符组中的任一一个 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的任意一个 |
cd
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd .. | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换(配合上下键) |
touch
说明:
- 创建文件或修改文件时间
- 如果文件 不存在,可以创建一个空白文件
- 如果文件 已经存在,可以修改文件的末次修改日期
选项 | 含义 |
---|---|
-p | 可以递归创建目录 |
mkdir
- 创建一个新的目录
说明:新建目录的名称 不能与当前目录中 已有的目录或文件 同名
选项 | 含义 |
---|---|
-p | 可以递归创建目录 |
rm
- 删除文件或目录
使用 rm 命令要小心,文件删除后不能恢复
选项 | 含义 |
---|---|
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
rm 通配符的使用
- rm *1.txt : 删除所有以1结尾的.txt文件
- rm -r *: 删除所有文件和文件夹
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少一个 |
[] | 表示可以匹配字符组中的任一一个 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的任意一个 |
拷贝和移动文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | tree[目录名] | tree | 以树状图列出文件目录结构 |
02 | cp 源文件 目标文件 | copy | 文件或者目录 |
03 | mv 源文件 目标文件 | move | 移动文件或者目录/文件或者目录重命名 |
tree
选项 | 含义 |
---|---|
-d | 只显示目录 |
tree ~ 指向home目录下的所有文件及文件列表
cp
- cp ~/Documents/readme.txt ./readme.txt (复制/home/用户名/Documents/readme.txt 文件 到 当前目录下)
- cp ~/Documents/readme.txt . (命令同上)
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
-r | 若给出的源文件是目录文件,则cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
mv
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
查看文件内容
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
02 | more 文件名 | more | 分屏显示文件内容 |
03 | grep 搜索文本 文件名 |
grep | 搜索文本文件内容 |
cat
- cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
more
- more 命令可以用于分屏显示文件内容,每次只显示一页内容
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
grep
- Linux 系统中 grep 命令是一种强大的文本搜索工具
- grep 允许对文本文件进行 模式查找,就是正则表达式
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
- 常用的两种模式查找
参数 | 含义 |
---|---|
^a | 行首,搜寻以 a 开头的行 |
ke$ | 行尾,搜寻以 ke 结束的行 |
其他
echo 文字内容
- echo会在终端中显示参数指定的文字,通常会和 重定向 联合使用
重定向 > 和 >>
- Linux 允许将命令执行结果 重定向 到一个 文件
- 将本应显示在终端上的内容 输出/追加 到指定文件中
其中 -
表示输出,会覆盖文件原有的内容
-
表示追加,会将内容追加到已有文件的末尾
管道 |
- Linux 允许将 一个命令的输出 可以 通过管道 做为 另一个命令的输入
- 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令有:
- more:分屏显示内容
-
grep: 在命令执行结果的基础上查询指定的文本
查找home目录下的 包含vi的项,不区分大小写
远程管理常用命令
- 关机 / 重启
- shutdown
- 查看或配置网卡信息
- ifconfig
- ping
- 远程登录和复制文件
- ssh
- scp
关机/重启
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | shutdown 选项 时间 | shutdown | 关机/重新启动 |
选项 | 含义 |
---|---|
-r | 重新启动 |
提示:
- 不指定选项和参数,默认表示 1分钟 之后 关闭电脑
- 远程维护服务器时,最好不要关闭系统,而应该重新启动系统
- 常用命令示例
# 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
# 立刻关机,其中 now 表示现在
$ shutdown now
# 系统在今天的 20:25 会关机
$ shutdown 20:25
# 系统再过十分钟后自动关机
$ shutdown +10
# 取消之前指定的关机 计划
$ shutdown -c
查看或配置网卡信息
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ifconfig | configure a network interface | 查看/配置计算 机当前的网卡配置信息 |
02 | ping ip 地址 | ping | 检测到目标 ip地址 的连接是否正常 |
ifconfig
# 查看网卡配置信息
$ ifconfig
# 查看网卡对应的 IP 地址
$ ifconfig | grep inet
提示:一台计算机中有可能会有一个 物理网卡 和 多个虚拟网卡,在 Linux 中物理网卡的名字通常以 ensXX 表示
- 127.0.0.1 被称为 本地回环/环回地址,一般用来测试本机网卡是否正常
ping
# 检测到目标主机是否连接正常
$ ping IP地址
# 检测本地网卡工作正常
$ ping 127.0.0.1
提示:在Linux中,想要终止一个终端程序的执行,绝大多数都可以使用 ctrl + c
远程登录和复制文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ssh 用户名@ip | secure shell | 关机/重新启动 |
02 | scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
ssh基础
- 常见服务端口号列表:
序号 | 服务 | 端口号 |
---|---|---|
01 | SSH 服务器 | 22 |
02 | Web 服务器 | 80 |
03 | HTTPS | 443 |
04 | FTP 服务器 | 21 |
ssh [-p port] user@remote
- user 是在远程机器上的用户名,如果不指定的话默认为当前用户
- remote 是远程机器的地址,可以是 IP/域名,或者是 别名
- port 是 SSH Server 监听的端口,如果不指定,就为默认值 22
提示:
- 使用 exit 退出当前用户的登录
注意:- ssh 这个终端命令只能在 Linux 或 Unix 系统下使用
- 如果在 Windows 系统中,可以安装 Putty 或者 XShell 客户端软件即可
scp
- scp 就是 secure copy, 是一个在 Linux 下用来进行 远程拷贝文件 的命令
- 它的 地址格式与 ssh 基本相同,需要注意的是,在指定端口时用的是大写的 -P,而不是小写的
# 把本地当前目录下的 01.py 文件 复制到 远程 home目录下的 Desktop/01.py
# 注意: `:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Descktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 home目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
选项 | 含义 |
---|---|
-r | 若给出的源文件是目录文件,则scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-P | 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 |
注意:
- scp 这个终端命令只能在 Linux 或者 Unix 系统下使用
- 如果在 Windows 系统中,可以安装 Putty, 使用 pscp 命令行工具或者安装 FileZilla 使用 FTP 进行文件传输
SSH 高级
- 免密码登录
- 配置别名
提示:有关 SSH 配置信息都保存在用户home目录下的 .ssh 目录下
1) 免密码登录
步骤
- 配置公钥
- 执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
- 上传公钥到服务器
- 执行 ssh-copy-id -p port user@remote, 可以让远程服务器记住我们的公钥
非对称加密算法
- 使用 公钥 加密的数据,需要使用 私钥 解密
- 使用 私钥 加密的数据,需要使用 公钥 解密
2)配置别名
在~/.ssh/config 里面追加以下内容:
Host myserver
HostName ip地址
User mac
Port 22
保存之后,即可用 ssh mac 实现远程登录了,scp同样也可以使用\
用户权限相关命令
- 用户 和 权限 的基本概念
- 用户管理 终端命令
- 组管理 终端命令
- 修改权限 终端命令
用户 和 权限 的基本概念
- 用户 是linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理
- 在 linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
- 对 文件/目录 的权限包括:
序号 | 权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|---|
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | excute | x | 1 |
- 在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录 的 不同权限
ls -l 扩展
- ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:
- 权限,第1个字符如果是 d 表示目录
- 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录/文件
- 拥有者,home目录下 文件/目录 的拥有者通常都是当前用户
- 组,在Linux中,很多时候,会出现组名和用户名相同的情况
- 大小
- 时间
-
名称
chmod
- chmod 可以修改 用户/组 对 文件/目录 的权限
- 命令格式如下:
chmod +/-rwx 文件名 | 目录名
提示:以上方式会一次性修改 拥有者/组 权限
在Linux 下要执行文件 :在当前目录下 ./01.py 或 ./01.sh
超级用户
- Linux 系统中的 root 账号通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限
- 在大多数版本的 Linux 中,都不推荐 **直接使用root账号登录系统 **
- 在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为”标准用户“
sudo
- su 是 substitute user 的缩写,表示 ** 使用另一个用户的身份**
- sudo 命令用来以其他身份来执行命令,预设的身份为 root
- 用户使用sudo时,必须先输入密码,之后有 5分钟的有效期限,超过期限则必须重新输入密码
若其未经授权的用户企图使用 sudo,则会发出警告邮件给管理员
网友评论