Linux基础
流、管道、重定向
在linux里面,这三个是命令行操作的核心概念,用于控制数据流向和实现复杂任务
数据流
Linux 将所有设备抽象为文件,通过文件描述符管理输入输出
管道
通过“|”符号连接多个命令,将前一个命令的输出作为另一个命令的输入
例子:(列出目录后筛选包含“text”的行)
1 | ls | grrep "text" |
重定向
覆盖写入
使用“>”,直接写入文件,若文件已存在则覆盖
例子:
1 | echo "content" > file.txt |
追加写入
使用“>>”,将内容追加到文件末尾
例子:
1 | echo "more content" >> file.txt |
错误重定向
使用“2>”将错误信息写入指定文件
混合重定向
“&>”将正确和错误信息同时写入文件
用户组和文件权限
用户组
用户账号
超级用户、普通用户、程序用户
组账号
基本组(私有组)
附加组(公共组)
UID and GID
UID(用户标识号)
GID(组标识号)
chmod
修改文件权限
1 | chmod 644 filename |
chown
更改文件所有者和所属组
1 | chown user:group filename |
环境变量
export
设置环境变量
1 | export VARIABLE_NAME=value |
procfs文件系统
procfs是一个虚拟文件系统,提供了关于内核和进程的信息
查看进程信息
1 | cat /proc/[PID]/status |
字节序
字节序只多字节数据在内存或网络传输中的存储顺序,分大端序和小端序
大小端序
大:高位字节存储在低地址处,低位字节存储在高地址处
小:与大端序相反
判断系统字节序
1 | lscpu | grep "Byte Order" |
调用约定
函数调用约定是规定函数调用过程中参数传递方式、堆栈平衡规则及返回值处理机制的编程规范。
查看函数调用约定
1 | objdump -D binary_file | grep "callq" |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 DIOINNET'S WORLD!




