shell 命令大全

这篇博客介绍了Linux命令行中的一些实用操作,包括文件搜索、计数、排序、合并、去重和筛选等。例如,使用`grep`查找特定字符串,`wc`计算行数,`sort`进行排序,`awk`处理列数据,以及如何合并和筛选文件内容。此外,还展示了如何在shell脚本中执行这些操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强烈推荐:sort linux 命令 在线中文手册

目录

目录

1. 查看某个文件中特定字符串的个数

2. 查看一个文件共有多少行

3. 查看一个文件夹共有多少个文件

4.选取test1的某几行数据存入到test2中

5. 在命令行中计算

6. 排序

6.1 查看最后一列,并将最后一列按照从大到小的顺序排序

6.2 对auc.raw的第二列进行排序

6.3 查找某路径下,包含特定字符的文件,并以文件名的某个字段排序

7. 取出最后一列

8. 文件合并

8.1 将T.txt  和 P.txt 粘在一起

8.2 将多个文件合并到一个文件

9. 对auc.raw的第二列进行排序

10. 文件去重

11. 文件筛选

11.1 筛选包含“lan”的行

11.2 根据正则,筛选出符合条件的行

11.3 筛选出某一列为指定值的行

12. 存文件

13. 按M查看文件的大小


1. 查看某个文件中特定字符串的个数

查看的特定字符为“刘大耳”, 查看的文件为 cut_result.txt

grep -o "刘大耳" cut_result.txt | wc -l

2. 查看一个文件共有多少行

(1) cat corpus | wc -l

(2) wc -l corpus

(3) 同时查看两个文件共有多少行

wc -l corpus1 corpus2

3. 查看一个文件夹共有多少个文件

ls data | wc -l 

4.选取test1的某几行数据存入到test2中

(1) 将test1的前10行数据存入到test2中

awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}' test.txt > test1.txt

(2)Q: 是不是可以直接选第1列到第10列,不用枚举?

5. 在命令行中计算

245100 / 3066= ?

echo   $[245100 / 3066]

6. 排序

sort linux 命令 在线中文手册

6.1 查看最后一列,并将最后一列按照从大到小的顺序排序

cat a9a | awk ‘ {print $NF}’ | sort -nr | head

其中 sort -nr, -n 依照数值大小排序  -r 以相反的顺序排序(由大到小排序)

6.2 对auc.raw的第二列进行排序

cat auc.raw | sort -t$'\t' -k2g

6.3 查找某路径下,包含特定字符的文件,并以文件名的某个字段排序

文件目录

logs
  -- 20221101-app-3-log.log
  -- 20221101-app-2-log.log
  -- 20221101-app-1-log.log

find logs -name *app.log | sort -t$'-' -k3g

输出

logs/20221101-app-1-log.log
logs/20221101-app-2-log.log
logs/20221101-app-3-log.log

写成sh文件,和直接在命令行写有一些不同,如下

# bin/bash

files = $(find logs -name *app.log | sort -t$'-' -k3g)

for filename in $files:
do
    echo $filename
    # 可以对文件做一些其它操作
done

7. 取出最后一列

head P.txt | awk -F'[\]]' '{print $1}' | awk '{print $2}'

8. 文件合并

8.1 将T.txt  和 P.txt 粘在一起

paste T.txt P_2.txt

8.2 将多个文件合并到一个文件

cat  *.sql > merge.sql

9. 对auc.raw的第二列进行排序

cat auc.raw | sort -t$'\t' -k2g

10. 文件去重

sort -u 文件名

cat 文件名 | sort -u

11. 文件筛选

文本内容

lan-an001 1
lsd-sa00 2
0000 1
1111 0

11.1 筛选包含“lan”的行

grep lan test.txt

匹配到

lan-an001 1

11.2 根据正则,筛选出符合条件的行

grep -E "^[a-z]+-[a-z]+/d+" test.txt

匹配到

lan-an001 1
lsd-sa00 2

11.3 筛选出某一列为指定值的行

比如,筛选第二列为0的行

awk -F'\t' '{if($2==0) print $0}'  data.txt > new_data.txt

其中,-F'\t' 表示以 ‘\t’为分割符

12. 存文件

如果文件不存在,则创建新文件,如果文件存在,则覆盖原始文件:>

将内容追加到已经存在的文件:>>

13. 按M查看文件的大小

ls -lh

