ubuntu常用的命令

Table of Contents

1 ubuntu

1.1 写在前面

千万不要抱有一朝一兮就可以搞定的想法。最好的话身边有一个群体,大家都使用Ubuntu这个东西。 这样如果有什么问题的话,大家就比较容易找到解决办法,直到自己完全适应为止。推荐安装下面这些软件:

  • #sudo apt-get install vlc # 视频
  • #sudo apt-get install pidgin # 聊天
  • #sudo apt-get install stardict # 词典
  • #sudo apt-get install amarok # 音乐
  • sudo apt-get install okular # pdf阅读
  • sudo apt-get install git
  • #sudo apt-get install subversion
  • sudo apt-get install htop
  • sudo apt-get install dstat
  • sudo apt-get install sysstat
  • sudo apt-get install httperf
  • sudo apt-get install rsync
  • sudp apt-get install tree
  • sudo apt-get install tcpdump
  • sudo apt-get install clusterssh
  • #sudo apt-get install libjs-extjs
  • #sudo apt-get install libjs-extjs-doc
  • sudo apt-get install openssh-server
  • sudo apt-get install sqlite3
  • #sudo apt-get install eclipse
  • sudo apt-get install python-dev
  • #sudo apt-get install libevent-dev
  • #sudo apt-get install python-gevent
  • #sudo apt-get install python-gevent-doc
  • #sudo apt-get install gunicorn
  • #sudo apt-get install recordmydesktop # 录制桌面
  • sudo apt-get install maven2
  • sudo apt-get install ttyload
  • sudo apt-get install autoconf
  • sudo apt-get install libtool
  • sudo apt-get install automake
  • sudo apt-get install alien
  • sudo apt-get install dos2unix
  • sudo apt-get install astyle
  • sudo apt-get install valgrind
  • #sudo apt-get install mongodb
  • #sudo apt-get install python-imaging
  • #sudo apt-get install python-imaging-doc
  • sudo apt-get install screen
  • sudo apt-get install tmux
  • #sudo apt-get install python-pychart
  • #sudo apt-get install python-pychart-doc
  • sudo apt-get install python-doc
  • sudo apt-get install python-setuptools
  • sudo apt-get install linux-tools-common
  • sudo apt-get install linux-base
  • #sudo apt-get install mercurial
  • sudo apt-get install golang-go
  • sudo apt-get install kchmviewer # chm阅读
  • sudo apt-get install flex
  • sudo apt-get install bison
  • sudo apt-get install iotop
  • sudo apt-get install curl
  • sudo apt-get install ibus
  • sudo apt-get install ibus-sunpinyin
  • sudo apt-get install xsunpinyin
  • sudo apt-get install python-xlib # 需要在emacs下面调用ibus
  • #sudo apt-get install chromium-browser # 实验性质版本
  • sudo apt-get install google-chrome-stable # 稳定版本
  • #sudo apt-get install firefox
  • #sudo apt-get install thunderbird
  • sudo apt-get install dkms
  • sudo apt-get install virtualbox
  • sudo apt-get install virtualbox-guest-additions # 设置windows虚拟机共享文件夹
  • sudo apt-get install ntp
  • sudo apt-get install systemtap
  • sudo apt-get install clojure
  • sudo apt-get install zsh
  • sudo apt-get install collectl
  • sudo apt-get install vim
  • #sudo apt-get install xbmc
  • sudo apt-get install latex-cjk-all
  • sudo apt-get install texlive-fonts-recommended
  • sudo apt-get install texinfo
  • #sudo apt-get install sun-java6-jdk
  • sudo apt-get install openjdk-6-jdk
  • sudo apt-get install openvpn
  • sudo apt-get install lzop

1.2 系统配置

1.2.1 察看ubuntu内部版本

lsb_release -a

  note git:(master)  lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:        12.04
Codename:       precise

1.2.2 重启机器

似乎Ubuntu下面限制用户进行重启,可以使用sudo reboot重启机器。

1.2.3 关闭机器

关闭机器同样需要超级权限,可以使用sudo shutdown 0立即关闭机器。

1.2.4 重启unity

unity restart &

NOTE(dirlt):这种方式可以work但是似乎问题比较多,如果unity出现问题还是重启比较方便

1.2.5 设置字符界面启动

  • 编辑文件/etc/default/grub
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"修改成GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
  • 运行sudo update-grub

