深入理解 Linux I/O 系统!有图有真相

    民工哥2022-01-07 11:51:00.0
    当进程发起 write 系统调用写数据到文件中;内核拷贝了 write 参数指定的用户态数据到文件系统 Cache 中;从磁盘直接和用户态拷贝数据;2.系统调用的 read/write 和真实的磁盘读写之间也存在一层 buffer;则先将数据从磁盘加载数据到内核空间的读缓存(Read Buffer)中

    linux进程kill命令关不掉

    Jeremy_Lee1232022-01-06 23:30:00.0
    查看父进程号  2、kill -9 父进程号 子进程号;(默认) 2、进程kill关不掉 linux 的 kill 命令实际是向进程发送信号;3、杀死指定用户所有进程(慎用) #kill -9 $(ps -ef | grep ocdp) //方法一 过滤出ocdp用户进程;kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] 参数说明;使用 kill -l 命令列出所有可用信号

    谁再说不熟悉 Linux 命令,就把这个给他扔过去!

    民工哥2022-01-05 11:51:00.0
    # sar命令在这里用于查看TCP连接状态;#找出所有连接X服务器的进程;CPU信息 # 查看系统内核信息;du -sh * wc命令 # 查看文件里有多少行;# 查看当前CPU运行在32bit还是64bit模式下

    linux logrotate 配置说明

    猎人在吃肉2022-01-04 19:32:47.0
    /var/log/nginx/*.log { # 日志文件的路径;rotate 4 # 默认保留4个日志文件;create 640 nginx nginx # 使用该模式创建日志文件;dateext # 日志文件切割时添加日期后缀;rotate 1 # 只保留1个日志文件

    嵌入式最强调试终端神器—MobaXterm

    果果小师弟2022-01-01 21:01:52.0
    Serial作为调试终端 使用MobaXterm的可以作为串口终端使用;如果要设置终端相关的功能的话点击Terminal settings即可;终端软件和串口调试助手不一样;打开串口设置窗口以后先选择要设置的串口号;SSH登录Linux主机 点击Session

    Linux系统火焰图

    21aspnet2021-12-31 18:31:00.0
    //github.com/brendangregg/FlameGraph.git 生成火焰图 //生成脚本文件 #perf script -i perf.data &> perf.unfold                         #./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded                //执行完成后生成perf.svg图片;CentOS7.8 安装perf #yum install perf 执行perf 执行perf record 命令;每一层都是一个函数. 调用栈越深;用浏览器打开 perf.svg #./FlameGraph/flamegraph.pl perf.folded > perf.svg   火焰图是基于 stack 信息生成的 SVG 图片;y 轴表示调用栈

    Linux 测试端口是否 ping 的方法

    王坦.2021-12-23 16:09:05.0
    它也可以用来测试端口的连通性具体用法;是测试主机的 ip 地址 port;是测试主机的 ip 地址 port;telnet ip port;因此可以通过 telnet 来测试端口的连通性

    【开发/调试工具】【Linux】Linux办公环境下程序员常用软件一览

    花神庙码农2021-12-23 01:00:00.0
    欢迎大佬打赏;欢迎私信或者留言;支付宝及微信打赏方式;建议关注并收藏 如本文对你有些许帮助

    一文教会你离线Linux主机简易搭建YUM源私服

    闭关苦炼内功2021-12-23 00:55:17.0
    不过那是在线环境 CentOS-7.7.1908-YUM源-私服 成功搭建 下面开始本文 1、准备工作 1.1 下载centos的everything版本的iso光盘 1.2 然后通过U盘或者其他存储介质把iso上传到离线服务器 2、开始挂载 2.1 创建预先挂载目录 mkdir -p /mnt/iso 2.2 挂载iso文件 mount -t iso9660 -o loop centos7_xxx.iso /mnt/iso 3、配置本地yum源 3.1 先备份 mkdir -p /etc/yum.repos.d/repo_bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak 3.2 再配置 cat << EOF > /etc/yum.repos.d/local.repo [CentOS7-local] name=CentOS7 baseurl=file;///mnt/iso enabled=1 gpgcheck=0 EOF 4、生成本地缓存 4.1 清除之前的 yum clean all 4.2 生成本地缓存 一般都是使用

    一条命令就立马get到Linux主机IP地址,你get到没?

    闭关苦炼内功2021-12-22 23:33:37.0
    1、一条命令get到Linux主机IP地址 之 直接查看方式 hostname -I | awk '{print $1}' 2、一条命令get到Linux主机IP地址 之 参数方式 echo $(hostname -I | awk '{print $1}') 所以;Linux主机多个网络又不行了 那么如何得到一个准确的Linux主机的IP地址呐;查看Linux主机IP方法太多了 ip a ifconfig 但是想单纯只得到IP地址;之前啊写过文章 hostname -I(大写i)显示主机IP 但是最近呐又有新发现;你get到了没

    linux7实现增量同步目录

    好记忆不如烂笔头abc2021-12-22 22:49:28.0
    vi /etc/crontab */2 * * * * root DISPLAY=;0 /root/s220.sh > /root/s220.log 2>&1 vi /root/s220.sh #;启用图形界面生成批处理文件 xshell方式或本地起图形 cd /opt/FreeFileSync/ ./FreeFileSync   注意选择图中勾选的;(freefilesync必须要求带图形环境) yum groupinstall "X Window System" -y;yum install wget

    linux图形界面和dos界面切换

    好记忆不如烂笔头abc2021-12-22 21:49:09.0
    图形界面切换到DOS界面;Ctrl+alt+f2 2、DOS界面切换到图形界面;一、DOS和图形界面相互切换 1、最新版的应该是默认会进入图形界面;graphical.target代表开机时启动图形化界面 multi-user.target代表开机时启动DOS界面 2、设置开机启动图形界面 systemctl set-default graphical.target 3、设置开机启动DOS界面 systemctl set-defaultmulti-user.target 三、如果系统没有自带图形界面;输入init 5 切换到图形界面     或者     输入startx 二、设置开机默认启动DOS或图形界面 1、查看当前默认启动的是什么 systemctl get-default 注

    linux那些事之pin memory相关API

    Huo的藏经阁2021-12-22 21:33:45.0
    struct page **pages;struct page **pages;则还是通过触发page fault 申请物理内存) get_user_pages_remote get_user_pages_remote() 相比get_user_pages 而言 增加了mm参数;long pin_user_pages(unsigned long start;long get_user_pages_unlocked(unsigned long start

    linux下安装jetbrains-toolbox

    风车车的大表哥2021-12-22 19:04:12.0
    fhzheng@cuit.edu.cn 到官网下载jetbrains-toolboxxxx.tar.gz 下载到本地;sudo mv 文件夹名 /usr/local;cd /usr/local/jetbrains-toolbox;事先到官网注册学生帐号 是学生 有xxx@cuit.edu.cn的邮箱账号;tar zxvf jetbrains-boolbox....tar.gz

    Linux 创建用户并限制其访问目录,设置密码为永不过期

    蔡俊锋2021-12-22 17:00:41.0
    创建用户及访问目录 useradd sou -d /tmp/sou -M;会提示输入密码 修改密码为永不过期 chage -M 99999 sou;设置用户密码 passwd sou;我们评论见;将访问目录和所有子目录权限全部赋予用户 chown -R sou /tmp/sou

    【鸿蒙OS开发入门】09 - 启动流程代码分析之KernelOS:之启动Linux-4.19 Kernel内核 中do_basic_setup() 所干的大事

    CielleeX2021-12-22 13:22:37.0
    就是创建了 /sys/bus 和 /sys/devices/system 这两个sys 目录 int __init buses_init(void);1.5 firmware_init() 创建了 /sys/firmware 这个sys 目录 int __init firmware_init(void);1.4 classes_init() 创建了 /sys/class 这个sys 目录 int __init classes_init(void);static void __init do_initcall_level(int level);则是创建 /sys/dev、/sys/devices 两个sys 目录的kset

    Linux之less命令

    入门小站2021-12-22 11:48:02.0
    查看文件 > less rumenz.txt;Linux中的less命令主要用来浏览文件内容;浏览多个文件 > less 1.txt 2.txt;切换到 2.txt 全屏导航 ctrl + F - 向前移动一屏;命令格式 less [参数] 文件 命令功能 less和more类似

    全网首发:LINUX(UOS)对GTK/X11的窗口的差异

    柳鲲鹏2021-12-22 09:14:23.0
    Name[zh_CN]=泰山Window;Name=x11; 可以替换为Exec=/home/tsit/x11/x11 对比差异  具体代码参考之前的GTK/X11范例代码;实际上这是LINUX的问题;于是就产生了问题

    Linux文件系统笔记

    执假以为真2021-12-21 23:39:21.0
    操作系统会一次性读取 4KB 10、使用文件时要怎么样来能提高磁盘IO速度;实际会占用 1个 block(一般为4k)和一个 inode(一般为256byte) 9、向操作系统发起读取文件 2 Byte 的命令;新建一个空目录会占用磁盘空间 4KB + 1个 inode size 4、你知道文件名是记录在磁盘的什么地方吗;因为这可能会导致更多的磁盘 IO 7、一个目录下最多能建立多少个文件;那就是如果你知道新建的文件大概会占用多大的空间的话

    嵌入式 Linux 按键驱动

    Li-Yongjun2021-12-21 23:17:26.0
    设备树 r_gpio_keys 节点的 compatible 属性值为;驱动程序通过设备树节点中的 compatible(兼容性)来与设备节点进行配对;我们就可以很方便地在应用层读取 /dev/input/event1 文件来获取按键事件了 # hexdump /dev/input/event1;设备树节点与驱动程序的匹配 设备树和驱动既独立又联系;Sysfs=/devices/platform/r_gpio_keys/input/input1 符合预期 应用层读取按键状态 同时看到 r_gpio_keys 对应 event1 设备

    深入理解SELinux SEAndroid(最后部分)

    放大的EZ2021-12-21 22:15:00.0
    图13所示为Nexus 7中该文件的内容;这个就是sepolicy安全配置文件中的一个布尔变量;要检查的Object class(系统所支持的类在external/sepolicy/security_classes文件中定义);//加载SEAndroid中的policy文件 }   图11展示了Nexus 7上/sys/fs/selinux的内容;      //加载sepolicy文件     if (selinux_android_load_policy() < 0) {......}     selinux_init_all_handles()

    那些你必须会的linux基本操作

    LawsonAbs2021-12-21 21:27:26.0
    1)expr 1+3 2)echo $[ 1 + 3 ]//这里的echo 是为了显示出计算的结果 3)使用bc命令—>再输入表达式 检查某目录上的文件是否存在;/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用;/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用;/bin/bash表示脚本使用 /bin/bash;-5}【-前有空格】echo ${variable

    linux查看实时流量 输入 输出流量

    Linux运维日记2021-12-21 20:36:14.0
    do     OLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)     OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)     sleep 1     NEW_IN=$(awk  '$0~"'$NIC'"{print $2}' /proc/net/dev)     NEW_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)     IN=$(printf "%.1f%s" "$((($NEW_IN-$OLD_IN)/1024))" "KB/s")     OUT=$(printf "%.1f%s" "$((($NEW_OUT-$OLD_OUT)/1024))" "KB/s")     echo "$IN $OUT"     sleep 1 done;#

    linux使用c语言获取网关地址

    如山石2021-12-21 20:20:58.0
    sizeof( readline );60 if(readline[strlen(readline)-1] == '\n');62 readline[strlen(readline)-1] = 0;52 if ( NULL == fp );57 memset( readline

    深入理解SELinux SEAndroid之二

    放大的EZ2021-12-21 20:15:00.0
    c0.c1023 user u roles { r } level s0 range s0 - s0;#在SELinux中;sensitivity只定义了s0 category定义了从c0到c1023;s0 #在这种case中;真正设置sensitivity级别的是由下面这个关键词表示 dominance {s0 s1 s2.....sn} #在上述dominance语句中

    linux免密登录

    /root/.ssh/pub.3 [root@sht-sgmhadoopdn-03 ~]# ssh ~/.ssh/id_rsa.pub root@sht-sgmhadoopnn-01;ssh到sht-sgmhadoopnn-01的.ssh目录中 [root@sht-sgmhadoopnn-02 ~]# ssh ~/.ssh/id_rsa.pub root@sht-sgmhadoopnn-01;/root/.ssh [root@sht-sgmhadoopnn-01 .ssh]#  scp authorized_keys root@sht-sgmhadoopdn-03;则这5台互相通信了) ssh root@sht-sgmhadoopnn-01 date ssh root@sht-sgmhadoopnn-02 date ssh root@sht-sgmhadoopdn-01 date ssh root@sht-sgmhadoopdn-02 date ssh root@sht-sgmhadoopdn-03 date   ;sht-sgmhadoopnn-01 sht-sgmhadoopnn

    Linux之more命令

    入门小站2021-12-21 11:28:49.0
    设定每屏显示5行 > more -5 rumenz.txt;命令参数 - +n 从第n行开始显示;显示文件中从第3行起的内容 > more +3 rumenz.txt;并从前两行开始显示 > more +/3333 rumenz.txt;命令格式 more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 命令功能 more命令和cat的功能类似都是查看文件里的内容

    小tips:如何摆脱浏览器下12px的限制

    恪愚2021-12-21 10:06:46.0
    这样的 hack 需要明确规定缩放元素的height值;为什么对展开元素中的文字类.mmcce-text中使用height;就是放大2倍 值的绝对值 0<值<1;给被缩放元素显式设置一个大于等于其font-size的height值即可;上面代码中为什么.mmcce-valid-mj-period类中要用max-height

    【unix时间戳小示例】linux/unix系统获取unix时间戳

    谁吃薄荷糖2021-12-20 23:30:14.0
    //www.runoob.com/cprogramming/c-function-mktime.html https;C 库函数 - mktime() C 库函数 time_t mktime(struct tm *timeptr) 把 timeptr 所指向的结构转换为自 1970 年 1 月 1 日以来持续时间的秒数;pttm = gmtime(&rawtime );C 库函数 - gmtime() C 库函数 struct tm *gmtime(const time_t *timer) 使用 timer 的值来填充 tm 结构;//www.runoob.com/cprogramming/c-function-gmtime.html

    linux那些事之follow_page

    Huo的藏经阁2021-12-20 21:46:09.0
    return page;return page;struct page *page;page && pte_devmap(pte) && (flags & (FOLL_GET | FOLL_PIN))) {;则调用no_page_table返回 判断pud表是否是huge page pud表第一个entry是否huge page情况
关注微信