初学嵌入式之shell(2)

Linux文件属性(ll)

  1. -rwxr-x-wx 1 root root 890 Nov 7 22:41 config
  • -rwxr-x-wx:文件访问权限
  • 1:文件个数。如果是目录,它表示该目录下的文件个数,如果是文件,那数目为1
  • root:文件拥有者
  • root:文件所属的组
  • 890:文件的大小(byte)
  • Nov 7 22:41:文件创建时间
  • config:文件名
  1. -rwxr-x-wx
  • -:文件类型(1位)
  • rwx:文件拥有者权限(3位)
  • r-x:文件所属用户组权限
  • -wx:其他用户访问权限

‘-’:普通文件;r:可读;w:可写;x:可执行

Linux常用七组命令

第1组 导航命令

  1. 查看当前目录所有内容ls
  • 命令格式:$ ls [选项]
  • 示例:ls -al /home
  1. 切换工作路径
  • 命令格式:$ cd 工作路径
  • cd …
  • cd -r /home/dir 1 /tmp/
  1. 查看当前所在路径
  • 命令格式
  • 示例:$ pwd
  • 打印当前所在路径,告诉用户当前所在位置。

第二组 目录操作命令

  1. 删除空目录
  • 命令格式:$ mkdir dir1 dir2
  1. 删除目录或文件
  • 命令格式:$ rm -r /home/dir

第三组 文件操作命令

  1. 创建空文件
  • 命令格式:$ touch file
  • 文件大小为0
  1. 创建有内容的文件
  • $ echo 内容 或者 “内容” //输出到标准输出
  • $ echo 内容 或者 “内容” >文件 //重定向到文件,如果文件不存在则创建新文件
  • “>”表示输出到新文件;“>>”表示输出到现有文件末尾(不覆盖原有内容)
  • 示例:
  • echo I’m Dongxue > a
  • echo I’m Dongxue >> a
  1. 查看文件类型
  • file 文件
  • 示例:file hello

只能查看可读属性的文件,支持通配符“*”,一次性查看当前目录下所有文件类型

  1. 查看文件内容
  • 文本文件、C代码文件、shell脚本等ASCII码文件用Linux的命令可以查看
  • (1) more/less指令查看
  • 指示格式:$ more/less文件
  • 键盘q退出
  • (2) head/tail命令查看
  • 默认显示10行
  • 指示格式:$ head/tail [选项][参数]文件
  • 示例:
  • $ head/tail -n 20 install.cf
  • $ head/tail -c 200 install.cf
  • $ head/tail -c 1b install.cf
  • (3) cat 命令查看
  • 把一个或多个文件输出到标准设备上
  • 指令格式:$ cat 文件
  1. 文件合并
  • 利用cat,将标准输出重定向到某个文件,形成合并文件。
  • 格式:$ cat[选项]文件1 文件2… [>文件3]
  • 示例:$ cat -n hello.c Markfile > test
  1. 文件压缩/解压
  • .gz<-> gzip命令压缩的文件
  • .bz2<-> bzip命令压缩的文件
  • .tar<-> tar命令打包的文件
  • .tar.gz<-> tar命令打包后,再经过gzip压缩的文件
  • .tar.bz2<-> tar命令打包后,再经过bzip2压缩的文件

不同后缀名的文件需要使用不同的命令处理。

  • 命令格式:$tar [选项] 文件
  • 示例:
  • (1)解压 a.tar.bz2 文件,并显示详细信息:

$ tar -xjvf a.tar.bz2

  • (2)解压b.tar.gz 文件,指定解压到home/wdx/目录

$ tar -xzvf b.tar.gz -C /home/wdx

  • (3)将drivers目录的文件打包,创建一个.tar.bz2压缩文件:

$tar -cjvf drivers.tar.bz2 drivers

  1. 文件改名和移动
  • 格式:$ mv 源文件/目录/ 目的文件/目录
  • 示例:$ mv /home/test /home/test1

如果目的路径和源文件路径不同,进行移动操作;如果相同,进行改名操作。

  1. 文件复制
  • 格式:$ cp [选项]源文件/目录 目的文件/目录
  • 示例:$ cp -r /home/dir1 /tmp/
  1. 创建连接
  • 软(符号)连接和硬连接
  • 格式:$ ln [选项]源文件/目录 连接名
  • 示例:

$ ln oldfile hlink //为oldkpfile文件创建一个硬连接
$ ln -s oldfile slink //为oldkpfile文件创建一个符号连接

  1. 改变文件和目录权限
  • 格式:$ chmod [参数] 文件/目录
  • 参数who:

u 表示文件的所有者
g 表示与文件所有者同组的用户
o 表示“其它用户”
a 表示“所有用户”,它是系统默认值

  • 参数mode:

+添加某个权限
-取消某个权限
=赋予给定权限

  • 示例:chmod g+w hello.c //同组用户增加可执行权限

第四组 网络操作指令

  1. 网路配置
  • 指令格式:ip /ipconfig 网路接口 [选项] 地址/参数mode:
  • 注意:

(1)可能需要root权限;
(2)不需要重启系统,但不能复位保存;
(3)可同时配置多个参数

  • 示例:# sudo ipconfig eh1 192.168.1.136 netmask 255.255.255.0 broadcast 192.168.1.255 up
  1. ping 命令
  • 格式:$ ping 地址
  • 示例:$ ping 192.168.1.5

第五组 安装和卸载文件系统

  1. 文件系统挂载
  • 指令格式:# mount[参数][设备名][挂载点]
  • 挂载注意事项:

(1)挂载点必须是一个已经存在的目录;
(2)如果挂载点非空,则挂载之前的内容不可用,卸载后方可用;
(3)一个挂载点可被多个设备/文件重复挂载,后一次将覆盖前一次的内容;
(4)使用多个参数 -o参数的时候,-o只用一次,参数之间用半角逗号隔开。

  • 示例:

#mount /dev/cdrom /mnt #挂载CDROM
#mount -t vfat /dev/sda1/mnt #挂载VFAT格式的U盘
#mount -t nfs 192.168.1.138:/home/chenxibing/lpc3250 /mnt -o nolok #挂载网络文件系统NFS

  1. 文件系统卸载
  • 指令格式:# unmount 挂载点
  • 示例:# unmount /mnt

卸载已经挂载到/mnt目录下的文件

第六组 使用内核模块和驱动

  1. 加载(插入)模块
  • 指令格式:# insmod [选项]模块[符号名称=值]
  • 示例:

往系统插入beepdrv.ko驱动模块:#insmod beepdrv.ko
带符号参数插入模块:# insmod pcm-8032a.ko irq=3 addr=0x300

  1. 查看已经加载的模块
  • $ lsmod

实际上时列出/proc/modules的内容

  1. 卸载驱动模块
  • 指令格式:# rmmod[选项]模块
  • 示例:

卸载beepdrv.ko驱动,模块:#rmmod beepdrv.ko

  1. 自动处理可加载模块

一个模块依赖于个多模块时,自动解决模块间的依赖关系。

  • 指令格式:# modprobe [选项] 模块[符号名称=值]
  1. 创建设备节点
  • 用途:如果系统不能自动创建设备节点,需要为驱动创立对应的设备节点。
  • 格式:#mkmod 设备名 设备类型 主设备号 次设备号
  • 示例:创建LED设备:#mkmod/dev/led c 231 0

第七组 其它命令

  1. 临时获取root权限
  • 命令格式:$ sudo vim root.ini
  • 说明:

(1) sudo只能临时获取root一段时间(如5分钟),超过这段时间则需再次输入密码。
(2) su命令可以切换到root用户,但比较危险,不建议使用

  1. 文件同步
  • 指令:sync
  1. 文件搜索
  • $find 路径 -选项 其它
  • $find arch/arm/ -name mux*.C
  • 最常用的是根据文件名和查找
  1. 字符串搜索
  • 指令格式:$ grep 选项 表达式 [文件]
  • 示例:$ grep “pcf8563” - R arch/arm
  1. 管道操作
  • 格式:命令1|命令2
  • 范例:

(1)rpm -qalgrep tar
查询所有系统中安装的所有软件包,并从中找出带有字符串"tar"的。

其它分类和其它命令

  • 系统工作
  • 系统监测
  • 查找定位
  • 文件编辑
  • 目录管理
  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值