linux杂记

本文档提供了 Linux 操作系统中常用命令的快速查阅指南,涵盖了文件操作、权限管理、进程控制、网络配置等核心内容,适用于初学者及有一定经验的用户。

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

查看端口被什么程序占用

netstat -ntpl


iptables

进入/etc/sysconfig

查看iptables service iptables status

启动iptables service iptables start

关闭iptables service iptables stop

放开端口 iptables -I INPUT -p tcp --dport 3690 -j ACCEPT



ls -i:端口号



chmod 设置文件读取权限 chmod root=rwx,qiangzhang=x f1 chmod 775 f1 711所有者可读写,执行,其他用户只能执行 775所有者可以读写执行,其他只能读和执行 777所有用户有读写执行权限 
775代表拥有者权限 组权限 其他用户权限


1是执行2是写入4是读取:1)读写执行权限4+2+1 为7 2)读写权限4+2=6 3)读执行权限 4+1=5 4)写执行权限 2+1=3


chown 通过chown命令改变文件的用户或者组


ps -ef|grep 端口号或进程号


mkdir 创建目录


touch 创建文件


find -name '*.*' | xargs grep -l '1904022' 查找当前目录下所有包含关键字1794022的文件


su -u root 密码


vi 编辑文件


vi 删除多行 esc :3,5d


esc :  wq! 保存退出


#!使用哪种shell命令


#!/bin/bash


#注释


wc字符个数


替换字符 ${test:-"is null"} 空时输出但不替换变量
${test:+"is not null"} 不空时输出但不替换
${test:?"is null"}判断是否为空
${test:="replact"}替换


i 修改文件


dd输出行


dd -3 删除三行


vim查看文件


rm -rf f1 删除文件


mv f1 f1 移动文件 修改文件


date查看日期


paste 一行一行拼接
paste -d '=' 指定拼接分隔符
paste -s 单文件转为一行,然后cat


cut -c -3 -b 取指定区域


split ';'


join 相同的段拼接


cat 显示文件 链接文件在一个文件后面显示另一个文件


sort 排序 -r 倒序 -o 输出 -b 忽略空格 -f 忽略首字母大小写


sort|uniq -c 取重复的,并统计


more 分页显示 -3 每页三行 +5从第五行开始 -q退出


less


tail -f 显示后多少条


head -f 显示前多少条


管道|


重定向> 输出 <输入


exit 0退出当前shell,显示成功 


pwd 显示全路径


dirname 显示当前文件绝对路径+文件名的路径


basename 显示当前文件绝对路径+文件名的文件名


$0 显示绝对路径+文件名


``反引号,可执行命令


''不可执行命令,不可饮用变量,不可显示其他符号


“”可饮用变量,可显示其他符号


函数function f()


数组 myarr=(1 2 3)
变量饮用$a ${a} ${myarr[@]} ${myarr[1]} 
长度${#(a)} ${#(myarr[@])} $myarr取第一个


f 1 6 'ab'


$? 饮用返回值


return 返回值 否则默认最后一行返回


test判断条件是否成立
数字 ne eq lt le ge gt
字符串 == != z n
文件 !e !w !r


if() then fi   if() then else fi if() then elif() then elif() then else fi


注释 #


for var in ${arr[@]} do done


for var in do {}& done


sleep 3睡眠3秒


&后台进程,后台执行


wait 等待所有后台执行后再往下执行


read var 从控制面板读取


while() do done


expr 表达式计算 用``反引号包起来,特殊符号如*和/用\反斜杠
let c=($c * 9)
#!/bin/bash
c=2
let c=($c * 9)
echo "$c"
v=3
echo "`expr $v \* 3`"


#!/bin/bash
c=8
v=$(($c * 9))
echo "$v"




let 表达式计算


case var in 1) ;;2) ;;*) ;; esac


break


$1,$2function参数 或者shell脚本传递的参数


date -d $d +%Y%m%d 日期格式化


grep -q


if(NR > sindex && NR < eindex && flag != 0 ){echo -e "\033[31m$0\033[0m"}


echo 输出


shell可使用linux命令


awk行解析器
awk 'patter {action}' f1
模式{动作1;动作2}


awk -f awka1 f1
awk -F';' awka1 f1
awk  ‘patter’ f1 打印整行
相当于awk 'patter {print}' f1或者 awk 'patter {print $0}' f1
$0 代表整行 $1代表第一段
默认以空格或者制表符\t分段
NF 表示一行分为多少段 awk '/abc/ {print NF,$NF}' f1
NR 每一行的行号awk '/abc/,/bcn/ {print NR}' f1
字符串处理
length 长度 awk '/abc/ {print length($1)}' f1
index 位置 awk '/abc/ {print index($2,"zhang")}' f1
match 匹配 awk '/abc/ {print match($2,"zhang")}' f1
sub 替换 awk '/abc/ {print sub("zhang","wang")}}' f1 不会改变文件
substr 截取 awk '/ab/ {substring($0,12);print}' j1
split 分割


 
内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
Linux上安装Wayland,你可以按照以下步骤进行操作: 1. 确保你已经安装了所需的支持库。可以使用以下命令安装所需的库: ``` sudo apt install libwayland-dev libegl1-mesa-dev libglm-dev wayland-protocols libwayland-bin extra-cmake-modules ``` 2. 编写一个Hello Wayland的C++程序。你可以创建一个名为hellowayland.cpp的文件,并在其中添加以下代码: ```cpp #include <wayland-server.h> #include <wayland-client.h> #include <iostream> using namespace std; int main(){ cout<<"Hello wayland"<<endl; } ``` 3. 编写一个Makefile来编译程序。你可以创建一个名为Makefile的文件,并在其中添加以下内容: ```makefile all: g++ -o hellowayland.out hellowayland.cpp -lwayland-client -lwayland-server -lwayland-cursor -lwayland-egl ``` 4. 使用CMake来生成Makefile。你可以运行以下命令来生成Makefile: ``` cmake . ``` 5. 使用make命令来编译程序。你可以运行以下命令来编译程序: ``` make ``` 6. 运行程序。你可以运行以下命令来运行程序: ``` ./hellowayland.out ``` 这样,你就可以在Linux上成功安装和运行Wayland了。请注意,这只是一个简单的示例,你可以根据自己的需求进行更复杂的开发。 #### 引用[.reference_title] - *1* *2* [Linux 音视频开发杂记之三-wayland环境搭建](https://blog.youkuaiyun.com/u010359310/article/details/127874975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [archlinux安装,wayland环境Hyprland桌面](https://blog.youkuaiyun.com/weixin_45381257/article/details/130569290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值