ubuntu12.04指令和基本问题

  Tab 键                          补全作用

arm-linux-gcc -static -o hello hello.c        有时需要静态编译才能运行

getconf LONG_BIT                         察看系统位数32/64

gcc test_signal.c -o test_signal

sudo chown -R root:root /opt/adt-bundle-linux-x86-20131030/android-sdk-linux      设置用户名 用户组
sudo chown -R litingting:litingting  /home/litingting/下载/android-sdk-linux        设置用户名 用户组
litingting@litingting:~$ sudo chown -R  litingting:litingting /opt/adt-bundle-linux-x86-20131030/eclipse  设置用户名 用户组
useradd:添加用户账号。 passwd:更改对应用户账号密码。用户切换(su)
ctrl+空格          换输入法
sudo apt-get update    系统更新
history 10       查找最近10条命令 sudo dpkg -r qq-for-wine
cal 3 2014  万年历
clear  清除命令
sudo shutdown -r now   立即关机
sudo shutdown +100    100分钟后关机
pwd 显示当前位置
touch a.txt  创建一个文档
file  /usr/games/gnomine   察看文件属性
rm aa  删除aa文档
Uname –r  显示版本
sudo reboot  重启
sudo cp -a /home/litingting/下载/linuxqq_v1.0.2-beta1_i386.deb /usr/src  复制命令
sudo  rm linuxqq_v1.0.2-beta1_i386.deb  删除
sudo tar jxvf  xxxx.tar.bz2  解压
sudo tar zxvf  xxxx.tar.gz  解压
firefox 显示网页
sudo dpkg -i  xxx.deb   安装
ifconfig  察看网络情况
unzip xx.zip  解压
cat /etc/issue   查看Ubuntu版本
lsmod  查看内核加载的模块
cat /proc/cpuinfo  查看CPU信息
ps -A  察看当前有哪些进程
kill x  中止一个进程
sudo apt-get clean  清理所有软件缓存
sudo chmod u=r a.txt  给这个文档只给用户读  
sudo chmod  a=rwx a.txt  给这个文档所有人可读可写可执行
sudo mkdir -p a1/a2/a3   建立目录 3为2的子目录 2为1的子目录
sudo  rmdir -p  a1/a2/a3  删除这三个目录
sudo find /usr/sbin  -name  *cmd  find命令将在/usr/sbin 下查到以cmd结尾的文件  并输出显示
sudo  zip xxx.zip  aa  将文件夹aa压缩打包成xxx.zip
sudo apt-get install lynx-cur  安装网页   lynx  打开  lynx www.baidu.com  打开百度网页
sudo cp -a /home/litingting/aaxx /home/litingting/ 桌面   当出现后最名txt ppt 先去掉再复制
sudo chmod -R 777 aa  将文件追加可执行权限
sudo pppoeconf 宽带联网
more 文件名称    对文档每行每页的显示   less 文件名称
sudo chmod 777 文件名
sudo unzip  包名
sudo rm -rf /opt/adt-bundle-linux-x86-20131030  删除指令
tar zvxf android-sdk_r11-linux_x86.tgz
sudo apt-get install vim    安装vim
litingting@litingting:~$ sudo chmod a+rx /etc/udev/rules.d/51-android.rules
编辑完内容后,按下Esc键,并输入“:wq”,然后回车就可以保存退出
ls -l 察看执行权限
unrar e android2.3usbdriver.rar   解压指令
lsusb lsblk  察看usb和硬盘
cat /proc/devices  察看开发板里的设备号
sudo ufw disable   关闭防火墙
cat /proc/filesystems  查看开发板支持nfs
sudo   mount -t nfs -o nolock 125.217.249.121:/home/litingting/nfss /mnt    本地挂载
ping -c 10 125.217.249.12  查看网络是否相通
source /etc/profile  使修改的文件立即生效
la -a  能察看隐藏文件
make disclean  不但能够清除编译过的文件  还能清除之间关系
df   显示挂载信息
arm-linux-gcc hello.c -o hello  交叉编译c文件  可在arm上运行
./hello
ls -l /dev  能查出开发板里面的设备对应的主设备号码 从设备号码
cat /proc/devices  察看系统有哪些主设备和主设备号
echo $PATH   显示出来配置过的环境变量
ls -l /home/litingting   能够察看文件夹的权限 rwx 421  
unrar e  hf_sourceinsight3.5.rar   解压指令
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
source ./common.sh  执行文件         adb root
litingting@litingting:~$ echo $PATH  察看环境变量
litingting@litingting:~/android-source$ chmod -R 777 * 对文件下所有文件都可执行
cat /proc/interrupts  察看中断信息
cat .config | grep '^CONFIG_HZ='  察看定时器一秒中断次数
/system # busybox | grep mkfs 查找mkfs相关命令
/ # busybox | grep ls  查找ls相关命令
/system # busybox ls   相当于使用ls命令
/proc/driver # cat rtc  开发板终端执行查找系统时间
sudo mkfs.ext2 /dev/queue_block   格式化命令
man htonl    man  socket   寻找函数和结构体定义   ping www.baidu.com
sudo fdisk -l      fdisk 可以查看硬盘分区情况  使用 fdisk 进行硬盘分区
sudo dd iflag=dsync oflag=dsync if=210.bin of=/dev/sdb seek=1   把程序烧到SD卡中
sudo mkyaffs2image-128M  rootfs_android4.0.3  rootfs_android.img   制作android源码

