【Linux】指令集(不断更新ing...)

本文介绍了Linux系统中常用的17个命令,包括ln、chmod、configure、mkdir等,详细解释了每个命令的功能、用法及参数,并提供了示例。

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

1、ln指令

     作用:建立链接

     使用:ln [option] 源目录文件 目标目录

     参数:-s,软链接;无参数,硬链接。

     详解:软链接是在目标目录做个映射,有点儿想Windows的快捷方式,只占用源目录的空间,不占用目标目录的空间;

             硬链接是在目标目录生成一个同样的文件,占用目标目录的空间。

             软、硬链接都是,源目录和目标目录的文件同步修改。

  sample: ln -s /usr/local/lib/libev.so.3 /usr/lib

2、chmod指令

      作用:修改权限

     使用:chmod [ugoa][+-=][rwxX] filename

     参数:

           u:文件所有者;g:与文件所有者同group的用户;o:除u、g的用户;a:所有用户

           +:加权限;-:减权限;=:唯一设定权限

    r:读权限,值为4;w:写权限,值为2;x:执行权限,值为1

     详解:chmod可用数字表示权限和用户,使用数字时,格式为:chmod abc filename,a代表user;b代表group;c代表Other

     sample:

             chmod 777 aaa.txt        作用等同于:chmod a=rwx aaa.txt

             chmod 771 aaa.txt        作用等同于:chmod ug=rw,o=x aaa.txt

3、configure

     作用:检查安装包特性的,比方说是否有bug,是否需要gcc等

     使用:./configure [option]

     参数:无,按装时,会安装到默认路径,usr/local ;--prefix=安装目录,安装时,会安装到指定目录

     sample:./configure --prefix=/usr ,安装到/usr目录

4、mkdir

     作用:新建目录

     使用:mkdir [option] dir

     参数:-p,会批量新建目录;-m [权限数字],会新增的目录设置权限

     sample1:mkdir -p dir1/dir2/dir3,会新增3个目录,且层次关系为dir1/dir2/dir3

     sample2:mkdir -m dir1,新增dir1目录,且权限为751

     sample3:mkdir -m 777 dir2,新增dir2目录,且权限为777

5、rmdir

     作用:只能删除目录为空的目录

     使用:rmdir [option] dir

     参数:-p,批量删除目录

     sample:rmdir -p dir1/dir2,则dir2和dir1均会被删除

6、cp

     作用:copy文件或目录

     使用:cp [option] soure1 soure2  ... direction

     参数:-u,源文件/目录与目标文件/目录有差异时,才覆盖;-a,复制目录,保持权限不变(备份); -r,复制目录,但权限改变;

             -i,如果存在的目标文件与源文件相同,则询问是否覆盖;-p,将源文件的属性一起copy过去;-l,相当于ln,给文件建立一个硬链接;-s,相当于ln -s,权限与源文件不同。

             -d,如果源文件是链接文件,则复制链接文件,而非链接文件的源文件。

     sample1:cp -r /dir1 /dir4,将目录dir1复制到目录dir4下面,且权限变为执行该操作的用户的权限

                   cp dir1/aa.txt dir2/bb.txt,将目录1下面的aa.txt文件,复制到dir2下面,且改名为bb.txt

7、rm

     作用:删除文件或目录

     使用:rm [fir] file/dir

     参数:-i,删除时询问;-r,删除目录;-f,强制删除,若不存在该文件,则不报错。

     sample1:rm -i file1,删除file1,删除前提是是否确认删除

     sample2:rm -r dir1/dir2(dir2为非空目录),删除dir2即其子目录

     sample3:rm ./-file1-,删除名为“-file1-”的文件<==>rm -- -file1-

     注:root下使用rm file/dir 默认为 rm -i file/dir,若不想使用-i,输入\rm即可。

