LinuxLearing
为什么需要学习Linux终端命令
- linux初期没有图形界面,系统管理需要通过命令
- 实际工作中,常用SSH通过命令控制服务器
技巧:
无需死记,多用即可
常用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 | 清屏 |
终端命令格式
command [-options] [parameter]
- command: 命令名
- -options: 选项,可以对命令进行控制,也可以省略
- parameter: 传递给命令的参数,可以是0个、1个或多个
查询命令帮助信息
-
–help
ls --help
-
man
man ls
终端使用技巧
- tab可以自动补全命令/文件名
- 上/下键选择历史命令
- ctrl + c 退出执行当前命令
一、文件和目录
1.Linux文件目录结构
Linux没有传统windows中盘符的概念,只有一个根目录/,所有文件都在它下面
常用目录:
- /: 根目录,所有文件都从这里开始,根目录下一般只存放目录
- /bin、/usr/bin: 存放可执行二进制文件的目录,比如常用命令ls、mv、cat的二进制文件
- /dev: 存放系统下的设备文件,访问这个目录下的文件就相当于访问某个设备
- /etc:: 存放系统配置文件的目录
- /boot: 存放linux启动时用到的一些文件,例如内核/boot/vmlinuz,引导管理/boot/grub
- /home: 系统默认的用户家目录,新增用户账号时会在家目录下新建一个用户目录
- /root: 系统管理员的家目录
- /lib、/usr/lib、/usr/local/lib: 存放系统使用的函数库
- /lost+fount: 系统异常发生错误时,存放遗失的片段
- /opt: 主机额外安装软件的存放目录
- /proc: 此目录的数据都在内存中,不占用磁盘空间,是比较重要的文件(系统核心、外部设备、网络状态等)
2.ls命令说明
ls:查看当前文件夹下的内容
Linux文件目录特点:
- 以.开头的文件为隐藏文件,需要-a参数才能显示
- .代表当前目录
- …代表上一级目录
ls常用参数:
参数 | 含义 |
---|---|
-a | 显示指定目录下的所有文件和目录,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
ls搭配通配符使用:
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少1个 |
[] | 表示可以匹配字符组中的任一一个 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f范围内的任意一个字符 |
注:通配符可搭配使用
3.cd命令说明
cd:切换文件目录
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
注:Linux中目录和文件均区分大小写
相对路径和绝对路径:
- 相对路径在输入时,最前面不是 / 或 ~ ,表示当前目录所在的目录位置
- 绝对路径在输入时,最前面时 / 或 ~,表示从根目录/家目录开始的具体目录位置
4.创建和删除操作
4.1 touch
- 创建文件或修改文件时间
- 如果文件不存在,可以创建一个空白文件
- 如果文件已经存在,可以修改文件的末次修改日期
4.2 mkdir
- 创建一个新的目录
- 常用选项 -p ,可以递归创建目录
4.3 rm
- 删除文件或目录
注:使用rm需小心,删除后不可恢复
- 参数 -f :强制删除,忽略不存在的文件,无需提示
- 参数 -r :递归删除目录下的内容,删除文件夹时必须加此参数
5.拷贝和移动文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | tree [目录名] | tree | 以树状图列出文件目录结构 |
02 | cp 源文件 目标文件 | copy | 复制文件或目录 |
03 | mv 源文件 目标文件 | move | 移动文件或目录 / 重命名文件或目录 |
cp命令常用选项:
- **-i:**覆盖文件前给出提示是否进行覆盖
- **-r:**若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
mv命令常用选项:
- **-i:**覆盖文件前给出提示是否进行覆盖
6.查看文件内容
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
02 | more 文件名 | more | 分屏显示文件内容 |
03 | grep 搜索文本文件名 | grep | 搜索文本文件内容 |
6.1 cat
- cat命令可以用来查看文件内容、创建文件、文件合并、追加文件内容等功能
- cat会一次显示所有的内容,适合查看内容较少的文件
常用选项:
- -b:对非空输出行编号
- -n:对输出的所有行编号
注:Linux中有个 nl 命令等价于 cat -b
6.2 grep
- grep命令是Linux系统中一种强大的文本搜索工具
- grep支持正则表达式
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于取反) |
-i | 忽略大小写 |
常用两种正则:
- ^kui: 行首,搜寻以kui开头的行
- kui$: 行尾,搜寻以kui结束的行
7.其它关键命令
7.1 echo 文字内容
- echo会在终端中显示参数指定的文字,通常会和重定向联合使用
7.2 重定向 > 和 >>
- Linux运行将命令执行结果重定向到一个文件
- 将本应显示在终端上的内容 输出/追加 到指定文件中
其中:
- > 表示输出,会覆盖文件原有的内容
- >> 表示追加,会将内容追加到已有文件的末尾
7.3 管道 |
- Linux允许将一个命令的输出通过管道作为另一个命令的输入
- 可以理解为|的左右两端,左端输入东西,右端读取东西
常配合管道使用的命令:
- more:分屏显示内容
- grep:在命令执行结果的基础上查询指定的文本
二、远程管理常用命令
1.关机/重启
命令 | 对应英文 | 作用 |
---|---|---|
shutdown 选项 时间 | shutdown | 关机/重启 |
- 参数 -r 表示重启
- 不指定选项和参数,默认1分钟后关闭电脑
- 远程维护服务器时,最好不要关闭系统,而应选择重启系统
常用命令示例:
- 重启系统:shutdown -r now
- 立刻关机:shutdown now
- 指定在今天21:30关机:shutdown 21:30
- 系统在过10分钟后关机:shutdown +10
2.查看或配置网卡信息
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ifconfig | configure a network interface | 查看/配置计算机网卡配置信息 |
02 | ping 目标ip地址 | ping | 检测到目标ip地址的连接是否正常 |
常用命令示例:
- 查看网卡配置信息:ifconfig
- 查看网卡对应的ip地址:ifconfig | grep inet
- 检测到目标主机是否连接正常:ping 目标ip地址
- 检测本地网卡是否工作正常:ping 127.0.0.1
ping一般用于检测当前计算机与目标计算机之间的网络连接是否畅通
原理:网络上的机器都有唯一确定的ip地址,我们给目标ip地址发送一个数据包,对方就要返回一个数据包,根据返回数据包以及时间,可以确定目标主机的存在。
3.远程登录和复制文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ssh 用户名@ip | secure shell | 远程连接目标主机 |
02 | scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
Linux中SSH非常常用,通过SSH可以远程连接到目标服务器
SSH的特点:
- 安全的传输协议
- 数据传输加密,防止信息泄漏
- 防止DNS欺骗和IP欺骗
- 快速的传输协议
- 数据经过压缩,传输速度快
关于域名、IP地址和端口的概念:
- 域名: 一串用点分割的名字组成,例如www.baidu.com,是ip的别名,方便用户记忆
- IP地址: ipv4使用32位(4字节)表示地址,通常用点分制表示,例如192.0.2.235
- 端口: ip地址可以确定一台网络设备,而端口号确定这台网络设备上的应用程序
常见端口号:
序号 | 服务 | 端口号 |
---|---|---|
01 | SSH服务 | 22 |
02 | Web服务 | 80 |
03 | HTTPS | 443 |
04 | FTP服务 | 21 |
注:SSH的默认端口号为22,如果使用的是默认端口号,在连接时可以省略
3.1 SSH简单使用
命令格式:ssh [-p port] user@remote
- port是远程连接的端口,如果不指定,默认为22
- user是远程连接的用户名
- remote是远程机器的地址,可以是IP地址或域名
注:
- 在远程连接目标服务器后,可以通过exit命令退出
- ssh仅能在Linux或Unix系统中使用
- windows可以安装PuTTY或XShell客户端
- 实际工作中,端口一般不是22,需要手动指定port选项
3.2 SCP简单使用
命令格式:scp 用户名@ip:文件路径 用户名@ip:文件路径
- 选项 -r :递归复制该目录下的所有目录和文件
- 选项 -P :若远程SSH端口不是22,则需要使用大写字母-P指定端口
注:
- scp仅能在Linux或Unix系统中使用
- windows中可以安装FileZilla进行文件传输
三、用户权限相关命令
相关基本概念:
- 用户:Linux中不论登录本机还是远程服务器,都需要使用一个用户账号
- Linux用户管理包括用户和组的管理,组是多个用户的集合,对该集合内的用户进行统一管理
- Linux中不同用户对不同资源有不同的管理/使用权限
常见权限:
序号 | 权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|---|
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | excute | x | 1 |
ls -l 命令的详解:
以列表方式显示文件,从左到右依次为:
- 权限:第一个字符为d表示为目录,后续9个字符每3个为一组,分别表示文件拥有者、文件所在组和其他用户的权限
- 硬链接数量:通俗的讲,就是有多少种方式,可以访问当前文件/目录
- 拥有者
- 组
- 文件大小
- 文件最后修改时间
- 文件名称
1. chmod简单使用
chmod可以修改 用户/组 对 文件/目录 的权限
命令格式:chmod +/- rwx 文件名|目录名
2.超级用户
- Linux中root账号用于系统的维护和管理,对系统所有资源具有操作权限
- 不推荐直接使用root账号登录系统
- Linux初始化时,自动创建一个用户账号,称为标准用户
3.sudo的使用
- su是substitute user的缩写,表示切换用户账号
- sudo表示以其他身份执行命令,预设身份为root
- 使用sudo时必须输入密码,五分钟内不再重复输入
4.组管理命令
序号 | 命令 | 作用 |
---|---|---|
01 | groupadd 组名 | 添加组 |
02 | groupdel 组名 | 删除组 |
03 | cat /etc/group | 确认组信息 |
04 | chgrp 组名 文件/目录名 | 修改文件/目录的所属组 |
5.用户管理命令
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | useradd -m -g 组 新建用户名 | 添加新用户 | 1. -m自动建立用户家目录 2.-g指定用户所在的组,否则会建立一个和用户名同名的组 |
02 | passwd 用户名 | 设置用户密码 | 如果是普通用户,通过passwd可以修改当前账户的密码 |
03 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
04 | cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在/etc/passwd文件中 |
6.查看用户信息
序号 | 命令 | 作用 |
---|---|---|
01 | id [用户名] | 查看用户UID和GID信息 |
02 | who | 查看当前所有登录的用户列表 |
03 | whoami | 查看当前登录用户的账户名 |
- /etc/passwd 用于保存用户信息的文件
- /usr/bin/paddwd 用于修改用户密码的可执行程序
which命令可以查看命令所在的位置,例如which passwd
四、系统信息相关命令
1.时间和日期
序号 | 命令 | 作用 |
---|---|---|
01 | date | 查看系统时间 |
02 | cal | 查看日历,-y选项可以查看一年的日历 |
2.磁盘信息
序号 | 命令 | 作用 |
---|---|---|
01 | df -h | disk free 显示磁盘剩余空间 |
02 | du -h [目录名] | disk usage 显示目录下的文件大小 |
- -h选项表示以人性化方式显示大小
3.进程信息
进程就是当前正在执行的程序
序号 | 命令 | 作用 |
---|---|---|
01 | ps aux | process status 查看进程的详细状况 |
02 | top | 动态显示运行中的进程并排序 |
03 | kill [-9] 进程号 | 终止指定进程,-9表示强制终止 |
ps仅显示当前用户通过终端启动的应用程序
ps命令各个选项含义:
- a:显示终端上的所有进程,包括其他用户的进程
- u:显示进程的详细状态
- x:显示没有控制终端的进程
注:
使用kill命令时最好只终止当前用户开启的进程,不要终止root用户开启的进程,否可能导致系统崩溃。
退出top可以直接按q
五、文件压缩和软件安装
1.查找文件
- find命令非常强大,通常用来在特定目录下搜索符合条件的文件
- 格式:find [路径] -name “*.java”,查找指定路径下扩展名是.java的文件
- 若省略路径,表示在当前文件目录下查找
- find可以搭配通配符使用
2.软链接
序号 | 命令 | 作用 |
---|---|---|
01 | ln -s 被链接的源文件 链接文件 | 建立文件的软链接,通俗的说类似于windows下的快捷方式 |
注:
- -s选项创建的是一个硬链接文件
- 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
- 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍能够正常使用
软链接和硬链接的区别:

Linux中,文件名和文件数据是分开存储的
3.打包压缩
不同操作系统的打包压缩方式是不同的
- Windows常用rar方式
- Mac常用zip格式
- Linux常用tar.gz格式
3.1打包 / 解包
-
tar是Linux中最常用的打包/解包工具,可以将一系列文件打包到一个大文件,也可以将一个打包后到大文件恢复成一系列文件
-
tar命令格式:
- 打包文件:tar -cvf 打包文件.tar 被打包的文件/路径 …
- 解包文件:tar -xvf 打包文件.tar
-
tar选项说明
选项 含义 c 生成档案文件,创建打包文件 x 揭开档案文件 v 列出归档解档的过程,显示进度 f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 f必须放最后,其他选项随意
4.安装 / 卸载软件
- apt是Advanced Packaing Tool,是Linux下一款安装包管理工具
- 可以在终端中方便的安装/卸载/更新软件包
常用命令示例:
- 安装软件:sudo apt install 软件包
- 卸载软件:sudo apt remove 软件包
- 更新软件:sudo apt upgrade
评论区