嵌入式Linux系统编程学习之二常用命令

文章目录

  • 嵌入式Linux系统编程学习之二常用命令
  • 前言
  • 一、常用命令
    • 1.su(用户切换)
    • 2.useradd(添加用户)
    • 3.passwd(修改密码)
    • 4.进程相关(系统管理)命令
      • 4.1 ps命令(一次性查看进程)
      • 4.2 kill命令(杀死指定进程名的进程)
      • 4.3 top命令(动态监视任务)
      • 4.4 jobs命令(观察后台进程)
    • 5.fdisk(磁盘相关命令)
    • 6.pwd(显示工作目录)
    • 7.cd(改变工作目录)
    • 8.ls(查看文件/目录)
    • 9.mkdir(创建目录)
    • 10.cp(文件/目录复制)
    • 11.mv(文件/目录改名、移动)
    • 12.rm(文件/目录删除)
    • 13.cat(查看文件内容)
    • 14.more(分页显示文件内容)
    • 15.less(分页显示文件内容)
    • 16.管道与命令替换符
    • 17.umask(文件/目录创建掩码)
    • 18.chgrp(改变文件/目录所属的组)
    • 19.chown(更改文件/目录的所有者和属组)
    • 20.chmod(修改文件权限)
      • 20.1文字设定法
      • 20.2数字设定法
    • 21.find(文件查找)
      • 21.1以名称和文件属性查找
      • 21.2以时间为条件查找
    • 21.3可执行的操作
    • 22.locate(快速文件查找)
    • 23.ln(建立符号链接)
    • 24.whereis和which(查找命令所在目录)
      • 24.1 whereis
      • 24.2 which
    • 25.grep(搜索文件内容)
    • 26.tar(压缩解压)
    • 27.gzip/gunzip和bzip2/bunzip2(文件压缩/解压缩)
    • 28.unzip(winzip文件解压缩)
    • 29.ifconfig及网络相关命令
  • 总结

前言

Linux下两种账号:root(系统管理员)、普通用户


提示:以下是本篇文章正文内容,下面案例可供参考

一、常用命令

1.su(用户切换)

语法:su [用户名]
示例:$su user

2.useradd(添加用户)

语法:useradd 用户名
示例:useradd user1
常用选项
   -d 指定目录
   -m 指定权限
   -g 组号
补充:所建账号实际保存在"/etc/passwd"文件中,并在"/home"下建立一个主目录
   可用userdel删除账号

3.passwd(修改密码)

语法:passwd [用户名]
补充:新密码被加密并放入"/etc/shadow"文件

4.进程相关(系统管理)命令

4.1 ps命令(一次性查看进程)

示例:ps -aux
   ps -ef
执行结果参数
 USER:进程的属主
 PID:进程的ID
 PPID:父进程
 %CPU:进程占用的CPU百分比
 %MEM:占用的内存百分比
 NI:进程的NICE值(数值大,占用CPU时间少)
 VSZ:进程的虚拟大小
 RSS:驻留中页的数量
 TTY:终端ID
 WCHAN:正在等待的进程资源
 STAT:进程状态 [运行R、休眠S、僵尸Z、停止或被追踪T、死进程X、优先级低进程N、优先级高进程<、进入内存交换W、非中断休眠(常规IO)D]
 START:启动进程的时间
 TIME:进程消耗CPU的时间
 COMMAND:命令的名称和参数

4.2 kill命令(杀死指定进程名的进程)

语法:kill -9 进程ID
   pkill 进程名字
补充:-9 表示强制终止
   kill -l 列出所有信号

4.3 top命令(动态监视任务)

示例:#top

4.4 jobs命令(观察后台进程)

5.fdisk(磁盘相关命令)

示例:fdisk -l
补充:可用于查看磁盘分区情况,对磁盘分区进行管理,给磁盘分区等

6.pwd(显示工作目录)

语法:pwd
补充:显示当前目录绝对路径

7.cd(改变工作目录)

语法:cd [dirname]
示例:cd . . 切换到上一级目录
   cd - 切换到上一次目录(后退)
   cd / 切换到根目录
   cd ~ 切换到主目录

