linux学习心得Word文档下载推荐.docx

上传人:b****5 文档编号:19372027 上传时间:2023-01-05 格式:DOCX 页数:29 大小:91.09KB
下载 相关 举报
linux学习心得Word文档下载推荐.docx_第1页
第1页 / 共29页
linux学习心得Word文档下载推荐.docx_第2页
第2页 / 共29页
linux学习心得Word文档下载推荐.docx_第3页
第3页 / 共29页
linux学习心得Word文档下载推荐.docx_第4页
第4页 / 共29页
linux学习心得Word文档下载推荐.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

linux学习心得Word文档下载推荐.docx

《linux学习心得Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《linux学习心得Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。

linux学习心得Word文档下载推荐.docx

ps[-aux][-ef]#查看进程

top实时显示各进程资源占用状况,类似windows任务管理器

Kill[-9]pid#根据pid号结束进程

pgrepname#显示对应进程名的pid,类似命令pidof

pkillname#根据进程名结束相应进程

mount#查看文件系统

cat/proc/devices#查看设备

passwd#修改密码(要先取得root权限)

date#查看帮助date-s19/10/2006#修改日期date-s13:

12:

00#修改时间

chkconfig#Ubuntu中查看服务命令,要先安装才能使用

ifconfig#查看网络配置

ln-s/usr/src/linux-headers-2.6.38-8/include//usr/src/linux#创建符合链接

dmesg#查看USB转串口设备

echotest>

/dev/led/0输出重定向,会带会产生换行符

echo–ntest>

/dev/led/0不带换行符

2程序安装与编译

apt-getinstallkmplayer#apt-getupgrade升级软件。

fedora中采用yum命令安装软件

apt-getremovesmplayer#卸载软件

upgrade升级软件#ubuntu可命令安装的软件cramfsprogskmplayersmplayersamba等

rpm-irpm包名#rpm格式软件安装,参数-e删除-U升级-q查询

wgeturl#从网络现在安装

gcc#编译器,例如gccmain.c-omain详情看help.其他编译器如arm-linux-gcc用法一样

arm-linux-objcopy-Obinarymainmain.bin#生成.bin文件

readelf-hexename#查看编译后的程序详情

g++

gdb#调试

./file#执行,如./cofigure常用于编译前配置文件,

makeclean#删除之前编译产生的文件,参数mrproper除进行clean操作外,还删除.config等文件,distclean比前两者更彻底,还删除编辑备份文件,补丁等,使源代码树变为初始状态

makemenuconfig#fedora下要先安装ncursesncurses-devel

make#编译,搜索makefile内核编译makezImage模块编译makemodules

makeinstall#安装

cd./hb#进入目录.当前目录..返回上一目录

chmoda+rxx*###为当前目录的所有文件所有用户添加rwx权限,实际中rwx三个权限可选择性添加

ls#当前目录文件,参数-a显示所有文件(包括隐藏)-l显示详细信息

filefilename#查看文件类型

rmfile2#删除file2

rm-rffoldername#当提示目录非空时使用此命令

mvhbhaha#将hb更名为haha

mv./音乐/newfile./视频#文件移动(也可移动文件夹)

cp./音乐/newfile./视频#文件复制(也可复制文件夹)

mkdirhb#新疆目录加参数-p建立有层次的目录,如:

mkdir-phb/work

rmdirhb#删除目录

difffile1file2#比较两个文件差异

du#磁盘占用

tarcfvzout.tar.gzfile1file2#将file1file2压缩为out.tar.gz

tarxfvzfile1.tar.gz[-C/]#前面一个参数file1为需要解压的文件,可以指定为其他目录的文件,加参数-C后改变输出路径,不加默认当前目录

tarxfvjfile1.tar.bz2#解压

5文本编辑

geditfilename#有则打开,没有会自动创建

vifilename

vi编辑器使用:

1)启动。

vifilename#打开文件

2)模式切换。

按insert进入插入模式,再按ESC键返回command模式

3)文件保存与退出。

