ubuntu使用方法与技巧

嵌入式操作系统

54人已加入

描述

  Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。

  ubuntu的终端使用方法:

  1、打开终端。在使用ubuntu系统时,很多同志,不知终端启动器的启动器中的位置。故截图如下,单击即开。

  2、如下有三个小技巧

  apt-gat install+文件包(安装文件)

  sude+apt-g.。。。。.+文件包(下载并安装,再调试)

  root+c语言命令(root打开一个程序)

Ubuntu

  3、注意,无论是否使用终端访问需root权限才可浏览的文件,都要使用root,ubuntu系统刷root,可以百度一下.如果不刷root,终端是无用的;

  4、当然,一些问题可以在,终端上解决,但是,需要懂得在这方面的知识;在某些ubuntu系统的高级选项中会有说明;但不是全部,由于本人的电脑就没有,故不详细说明;

  5、总结来说,终端有打开软件,下载资源,调试系统,三个作用;

  6、最后,希望大家能坚守在ubuntu系统的共同"战线"上,和平友爱的使用它吧!



        Ubuntu使用技巧合集

  1、基于ubuntu的NFS[Network File System, 网络文件系统的配置,用于实现文件共享]服务安装和配置:

  安装软件包: apt-get install nfs-kernel-server (用snaptic则相应的依赖包都会自己安装,如portmap)

  配置文件: /etc/exports

  配置内容: /srv/homes hostname1(rw,sync) hostname2(ro,sync)

  如:/home/winxp 192.168.1.121(rw,sync) *(ro,async) [前一个目录表示允许挂载的目录,后面的是相关权限设置,对192.168.1.121的用户具有读写权限,而其它用户具有只读权限,还有其它参数的意义如下]

  ro 只读访问

  rw 读写访问

  sync 所有数据在请求时写入共享

  async NFS在写入数据前可以相应请求

  secure NFS通过1024以下的安全TCP/IP端口发送

  insecure NFS通过1024以上的端口发送

  wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

  no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

  hide 在NFS共享目录中不共享其子目录

  no_hide 共享NFS目录的子目录

  subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

  no_subtree_check 和上面相对,不检查父目录权限

  all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

  no_all_squash 保留共享文件的UID和GID(默认)

  root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

  no_root_squas root用户具有根目录的完全管理访问权限

  anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

  anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

  启动nfs服务: /etc/init.d/nfs-kernel-server [ start | stop | restart | reload ]

  start 启动 NFS 服务

  stop 停止 NFS 服务

  restart 停止并重新启动 NFS 服务

  reload 重新载入 NFS 设定值

  联机挂载: mount -t nfs 192.168.1.XX:/home/winxp /mnt/nfs

  2、解决MPlayer播放rmvb等格式的文件时有声音没图像的问题:下载安装win32 codecs后即可解决!可自动安装包w32codecs,也可手动安装:

  a、下载

  http://www.people.virginia.edu/~drf8f/MPlayer/releases/codecs/essential-20060501.tar.bz2

  b、安装到/usr/lib/win32, 代码:

  tar -jxvf essential-20060501.tar.bz2

  sudo mkdir /usr/lib/win32

  sudo cp essential-20060501/* /usr/lib/win32/

  这样应该就可以用mplayer播放wmv9、rm、rmvb等文件了。

  附:Mplayer刚安装,播放rmvb时没声音,可以选择右键-》Preference-》Video-》xv

  3、Web服务器apache2的安装配置:

  用snaptic安装apache2软件包,大部分设置用默认即可,我就对CGI支持部分作了一下配置,在/etc/apache2/sites-available/default文件中,修改如下(注意要找准对应的部分):

  ScriptAlias /cgi-bin/ /var/www/cgi-bin/

  《Directory “/var/www/cgi-bin”》

  AllowOverride None

  Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

  Order allow,deny

  Allow from all

  SetHandler cgi-script

  《/Directory》

  然后就可以支持CGI的测试了!

  有一点需要注意:就是当需要对服务器目录进行诸如文件上传、文件写入和文件创建等操作时,需将目录权限设置为apache2配置文件(/etc/apache2/apache2.conf)中定义的用户和组才行,否则是不允许操作的!

  4、如果ubuntu 默认没装编译环境,则可以执行命令: sudo apt-get install build-essential 进行安装。

  5、samba服务器的简单安装与配置:

  用snaptic安装samba及其相关的软件包(如samba, samba-common, smbfs等),然后根据需求修改配置文件/etc/samba/smb.conf即可!

  这里给出一个最简单的示例,其功能就是将一个目录设置为public:

  [global]

  workgroup = SmartArm2200

  server string = Samba TestServer

  security = share

  socket options = TCP_NODELAY

  dns proxy = no

  [public]

  path = /var/www

  public = yes

  only guest = yes

  writable = yes

  create mask = 0755

  directory mask = 0755

  [home]

  path = /share

  public = yes

  only guest = yes

  writable = yes

  create mask = 0755

  directory mask = 0755

  然后在windows上,可以通过在浏览器中输入“192.168.1.133”进行访问;

  Linux上的使用方法:

  列出网络资源: smbclient -L //192.168.1.133

  使用网络资源: smbclient //192.168.1.133/public

  通过mount访问: sudo mount -t smbfs //192.168.1.133/public /mnt/tmp/ (或者用 sudo smbmount //192.168.1.133/public /mnt/tmp/)

  注意:上面的public目录指的是配置文件smb.conf的public标签(同理可以创建更多的标签来共享更多的目录,如上面的[home]);客户端需要安装smbfs才能正常挂载。

  至于samba的其它复杂用法,可以参考网上的samba使用大全!

  6、显示pkg列表:$pkg-config --list-all

  7、查看系统已安装软件的库版本:pkg-config --modversion --cflags --libs ‘libname’

  8、在安装软件包时,编译完成后,输入echo $? 如果返回结果为0,则表示正常结束,否则就出错了。

  9、设置Java环境变量:$sudo update-alternatives --config java

  10、系统修复:

  $sudo apt-get install ubuntu-desktop

  $sudo apt-get install xserver-xorg

  11、与标准服务器时间校准:sudo ntpdate time.nist.gov

  12、用alien实现rpm到deb包的转换:

  a、安装alien: apt-get install alien

  b、把rpm包转成deb包: alien -d ‘name.rpm’

  c、直接安装rpm包: alien -i ‘name.rpm’

  13、Gnome中的几个程序名称: gnome-app-install(添加/删除), language-selector(语言支持), synaptic(新利德), gnome-terminal(终端),在使用中文环境时,如果列表中找不到这些项,通过该命令在终端执行即可。

  14、如果在编译时出错提示找不到makeinfo,可以通过安装texinfo解决,它是编译svn资源所不可或缺的。

  15、编译GTK程序命令格式: gcc -Wall -g base.c -o base `pkg-config --cflags --libs gtk+-2.0`

  该命令是编译一个名为base.c的C程序,并生成一个名为base的二进制文件;-Wall -g表示在编译过程中显示所有的警告信息(warning all -》 Wall);注意后面的不是单引号,而是“Esc”下面那个键,这些参数表明需要调用gtk+-2.0库。

  16、自动更新/etc/X11/xorg.conf文件命令: sudo dpkg-reconfigure -phigh xserver-xorg

  17、安装xserver内核命令: sudo apt-get install xserver-xorg-core=1:1.0.2-0ubuntu10

  18、几个常用的dpkg命令:

  dpkg -l [软件包名称]:列出系统中已安装的软件包的信息,不加参数表示列出所以已安装的信息!

  dpkg -L [软件包名称]:列出指定软件包的详细安装列表

  dpkg -s [软件包名称]:查看指定软件包的详细信息,如安装状态、版本信息、依赖关系、配置文件以及描述信息等!

  dpkg -S [文件名]:查看指定文件的来源(就是属于那个软件包,可以直接使用绝对路径进行查看)

  说明:以上名称参数均可以使用通配符!

  dpkg -i [*.deb]:安装指定的deb软件包

  dpkg -r [*.deb]:卸载指定的deb软件包

  dpkg -P [*.deb]:彻底的卸载指定的deb软件包,包括配置文件等等

  dpkg -c [*.deb]:列出指定deb软件包所包含的文件列表 rpm -qlp

  dpkg -I [*.deb]:列出指定eb软件包的详细信息,如版本、依赖、描述等等

  19、启动Xephyr命令: “Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac”(就相当于在X界面下再开一个X)

  20、IP转发: echo 1 》 /proc/sys/net/ipv4/ip_forward

  IP伪装: iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.121

  IP设置: ifconfig eth0 192.168.7.2 up

  指向网关: route add default gw 192.168.7.1

  21、快速文件索引命令: locate filename (注意需要定期更新索引数据库: sudo updatedb)

  22、光驱弹出:eject -r 光驱弹入:eject -t

  23、可以通过chkconfig来设置系统启动配置,如chkconfig httpd on和chkconfig vsftpd on

  24、察看目录大小:du -sh 《dirname》;查看文件大小:ls -lh

  25、在双系统情况下,如果重装windows就会破坏原有的grub引导程序,可以通过以下步骤简单修复:通过Linux安装光盘启动系统,以root权限进入grub,

  root@local:~#grub

  grub》 find /grub/stage1 (该命令会显示引导文件所在分区,如(hd0,1))

  grub》 root (hd0,1) (注意中间有一空格,指定/boot分区所在位置)

  grub》 setup (hd0) (将grub安装到mbr)

  grub》 quit (退出grub程序)

  root@local:~#reboot

  26、查看磁盘分区使用情况:df -lh (sudo fdisk -l列出所有磁盘分区)

  27、磁盘分区管理命令:fdisk

  root@local:~#fdisk /dev/hda (进入磁盘管理)

  Command (m for help): p (查看所有分区)

  Command (m for help): a (设置可引导分区,就是*标记)

  Command (m for help): n (创建一个新分区,给新分区分配空间时,起始卷值默认即可,可避免空间浪费,然后给出空间大小,如+10000M就表明要分配1G的空间,然后自动计算结束卷值)

  Command (m for help): t (给新分区设置分区类型,可以通过L显示所有分区类型)

  Command (m for help): w (保存退出,但也需重启才能生效)

  Command (m for help): q (不保存退出)

  28、新分区还需被格式化成相应的文件系统类型才能使用,常用的有mkfs.ext3(格式化为ext3格式,也是Linux分区常用的)、mkfs.msdos(格式化为Fat16格式)和mkfs.vfat(格式化为Fat32格式);如mkfs.vfat /dev/hda1

  29、磁盘分区类型一般有两种,primary分区和extends分区,每个磁盘所包含的这两种分区类型总和不得超过4个;如果还想增加更多分区,可以在extends分区中创建任意多个logic分区;所有在给一个新磁盘分区时,都应该给其划分一个extends分区,以作扩展之用,否则就成为死分区了。典型划分的一个示例:

  fat32:用于双系统(primary)

  boot:启动引导分区,1G空间足够,ext3格式(primary)

  swap:交换分区,1G空间足够,swap格式;如果内存很大,也可以不要(primary)

  extend:扩展分区,全部剩余空间,ext3格式;然后可以在其下创建多个logic分区(logic)

  30、使用qemu运行一个winxp image:qemu -m 384 -no-acpi -hda 。/winxp.img

  31、Find命令与cp命令的组合:find ‘dir1’ -iname “*.ko” -exec cp {} ‘dir2’ ;

  表明将dir1目录里的所有.ko文件拷贝到dir2目录,注意,注意带上命令后面的分号

  32、解决挂载分区中文显示乱码问题: sudo mount /dev/hda2 /mnt/xp -t vfat -o iocharset=utf8,umask=000

  -o iocharset=utf8指定编码方式umask=000指定文件权限,与chmod 777等价,该句对乱码问题没什么影响,也可不要!

  对于NTFS分区:mount -t ntfs-3g -o nls=utf8,umask=000 /dev/hda1 /mnt/c,这里需要用nls才能正常显示中文(-t ntfs-3g有时并不工作,改用-t ntfs即可,当然挂载ntfs分区的前提当然得先安装ntfs-3g了;还有一点就是挂载的ntfs分区无法写入)!

  34、以 root 用户运行下列命令来添加新用户:

  groupadd lfs

  useradd -s /bin/bash -g lfs -m -k /dev/null lfs

  命令行选项的含义:

  -s /bin/bash --- 指定 bash 作为 lfs 用户的默认 shell

  -g lfs --- 将 lfs 用户添加到 lfs 组

  -m --- 为 lfs 用户创建 home 目录

  -k /dev/null --- 这个参数通过修改输入位置为特殊的空设备来防止从框架目录(默认为 /etc/skel)拷贝文件

  lfs --- 这是所创建的组和用户的实际名字

  为了可以使用 lfs 用户登录(与从 root 用户切换到 lfs 用户不同,这种切换不需要 lfs 用户有一个密码),必须先为 lfs 用户设置一个密码:

  passwd lfs

  35、openssh-client:ssh客户端,就是gnome终端

  openssh-server:ssh服务端,只有开启后,别人才能登录到该主机

  36、Ubuntu英文环境下scim输入法在firefox中输入中文的问题:

  首先安装中文支持,确保scim可用,即在terminal和gedit中可以通过右键选择scim输入法进行中文输入;

  然后执行命令:

  sudo apt-get update

  sudo im-switch -s scim

  sudo apt-get install scim-qtimm

  最后重启X即可

  37、浏览chm文件(win下编译好的html文件),可以安装包chmsee或者xchm

  38、一些常用命令:

  lspci #查看系统设备

  alsamixer #查看系统声息设备

  gzip ‘file’ #生成一个.gz文件

  gzip -d ‘file.gz’ #解压一个.gz文件

  dmesg #查看kernel启动信息

  uname -r #查看kernel版本信息

  rpm -i program.rpm #安装rpm包

  audacious #一款很好的music播放器,可直接从源安装

  39、升级Ubuntu一般步骤:

  更新/etc/apt/sources.list的源到指定版本;

  sudo apt-get upgrade

  sudo apt-get update

  sudo apt-get dist-upgrade

  40、利用--reference参数可以使file2的权限与file1相同,其它更改命令如chgrp,chown等可相似使用:

  chmod --reference ‘file1’ ‘file2’

  41、svn使用入门:

  启动svn服务:svnserve -d

  创建svn项目:稍微麻烦,创建完后需要进行用户权限的点配置,可参考已有的svn项目,拷贝过来即可(不再赘述)。

  导出文件:svn co svn://192.168.1.x/var/www/svn/trunk (将工程目录trunk导出到当前目录下, co=checkout)

  svn co svn://192.168.1.x/var/www/svn/trunk dir (表示将trunk/*导入到指定目录,如果没有指定目标目录,则包括trunk目录在内被导入到当前目录下)

  提交文件:svn commit -m “[labServer] Fixed #bug_id bug_describ” (提交新的版本,引号内容是该版本的描述信息,commit=ci=checkin)

  查看变更:svn diff ( | more)

  版本同步:svn update (可在本地导出的工程目录下执行)

  版本信息:svn info

  版本日志:svn log

  增加文件:svn add file

  删减文件:svn del file

  生成patch文件:svn diff 》 。/fix#bug_id.patch (将patch文件导出到当前目录下)

  先add/del之后,再执行commit !

  42、qemu典型使用:

  qemu-img create -f qcow harddisk.img 1024M(创建一个img文件,其格式为qcow,大小为1G,前提需安装qemu)

  qemu -boot d -hda 。/xp.img -cdrom 。/wixp-sp2-small.iso -m 512 -localtime(从本地iso镜像安装到img文件)

  qemu -boot d -hda 。/xp.img -cdrom /dev/hda -m 512 -localtime(从光盘iso镜像安装到img文件,光盘的挂载分区可通过df查看)

  qemu -boot d -cdrom 。/demo.iso(直接光盘启动)

  ------------------------------------------------------------------------------------------------

  建立磁盘文件:

  qemu-img create winxp.img 10G (磁盘大小自定义,要装Windows建议大一些,否则升级起来很麻烦)

  安装:

  qemu-kvm -m 450 -hda winxp.img -cdrom Windows XP Pro CN with SP2.iso -no-acpi -boot d

  (qemu-kvm即调用KVM模块)

  使用:

  qemu-kvm -m 450 -hda /all/kvm/winxp.img -net nic -net user -localtime -no-acpi -boot c

  这里采用NET的上网方式,也没有加声卡。。

  ------------------------------------------------------------------------------------------------

  在Debian下验证:

  启动img 文件:kvm -hda winxp.img -m 384 -soundhw es1370 -no-acpi

  启动磁盘分区:kvm -hda /dev/sda -m 512 -soundhw es1370 (然后通过grub选择可以进入winxp)

  43、用mbootpack整合内核: mbootpack -o xen -m vmlinux-stripped xen-3.0.4-1

  其中-o xen指定要生成的目标文件

  vmlinux-stripped是附加体内核

  xen-3.0.4-1是本体内核

  44、制作启动盘相关:

  install-mbr /dev/sdb(需安装包mbr,其目标是整个磁盘)

  syslinux /dev/sdb1(需安装包syslinux,其目标是某一特定磁盘分区)

  45、创建节点设备:

  mknod sdb c 8 1 #create sdb device in current dir

  46、apt-get使用小结:

  用法:apt-get [选项] 命令

  命令:

  update - 下载更新软件包列表信息

  upgrade - 进行一次升级

  install - 安装新的软件包(注:包名是 libc6 而非 libc6.deb)

  remove - 卸载软件包

  source - 下载源码包文件

  build-dep - 为源码包配置所需的构建依赖关系

  dist-upgrade - 发布版升级,见 apt-get(8)

  dselect-upgrade - 根据 dselect的选择来进行升级

  clean - 删除所有已下载的包文件

  autoclean - 删除老版本的已下载的包文件

  check - 核对以确认系统的依赖关系的完整性

  示例:

  apt-get remove pkgname #删除一个软件包。

  apt-get --purge remove pkgname #跟上面的一样,但保留配置文件

  apt-get autoremove #删除所有单独不用的软件包

  apt-get autoclean #删除所有老版本的软件包

  dpkg -P pkgname #彻底删除一个软件包以及配置文件。

  dpkg -r pkgname #删除但保留配置文件

  附加aptitude的使用:

  其基本使用方法于apt-get一样,用aptitude替代apt-get字符串即可!

  aptitude install pkgname #安装

  aptitude remove pkgname #删除,但保留配置文件

  aptitude purge pkgname #彻底删除

  47、vi使用技巧

  Vi中光标的移动:

  w: 向前移动一个单词,将符号或标点当作单词处理

  b: 向后移动一个单词,把符号或标点当作单词处理

  0: 到行首

  $: 到行尾

  gg: 到页首

  G: 到页末

  行号+G: 跳转到指定行

  Ctrl+g: 查询当前行信息和当前文件信息

  CTRL+U: 向上滚动半屏

  CTRL+D: 向下滚动半屏

  vi中查找和替换命令详解:

  对于字符替换,应该解决这样几个问题:

  1、用谁替换谁的问题;

  2、在那个范围内进行查找和替换;

  3、是替换查找到的第一个还是所有匹配的项全部替换;

  vi命令的各种选项就提供了这样的选择:

  按住esc键,进入命令状态;然后按:进入命令模式;开始输入查找和替换命令!

  一般形式为:range+“s”/source/target/g

  其意义如下:

  range表示要搜索的范围;

  “s”这个字母表示搜索的意思,这个是不能缺少的;

  source表示要搜索的字串;

  target表示要被替换的字串;

  g表示对于符合条件的字串全部进行替换(否则仅替换指定范围内的每一行的第一个);

  其中ranges的去值如下:

  1) %表示全部的行;

  2) 。表示当前行;

  3) $表示最后一行;

  4) 可以用具体的数字表示具体的行,如10,20等;

  5) 上述的标志可以进行组合,如。,$s/source/target/g 表示从当前行到最后一行的搜索替换;又如10,20s/和10,$s/等等组合;

  常用替换命令: %s/str1/str2/g #用str2替换掉当前文本中所有的str1

  语法高亮: 编辑/etc/vim/vimrc,添加一行syntax on

  搜索高亮: 编辑/etc/vim/vimrc,添加一行set hlsearch

  48、在本地交叉编译目标主机用的程序:arm-elf-gcc -elf2flt mycgi.c -o mycgi

  49、转换字符编码的命令iconv:

  iconv -f gb2312 -t utf8 abc.txt -o abc-utf8.txt

  iconv -l #列出系统中已知的字符集

  iconv -t utf-8 abc.txt #简单用法

  50、卸载时报告设备繁忙解决方法:

  fuser -v /mnt/xx, 看看是那个进程在用

  fuser -k /mnt/xx, 把所有使用xx的进程全部杀掉,然后再umount

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分