8.ls(查看文件/目录)

语法:ls [参数] [目录/文件]
参数
 -a 显示指定目录下所有子目录与文件,包括隐藏文件
 -A 显示指定目录下所有子目录与文件,包括隐藏文件,不包括"."和". ."
 -i 在输出的第一列显示文件的节点号
 -l 以长格式显示文件的详细信息
 -d 列出目录本身
 -p 在目录后加一个"/"
 -R 递归式的显示指定目录的各个子目录文件
补充
 ls -l 列出信息依次为:文件类型与权限、链接数、文件所有者、文件属组、文件大小、最近修改时间、名字
 文件类型与权限:由10个字符组成
  第一个表示文件类型:普通文件(-)、目录(d)、符号链接(l)、块设备文件(b)、字符设备文件(c)、命名管道(p)、socket文件(s)
  后九个表示访问权限,第一组表示文件所有者权限,第二组表示同组用户的权限,第三组表示其他用户的权限;每组三个字符分别表示对文件的读、写和执行权限,各权限:r(读)、w(写)、x(执行)、-(未设权限)
  ls输出内容:蓝色为目录、红色为压缩文件
  通配符的应用:
   * 表示0个或多个字符
   [] 表示内部包括任何字符
   ? 表示任何单个字符
 对于符号链接文件,显示的文件名字之后有"->"和引用文件路径
 对于设备文件,"文件大小"字段显示主、次设备号

9.mkdir(创建目录)

语法:mkdir [参数] dirname
参数
 -m 对新建目录设置权限
 -p 设置路径,不存在可创建

10.cp(文件/目录复制)

语法:cp [参数] 源文件/目录 目标文件/目录
参数
 -a 保留链接、文件属性,并递归地复制目录(复制目录时使用)
 -d 复制时保留链接
 -f 删除已存在文件且不提示
 -i 覆盖目标文件之前提示且要求确认
 -r 递归地复制该目录下所有子目录及文件(目标文件必须为目录名)

11.mv(文件/目录改名、移动)

语法:mv [参数] 源文件/目录 目标文件/目录
参数
 -i 交互操作;覆盖已存在目标文件之前提示且要求确认
 -f 非交互操作;覆盖已存在目标文件时不提示

12.rm(文件/目录删除)

语法:rm [参数] 文件…
参数
 -f 忽略不存在的文件,不提示
 -r 将列出全部目录和子目录递归地删除
 -i 交互式删除

13.cat(查看文件内容)

语法:cat [参数] [文件]
参数
 -b 对非空行输出编号
 -E 在每行结束处显示"$"
 -n 对输出的所有行编号
 -s 不输出多行空行

14.more(分页显示文件内容)

语法:more [参数] 文件
参数
 +num 从第num行开始显示
 -num 定义屏幕大小为num行
 +/pattern 从pattern前两行开始显示
 -c 从顶部清屏后显示
 -d 交互式显示
 -s 把连续多个空行显示为一行
 -u 去掉文件内容中的下划线
补充
 more动作指令:"f/空格"向下滚动一屏、“Enter"向下滚动一行、”="输出当前行号、"q"退出

15.less(分页显示文件内容)

语法:less [参数] 文件
参数
 -c 从顶部刷新屏幕,并显示文件内容
 -f 强制打开文件,显示二进制文件时不提示警告
 -i 搜索时忽略大小写,除非搜索串中包含大写字母
 -I 搜索时忽略大小写,除非搜索串中包含小写字母
 -m 显示读取文件的百分比
 -M 显示读取文件的百分比、行号及总行数
 -N 在每行前输出行号
 -p 搜索
 -s 把连续多个空行显示为一行
 -Q 在终端下不响铃
补充
 less动作命令:"Enter"向下移动一行、"y"向上移动一行、"f/空格"向下滚动一屏、"b"向上滚动一屏、"d"向下滚动半屏、"u"向上滚动半屏、"h"帮助、"w"从指定数字下一行显示、"g"跳到第一行、"G"跳到最后一行、“p"跳到%n、”/pattern"搜索pattern、"q"退出
 相对于more,less是linux正统查看文件内容的工具,用法比起 more 更加的有弹性,可以往前往后翻看文件,拥有更多的搜索功能

