当前位置: 首页 > news >正文

【嵌入式】Linux的常用操作命令 (1)

文章目录

  • 文件及目录操作命令
    • 文件&目录操作
      • pwd 命令
      • ls 命令
        • ls 命令常用选项
      • cd 命令
      • mkdir 命令
      • rmdir 命令
      • rm 命令
      • cp 命令
      • mv 命令
      • find 命令
      • grep 命令
      • which 命令
      • stat 命令
    • 文件内容查看相关命令
      • cat 命令
      • more 与 less 命令
        • head 与 tail 命令
    • 改变文件访问权限的命令
      • chmod 命令

文件及目录操作命令

  • pwd:显示用户当前所处的目录
  • ls:列出目录下的文件清单
  • cd:改变当前目录
  • mkdir:建立目录
  • rmdir命令 :删除空目录
  • cp:拷贝文件
  • rm:删除文件/目录
  • mv 命令:移动文件或目录
  • find:查找文件
  • grep:按内容查找文件
  • which 命令:确定程序的具体位置
  • stat 命令:显示文件或目录的各种信息

文件&目录操作

pwd 命令

  • 功能:该命令显示用户当前所处的目录(当前工作目录的绝对路径)

  • 用法:pwd

  • 举例:

    [root@localhost ~]pwd
    /root
    

    说明当前目录是 /root

ls 命令

  • 功能:显示指定工作目录中所包含的内容(列出的是文件的名字,而不是文件的内容)

  • 用法:ls [选项] [文件目录列表]

  • 举例:

    ls --version
    ls --help | more
    
ls 命令常用选项
  • -a显示所有文件及目录 (ls规定将文件名或目录名中开头为 “.” 的视为隐藏档,不会列出)

  • -A:同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)

  • -l除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出

    权限解释ls -l输出):

    在这里插入图片描述

    权限部分共10个字符

    • 第一个字符表示文件类型- 表示普通文件,d 表示文件夹,b 表示块设备文件,c 表示字符设备文件,l 表示链接文件)

    • 剩下的 9 个分成三组(所有者/同组用户/其他用户),每组中三个分别表示 r 可读,w 可写,x 可执行。如果是字母表示有这个权限,如果是 - 表示没这个权限,文件权限也可用数字表示

      字符表示数字表示对应权限
      -0无权限
      x1只执行(目录:进入)
      w2只写
      r4只读
      wx3写和执行
      rx5读和执行
      rw6读、写
      rwx7读、写和执行

      【eg.】600 表示拥有者具有读写权限,其它用户无任何权限;777 表示拥有者、同组用户、其他用户均具有所有权限

  • -R递归显示下层子目录

  • -c:按列输出,纵向排序

  • -x:按列输出,横向排序

  • -X:按扩展名排序显示

  • -t:根据文件建立时间的先后次序列出

  • --help显示帮助信息

  • --version:显示版本信息

cd 命令

  • 功能:切换当前工作目录

  • 用法:cd [-L] [-P] [dir]

    • dir 指出要进入的目标目录
    • 如果 dir 为 “…”,则进入上一级目录
      如果dir为 “/”,则进入根目录
      不加参数或参数为 “~”,默认切换到用户主目录
    • -L:选项强制使用符号连接
    • -P:选项使用物理目录结构
  • 举例:

    [root@localhost ~]cd Desktop   		#进入子目录Desktop
    [root@localhost Desktop]cd /Home	#进入根目录下的Home
    [root@localhost Desktop]cd ../.. 	#返回两级目录
    

mkdir 命令

  • 功能:创建目录,目录可以是绝对路径,也可以是相对路径

  • 用法:mkdir [参数] 目录名

    • 参数

      -p:建立目录时,如果父目录不存在,则此时可以与子目录一起建立

  • 举例:

    • 在当前目录下建立dir1目录

      [root@localhost ~]mkdir dir1
      
    • dir2目录下建立bak目录,如果dir2目录不存在,那么同时建立dir2目录

      [root@localhost ~]mkdir -p dir2/bak
      

rmdir 命令

  • 功能:删除目录,目录同样可以是绝对路径,也可以是相对路径,删除目录时,被删除的目录下应无文件或目录存在

  • 用法:rmdir [参数] 目录名

    • 参数

      -p:如果父目录下无其他目录,父目录与子目录一起删除

  • 举例:

    • 删除当前目录下的dir1目录

      [root@localhost ~]rmdir dir1
      
    • 删除当前目录下的dir2/bak目录。删除目录bak时,如果父目录dir2下无其他内容,则一起删除dir2目录

      [root@localhost ~]rmdir -p dir2/bak
      