1.2.6 绑定静态IP

修改/etc/network/interfaces

auto eth0
iface eth0 inet static
address 10.18.102.200
netmask 255.255.255.0
gateway 10.18.102.254

修改/etc/resolve.conf

nameserver 208.67.222.222
nameserver 202.106.0.20
nameserver 219.232.48.62
nameserver 210.52.149.2

修改/etc/nsswitch.conf

hosts:          files dns
networks:       files

然后重启网络

sudo /etc/init.d/networking restart

NOTE(dirlt):可能需要重启多次

1.2.7 修改主机名称

sudo hostname <name>

NOTE(dirlt):mac works too=D

1.2.8 root密码

初次启动的时候需要使用sudo passwd root来修改root密码

NOTE(dirlt):it works for mac too=D

1.2.9 deb使用

安装deb使用命令 sudo dpkg -i test.deb

通常我们不太清楚一个deb安装了哪些文件,尤其是doc的话可能不知道放置在什么位置上面。我们可以通过搜索引擎查找这个包,然后在 http://packages.ubuntu.com 下面找到这个包以及对应的文件列表信息。

doc存放位置通常在/usr/share/doc/<package>/下面。

使用alien在deb和rpm之间转换

  • 安装alien
  • rpm转deb sudo alien -d test.rpm
  • deb转rpm sudo alien -r test.deb

看了一下alien的help还可和下面几个包格式互转

  • slp
  • lsb
  • tgz
  • pkg

甚至可以直接调用alien -i test.rpm直接安装而不需要转换。

1.3 桌面应用

1.3.1 amarok循环播放

在amarok的右下角有task progression的图标,选择repeat track即可。

1.3.2 设置输入法切换

在Preferences里面:

  • Input Method 里面添加 SubPinyin
  • 然后在General里面的Keyboard Shortcuts里面设置Enable or disable设置切换按键
    • Release+Shift_L 左边的Shift键
    • Constrol+space control和空格键
    • 这些都和windows输入法的默认配置很像。

TODO(dirlt):在Emacs里面需要安装ibus.el以及ibus-agent。但是现在不知道为什么左边的Shift键在Emacs里面一直不能使用。

1.3.3 自动启动输入法

另外系统默认是不会自动启动ibus的,可以在System Settings里面的Language Support里面设置Input method为ibus, 这样ibus就可以自动启动了。如果emacs需要使用ibus的话,那么ibus-daemon必须先于emacs启动。可能这样agent才能够工作。

1.3.4 google docs不能输入中文

似乎sunpinyin在google docs下面工作不是很好。使用原来的pinyin就没有问题。what a shame!

1.3.5 设置默认浏览器

System Settings =》 Details 里面可以设置默认浏览器。至于emacs里面的话可以使用如下配置。

(setq browse-url-generic-program (executable-find "chromium-browser")
      browse-url-browser-function 'browse-url-generic)

1.3.6 thunderbird配置gmail

  • pop3 pop.gmail.com/pop.googlmail.com SSL/TLS 995 normal password
  • smtp smtp.gmail.com/pop.googlmail.com SSL/TLS 465 normal password
  • 不过似乎现在thunderbird已经非常智能了,只要输入username以及email的话就可以自动进行配置了。nice!!!(现在看起来选择iamp模式也没有什么问题)
  • server settings =>
    • 1) leave mesages on server until I delete them. (对于imap模式来说的话,就使用默认移动到Trash下面即可)
    • 2) empty trash on exit.
    • 3) check for new messages at startup.
    • 4) check for new messages every 10 minutes.
  • copies and folders => 1) cc these email addresses: dirtysalt1987@gmail.com(如果使用imap模式可以不使用)
  • composition and addressing => 1) start my reply above the quote and place my signature below the quote.
  • 设置签名

1.3.7 thunderbird的Inbox文件过大

在安装新的操作系统时候,可能需要将原来的邮件全部迁移过去。thunderbird迁移邮件非常方便。在C:\Documents and Settings\\Application Data\Thunderbird\Profiles\wkq5wydz.default\Mail\ 下面会有你这个pop-server对应的文件,比如Inbox(对应thunderbird的收件箱),Drafts(对应thunderbird的草稿箱)等。将这些文件直接copy过去就OK了。不得不说这点非常方便:)