16.管道与命令替换符

功能:管道是将一个程序或命令的输出作为另一个程序或命令的输入,是重定向的一种;命令替换符是将一个命令的输出作为另一个命令的参数
示例
 #ls | cat > a.txt 或 ls > a.txt
 列出当前所有信息,并重定向到a.txt文件中
 #ls -l ‘cat a.txt’ 或 ls -l $(cat a.txt)
 通过命令替换符列出a.txt文件中所有文件信息(反引号)

17.umask(文件/目录创建掩码)

功能:查看或修改掩码值
链接: umask命令

18.chgrp(改变文件/目录所属的组)

语法:chgrp [参数] group filename
参数
 -R 递归式地改变指定目录及其下所有子目录和文件的属组

19.chown(更改文件/目录的所有者和属组)

语法:chown [参数] 用户/组 文件
参数
 -R 递归式地改变指定目录及其下的所有子目录和文件的拥有者
 -v 显示该命令所做的工作

20.chmod(修改文件权限)

20.1文字设定法

语法:chmod [who] [+ | - | =] [mode] 文件名
参数
 操作对象who:
  u 表示"用户(user)",即文件或目录所有者
  g 表示"同组用户(group)",即与文件所有者有相同组ID的所有用户
  o 表示"其他用户(others)"
  a 表示"所有用户(all)",为系统默认值
 操作符号:
  + 添加权限
  - 取消权限
  = 赋予给定权限并取消其他所有权限
 权限mode:
  r 可读
  w 可写
  x 可执行

20.2数字设定法

语法:chmod [mode] 文件名
参数
 0 没有权限
 1 可执行权限
 2 可写权限
 4 可读权限

21.find(文件查找)

语法:find 起始目录 寻找条件 操作
逻辑运算符:(命令添加逻辑与算符组成复合条件)
 -a and(逻辑与),系统默认选项
 -o or(逻辑或)
 ! not(逻辑非)

21.1以名称和文件属性查找

 -name ‘字串’ 查找文件名与字串匹配的所有文件,可用通配符
 -gid n 查找属于ID号为n的用户组的所有文件
 -uid n 查找属于ID号为n的用户的所有文件
 -group ‘字串’ 查找属于用户组名为所给字串的所有文件
 -user ‘字串’ 查找属于用户名为所给字串的所有文件
 -empty 查找大小为0的目录或文件
 -perm 权限 查找具有指定权限的文件和目录
 -size n [bckw] 查找指定文件大小的文件,'bckw’为单位,默认为b(即512字节的块)
 -type x 查找类型为x的文件,x代表字符:b(块设备文件)、c(字符设备文件)、d(目录文件)、p(命名管道(FIFO))、f(普通文件)、l(符号链接文件)、s(socket文件)

21.2以时间为条件查找

 -amin n 查找n分钟内被访问过的所有文件,"+“表示n分钟之前,”-/不写"表示n分钟之内
 -cmin n 查找分钟之内文件状态被修改过的所有文件
 -mmin n 查找n分钟之内文件内容被修改过的所有文件
 -atime n 查找n天之内被访问过的所有文件
 -ctime n 查找n天内文件状态被修改过的所有文件
 -mtime n查找n天内文件内容被修改过的所有文件

21.3可执行的操作

 -exec 命令名称 {} 对符合条件的文件执行所给的Linux指令,不询问;{}表示所找到的文件;命令末尾必须以" \ ;"结束
 -ok 命令名称 {} 对符合条件的文件执行所给的linux指令,询问
 -ls 详细列出所找到的所有文件
 -fprintf 文件名 将找到的文件名写入指定文件
 -print 在标准输出设备上显示查找出的文件名

22.locate(快速文件查找)

语法:locate 相关字
补充:用之前需先运行"updatedb"更新索引数据库

23.ln(建立符号链接)

软链接语法:ln -s 源文件 目标文件 (删除源文件后,链接无效)
硬链接语法:ln 源文件 目标文件 (删除源文件后,目标文件不受影响)

