一.常用 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 |
清屏 |
小技巧
ctrl + shift + = 放大终端窗口的字体显示
ctrl + - 缩小终端窗口的字体显示
自动补全
- 在敲出
文件/目录/命令 的前几个字母之后,按下 tab 键
- 如果输入的没有歧义,系统会自动补全
- 如果还存在其他
文件/目录/命令,再按一下 tab 键,系统会提示可能存在的命令
小技巧
- 按
上/下 光标键可以在曾经使用过的命令之间来回切换
- 如果想要退出选择,并且不想执行当前选中的命令,可以按
ctrl + c
二 .创建、删除、操作
1.touch
-
- 创建文件或修改文件时间
- 如果文件 不存在,可以创建一个空白文件
- 如果文件 已经存在,可以修改文件的末次修改日期
2.mkdir
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
3.rm
使用 rm 命令要小心,因为文件删除后不能恢复
| 选项 | 含义 |
| -f |
强制删除,忽略不存在的文件,无需提示 |
| -r |
递归地删除目录下的内容,删除文件夹 时必须加此参数 |
4.拷贝和移动文件
| 序号 | 命令 | 对应英文 | 作用 |
| 01 |
tree [目录名] |
tree |
以树状图列出文件目录结构 |
| 02 |
cp 源文件 目标文件 |
copy |
复制文件或者目录 |
| 03 |
mv 源文件 目标文件 |
move |
移动文件或者目录/文件或者目录重命名 |
5.tree
6.cp
-
cp 命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中,相当于 DOS 下的 copy 命令
| 选项 | 含义 |
| -i |
覆盖文件前提示 |
| -r |
若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
7.mv
-
mv 命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名
8.查看文件内容
| 序号 | 命令 | 对应英文 | 作用 |
| 01 |
cat 文件名 |
concatenate |
查看文件内容、创建文件、文件合并、追加文件内容等功能 |
| 02 |
more 文件名 |
more |
分屏显示文件内容 |
| 03 |
grep 搜索文本 文件名 |
grep |
搜索文本文件内容 |
9.cat
-
cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能
cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
| 选项 | 含义 |
| -b |
对非空输出行编号 |
| -n |
对输出的所有行编号 |
10.more
-
more 命令可以用于分屏显示文件内容,每次只显示一页内容
- 适合于 查看内容较多的文本文件
使用 more 的操作键:
| 操作键 | 功能 |
| 空格键 |
显示手册页的下一屏 |
| Enter 键 |
一次滚动手册页的一行 |
| b |
回滚一屏 |
| f |
前滚一屏 |
| q |
退出 |
| /word |
搜索 word 字符串 |
11.grep
-
- Linux 系统中
grep 命令是一种强大的文本搜索工具
grep允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式,在就业班会详细讲解
| 选项 | 含义 |
| -n |
显示匹配行及行号 |
| -v |
显示不包含匹配文本的所有行(相当于求反) |
| -i |
忽略大小写 |
| 参数 | 含义 |
| ^a |
行首,搜寻以 a 开头的行 |
| ke$ |
行尾,搜寻以 ke 结束的行 |
12.其他
echo 文字内容
-
-
echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
重定向 > 和 >>
-
-
- Linux 允许将命令执行结果 重定向到一个 文件
- 将本应显示在终端上的内容 输出/追加 到指定文件中
其中
-
-
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾
管道 |
-
- Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
- 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里
| 的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令有:
-
more:分屏显示内容
grep:在命令执行结果的基础上查询指定的文本
| 选项 | 含义 |
| c |
生成档案文件,创建打包文件 |
| x |
解开档案文件 |
| v |
列出归档解档的详细过程,显示进度 |
| f |
指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
五.SSH 客户端的简单使用
ssh [-p port] user@remote
-
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是 IP/域名,或者是 后面会提到的别名
port 是 SSH Server 监听的端口,如果不指定,就为默认值 22
提示:
注意:
ssh 这个终端命令只能在 Linux 或者 UNIX 系统下使用
- 如果在
Windows 系统中,可以安装 PuTTY 或者 XShell 客户端软件即可
提示:
- 在工作中,SSH 服务器的端口号很有可能不是 22,如果遇到这种情况就需要使用
-p 选项,指定正确的端口号,否则无法正常连接到服务器
远程登录和复制文件
| 序号 | 命令 | 对应英文 | 作用 |
| 01 |
ssh 用户名@ip |
secure shell |
关机/重新启动 |
| 02 |
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 |
secure copy |
远程复制文件 |
六.用户管理 终端命令
提示:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过 sudo 执行
1 创建用户/设置密码/删除用户
| 序号 | 命令 | 作用 | 说明 |
| 01 |
useradd -m -g 组 新建用户名 |
添加新用户 |
- -m 自动建立用户家目录
- -g 指定用户所在的组,否则会建立一个和同名的组
|
| 02 |
passwd 用户名 |
设置用户密码 |
如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
| 03 |
userdel -r 用户名 |
删除用户 |
-r 选项会自动删除用户家目录 |
| 04 |
cat /etc/passwd \ |
grep 用户名 |
确认用户信息 |
新建用户后,用户信息会保存在 /etc/passwd 文件中 |
提示:
-
- 创建用户时,如果忘记添加
-m 选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建
- 创建用户时,默认会创建一个和用户名同名的组名
- 用户信息保存在
/etc/passwd 文件中
2 查看用户信息
| 序号 | 命令 | 作用 |
| 01 |
id [用户名] |
查看用户 UID 和 GID 信息 |
| 02 |
who |
查看当前所有登录的用户列表 |
| 03 |
whoami |
查看当前登录用户的账户名 |
passwd 文件
/etc/passwd 文件存放的是用户的信息,由 6 个分号组成的 7 个信息,分别是
- 用户名
- 密码(x,表示加密的密码)
- UID(用户标识)
- GID(组标识)
- 用户全名或本地帐号
- 家目录
- 登录使用的 Shell,就是登录之后,使用的终端命令,
ubuntu 默认是 dash
usermod
-
usermod 可以用来设置 用户 的 主组 / 附加组 和 登录 Shell,命令格式如下:
- 主组:通常在新建用户时指定,在
etc/passwd 的第 4 列 GID 对应的组
- 附加组:在
etc/group 中最后一列表示该组的用户列表,用于指定 用户的附加权限
提示:设置了用户的附加组之后,需要重新登录才能生效!
注意:默认使用 useradd 添加的用户是没有权限使用 sudo 以 root 身份执行命令的,可以使用以下命令,将用户添加到 sudo 附加组中
usermod -G sudo 用户名
which(重要)
提示
-
/etc/passwd 是用于保存用户信息的文件
/usr/bin/passwd 是用于修改用户密码的程序
which ls
bin 和 sbin
-
- 在
Linux 中,绝大多数可执行文件都是保存在 /bin、/sbin、/usr/bin、/usr/sbin
/bin(binary)是二进制执行文件目录,主要用于具体应用
/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
/usr/bin(user commands for applications)后期安装的一些软件
/usr/sbin(super user commands for applications)超级用户的一些管理程序
提示:
-
cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用 which 无法找到 cd 命令的位置
3 切换用户
| 序号 | 命令 | 作用 | 说明 |
| 01 |
su - 用户名 |
切换用户,并且切换目录 |
- 可以切换到用户家目录,否则保持位置不变 |
| 02 |
exit |
退出当前登录账户 |
-
su 不接用户名,可以切换到 root,但是不推荐使用,因为不安全
4 修改文件权限
| 序号 | 命令 | 作用 |
| 01 |
chown |
修改拥有者 |
| 02 |
chgrp |
修改组 |
| 03 |
chmod |
修改权限 |
-
chmod 在设置权限时,可以简单地使用三个数字分别对应 拥有者 / 组 和 其他 用户的权限
![]()
-
- 常见数字组合有(
u表示用户/g表示组/o表示其他):
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=rx,o=rx
644 ===> u=rw,g=r,o=r
系统信息相关命令
1. 时间和日期
| 序号 | 命令 | 作用 |
| 01 |
date |
查看系统时间 |
| 02 |
cal |
calendar 查看日历,-y 选项可以查看一年的日历 |
02. 磁盘信息
| 序号 | 命令 | 作用 |
| 01 |
df -h |
disk free 显示磁盘剩余空间 |
| 02 |
du -h [目录名] |
disk usage 显示目录下的文件大小 |
03. 进程信息
| 序号 | 命令 | 作用 |
| 01 |
ps aux |
process status 查看进程的详细状况 |
| 02 |
top |
动态显示运行中的进程并且排序 |
| 03 |
kill [-9] 进程代号 |
终止指定代号的进程,-9 表示强行终止 |
ps 默认只会显示当前用户通过终端启动的应用程序
| 选项 | 含义 |
| a |
显示终端上的所有进程,包括其他用户的进程 |
| u |
显示进程的详细状态 |
| x |
显示没有控制终端的进程 |
提示:使用 kill 命令时,最好只终止由当前用户开启的进程,而不要终止 root 身份开启的进程,否则可能导致系统崩溃