但是我们会遇到一个问题就是Inbox文件太大了。而且如果我们在thunderbird下面删除收件箱里面内容的话,会发现这个Inbox文件其实没有发生变化。原因是因为thunderbird采用标记删除,所以原来的邮件内容依然是保存的(也就是说如果我们通过修改Inbox里面的标记位是可以恢复的,而且这个工作不难,因为阅读Inbox的内容就会发现里面保存的文本格式。不过谨慎选用编辑器,不要将Inbox内容全部载入不然内存会爆掉的)。 解决这个问题非常简单,就是在thunderbird下面针对这个文件夹右键点击压缩。对于草稿箱和其他的文件夹是一样的操作。而且在thunderbird下面有工具->选项->高级->网络&磁盘空间里面,可以选择如果超过过大的话就会进行压缩。

作为后端开发者,觉得thunderbird这样做是很正常的。有几种方式:

  1. 一种是用小碎片文件来解决,每个小碎片文件对应一个邮件,但是这样邮件太多的话性能和碎片会成为问题,但是增加和删除都非常方便
  2. 另外就是使用大文件来追加写,然后针对每封邮件进行索引。索引可以保存在内存里面并且定期dump出去,启动时候检查索引是否和文件对应,不对应的话那么可能需要增量做一部分索引。但是这样删除会成为问题,标记删除可能就是最好的办法了。所以需要用户手动或者是通过程序判断磁盘文件大小来触发压缩。
  3. 使用数据库本质上和2是一样的,只不过可以在一定程度上简化代码。在删除方便可能还是使用压缩删除。如果是我自己做的话那么可能考虑使用sqlite来做。单机可以embed,并且通过SQL来进行检索或者是其他操作。

NOTE(dirlt):其实thunderbird超过一定大小就会自动提醒是否需要压缩

1.3.8 窗口常用快捷键

  • Ctrl+Alt+T // 打开一个terminal。
  • Ctrl+Alt+上下左右 // 在不同的workspace之间切换。

1.3.9 调整字体大小

System Settings =》 Universal Access里面的Seeing部分可以用来调整字体大小。但是只有等级没有具体的数字可以进行调整。 可以通过安装gnome-tweak-tool并且运行之来进行微调。

参考链接 http://ltek.dyndns.org/wordpress/?p=282

1.3.10 调整边栏大小

System Settings => Appearance => Launcher icon size.

1.4 编程环境

1.4.1 bash的tab自动补全

  • sudo apt-get install bash-completion

但是我觉得这个自动补全有点不太好的就是,比如我cd ~/.ssh/想自动补全的话,我不仅仅是希望能够补全目录(虽然cd参数只能够是目录),我还希望可以显示文件(比如我想知道这个目录下面是否有Makefile或者是pom.xml),这样就可以快速判断某个文件是否在目录下面。不然我只能调回命令行开头,切换成为cat,然后跳回去使用两次tab进行自动补全(cat能够显示文件).

这个自动补全配置文件在/etc/bash_completion下面。阅读代码发现可能是和file_dir这个函数相关。调用时候使用file_dir -d的话只会显示目录,而file_dir的话就会显示所有。所以最简单的做法就是将file_dir -d全部替换成为file_dir. done!!!

1.4.2 加快ssh登陆

对于服务器的话可以修改/etc/ssh/sshd_config

UseDNS no 

对于客户端的话可以修改/etc/ssh/ssh_config

GSSAPIAuthentication no
GSSAPIDelegateCredentials no

TODO(dirlt):具体为什么? sorry I have no idea!!!

1.4.3 建立ssh信任关系

关于sshd机器之间的信任关系,很多文章都有介绍。大致方法就是:

  1. 在自己机器上面ssh-keygen生成~/.ssh/id_rsa{.pub}.其中.pub文件是公钥
  2. 然后将id_rsa.pub内容copy到另外机器下面的~/.ssh/authorized_keys里面(注意chmod 600)
  3. 接着本地的.pub文件就可以删除

NOTE(dirlt):这个密钥是可以在不同机器上面使用的,也就是说你只需要生成一次即可

我猜想大致工作过程应该是这样的:

  1. 在ssh建立连接的时候,本地ssh-client会读取~/.ssh/id_rsa内容
  2. 建立好连接之后会将rsa内容发给对端机器,对端机器针对authorized_keys进行验证
  3. 如果验证OK的话那么就认为是信任对方的。