24.whereis和which(查找命令所在目录)

24.1 whereis

功能:查找系统文件的源、二进制文件和手册帮助信息等
语法:whereis 命令

24.2 which

功能:在环境变量中设置好的路径中寻找命令或可执行程序
语法:which 命令

25.grep(搜索文件内容)

语法:grep [参数] [查找模式] [文件名1,文件名2,…]
常用正则表达式:^(以什么开头)、$(以什么结尾)、.(任意单个字符)
参数
 -E 每个模式作为一个扩展的正则表达式对待
 -F 每个模式作为一组固定字符串对待
 -c 只显示匹配行的数量
 -i 比较时不区分大小写
 -l 显示首次匹配串所在的文件名,并用换行符将其隔开
 -n 在输出前加上匹配串所在行的行号
 -v 只显示不包含匹配串的行
 -x 只显示整行严格匹配的行

26.tar(压缩解压)

语法:tar [主选项+辅选项] 目标文档 源文件或目录
参数
 主选项:
  -c 创建新的档案文件
  -r 把要存档文件追加到档案文件的末尾
  -t 列出档案文件内容,查看已备份的文件
  -u 更新文件
  -x 从档案文件中释放文件
  注:c、x、t仅能存在一个
 辅选项:
  -b 后跟数字,说明区块大小,系统预设值为20(*512bytes)
  -f 使用档案文件或设备(通常必选,后立即接档名,不再加参数)
  -k 保存已存在文件
  -m 还原文件时,把所有文件的修改时间设定为现在
  -M 创建多卷的档案文件
  -v 详细报告tar处理的文件信息
  -w 每一步都要求确认
  -z 用gzip来压缩/解压缩文件,后缀名为".gz"
  -j 用bzip2来压缩/解压缩文件,后缀名为".bz2"

27.gzip/gunzip和bzip2/bunzip2(文件压缩/解压缩)

语法:gzip [参数] 压缩/解压缩的文件名
参数
 -d 将压缩文件解压
 -l 对每个压缩文件,显示下列字段:压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字
 -r 递归式地查找指定目录并压缩其中的所有文件或解压缩
 -t 测试、检查压缩文件是否完整
 -v 对每一个压缩和解压的文件,显示文件名和压缩比
 -num 用指定数字调整压缩速度(-1或-fast表示最快(低压缩比)、-9或-best表示最慢(高压缩比)、系统默认值为6)

28.unzip(winzip文件解压缩)

语法:unzip [参数] 压缩文件名.zip
参数
 -x 文件列表,解压缩文件,但不包括指定的file文件
 -v 查看压缩文件目录,但不解压
 -t 测试文件有无损坏,但不解压
 -d 把压缩文件解压到指定目录下
 -z 只显示压缩文件的注解
 -n 不覆盖已存在的文件
 -o 覆盖已存在的文件,且不用确认
 -j 不重建文档的目录结构,把所有文件解压到同一目录下

29.ifconfig及网络相关命令

用法
 ifconfig eth0 查看eth0的IP
 ifconfig eth0 192.168.0.102 或 ifconfig eth0 192.168.0.102 netmask 255.255.255.0 修改eth0的IP
 ifconfig eth0 down 禁用
 ifconfig eth0 up 启用
 setup 用管理工具永久设置IP(需运行"service network restart"重启网络服务;全部"ok"说明修改成功)
 route -a 检查默认路由看网关是否为自己设置的
 iptables -F 关闭防火墙
 netstat -a 查看网络状态
 ping 测试网络通断


总结

[指令] --help 查询用法

