序号
命令
对应英文
作用
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目录下的 包含Document的项
查找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,则会发出警告邮件给管理员