但是具体这些文件都是可以配置的,关于这个配置可以man ssh_config(client) / man sshd_config(server). 今天遇到一个问题就出在/etc/sshd_config里面对于认证文件修改了,不是放在authorized_keys里面而是放在cloud_keys里面!!!

对于这种东西我觉得还是使用默认的比较好,convention over configuration!!!



如果登陆过程中出现 "Agent admitted failure to sign using the key" 的话,可以尝试下面的命令

ssh-add   ~/.ssh/id_rsa

1.4.4 简化ssh登陆

简化ssh登陆第一个方式就是去除密码输出,这个可以通过配置信任关系完成。

简化ssh登陆第二个方式就是可以针对hostname,user以及port做别名,这个可以在~/.ssh/config里面配置

dirlt@dirlt-virtual-machine:~/.ssh$ cat config
Host git
Port 16024
HostName git.fm
User dirtysalt

这样之后通过ssh git的话就相当于ssh -l dirtysalt -p 16021 git.fm.非常方便。

NOTE(dirlt):实际上第二点这个对于scp也是很必要的,因为scp没有办法指定工作端口只能使用默认的22

1.5 虚拟机

1.5.1 vmware虚拟机增加磁盘空间

今天感觉自己的磁盘空间好像有点不够了,大部分数据都是在$HOME下面的,需要增加磁盘空间。

