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 安装软件

 

 

配置软件源

 

 

posted on 2021-03-13 13:38  frank_cui  阅读(40)  评论(0编辑  收藏  举报

导航

levels of contents