rm 命令

  • 功能:删除文件或目录

  • 用法:rm [参数] 文件名或目录名

    • 参数
      • -f:删除文件或目录时不提示用户
      • -i:删除文件或目录时提示用户
      • -r:递归删除目录,即包含目录下的文件和各级子目录
  • 举例:

    • 删除当前目录下的所有文件,但子目录和以“.”开头的文件(即隐含文件)不删除

      [root@localhost ~]cd dir1
      [root@localhost dir1]rm *	
      

      星号(*)在Linux中是通配符,代表当前目录下所有非隐藏的文件和目录

    • 删除当前目录下的子目录dir11,包含其下的所有文件和子目录,并且不提示用户确认

      [root@localhost dir1]rm –rf dir11
      

cp 命令

  • 功能:拷贝文件或目录

  • 用法:cp [参数] 源文件 目标文件

    • 参数
      • -f:如果目标文件或目录存在,先删除它们再拷贝(即覆盖),并且不提示用户
      • -i:如果目标文件或目录存在,提示是否覆盖已有的文件
      • -r:递归复制目录,即包含目录下的各级子目录
  • 举例:在当前目录下建立dir1dir2目录,在dir1中建立dir11,在dir2中建立dir21,拷贝当前目录中的dir1目录(含子目录)至dir2中,文件名不变

    [root@localhost ~]mkdir –p dir1/dir11
    [root@localhost ~]mkdir –p dir2/dir21
    [root@localhost ~]cp –r dir1 dir2/
    

mv 命令

  • 功能:移动文件或目录,也可以用来更改文件名或目录名

  • 用法:mv [参数] 源文件或目录 目标文件或目录

    • 参数
      • -i:如果目标文件或目录存在时,提示是否覆盖目标文件或目录
      • -f:不论目标文件或目录是否存在,均不提示是否覆盖目标文件或目录
  • 举例:

    • test更名为ztest

      [root@localhost ~]mv test ztest
      
    • 把当前目录下的ztest移动到dir1目录下

      [root@localhost ~]mv ztest  dir1/
      

find 命令

  • 功能:查找文件所在的目录

  • 用法:find 路径 匹配表达式

    • 路径:可以是多个路径,路径之间用空格隔开查找时,会递归到子目录
    • 匹配表达式:
      • -name:指明要查找的文件名,支持通配符 “*” 和 “?”
      • -user username:查找文件的拥有者为username的文件
      • -group grpname:查找文件的所属组为grpname的文件
      • -atime n:指明查找前n天访问过的文件(仅第n天这一天)
      • -atime +n:指明查找前n天之前访问过的文件
      • -atime -n:指明查找前n天之后访问过的文件
      • -size n:指明查找文件大小为n块(block)的文件
      • -print:搜索结果输出到标准输出设备
  • 举例:

    • 从根目录起查找文件名的前四个字母为test的文件

      find  / -name test*
      
    • 在目录/dev中查找所属组为tty的文件

      find  /dev -group tty
      

grep 命令

  • 功能:查找文件中包含有指定字符串的行。文件名可以使用通配符 “*” 和 “?” ,如果要查找的字符串带空格,可以使用单引号或双引号括起来

  • 用法:grep [参数] 要查找的字符串 文件名

    • 参数
      • -num:输出匹配行前后各num行的内容
      • -b:显示匹配查找条件的行距离文件开头有多少字节
      • -c:显示文件中包含有指定字符串的行的个数,但不显示内容
  • 举例:在文件test.c中查找所有含有字符串“int”的行,如果找到,显示该行及该行前后各2行的内容

    grep -2 int test.c
    

which 命令

  • 功能:确定程序的具体位置

  • 用法:which [参数] 程序名

  • 举例:输出find命令所处的位置

    [root@localhost ~]which find
    /usr/bin/find
    

stat 命令

  • 功能:显示文件或目录的各种信息

  • 用法:stat 文件名

  • 举例:显示文件passwd的文件大小、文件权限、文件所有者、所属组、被访问时间、修改时间、变更时间等内容。

    [root@localhost ~]stat /etc/passwd
    File: “/etc/passwd”
    Size: 1881 Blocks: 16 IO Block: 4096 		#一般文件
    Device: fd00h/64768d Inode: 1803507 Links: 1
    Access: (0644/-rw-r--r--) Uid: (0/ root) Gid: (0/root)
    Access: 2009-09-08 10:31:20.000000000 +0800
    Modify: 2009-07-09 14:03:30.000000000 +0800
    Change: 2009-07-09 14:03:30.000000000 +0800
    

文件内容查看相关命令

cat 命令

  • 功能:显示文件的内容

  • 用法:cat 文件名1 文件名2 …

  • 举例:把文件 test.ctest1.c 等的内容在标准的输出设备上显示出来

    cat  test.c test1.c 
    