使用vmware disk expand似乎不太好用,虽然磁盘空间增大了,但是df -h发现识别的硬盘大小还是一样(可能需要重新格式化才行):(。

另外一个办法,就是在vmware下面再增加一个disk. 128G,识别为/dev/sdb。然后在linux下面

  1. fdisk为/dev/sdb创建分区,partition number=1.
  2. partprobe /dev/sdb1 (?具体什么用途我也不太清楚,inform OS partition table changed)
  3. mkfs.ext4 /dev/sdb1 格式化文件系统

产生这个硬盘之后,可以首先将自己的$HOME重命名,然后mount /dev/sdb1 $HOME.

接着将原来数据copy过去,最好使用cp -r .*这样可以copy隐藏文件。然后需要chown owner:owner .* -R来修改权限(因为这个步骤通常是root操作的)。然后将原来的数据删除即可。

之后为了自动挂载,修改/etc/fstab

/dev/sdb1 $HOME ext4 defaults 0 0

NOTE(dirlt):这里对于0 0不太清楚是什么意思,只是知道分别是dumps以及fsck check order. :(

1.5.2 virtualbox安装windows虚拟机

安装windows虚拟机主要是为了方便一些需要在windows下面完成的操作,比如U盾。 另外windows下面也有一些第三方的软件在Linux下面比较匮乏比如EverBox, 虽然DropBox也非常不错但是相对来说还是国内服务器会比较好一些。

使用virtualbox,通过加载windows xp的镜像安装,这个非常简单。 或者是直接使用别人生成好的.vdi文件。vdi全称应该是virtual disk image。

NOTE(dirlt):升级内核或者是重装系统的话,可能会造成内核版本与默认源的virtualbox不匹配,可以从官网下载最新版本。 参考链接 https://www.virtualbox.org/wiki/Linux_Downloads

1.5.3 virtualbox设置共享文件夹

设置共享文件夹主要是为了数据可以进行同步。通过windows虚拟机,安装同步软件比如GDrive。 然后通过共享文件夹,将GDrive的同步目录隐射到Linux文件系统上面,完成数据同步。

  • 首先挂载VBoxAdditions.iso,这个文件在/usr/share/virtualbox下面
  • 之后就会在虚拟机里面提示安装相关的驱动程序。
  • 完成之后在设置virtualbox的settings/share folder,创建本地share folder
  • 然后进入虚拟机“我的电脑”右键选择映射网络驱动器,通过浏览可以找到对应的网络驱动器。

我是参考这篇图文并茂的文章的 http://hi.baidu.com/hifinan/item/79f22545a8400ed3c1a592f3

1.5.4 virtualbox下使用U盾

首先需要在 https://www.virtualbox.org/wiki/Downloads VirtualBox Extension Pack,双击执行。 在Settings =》 USB选项里面勾选 Enable USB Controller 和 Enable USB2.0(EHCI) Controller。

然后我们需要添加vboxusers这个群组,同时将自己加入到这个群组内:

  • sudo groupadd vboxusers
  • sudo gpasswd -a dirlt vboxusers

接着重新启动ubuntu。

接着Settings =》 USB里面添加那些已经识别的设备,接着启动windows虚拟机就可以使用U盾了。

Date: 2013-10-16T00:16+0800

时间: 2024-10-21 12:53:42

ubuntu常用的命令的相关文章

ubuntu常用终端命令

  ubuntu常用终端命令 NO 分类 PS1 命令名 用法及参数 功能注解 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息 文件管理 # pwd pwd 查看当前所在目录的绝对路经 文件管理 # cd cd .. 回当前目录的上一级目录 文件管理 # cd cd - 回上一次所在的目录 文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录 文件管理 # cd cd ~用户名 回指定

Ubuntu常用命令大全

Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理  ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息  cd .. 回当前目录的上一级目录 cd - 回上一次所在的目录 cd ~ 或 cd 回当前用户的宿主目录 mkdir 目录名 创建一个目录 rmdir 空目录名 删除一个空目录 rm 文件名 文件名 删除一个文件或多个文件 rm -rf 非空目录名 删除

Linux常用shell命令

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu                   #查看的是

常用docker命令,及一些坑

常用docker命令,及一些坑 常用命令 查看容器的root用户密码 docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1 因为docker容器启动时的root用户的密码是随机分配的.所以,通过这种方式就可以得到redmine容器的root用户的密码了. 查看容器日志 docker logs -f <容器名orID> 查看正在运行的容器 docker ps docker ps -a为查看所有的容器,包括已经停止的

docker专题(2):docker常用管理命令(下)

1. 开启/停止/重启container(start/stop/restart) 容器可以通过run新建一个来运行,也可以重新start已经停止的container,但start不能够再指定容器启动时运行的指令,因为docker只能有一个前台进程. 容器stop(或Ctrl+D)时,会在保存当前容器的状态之后退出,下次start时保有上次关闭时更改.而且每次进入attach进去的界面是一样的,与第一次run启动或commit提交的时刻相同. CONTAINER_ID=$(docker start

Ubuntu 常用快捷键——记住这些你就是高手啦!

下面是Ubuntu 常用快捷键--记住这些会让你更加得心应手哦! 444 桌面 ALT + F1: 聚焦到桌面左侧任务导航栏,可按上下键导航. ALT + F2: 运行命令 ALT + F4: 关闭窗口 ALT + TAB: 切换程序窗口 ALT + 空格: 打开窗口菜单 PRINT: 桌面截图 SUPER: 打开Dash面板,可搜索或浏览项目,默认有个搜索框,按"下"方向键进入浏览区域(SUPER键指Win键或苹果电脑的Command键) 在Dash面板中按CTRL + TAB: 切

在ubuntu中的命令框中如何注释掉一句话,就像下面这种情况

问题描述 在ubuntu中的命令框中如何注释掉一句话,就像下面这种情况 在ubuntu中的命令框中如何注释掉一句话,就像下面这种情况,要把ipvar HOME_NAT any那句注释掉 解决方案 要找到脚本文件,用vim打开就可以修改. vim怎么用查查手册. 另外ubuntu也带有图形界面的编辑器,和记事本用起来差不多. 解决方案二: /etc/.... 用vim来编辑,i插入模式 解决方案三: 看你的截图,你装的应该有桌面的,那么你进/etc/snort/文件夹,打开snort.conf文件

Mysql数据库备份和还原常用的命令

Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下面就是操作的常用命令. 一.备份命令 1.备份MySQL数据库的命令 mysqldump-hhostname-uusername-ppassword databasename>backupfile.sql 2.备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆

每个开发人员都应该知道的8个常用Linux命令

每个开发人员到了他们职业人生的某个阶段的时候,将会发现自己要寻找有关Linux的信息.我并不是这方面的专家.但是掌握了以下8个命令,我几乎可以得到我任何需要的东西. 注意:以下的命令都有很多扩展的文档,博客里提出的知识我最常用的命令,用法.如果你不了解Linux命令,这个帖子会给你一点指导. 我们以一些文本举例.假设我们有2个文件,里面有订单关于第三方的放置地点和发送回应. order.out.log 8:22:19 111, 1, Patterns of Enterprise Architec