嵌入式Linux常用命令

2019-07-12 17:49发布

pgrep smbd     pgrep nmbd   查看是否运行起来了
pkill smbd     pkill nmbd   关闭
netstat -tlnp | grep smb    查看服务器端口及防火墙
iptalbes -F  或者 /sbin/iptables -F   关闭防火墙规则


reboot   重启
halt     关机
uname -a/all -m/machine -n -v -sr
top      任务管理器
free     显示内存使用情况  -b -k -m -v(version)
login
date uptime
ps       显示process的动态      -A     列出所有的行程
-au    显示较详细的资讯
-aux   显示包含其他使用者的行程
who  rwho  w  显示系统有哪些使用者
shutdown -t seconds
-r 关机后重启
-c 取消已经进行中的关机动作
-f 不做fcsk动作(检查linux档系统)
-F 强迫进行fsck
reset tset  将终端机恢复至原始状态
alias /unalias别名=指令名  .profile /.cshrc 中设定可永久
setup 
time      测量指令执行所需时间
chsh        切换shell
history     命令履历
echo 
printenv    显示环境变量   
tty    显示终端名
dumpkeys    显示当前键盘配置
loadkeys    变更键盘配置
df  du      查询磁盘使用情况
tree    显示目录树
chmod    更改文件权限
chown usename:username /work -R 更改权限 mknod    创建设备文件 mknod /dev/*** c major minor
touch    创建文件夹,更新文件时间
ln    建立文件、目录链接
file    查询文件种类
eg: file hello_arm hello_x86 
size    查询文件大小
eject    弹出CD/DVD
mkfs        格式磁盘分区
ifconfig up/down


jobs    显示后台运行任务
ping  telnet  ftp
cal  
bc    计算
startx      启动x-windows系统






cd - 回到之前的目录
cd ~ 用户目录,用户登录时所在目录 


ls -l
-a
-lih 显示详细大小
-c /home 以修改时间显示home目录下的文件与目录
-F 以特殊符号标示文件类型,适合单 {MOD}命令行


du -b name 查看目录大小


su 切换用户,但不切换环境变量,只获得root执行权限
su - /su -l 完整的切换到一个用户变量,获得root执行权限并获得root的环境变量


export 设置或显示环境变量


chmod +x/+r/+w/761 who


cp -r 目录拷贝
cp -s 对源文件建立符号连接,而不是复制文件
rm -rf  f-- force
r-- 目录


mkdir -p /123/234/345 234不存在时,也可创建


tar cvf  打包 eg: tar cvf lyons.tar /home/lyons
       xvf  解包
       cvzf 打包并压缩
v 表示打印详细信息
            xvzf 解压缩  -C(指定解压目录)   .tar.gz
   jxvf    .tar.bz2
unzip tmp.zip  解压缩


df -k/-m  以kb为单位查看磁盘使用情况
free  查看内存情况

ifconfig eth0 192.168.1.9   ifconfig eth0 down/up


netstat -a 查看网络监听端口(状态)

rpm -ivh 安装包
rpm -qa 查看已经安装的包
rpm -e name 卸载name包


top 任务管理器


ps aux 查看系统中所有进程 ps 查看系统所运行的进程
a 显示终端上的所有进程,包括其他用户的进程。
  x 显示没有控制终端的进程
u user 用户名

kill -s SIGKILL 进程号
kill 进程号


setup

kill 进程号
exec 5 中断测试
exec 5<&-
kill -9 id 杀死程序
./app & 后台运行
killall name 杀死后台进程


ubuntu apt-get install ***




cmd oflash ***

soureinsight 1. ctrl+单击 进入函数变量等定义的地方,也可以双击下面的
2. alt + , 返回上一个位置
3


find -name 'a.c' 查找文件
find ./ -name 'a.c' 在当前目录及其子目录中查找文件
??  find -name "a.c"


grep "abc" * -nR/-nr 通过查找包括某些字符串来找文件
grep "abc" ./ -nR/-nr 在当前目录及其子目录下
r 表示进入子目录查找
n 表示列出是哪一行




useradd name passwd name 修改密码
su name   用户切换
shutdown now




vi
    命令行模式
yy [n]yy 复制光标所在行或开始的n行
p 粘贴
dd [n]dd 删除当前光标所在行或开始的n行
dw 删除光标所在的单词

setup
ntsysv 设置菜单
telinit 3(文本模式)/5
ctrl+Alt+F1 切换到文本模式
ctrl+Alt+F7 切换到图形模式


source /etc/profile
netsysv
service network restart/stop/start
ipconfig/all 
minicom -s


./yjsx


system-config-securitylevel 


minicom -s   设置


mount -t nfs 192.168.1.10:/mnt/hua /home/hua
mount (-t nfs) -o nolock(,vers=2)192.168.1.10:/mnt/hua /6410_board
mount -t vfat /dev/mmc /mnt 挂载目录
mount -a 根据/etc/fstab 的内容挂相应文件系统
如: proc /proc proc defaults 0 0
    tmpfs /dev tmpfs defaults 0 0


mkfs.ext3 格式设备
dd if=/dev/zero of=/dev/fb0 bs=240 count=320 拷贝/dev/zero中240*320个字节数据到/dev/fb0
cat *.bmp > /dev/bf0


patch -p1 < ../…….patch 打补丁命令
grep "33f80000" * -nR / -nwR




uboot reset 重启
两个命令用;隔开
vi
    命令行模式
yy [n]yy 复制光标所在行或开始的n行
p 粘贴
dd [n]dd 删除当前光标所在行或开始的n行
dw 删除光标所在的单词
x 删除一个字符
~ 改变字符的大小写
G 光标移到文件尾
u 取消上一个操作


     底行模式
set autoindent 设置自动对齐
w q q! wq w name另存为 set nu 显示行号 set nonu 取消行号
/name 查找光标之后的名为name的字符串,按n跳到下一个查找到的位置
n file_name  打开另一个文件
?name 查找光标之前的名为name的字符串
s/old/new 用new替换行中首次出现的old
s/old/new/g 用new替换行中所有出现的old
%s/old/new/g 用new替换整篇中出现的old
#,#s/old/new/g  用new替换#到#行中出现的old


gcc
.a 库文件 .i 已经预处理的C文件 .o 编译后的目标文件

-o 以指定名字输出


-c 只编译,不链接。生成 .o 文件  eg: gcc -o hello hello.o lyons.o
gcc -o hello.o -c hello.c


-E 只进行预处理 ,生成 .i文件
-S 只编译不汇编,生成汇编代码
-g 生成调试工具gdb所需要的符号信息
-O/O2 优化
time ./hello 显示执行的时间-I目录名 (指定出查找头文件的目录)
<>默认在/usr/include中找 ""在当前目录找

-L目录名  (指定库文件的查找地方)
默认在/usr/lib中找库文件


-lname 在连接时,从/usr/lib或 -L中指定的位置 装载名为libname.a的函数库,因为默认只连接C库
-static 静态链接库(.a)动态(.so)
-Wall 生成所有警告信息
-w    不生成警告信息
-D宏名 (相当于define)




gdb gdb 可执行文件名  或 1.gdb  2.file name   启动gdb
break/b 位置  在位置处设置断点(位置一般为函数名,行号)
break 文件名:行号  指定文件指定行位置打断点
break 行号 if 条件  条件为真是设置断点
run/r 运行到断点
next/n 单步运行
step/s  单步运行并进入到子函数内部
continue/c  继续运行至下一个断点或程序结束


list/l  显示程序行
info break/b 显示所以断点信息
delete/d 1/2/……(断点号) 删除断点
print/p 变量名   打印变量值
finish   运行程序,直到当前函数结束
watch  变量名   实时监控变量
quit/q  恢复程序运行




make    目标     依赖   命令
targets:prerequisties
command (以tab键开始)

.PHONY:clean  没有依赖,只有命令的目标,称为伪目标。声明clean为伪目标

.PHONY:clean  没有依赖,只有命令的目标,称为伪目标。声明clean为伪目标


eg: 使用变量
obj=main.o func1.o func2.o func3.o
hello:$(obj)
    gcc $(obj) -o hello
make -f name  指定makefile为name

系统默认的自动化变量
$^  代表所有依赖文件
$@  代表目标
$<  第一个依赖文件
# 以后表示为注释


@gcc $^ -o $@   前面那个@表示取消回显
eg: hello :hello.o a.o
gcc -o $@ $^
%.o : %.c
gcc -o $@ -c $<
clean :
rm *.o hello


makefile 实例
ifneq ($(KERNELRELEASE),)


obj-m := memdev.o


else

KDIR := /lib/modules/2.6.38.8/build
all:
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers  modul*


endif