嵌入式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 whereis24.2 which25.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 查询用法