Linux - 常见命令
前言:linux命令的格式
command [-options] [parameter]
[-options]:选项,可用来对命令进行控制,也可以省略
[parameter]:传给命令的参数,可以是 0,1,或者多个
[]代表可选
options可以合并一起写,例如 ls -a -l -h = ls -alh
一、文件 / 目录

1.1 ls 查看目录内容
参数:
ls = list
-a = all


-a 示例:

-l -h示例(-h需要配合-l使用):

通配符:

* 示例

1.2 cd 切换目录
cd = change directory

相对路径 vs 绝对路径

1.3 wc -l 文件名,查看文件行数
https://blog.csdn.net/susu1083018911/article/details/140838989
二、目录管理
2.1 cd命令(切换目录)
![]()


2.2 ls命令 (列出目录)

2.3 pwd (查看当前所在目录)
print work directory
三、创建 和 删除 操作
3.1 mkdir [目录名称] 创建目录
make directory

![]()
3.2 rm [文件名] 删除指定文件
3.3 rm -r [目录名] 删除指定目录
直接从磁盘上删除,不能恢复

3.4 touch[文件名] 如果文件不存在,新建文件

四、拷贝 和 移动 文件

4.1 tree 以树状图列出文件目录结构
tree [目录名]
可能会出现无法找到tree命令,需要输入命令下载:
- sudo apt-get install tree


4.2 cp 复制文件或者目录
cp 源文件 目标文件

基本命令示例:
~/中的~:指的是用户的家目录
./中的. : 指的是当前目录~/Desktop

-i 示例:
让用户选择是否覆盖

4.3 mv 移动文件或目录
mv 源文件 目标文件

五、查看文件内容

5.1 cat 查看文件内容、合并文件等
cat 文件名


5.2 more 分屏显示文件内容
more 文件名

5.3 grep 搜索文本文件内容
grep 搜索文本 文件名
grep 命令用来查找文本,这里是最常用的几个操作例子:
- 查找文件
1.txt中含有"hello"字符串的行:grep hello 1.txt- 查找带有空格的长字符串"RunId Level Statistic"的行:grep 'RunId Level Statistic' run.log
- 查找多个带有空格的长字符串"RunId Level Statistic"或"DefId Level Statistic"的行(或关系):
#使用基本正则表达式时,元字符被解释为字面字符。要保留元字符的特殊含义,必须用反斜杠( \ )对它们进行转义。这就是为什么我们要转义 OR 运算符(|)。 grep 'RunId Level Statistic\|DefId Level Statistic' run.log #-E代表使用扩展正则表达式,不需要对 OR 运算符 (|) 进行转义 grep -E 'RunId Level Statistic|DefId Level Statistic' run.log
-
- 查找多个带有空格的长字符串"RunId Level Statistic"的行(与关系):
-
#必须同时满足三个条件(word1、word2和word3)才匹配 grep word1 file.txt | grep word2 |grep word3
详见:grep同时匹配多个关键字或任意关键字 https://www.jb51.net/article/257709.htm
- 使用正则表达式查找文件
1.txt中含有数字的行:grep -E "\d." 1.txt - 查找文件
1.txt中不包含"hello"字符串的行:grep -v hello 1.txt - 查找文件
1.txt中含有"movie"字符串的行以及它前面的3行:grep movie -B 3 1.xt - 查找文件
1.txt中含有"movie"字符串的行以及它后面的3行:grep movie -A 3 1.xt - 查找文件
1.txt中含有"4."字符串的行以及它前后3行:grep 4. -C 3 1.txt
-----------------------------------------------------------------------------


查询包含空格的关键字时,需要加上双引号:
![]()
模式查找(正则表达式)

六、其他
6.1 echo 文字内容

6.2 重定向> 和 >>


6.3 管道 |

七、远程管理常用命令

7.1 shutdown 关机/重启


常用命令总结:

7.2 ipconfig 查看/配置网卡信息

网卡 和 IP地址 是什么?

127.0.0.1 被称为本地回环/环回地址,一般用来测试本机网卡是否正常

活用管道,精简结果:

7.3 ping 检查目标主机是否连接正常

7.4 ssh 远程登录

SSH基础
linux, macos系统都是自带SSH软件的,windows需要自己安装。

SSH客户端使用
SSH服务器默认端口号是22

示例:

7.5 scp 远程复制文件
注意:
- scp命令的参数是大写的-P
- ssh命令的参数是小写的-p


示例:
不必连接到远程服务器,直接远程复制

7.6 ssh-keygen 设置公钥私钥,免密码登录
提示:有关SSH配置信息都保存在用户家目录下的.ssh目录下

公钥用来加密和认证,私钥用来解密和签名
ssh -keygen示例:一路回车

ssh-copy-id 示例:

7.7 设置别名

八、用户权限相关命令
8.1 权限/用户组 基本概念
权限:

用户组:

8.2 ls -l 扩展

从左到右,分别是:
权限组 硬连接数 拥有者 用户组 文件/目录大小 更新时间 文件/目录名称

硬连接数
- 文件的硬连接数只有1
- 目录的硬连接数 = 子目录个数 + 2(绝对路径访问,当前路径访问)
代表着有多少种途径访问到这个资源
8.3 chmod 修改权限
chmod = change mode




8.4 sudo 切换到 root 超级用户

九、组/用户管理
9.1 组管理

9.2 用户管理 - 增删改查

9.3 用户管理 - 查看用户信息


9.4 切换用户

su - 用户名 : 这里的-指的是,切换用户同时切换到新用户的家目录
十、系统信息相关命令

10.1 时间和日期


10.2 磁盘和目录空间


10.3 进程信息 - ps / top / kill

top示例
能快速找出谁占用内存/cpu最多

10.4 ps aux 和 ps -ef 区别
如果想查看进程的CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef
参考文献:CSDN博主「自由de单车」的原创文章 - https://blog.csdn.net/ljfrocky/article/details/50187165
选项含义:
-e:等价于 ‘-A’ ,表示列出全部的进程
-f:显示全部的列(显示全字段)
1)展示的列不同
-ef是System V展示风格

- UID:用户ID
- PID:进程ID
- PPID:父进程ID
- C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU时间
- CMD:完整的启动进程所用的命令和参数
aux是BSD风格

- USER:用户名称
- PID:进程号
- %CPU:进程占用CPU的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的
- STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
- STARTED:进程的启动时间
- TIME:CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
2)某一列过长,aux会截断,而ef不会
常用其他命令
查看某个服务有几个进程在跑
ps -ef | grep riskSumm(模糊搜索)

放大/缩小控制台的字体
以乌邦图为例:
- 缩小:ctrl + -
- 放大:ctrl + shift + =
为何放大不是ctrl + "+", 因为虚拟键盘默认不显示“+”,“+”的位置默认是“=”。只有按下shift才会变成“+”。
find 查找文件

查找名字中带“1”的文件:

ln -s 软链接

硬链接 vs 软链接(重点)

tar 打包/解包

注意:tar命令 只打包,不压缩

示例:

gzip 压缩/解压缩 - gzip / bzip2


apt 安装软件

配置软件源


浙公网安备 33010602011771号