Linux相关

IO 多路复用

Linux IO 多路复用 epoll 机制 | Android Framework

在 Linux 中:

  • IO 就是对文件的读写操作
  • 多路是指同时读写多个文件
  • 复用是指使用一个程序处理多个文件的同时读写
    问题来了,为什么需要多路复用,为了快

命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
touch 用于创建一个文件
touch test
mkdir 用于创建目录
mkdir -p dir/dir2/dir3

#删除文件
rm file
#删除文件夹
rm -r dir
#强制删除
rm -f file
## 强制删除文件夹
rm -rf dir
tree . -L 2 查看目录

在图像界面打开文件夹
nautilus /opt

sudo apt-get install aapt ##安装软件用apt

sudo vim 保存没有权限的文件 :wq!
https://www.cnblogs.com/wudaojiuxiao/p/17051622.html
https://blog.csdn.net/lianghecai52171314/article/details/111098573

找文件

比如 service_manager.c

1
find . -name "service_manager.c"

找文件内容,找 recyclerview 库

1
find . -name "Android.bp" | xargs grep "name: \".*recyclerview.*\""

find . -name “Android.bp”: 这个指令会从当前目录(. 代表当前目录)开始,递归地查找所有名为”Android.bp” 的文件。
|: 管道符号,它将前一个命令的输出作为下一个命令的输入。

xargs grep “name: ".*recyclerview.*"“: 这个指令会接收上一条find指令找到的所有”Android.bp” 文件路径,并将这些路径作为参数传递给grep 命令。
然后, grep 命令会在这些文件中查找与正则表达式 “name: ".*recyclerview.*"“ 匹配的行。
正则表达式 “name: ".recyclerview."“ 意味着匹配包含字符串 “name:”, 紧跟任意字符(.)并且包含字符串 “recyclerview” 和任意字符(.)以及最后是双引号(“) 的行。

总结起来,这条命令就是查找当前目录及其子目录下所有名为 “Android.bp” 的文件,并检测其中是否有包含特定格式(即”name:” 后跟任意字符并且有 “recyclerview”, 再跟上任意字符和双引号)文本行

grep -r “messaging.apk”
grep 是一个用于在文件中搜索指定模式(字符串)的命令。
-r 是 grep 命令的选项之一,代表递归搜索(recursive search)。这个选项告诉 grep 命令在当前目录及其所有子目录中进行搜索。

. 表示当前目录。这个命令将在当前目录及其子目录中搜索文件。
因此,grep -r “messaging.apk” . 命令会在当前目录及其所有子目录中搜索包含 “messaging.apk” 的文件行,并将匹配的行打印输出到终端。

1
find . -name "ComponentActivity.java"

找文件夹

sudo find / -name “Android Studio
这个命令会从根目录(”/“)开始搜索所有包含”Android Studio”关键字的文件和文件夹。

环境变量

env

1
2
3
4
5
6
vim ~/.bashrc
export PATH="/path/to/your/directory:$PATH"
source ~/.bashrc
echo $PATH

export PATH=$PATH:/opt/android studio/bin

export JAVA_HOME=/home/sixrain/aosp11/prebuilts/jdk/jdk11/linux-x86/bin/java/
export PATH=$PATH:$JAVA_HOME/bin

su root 权限

chmod 777 file.txt
chmod -R 777 folder_name
r 表示读取权限;
w 表示写入权限;
x 表示执行权限;

  • 表示无权限。
    例如,数字 7 表示所有者、用户组和其他用户都具有读取、写入和执行权限,数字 6 表示所有者和用户组具有读取和写入权限,其他用户没有任何权限。
    chown -R sixrain ~/aosp 更改文件的所有者

sudo chmod -R 777 out
sudo chmod -R 777 aosp

使用htop查看程序运行的内存状态

htop 是一个在 Linux 系统中常用的系统监控工具,它可以实时地展示系统中各个进程的资源占用情况,如 CPU、内存等。相比于传统的 top 命令,htop 提供了更友好的界面和更方便的操作方式。

以下是一些基本使用方法:

  1. 安装 htop:不同的Linux发行版可能有不同的安装命令。在Ubuntu或Debian上,你可以使用 sudo apt-get install htop 来安装。而在CentOS上,则可以使用 sudo yum install htop.
  2. 启动 htop:在终端输入 htop 并回车即可启动。
  3. 理解界面:从上至下分别为系统概览(包括CPU、内存、交换空间利用率等)、进程列表和操作提示。
  4. 操作指南
    • 上下箭头: 在进程列表中移动。
    • F1 或者h: 显示帮助。
    • F2 或者S: 进入设置菜单。
    • F3 或者/ : 搜索进程。
    • F4 或者: 根据用户过滤进程。
    • F5 或者t: 展示/隐藏树状视图。
    • F6,>,<,: 根据CPU%,MEM%,TIME+等排序进程列表
    • F9 k: 结束选定进程.
    • F10 q : 退出htop.
      这只是基础功能介绍,你还可以通过F2来自定义显示内容或颜色主题等。
      image.png

固定IP

[[Android 系统开发工具推荐#[ ](https //yuandaimaahao.github.io/AndroidFrameworkTutorialPages/002.%E7%8E%A9%E8%BD%ACAOSP%E7%AF%87/002.%20%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E6%8E%A8%E8%8D%90.html _1-2-ssh-%E5%AE%A2%E6%88%B7%E7%AB%AF-tabby-terminal) 1.2 ssh 客户端 Tabby Terminal|ssh的安装]]

1
2
3
4
5
6
7
8
9
10
11
12
13
network:
version: 2
renderer: NetworkManager
ethernets:
ens33: # 网卡名称
dhcp4: no # 关闭dhcp
dhcp6: no
addresses: [192.168.123.102/24] # 静态ip,根据自己网络情况配置
gateway4: 192.168.123.1 # 网关,根据自己网络情况配置
nameservers:
addresses: [8.8.8.8, 114.114.114.114] #dns,根据自己网络情况配置

//192.168.123.102

SELinux

SELinux(Security-Enhanced Linux)是一种Linux内核的安全模块,它为Linux系统提供了访问控制安全策略。在Android中,SELinux以强制访问控制(MAC)形式存在,用于增强系统安全性。


Linux相关
http://peiniwan.github.io/2024/04/7a4cc1315abd.html
作者
六月的雨
发布于
2024年4月6日
许可协议