8、cat

     作用:查看文件内容

     使用:cat [option] file

     参数:-n,为该文件每行内容加行号;-A,显示所有字符,包括特殊字符,如^代表敲击[Tab]等;-b,显示文件内容时,不显示最后一行空行。

     sample1:cat /dir/aa.txt,显示dir目录下的aa.txt文件内容

     sample2:cat -A dir/setup.py,显示dir目录下setup.py文件的内容,并显示所有特殊字符,如敲击[enter]($)、[Tab](^)的操作

   注:tac指令,使用与cat一样,显示内容是从最后一行开始显示的。

9、nl

   作用:显示文件,且为文件的内容加行号

     使用:nl [option] file

     参数:-b a,不管是不是空行,都标出行号;-b t,若有空行,则不标行号;

             -n ln,行号显示在屏幕最左边;-n rn,行号显示在行号列的最右边,且前面不加0;-n rz,行号显示在行号列的最右边,且前面加0(默认行号列宽为6位数字,即前面加5个0)

             -w,行号列的宽度

     sample1:nl dir/aa.txt <==> cat -n dir/aa.txt

     sample2:nl -b t -n rz -w 3 dir/aa.txt,显示dir目录下的aa.txt文件,且空行不显示行号,行号列宽为3位数字,行号在行号列居右显示

10、more

      作用:分页显示文件

      使用:more file

      操作:空格键,向下翻一页;回车,向下翻一行;/string,将字符作为关键字,向下搜索;:f,显示文件名和目前显示的行数;q,退出,不再显示文件内容;b或[Ctrl]+b,向上翻页。

      sample:more dir/aa.txt ,敲击回车,在输入“:f”,显示aa.txt的内容,显示文件名和目前显示的行数

11、less

      作用:同more

      使用:less fire

      操作:空格键,向下翻一页;【PageDown】,同空格键;/string,将字符串作为关键字,向下搜索;

             【PageUp】向上翻一页;?string,将字符串作为关键字,向上搜索;

              n,重复前一个搜索;N,反向重复前一个搜索;q,退出。

12、head

      作用:显示文件的前n行

      使用:head [option] file

      参数:-n number,从文件第一行算起,显示number行;number为负数时,代表从第number后算起,开始显示。

      sample1:head -n 10 aa.txt,显示aa.txt的前10行

      sample2:head -10 aa.txt,显示aa.txt第10行后面的内容

  注:若不带参数-n,则默认显示前10行。

13、tail

      作用:显示文件的后n行

      使用:tail [option] file

      参数:-n number,显示文件后number行;number前面有“+”时,表示显示后(总行数-number)行。

      sample1:tail -n 10 aa.txt,显示aa.txt的后10行

      sample2:tail -n +10 aa.txt,若aa.txt共有50行,则显示后40行的内容

      注:若不带参数-n,则默认显示后10行。

14、touch

      作用:创建新文件、修改文件时间(mtime、atime)

      参数:-d,通过字符串修改当前日期;-t,通过年月日分秒(如:0705120505--2007年5月12日5点5分)来修改当前日期

      sample:

        #ll aa.txt; ll --time=ctime aa.txt; ll --time=atime aa.txt   //先查看mtime,atime和ctime

           #touch -d "2 days ago" aa.txt

           #ll aa.txt; ll --time=ctime aa.txt; ll --time=atime aa.txt   //再次查看,只有mtime和atime变化

           #touch -t 0909090909 aa.txt              //将mtime和atime修改为2009年9月9日9点9分

          # ll aa.txt; ll --time=ctime aa.txt; ll --time=atime aa.txt   //再次查看

      注:atime在读取文件或执行文件时,就会更新;mtime在改变文件内容时,就会更新;ctime在改变文件属性、所有者、权限或链接时,才更新。

15、chattr

      作用:添加隐藏属性

      参数:+i,只有root可以设置该属性,有该属性的文件,不能被删除、改名、设置链接、也不能写入任何内容;

              +a,只有root可以设置该属性,有该属性的文件,只能增加资料,不能删除、修改文件。

      sample:

             #chattr -i aa.txt

         #rm aa.txt

            #再询问语句后输入“y”

            #提示无法删除

16、lsattr

      作用:显示文件隐藏属性

      参数:略

      sample:

    #chattr +aij aa.txt

    #lsattr aa.txt     //显示aa.txt的隐藏属性