<think>好的,我现在需要处理用户关于ADB Shell命令的查询。用户想要查找相关的资料或大全,特别是命令列表和使用方法。首先,我得回顾一下用户提供的引用内容,看看有哪些信息可以直接利用。 用户提供的引用1到4都涉及ADB Shell命令的具体使用方法和实例,比如执行命令的方式、常用命令示例以及如何通过Python执行这些命令。引用5提到了使用subprocess模块处理命令执行,这可能对用户有帮助,如果他们想自动化执行ADB命令的话。 接下来,我需要组织这些信息,确保符合用户的结构要求。用户要求回答结构清晰,分步骤解决问题,并且引用正确。根据系统级指令,要使用中文回答,生成相关问题,并在引用处添加标识符。 首先,我应该概述ADB Shell的基本概念,包括它的作用和使用场景。然后,分点列出常用命令,比如设备连接、文件操作、包管理、日志查看等。每个命令需要给出示例,并正确引用对应的来源。例如,adb devices来自引用1,文件操作命令可能引用引用2或3。 同时,需要注意LaTeX格式的正确使用。虽然ADB命令本身可能不涉及数学公式,但如果有参数或变量,比如路径中的变量,需要用$...$包裹。不过在这个案例中,可能用到的LaTeX较少,但需要检查是否有需要的地方。 接下来是使用方法部分,需要详细说明如何在命令行中执行ADB命令,包括连接设备、执行Shell命令、使用参数等。这里可以引用引用1中的例子,比如adb shell后接命令,或者直接执行单条命令。同时,引用4提到的getprop和pm命令可以作为包管理和系统属性的例子。 然后,高级用法部分可以包括脚本执行、Python集成,这里需要提到subprocess模块,如引用5中的代码示例,说明如何通过Python调用ADB命令,并处理输入输出。 最后,生成相关问题。根据用户的示例,问题应该围绕ADB命令的深入使用,比如如何调试、如何自动化、如何查看系统属性等。需要确保问题与用户提供的内容相关,并且能够引导进一步学习。 在整理过程中,需要确保每个引用都正确对应到相应的内容,比如adb shell命令的示例来自引用1、2、3等。同时,检查是否有遗漏的重要命令或使用方法,比如文件推送、安装APK等常见操作。 可能还需要注意用户提到的“站内引用”是否覆盖了所有必要的信息,如果有缺失,是否需要补充其他常见命令,比如屏幕截图、录屏、输入事件等,但根据提供的引用,可能这些不在现有资料中,所以可能需要仅根据现有引用内容来回答。 总结一下,回答的结构应该是: 1. ADB Shell简介 2. 常用命令列表(分类别) 3. 使用方法(基础与高级) 4. 示例代码(Python集成) 5. 相关问题 确保每个部分都有正确的引用标注,并且LaTeX格式正确,尽管在这个主题中使用LaTeX的机会可能较少。最后检查是否有语法错误,命令是否正确,引用是否准确。</think>### ADB Shell命令详解及使用方法 #### 一、ADB Shell简介 ADB(Android Debug Bridge)是Android开发的调试工具,可通过命令行与设备交互。`adb shell`用于直接在设备终端执行Shell命令,支持调试、文件操作、系统属性修改等功能[^1][^2][^3]。 --- #### 二、常用命令列表(分类整理) 1. **设备连接与状态** - `adb devices`:查看已连接的设备列表[^1] - `adb connect <IP地址>`:通过Wi-Fi连接设备 2. **文件操作** - `adb push <本地路径> <设备路径>`:推送文件到设备 - `adb pull <设备路径> <本地路径>`:从设备拉取文件[^2] - `adb shell ls /sdcard`:查看设备目录内容 3. **应用管理** - `adb install <APK路径>`:安装应用 - `adb uninstall <包名>`:卸载应用 - `adb shell pm list packages`:列出所有已安装包名[^4] 4. **系统属性与日志** - `adb shell getprop`:查看系统属性(如版本号) - `adb shell setprop <属性名> <值>`:修改系统属性 - `adb logcat`:查看实时日志 5. **Shell命令** - `adb shell screencap /sdcard/screen.png`:截图 - `adb shell input tap 100 200`:模拟点击屏幕坐标[^4] --- #### 三、使用方法详解 1. **基础执行方式** - 单条命令:`adb shell "<命令>"`,例如: ```bash adb shell "cat /system/build.prop | grep 'product'" ``` - 进入交互模式:`adb shell`后输入命令 2. **脚本自动化** 在Python中调用ADB命令(需`subprocess`模块): ```python import subprocess cmd = "adb devices" res = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) print(res.stdout.read().decode('utf-8')) [^5] ``` 3. **环境配置** - 将ADB路径(如`D:\sdk\platform-tools`)加入系统环境变量,方便直接调用 --- #### 四、示例场景 **场景:批量安装APK** ```bash for apk in *.apk; do adb install $apk; done ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值