命令模式下先输入冒号,然后输命令,包括:

w:

保存不退出

q!

:

不保存推出

wq!

保存退出

wfilename:

另存为filename

filename:

另存为filename后退出

6驱动相关

modprobename#加载模块,加载后可在proc/modules下看到

insmodname#加载模块,例如insmodhello.kormmodhello(前面一个命令加后缀名,后面一个不加)

rmmodname#卸载模块

mknod/dev/namec2540#创建设备节点,名字,字符型设备,主设备号此设备号

lsname-l#查看节点,创建节点后就可以才/dev/下看到相应设备

7U盘分区

sudofdisk/dev/sdb

二程序设计

1汇编程序设计

#hello.s(AT&

T格式)

.data#数据段声明

msg:

.string"

hello,word!

\n"

#要输出的字符串

len=.-msg#字符串长度

.text#代码段声明

.global_start#指定入口函数

#在屏幕上显示一个字符串

_start:

movl$len,%edx#参赛三:

字符串长度

movl$msg,%ecx#参赛二:

要显示的字符串

movl$1,%ebx#参数一:

文件描述符(stdout)

movl$4,%eax#调用内核号(sys——write)

int$0x80#调用内核功能

#退出程序

movl$0,%ebx#参数一:

退出代码

movl$1,%eax#调用系统号(sys_exit)

保存后输入以下命令as-ohello.ohello.s#编译

ld-s-ohellohello.o#连接

./hello#运行

;

hello.asm(intel格式)要先安装nasm

section.data;

数据段声明

msgdb"

hello,world!

"

0xA;

要输出的字符串

lenequ$-msg;

section.text;

代码段声明

global_start;

指定入口函数

_start:

;

在屏幕上显示一个字符串

movedx,len;

参赛三:

movecx,msg;

参赛二:

movebx,1;

参数一:

moveax,4;

调用内核号(sys——write)

int0x80;

调用内核功能

退出程序

movebx,0;

moveax,1;

调用系统号(sys_exit)

保存后输入:

nasm-felfhello.asm

ld-s-ohellohello.o

./hello

2shell编程

#!

/bin/bash

#文件名为myshell.sh首句不是注释,标示要使用的shell,

echo$SHELL

echo"

hello,myshell"

#显示字符串

运行:

./myshell.sh

3perl编程语言

/usr/bin/perl

#文件名为hello.pl,每个perl程序都以此开头

print'

hello,thisisaperlprogram'

#显示一个字符串

输入./hello.pl#运行

qemu虚拟机使用

qemu-hda/home/hb/下载/linux-0.2.img#后面为镜像文件路径

三小技巧

1vmwaretools安装说明:

解压之后,运行./vmware-install.pl

途中如果提示Permissiondenied,修改相应文件权限,然后重新运行上次为执行完的命令直至结束

以下为中途停止后要重新执行的命令

./vmware-config-tools.pl

/usr/bin/vmware-toolbox

安装完后重启即可

2自动交叉编译工具cross-ng安装

#ubuntu下安装的软件较少,特别是libncurses5-dev、automake

apt-getinstallbuild-essential#安装常用开发包

apt-getinstallbisonflexautomakelibtooltexinfocvscurl#缺少texinfo时提示缺少makeinfo

apt-getinstallgcjg++subversiongawklibncurses5-devzliblg-devpatch#缺少libncurses5-dev时提示缺少库ncurses

wgethttp:

//ymorin.is-a-geek.org/download/crosstool-ng/crosstool-ng-1.5.2.tar.bz2

tarjxvfcrosstool-ng-1.5.2.tar.bz2从网上下载与解压

./configure--local

make

makeinstall

./ct-ngmenuconfig出现图形界面

./ct-ngbuild编译

3fedora中常用操作

yumupdate#更新

yum-help#查看帮助,具体用法

rpm-ifilename安装rpm格式的安装包

1)安装ibus-pinyin输入法

yuminstallibus-pinyin

ibus-setup#设置输入法