sudo  tftp 221.204.110.99  tftp服务器

su - root  用户切换
useradd ltingting    passwd litingting  添加用户
ps 和 kill   进程相关指令
sudo fdisk -l   列出文件系统分区情况
grep -n "http" ltt.txt  在ltt.txt文档查找http字符串所在的行
diff 生成补丁  patch 打补丁
ifconfig  查看网络

man  XXX 在线查找XXX命令

find -name "mach"  在目录下查找包含mach字样的文件

diff -urNwB linux-2.6.22.6   linux-2.6.22.6 _ok >linux-2.6.22.6 _ok.diff    生产补丁          已经验证正确

cd  linux-2.6.22.6    打补丁 (linux-2.6.22.6 linux-2.6.22.6 _ok.diff在同一目录)             已经验证正确
patch -p1 <../linux-2.6.22.6 _ok.diff



第一  安装手机驱动   
(那个手机会失效  51文件的权限问题)   可能还要注销问题  
http://www.blogjava.net/brian/articles/316019.html
http://zhidao.baidu.com/link?url=SA_syAttXeHXXOaMo6LISeyT_Ef-kmnwjxjMDky1chmLatw7bsImAL4yNAqsT9OihSRcXUvz127avucRp-Fpn_
首先得确保手机的[设置/开发/调试]是勾选上的。
然后使用lsusb查找到devID,以16进制写入到本地电脑隐藏目录文件[/home/用户名/.android/adb_usb.ini]中
最后打开一个命令行执行./adb devices即可
 
在ubuntu(9.10)下执行adb devices命令, 返回的结果是:
List of devices attached
???????????? no permissions
  这意味着,USB连接的设备是能够被识别的。Google之后,得知adb server需要以root的权限启动,于是有了如下命令:
brian@brian-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb kill-server
brian@brian-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ sudo ./adb start-server
* daemon not running. starting it now *
* daemon started successfully *
 
第一条命令用来杀死当前正在运行的server, 第二条命令则以root的权限启动了新的server. 我们可以再次查看devices:
brian@brian-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb devices
List of devices attached
HT848KV04386 device
 
下面是安装QQ
sudo apt-get update              安装QQ  http://wenku.baidu.com/view/796aeb5c7e21af45b307a867.html?pn=101
sudo apt-get install wine
sudo dpkg -i  WineQQ2013-20131120-Longene.deb      
 
 
 
 
第二    命令行方式编译android ndk 程序
 
litingting@litingting:/usr/android-ndk-r9d/samples/hello-gl2$ sudo chmod 777 /usr/android-ndk-r9d/samples/hello-gl2
litingting@litingting:/usr/android-ndk-r9d/samples/hello-gl2$ ndk-build
 
 
 
 
第三    要导入已经有的工程需要修改权限:组名
 
 sudo chown -R litingting:litingting /usr/android-ndk-r9d/samples/hello-gl2
 
 
第四  安装交叉编译器
 
 sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
 sudo gedit /etc/profile
 source /etc/profile   重新登录系统(不必重启机器,开始->logout 即可),使以上设置生效
 
 arm-linux-gcc -v
可能先得进入安装目录=/usr/opt/FriendlyARM/toolschain/4.5.1/bin
 
 
第五  安装minicom
 
 
 | A -    Serial Device      : /dev/ttyUSB0                              |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No        
 
 
 
 
第六  普通用户与超级用户
 