嵌入式Linux系统编程学习之二常用命令相关推荐

  1. 嵌入式Linux系统编程学习之二十八线程的等待退出

    文章目录 一.等待线程退出 二.线程的取消 三.线程终止清理函数 一.等待线程退出   线程从入口点函数自然返回,或者主动调用 pthread_exit 函数都可以让线程正常终止.线程从入口点函数自然 ...

  2. 嵌入式Linux系统编程学习之二十六多线程概述

    文章目录 一.多线程概述 二.线程分类 三.线程创建的Linux实现 一.多线程概述   进程是系统中程序执行和资源分配的基本单位.每个进程有自己的数据段.代码段和堆栈段,这就造成进程在进行切换等操作 ...

  3. 嵌入式Linux系统编程学习之二十四消息队列

    文章目录 前言 一.msgget 函数 二.msgsnd 函数 三.msgctl 函数 补充 前言   消息队列与 FIFO 很相似,都是一个队列结构,都可以有多个进程往队列里面写信息,多个进程从队列 ...

  4. 嵌入式Linux系统编程学习之二十三 System V 共享内存机制

    文章目录 前言 一.ftok 函数 二.shmget 函数 三.shmat 函数 四.shmdt 函数 五.shmctl 函数 补充 前言   共享内存也是进程间(进程间不需要有继承关系)通信的一种常 ...

  5. 嵌入式Linux系统编程学习之二十九线程的互斥

    文章目录 前言 一.创建和销毁锁 二.互斥锁属性 三.锁操作 四.加锁注意事项 五.加锁步骤 前言   在 Posix Thread 中定义了一套专门用于线程互斥的 mutex 函数.mutex 是一 ...

  6. 嵌入式Linux系统编程学习之二十五信号量

    文章目录 前言 一.System V IPC 机制:信号量 1. semget 函数 2. semop 函数 3. semctl 函数 二.Posix 有名信号量 前言   信号量与信号量集的概念如下 ...

  7. 嵌入式Linux系统编程学习之二十二内存映射

    文章目录 前言 一.mmap函数 二.munmap函数 三.补充 前言   内存映射函数包括 mmap.munmap 和 msync,其原型为: #include <unistd.h>#i ...

  8. 嵌入式Linux系统编程学习之二十一命名管道(FIFO)

    文章目录 前言 一.创建.删除FIFO文件 1. 用函数创建和删除 FIFO 文件 2. 用命令创建和删除 FIFO 文件 二.打开.关闭FIFO文件 三.读写FIFO 前言   无名管道只能在有亲缘 ...

  9. 嵌入式Linux系统编程学习之二十无名管道(PIPE)

      管道是 Linux 进程间通信的一种方式,如命令 ps -ef | grep ntp .   无名管道的特点包括: 只能在亲缘关系进程间通信(父子或兄弟): 半双工(固定的读端和固定的写端): 它 ...

最新文章

  1. C++程序员学Python:C与Python进行交互
  2. C++CTime使用方法
  3. linux定期清理日志文件
  4. javascript里的面向对象
  5. GraphSAGE节点分类
  6. 使用php最容易犯的11个MySQL错误。
  7. 在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串
  8. USACO-Section1.3 Dual Palindromes (进制转换和回文数)
  9. 编程题练习 两个栈实现队列
  10. 终于!华为Mate 9已获安卓9.0正式版更新
  11. 离散方程式matlab,matlab离散型数据拟合方程,求系数,哪个大神能说说方法
  12. Oracle BRM处理逻辑
  13. open函数_全!Python函数和文件操作合集(长文系列第三篇)
  14. Linux命令:tac
  15. plsqldev连oracle,plsqldev怎么联接oracle客户端
  16. 几种流行Webservice框架性能对比 .
  17. 怎样更改itunes备份位置_什么是iTunes备份文件?
  18. JS 页面刷新/数据刷新
  19. win10 1903 专业版 CreateProcessAsUser
  20. 如何分析软件安全性需求

热门文章

  1. centos7升级gcc,并安装redis
  2. numpy pandas 查找在一个区间中的值
  3. pytorch实现基本AutoEncoder与案例
  4. python 读取、写入 pkl文件
  5. lisp 回执多段线_多段线上加点的LISP程序源码
  6. 『SQL Server 2000 Reporting Services学习笔记』(1)报表管理器的使用 与 通过角色分配配置安全性...
  7. java框架之Quartz-任务调度整合Spring
  8. rxjs处理http请求超时
  9. poj 3414 Pots(广搜BFS+路径输出)
  10. SqlServer Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)