2)访问共享:

1选择连接到服务器2选择windows共享3输入服务器IP4输入共享文件夹,例如f

3)开启NFS

lokkit#选择关闭防火墙

/etc/init.d/nfsstart#启动nfs

serviceconf#设置服务

4cramfs文件解压

简要说,就是把cramfs文件当成一个分区挂载到本地系统,然后就可以对它进行操作了。

假设要解压的文件是LJD2440-II.cramfs

(1)将LJD2440-II.cramfs拷贝到任意目录下

(2)在该目录下建立两个文件:

mkdirroms

mkdirtmp

(3)将LJD2440-II.cramfs挂接到roms目录

mountLJD2440-II.cramfsroms–oloop

(4)将roms目录下的内容压缩

tar–cvf1.tarroms

这样将在roms的上一级目录产生一个1.tar的包

60

(5)将包解压到tmp目录下。

umountroms;

卸载挂载

cd..;

进入上一级目录

mv1.tartmp;

cdtmp;

tar–xvf1.tar;

将打包的根文件系统里的内容解压

rm1.tar

5DNW操作命令

**********启动方式切换****************************

**********SD01111100*****************************

**********flash01100100*****************************

nandflash分区信息见/arch/arm/plat-s3c24xx/common-smdk.c

1由于板子之前预装winCE,如果要烧写linux,要格式化flash

通过eboot启动后,安空格,选择A项即可

2将u-boot-movi.bin烧至SD卡

3将u-boot-nand.bin烧写至nandflash

首先设置SD启动方式

dnwc0008000

usbport->

transmit

nanderase0100000

nandwritec00080000100000

4设置bootargs,bootcmd

首先更改启动方式为nand启动

setenvbootargs"

root=/dev/mtdblock2rootfstyle=cramfsconsole=tty0console=ttySAC0,115200"

setenvbootcmdnandread0xc00080000x1000000x200000\;

bootm0xc0008000

saveenv

5烧写zImage至nandflash(写入kernel)

重启

dnwc0008000

tansmitzImage(读到ram)

nanderase100000200000#起始地址为0x100000,大小0x200000字节即2M

nandwritec0008000100000200000

6烧写roots_qt.cramfs至nandflash(写入根文件系统)

传输rootfs_qt.cramfs

nanderase3000003000000

nandwritec00080003000003000000

挂载SD卡:

mount-tvfat/dev/mmcblk0p1/tmp/sd/

Vfat为文件类型,/dev/mmcblk为要挂载的设备路径,/tmp/sd挂载的路径

进入SD卡:

cd/tmp/sd

卸载SD卡:

umount/tmp/sd/

内核启动相关文件:

arch/arm/boot/compressed/head.s

init/main.c->

strart_kernel()

6串口传文件命令

Windows超级终端,注意硬件控制流设为无,其他一般默认配置

开发板——>

PCszfilename默认保存到超级终端的目录

开发板<

——PCrz,右键发送,保存到开发板当前目录,也可直接发送,不用输入命令

Linux下该命令仍然适用

7.eclipse中使用arm-linux-gcc

1下载linux下的eclipse,CDT,jdk

2新建cproject,选择crossGCC,设置prefix=arm-linux-path=/opt/toolchain/4.3.2/bin(注意该目录下有arm-linux-为前缀的命令)

3新建c文件,点保存,再点build(工具栏的小锤子图标)

9.Virtualbox使用技巧

串口添加:

windows中选择启用串口,端口模式hostdevice,文件路径com1

文件共享:

1)设备-安装增强功能

2)设备-分配数据空间,选择永久空间,名称为E_DRIVE

3)Linux下新建一目录E盘,输入命令mount-tvboxsfE_DRIVE/home/hb/E盘/

4)卸载该目录umount/home/hb/E盘/

10.linux下的超级终端

先安装mincom

输入minicom-s进入配置菜单,进入serialportsetup,注意一定要把HardwareFlowControl也设置成None,其他的一般默认配置,最后Savesetupasdfl并退出,再次输入minicom命令