Ubuntu 普通用户和超级用户的切换
由于 Ubuntu 是基于 Debian 的 linux 操作系统,在默认的情况下,是没有超级用户(superuser, root)的,但有些系统操作必须有超级用户的权限才能进行,如手动释放内存等。在其他linux 操作系统 (如 fedora) 下,可以使用 su 切换到超级用户。当输入 su 命令后, 系统会要求输入 root 的密码。可是,在Ubuntu 下我们根本不知道 root 的密码是什么。
ubuntu下切换到超级用户方法:
1. sudo -i
sudo 是 su 的加强版,意思是 do something as thesupervisor。回车后会提示输入当前用户的密码,即可使用root权限。但是它也有很多限制,在默认的情况下,只能在 5 分钟之内使用 root 权限。
2. 如果想一直使用 root 权限,利用su和root密码得到,那么用 sudo passwd root 可以设置 root 的密码。之后就可以自由使用 su 命令了。 root用户(超级用户)切换到普通用户:ctrl+d即可
 
 
第七  通过串口给开发板来设置网络参数  
 
ifconfig eth0 125.217.249.122 netmask  255.255.255.128 up
route add default gw 125.217.249.126 dev eth0
 
/system/busybox/sbin/ifconfig
/system/busybox/sbin/route  查看信息
 
第八   把模块加入内核
 
注意  要把内核文件夹移动到linux的目录下才可以   然后再make编译   否则出错
 make -C /home/litingting/linux-3.0.8 M=/home/litingting/ledled/led
 cp /home/litingting/ledled/ledled.ko  /media/D085-86E4
 cp mini210-tvp5150_linux_deconfig .config  复制配置文件
 
 cp mini210_android_defconfig .config
 echo '' > ledled.c
 echo 'obj-m :=ledled.o' >  Makefile
 ls -a /dev
 la  -l /dev
 mknod /dev/ledled c 10 42
 
 
第九  安装source insight  
 
  先下载安装包hf_sourceinsight3.5.rar   解压 unrar e  
  sudo apt-get install wine
  wine /home/litingting/下载/sourceinsight/Si35Setup.exe
  添加工程
 
之后找到软件
http://www.linuxidc.com/Linux/2012-07/65603.htm   帖子
cd
ls
ls -a
 
ls
cd drive_c  
ls
cd Program\ Files/
ls
cd Source\ Insight\ 3/
ls
wine Insight3.exe
 
http://www.linuxidc.com/Linux/2012-07/65603.htm
 
 
第十  应用程序(led)对底层驱动的测试
 
/udisk # ./led 0 1    //注释  argc代表输入指令的个数 如前面的指令  argc=3   
                      //注释  **argv  代表字符串指针  如前面  argv[0]="./led""  argv[1]="0"  argv[2]="1"
                      //注释   sscanf(argv[1],"%d",&led_no) !=1 这一句:sscanf不同于scanf的地方是 sscanf从一个字符串中得到输入, 而scanf是你从终端输入。 这句就是,如果argv [1]这个字符串中含数字,那么就把它读入led_on. 并返回1,否则返回0
 
/udisk # ./led 0 1                                                               
/udisk # ./led 1 1                                                               
/udisk # ./led 2 1                                                               
/udisk # ./led 3 1    依次打开四个灯  1表示开   0关  
 
 
第十一  远程登陆开发板(不是用串口线)
 
cd /opt/adt-bundle-linux-x86-20131030/sdk/platform-tools
./adb  devices
./adb shell
到此 开发板已经登陆  
 
传输文件传到开发板     ./adb push /home/litingting/桌面/lilili   /mnt  
adb push /home/litingting/android-source/out/target/product/generic/system/lib/hw/led_hal.default.so  /system/lib/hw
远程执行命令          ./adb shell  "ls /data/local"
给adb加入环境变量
 
第十二  
 
下载android源码
mkdir ~/bin
PATH=~/bin:$PATH
sudo gedit /etc/profile
curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
chmod a+x ~/bin/repo
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1
repo sync
 
 
 curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
 
下载android内核
git clone https://android.googlesource.com/kernel/common.git
git branch -a
git  checkout  -b  android-3.0  remotes/origin/android-3.0  
 
 
 
第 十三   测试自旋索  读写自旋索
 A
输出  cat  /dev/spin_lock   
输入  echo trylock > /dev/spin_lock     (会自动加\n 相当于trylock\n)
echo 'lining' > /dev/wordcount
cat /dev/wordcount
 