more 与 less 命令

  • 功能:分页查看长文件
    • more:仅支持向下翻页
    • less:支持上下翻页(更强大)
  • 操作键:
    • more:用【Enter】键可以向后移动一行;用【Space】键可以向后移动一页;用“q”键可以退出
    • less:用【Pgup】键可以向前移动一页,用【Pgdn】键可以向后移动一页,用向上光标键可以向前移动一行,用向下光标键可以向后移动一行。用【Enter】键可以向后移动一行;用【Space】键可以向后移动一页;用“q”键可以退出
  • 用法:
    • more:more 文件名
    • less:less 文件名
head 与 tail 命令
  • 功能:

    • head显示文件开头部分(默认前10行)
    • tail显示文件末尾部分(默认后10行)
  • 参数:

    • head:

      -n num:显示文件的前num行
      -c num:显示文件的前num个字符
      缺省时,head显示文件的前10行

    • tail:

      -n num:显示文件的末尾num行
      -c num:显示文件的末尾num个字符
      缺省时,显示文件的末尾10行

改变文件访问权限的命令

chmod 命令

  • 功能:改变文件访问权限

  • 用法:chmod [option] … MODE[,MODE]… FILE…

    • option是命令选项,常用的选项有:

      • -c:若该档案权限确实已经更改,才显示其更改动作
      • -f:若该档案权限无法被更改也不要显示错误讯息
      • -v:显示权限变更的详细资料
      • -C:以递归的方式逐个变更
    • MODE为权限模式,是权限的符号表示

      权限符号表示的格式为[ugoa…][+-=][rwx…]

      • “ugoa…”:
        1. 文件的所有者(u)
        2. 组用户中除文件所有者外的其他用户(g)
        3. 除组用户外的其他用户(o)
        4. 所有用户(a)
      • “+ - =”是操作算子:为所选用户增加权限(+)、为所选用户移除权限(-)、为所选用户指定权限(=)
      • “rwx”为用户选择新权限:读权限(r)、写权限(w)、执行文件或访问目录的权限(x)
  • 举例:

    • 新建hello.c文件

      vi hello.c
      
    • 查看hello.c的权限

      ls –l hello.c
      -rw-r--r-- 1 root root  5 march  1 10:26 hello.c
      
    • 移除所有人对文件hello.c的读、写及执行的权限

      chmod a-rwx hello.c
      ls –l hello.c
      ---------- 1 root root 5 march  1 10:26 hello.c
      
    • 为文件hello.c的所有者增加执行权限

      chmod u+x hello.c
      ls –l hello.c
      ---x------ 1 root root 5 march  1 10:26 hello.c
      
    • 将文件hello.c设为该文件所有者所属组的其他用户可写,但其他人不能写

      chmod g+w hello.c
      ls –l hello.c
      ---x-w---- 1 root root 5 march  1 10:26 hello.c
      
    • 用8进制数为文件 hello.c 增加/删除 权限

      chmod  000  hello.c
      ls –l hello.c
      ---------- 1 root root 5 march  1 10:26 hello.cchmod  124  hello.c
      ls –l hello.c
      ---x-w-r-- 1 root root 5 march  1 10:26 hello.cchmod  777  hello.c
      ls –l hello.c
      -rwxrwxrwx 1 root root 5 march  1 10:26 hello.c
      
http://www.dtcms.com/a/324929.html

相关文章:

  • SAP 121移动类型的说明
  • C野指针的概念与应对(源头、阻隔、定位)
  • STM32定时器与延时系统完整笔记
  • 【C#补全计划】万类之父中的方法
  • 使用单调栈解决力扣第42题--接雨水
  • 亚麻云之静态资源管家——S3存储服务实战
  • SSH远程连接TRAE时显示权限被拒绝检查方案
  • 游泳学习 — 蛙泳
  • 变量详解:创建初始化与内存管理
  • go加速配置(下载第三方库)
  • go语言运算符
  • Java变量的声明规则与Scanner的应用
  • 算法训练营day44 动态规划⑪ 1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列
  • BGP实验
  • (三)全栈(部署)
  • 数学建模——回归分析
  • 解决 Linux 下 “E: 仓库xxx没有数字签名” 问题
  • C++高频知识点(十九)
  • CentOS7.9 离线安装mysql数据库
  • Python vs MATLAB:智能体开发实战对比
  • 安卓录音方法
  • Python描述符进阶:自定义文档与属性删除的艺术
  • 可视化程序设计(4) - 第一个图形窗口程序
  • 从 GPT‑2 到 gpt‑oss:解析架构的迭代
  • BandiView:高效多功能的图像查看和管理工具
  • 系统调用sigaction的工作流程
  • 算法训练之队列和优先级队列
  • Ubuntu 24.04 适配联发科 mt7902 pcie wifi 网卡驱动实践
  • MySQL的存储引擎:
  • C/C++内存管理函数模板