Com1在linux下称为ttyS0

Usb转串口线称为ttyUSB0,ttyUSB1等,查看方法ls/dev/ttyUSB*

Windows下使用超级终端也注意将硬件控制流设为无。

按ctrl+A,在按z出现菜单选项,可发送、接受文件,协议选择zmodem

输入echotest>

/dev/ttyS0会把单词test发送到ttyS0连接的设备上

11Linux网络服务

1)SSH

1linux下安装sshd,命令apt-getinstallopenssh-server

2windows下安装SSHsecureshell,点快速连接,即可通过shell命令登陆到linux,还能ftp文件共享

2)开启linuxftp服务

1输入命令apt-getinstallvsftpd安装ftp

2通过输入stopvsftpd停止服务,startvsftpd启动服务

3相关配置文件在/etc/目录下

3)Linux下局域网共享Samba,输入apt-getinstallsamba,右键目录,选择共享

4)HTTP服务,输入命令apt-getinstallapache2

5)远程桌面连接,点系统-首选项-远程桌面,勾选运行其他人查看和控制。

然后再windows上运行VNCviewer,输入IP即可连接

12根文件系统移植

1修改分区信息

/arch/arm/plat-s3c24xx/common-smdk.c

2配置内核,勾选相应操作系统支持

进入Filesystem,若要支持ext3,勾选EXt3journallingfilesystemsupport

EXt3extendedattributes,

若要支持carmfs,进入MIscellaneousfilesystem,勾选cramfs

3修改启动参数

可在内核配置时,进入boot项配置启动参数,也可在uboot中执行如下命令:

setenvbootargsroot=/dev/mtdblock2rootfstype=ext3console=ttySAC0,115200

Saveenv

根文件系统启动顺序

/etc/inittab

/etc/init.d/rc.S

/usr/etc/rc.local(启动qtopia包含在内)

其中rc.S中包含有path的定义,一些开机启动项,如:

/etc/rc.d/init.d/mtstart

echo"

"

>

/dev/tty1

SpanMulti-touchx2"

Servicing..."

sleep1

/etc/rc.d/init.d/包含一些服务

以leds为例说明:

#!

/bin/sh

base=led-player

#Seehowwewerecalled.

case"

$1"

in#“$1表示第一参数,case语句

start)#选项参数

/usr/bin/$base&

#shell命令后加&

表示后台执行

#该选项结束

stop)

pid=`/bin/pidof$base`

if[-n"

$pid"

];

then#判段是否大于0

kill-9$pid

fi

esac#case语句结束

exit0

四驱动开发

驱动调试信息函数

Printkdev_infodev_warndev_deg

1Gadget驱动之U盘

直接挂载开发板上的U盘,insmodg_file_storage.kofile=/dev/udiskstall=0removable=1

1建立img文件

ddif=/dev/zeroof=vfat.imgbs=1Mcount=20

losetup/dev/loop0vfat.img

mkfs.vfat/dev/loop0

mkdirvfat_mount_point

mount-tvfat/dev/loop0vfat_mount_point

2配置内核

选择/usb/gadget/filed-backstoragegadget(filed-backstoragetestingversion可不选),makemodules编译成模块

3加载模块

insmodg_file_storage.kofile=/test/vfat.imgstall=0removable=1

字符设备注册函数

intregister_chrdev(unsignedintmajor,constchar*name,structfile_operations*fops);

注册后可在proc/devices下查看,若要登记到文件系统,调用devfs_register_chrdev,注册后被安装到/dev目录,同时在devfs中生成设备文件节点

File结构体下的private_data可指向任意数据类型

2查看设备的命令

调用

cd/proc

cat/proc/tty/drivers

catslabinfo

catdevices

catinterrupts

查看所以设备的节点号

cd/dev

ls–l

五、常用结构体

1.structfile

  structfile结构体定义在include/linux/fs.h中定义。

文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的structfile。

它由内核在打开

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1