B  在自己笔记本上测试
gcc test_rw_lock.c -o test_rw_lock
make -C /usr/src/linux-headers-3.11.0-15-generic   M=/home/litingting/ledled/led
sudo insmod rw_local.ko
sudo sh test_rw_lock.sh
dmesg   察看日志消息
    测试完成量
 sudo cat   /dev/completion   可在笔记本上直接执行  
 sudo echo data > /dev/completion  不行 权限不够  通过把他放入脚本文件中可执行    sudo sh test_seq_lock.sh
 
 
第十四 信号与异步通知
 
用perror函数调试 能显示错误   
应用程序打开设备时有时会出现这样的 open: Permission denied
解决办法  sudo chmod 777 /dev/signal
执行应用程序 ./test_rw_signal
 
第十五   busybox的使用
 
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、 cat 和 echo等等,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。
 
下载 http://download.chinaunix.net/download/0002000/1126.shtml   http://www.busybox.net/downloads/
 
busybox的使用很简单,有以下三种方式:
(1) busybox后直接跟命令,如
  busybox ls
  busybox tftp
 (2)  直接将busybox重命名,如
  cp busybox tftp
  cp busybox tar
 然后再执行tftp, tar   
(3)创建符号链接(symbolic link), 如
  ln -s busybox rm
 ln -s busybox mount
然后就可以执行rm,mount等  
 
 
第十六   安装服务器
 
局域网内的ubuntu系统的电脑   电脑上都安装tftp服务器    然后就可以实现局域网内电脑互相访问  实现文件共享和传输
 
局域网内一台ubuntu系统的笔记本   一台windows台式机     笔记本上安装vsftpd    台式机上采用flashfxp.exe   这样台式机利用这个软件来下载
笔记本上的的资料和传给笔记本资料
 
设置文件系统从网络引导(挂载 NFS 文件系统) 启动NFS服务 说白了就是部把文件系统下载进去   在uboot中设置启动参数   从电脑共享目录启动   挂载跟文件系统
 NFS服务器的目的就是共享。。。
NFS服务: 权限问题
sudo /etc/init.d/portmap restart   启动
sudo /etc/init.d/nfs-kernel-server restart  启动
showmount -e localhost (查看当前对外共享目录)
sudo  mount 192.168.1.129:/home/litingting/nfs/   /tmp/   (测试)
 
tftp服务:   权限问题
tftp 服务器的搭建
1. 安装
$ sudo apt-get install tftpd tftp openbsd-inetd
2. 修改/etc/inetd.conf 配置自己的 tftp 目录:
sudo vim /etc/inetd.conf
找到#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
(/srv/tftp 为默认 tftp 目录)修改为自己的 tftp 目录:如
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /home/nitonggui/tftp
3. 创建目录:mkdir /home/nitonggui/tftp -p ;
修改文件权限为 777 :chmod 777 /home/nitonggui/tftp
4. 重新启动 tftp 服务器
$sudo /etc/init.d/openbsd-inetd restart
5.查看 69 端口是否有打开 :
netstat -an | more | grep udp
udp 0 0 0.0.0.0:69 0.0.0.0:*
6 本地测试
litingting@litingting:~/nfs$ sudo tftp 192.168.1.129
tftp> get 123.txt
Received 557 bytes in 0.1 seconds
tftp>  
   
   
 
第十六 制作内核镜像文件、
arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin  
gzip -9 linux.bin
mkimage -A arm  -O linux -T kernel -C gzip -a 0x30008000 -e 0x30008000 -n "Linux Kernel Image" -d linux.bin.gz uImage
 
 
 
 
第十八 编译制作jffs2影像文件
 
先安装zlib
  cd /media/000A7D940009BD97/22/GUI/xwindow/X/deps
  tar xzf zlib-1.2.3.tar.gz  
  cd zlib-1.2.3/
  ./config --share --prefix=/usr  
  ./configure --share --prefix=/usr  
  sudo ./configure --share --prefix=/usr
  sudo configure --share --prefix=/usr
  chmod 777 configure  
  sudo configure --share --prefix=/usr
  sudo ./configure --share --prefix=/usr
 
 
然后编译makfs.jffs2
  cd /media/000A7D940009BD97/22/tools
  tar xjf mtd-utils-05.07.23.tar.bz2  
  cd mtd-utils-05.07.23/util
  make
  sudo make install
 
制作jffs2影像文件
mkfs.jffs2 -n -s 512 -e 16KiB -d qqq -o qqq.jffs2
 
mkfs.jffs2 -r rootfs -e 0x4000 --pad=0x1e00000 -o rootfs.jffs2 -n -p 自己板子
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

你可能感兴趣的:(ubuntu12.04指令和基本问题)