17、更改密码

      步骤:1、输入passwd

              2、返回信息:

                   Changing password for user xxx.

                   Changing password for xxx

                    (current) UNIX password:

                3、输入原密码

                4、返回信息:

                     New UNIX password:

                5、按照本设置的密码规则,输入密码。不然会提示以下信息:

                     BAD PASSWORD:it is  too short

 18、查看磁盘空间

       1、命令 df -lh

       2、输出:按下列信息输出,其中size单位为G

           Filesystem    Size  Used Avail Use% Mounted on

 19、查看某一个目录下文件大小

       1、命令 ls -lht

       2、输出:

    [root@root resin]$ ls -lht
    total 52K
    drwxrwxr-x   2  root    root    4.0K Sep 14 10:11 logs
    drwxrwxr-x   2 root    root    4.0K Sep 13 19:45 log
    drwxrwxrwx   5  root    root   4.0K Sep 13 19:39 webapps


 

     

 ll aa.txt; ll --time=ctime aa.txt; ll --time=atime aa.txt

转载于:https://www.cnblogs.com/lele8662/archive/2011/05/05/2037746.html

### 集成 LVGL 和 FFMPEG 技术详解 #### 关于环境配置 为了在项目中使用 `FFMPEG` 进行音视频处理并将其显示到基于 `LVGL` 的图形界面,首先需要设置合适的开发环境。通过指定临时目录变量来优化编译流程是一个常见的做法。例如,在 macOS 或 Linux 下可以通过如下命令设定临时路径以便存储中间文件[^1]: ```bash export TMPDIR=/Users/ing/github/ffmp/ffmpeg-3.4.6/ffmpegtemp ``` 此操作有助于减少磁盘 I/O 并提升构建效率。 --- #### 头文件引入与功能调用 对于任何涉及多媒体流的操作而言,`FFMPEG` 提供的核心库至关重要。其中最基础的是 `libavformat` 库中的函数集合,它允许开发者轻松访问各种媒体容器格式以及编码器支持的信息。具体来说,要初始化输入设备可以利用以下 API 函数完成探测工作[^2]: ```c #include "libavformat/avformat.h" AVInputFormat *fmt = av_find_input_format("video4linux2"); if (!fmt) { fprintf(stderr, "Failed to find input format\n"); } ``` 上述代码片段展示了如何查找特定类型的输入源(这里是 V4L2 设备),这是后续读取摄像头帧的前提条件之一。 --- #### 数据转换逻辑分析 当从硬件捕获到原始 YUYV422 图像之后,通常情况下我们需要对其进行颜色空间变换才能适配目标平台的需求。比如将像素值映射至 RGB 色彩模型再进一步扩展为带透明度通道的 ARGB 表达形式[^3]: 以下是简化版的颜色空间转换伪码示例: ```c void yuyv_to_argb(uint8_t* src_yuyv, uint8_t* dst_argb, int width, int height){ for(int i=0;i<height;i++){ for(int j=0;j<(width>>1);j++){ // Extract Y U V components from source buffer... int offset = (i*width)+j; unsigned char Cb = *(src_yuyv + 2*(offset)); unsigned char Cr = *(src_yuyv + 2*(offset)+1); unsigned char Ya = *(src_yuyb + 2*(offset)-1); unsigned char Yb = *(src_yuyb + 2*(offset)); // Convert using standard formulas ... float R,G,B; B = Ya + ((Cr - 128)*(-0.00079f)); G = Ya + ((Cb - 128)*(0.00041f)) + ((Cr - 128)*(-0.00022f)); R = Ya + ((Cb - 128)*(-0.00105f)); // Clamp values between [0..255], then write into destination array. *(dst_argb++)=(unsigned char)(R<<24)|(G<<16)|(B<<8)|0xFF; } } } ``` 注意实际应用时应考虑性能优化措施如 SIMD 指令集加速等手段提高运行速度。 最后一步就是把这些经过处理后的图片传递给 lvgl 绘制引擎渲染出来即可形成最终视觉效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值