一直想装个Linux系统玩一下的,可是一直又懒得动,怕麻烦。这次是不得不装了,因为工作中,有些程序需要在Linux系统下开发,在公司电脑上装了个虚拟机Virtual Box,然后在上面装了个ubuntu10.04进行软件开发。

在公司使用虚拟机总感觉不爽,而且系统和开发环境都是英文版的,对于初次接触ubuntu并且英文也不是很好的人来说简直是受罪,所以回家自己装了个最新版的ubuntu12.04中文版,以求尽早熟悉该环境下的编程。

装完ubuntu12.04才知道,ubuntu12.04和ubuntu10.04虽然同是ubuntu系统,但是操作界面完全变了样,从表面上简直可以说是两个系统,不过对于我来说,也没有什么,反正两个都不熟悉,本文下面的内容主要是针对ubuntu12.04系统。

下面简单列举一下ubuntu下的常用软件:

1、浏览器:Firefox+ Downthemall(插件)、Chromium

2、视频:SMplayer、GNOMEMplayer

3、音频:Exaile,其实我觉得自带的音乐播放器已经够用了

4、翻译软件:星际译王(stardict)

5、杀毒软件:小红伞(AviraAntivar Personal),安装必要性不大

6、Windows软件模拟器(Wine):可以让Windows软件运行在Linux环境下(当然不是所有的软件都可以),安装和使用时都使用wine,如:wine/<path>/xxx.exe

下面是一些不得不说的命令行操作了:

相对与Windows的图形界面操作不同,Linux的很多操作都需要在终端下输入命令进行,而且由于用户权限的严格限制,在图形界面上很多文件夹是无法操作的,当然也并不是完全不可能,按住组合键Alt+F2,然后输入gksu nautilus用root的身份打开文件浏览器,输入密码,这时你就可以不受权限的限制了。如果是在命令行模式下,提升权限就需要sudo指令了,还可以使用su命令来实现在命令行中提高权限,su命令用于临时切换至任意用户,包括root,如:提升之user1:su user1、提升至root:sudo su root。

常用快捷键:

Ctrl+Alt+F1:进入终端界面

Ctrl+Alt+F7:回到图形界面

Ctrl+Alt+T:进入伪终端,当然我们的大部分操作只需要在伪终端下操作即可

终端常用快捷键:

Shift+Pageup/Page down:向上向下翻页

Tab:命令补全功能

Ctrl+Shift+c:复制

Ctrl+Shift+v:粘贴

Ctrl+a:移动到当前行开始位置

Ctrl+e:移动到当前行结尾

Ctrl+k:删除此处至末尾所有内容

Ctrl+u:删除此处至开始所有内容

Ctrl+l:刷新屏幕

Ctrl+c:杀死当前任务

Ctrl+s:挂起当前shell

Ctrl+q:重新启用挂起的shell

Alt+u:把当前词转化为大写

Alt+l:把当前词转化为消协

Alt+c:把当前词变成首字母大写

Alt+f:光标向前移动一个字符

Alt+b:光标向后移动一个字符

终端改变大小:

F11:全屏

Ctrl+shift+plus:放大

Ctrl+minus:减小

图形界面快捷键:

F10:打开顶部面板的第一个菜单,使用箭头键浏览菜单项。

Super超级键(Win键)操作:

Super:打开dash。

Super长按:启动Launcher。并快捷键列表。

Super+Number:按住超级键,再按1,2,3等数字键:从Launcher打开一个应用程序,当你按住超级键时,每个应用 程序图标上都会显示一个数字,按下对应的数字就会打开盖应用程序。

Super+A:从Launcher打开应用程序窗口。

Super+F:从launcher打开文件和文件夹窗口。

Super+M:从launcher打开音乐窗口。

Super+V:从Launcher打开Vedio视频窗口。

Super+W:伸展模式,缩小所有工作空间中的窗口。

Super+T:打开回收站。

Super+S:Expo模式,缩小所有工作空间,允许你管理窗口。

Ctrl+Alt快捷键:

Ctrl+Alt+L:锁住屏幕。

Ctrl+Alt+上/下/左/右键:移动到新的工作空间。

Ctrl+Alt+Shift+上/下/左/右键:将窗口放入新的工作空间。

Ctrl+Supper快捷键:

Ctrl+Super+Up:最大化当前窗口

Ctrl+Super+Down:最小化当前窗口

Ctrl+Super+D:最小化所有窗口

Ctrl+Super+Left:半最大化当前窗口(左边)

Ctrl+Super+Right:半最大化当前窗口(右边)

Alt快捷键:

Alt+F1:将键盘焦点移到Launcher上,使用箭头键进行移动,按回车即可启动一个应用程序,按下右 箭头键显示Quicklist。

Alt+F2:以特殊模式打开dash,以便运行任何命令。

Alt+F10:打开键盘

Alt+Tab:在当前打开的窗口之间切换。

Alt+F4:关闭当前窗口。

Alt+F7:移动当前窗口(可以使用键盘或鼠标移动)。

常用命令:

~:家目录

pwd:得到当前所在目录

history:显示曾经运行过的命令,不是独立命令,是Base关键字

more:把输出内容用more显示,一页一页往下看,如:ps-A|more ;

也可查看文件,如:more/path/filename , q键退出

less:把输出内容用less显示向上向下翻页,如:ps-A|more ;

也可查看文件,如:more/path/filename , q键退出

man:命令解说员,查看命令用法,在命令之前家man即可,如:manifconfig

chmod:设置权限命令,格式为:chmod[设置权限的对象]+/-[权限] [文件],其中,

[设置权限的对象]取值:u代表所有者,g代表群组,o代表其他

[权限]取值:r代表读,w代表写,x代表执行

例如:赋予脚本可执行权限:chmodu+x ./xxx.sh

>或>>:转向输出,其中>>在文件末尾追加

gcc:编译c语言

g++:编译c++:啊

通配符*代表任意多个字符,?代表任意一个字符

常用操作:

安装软件使用命令:sudoapt-get install <软件包名>

删除软件使用命令:sudoapt-get remove <软件包名>

查看软件安装位置使用:whereis,如:whereisechipse

搜索软件源是否有你想要的软件:sudoapt-cache search <关键字>

下面开始配置我们的开发环境:

第一步当然是设置系统尽量符合我们的操作习惯,所以安装个系统图形界面设置工具Tweak,而且它里面的清道夫功能可以帮助你完美的清除系统垃圾,包括浏览器缓存,旧的内核什么的,还是一个不错的软件,下面就是它的ppa安装方法:

sudoadd-apt-repository ppa:tualatrix/ppa

sudoapt-get update

sudoapt-get install ubuntu-tweak

搭配PHP开发环境(参见http://blog.sina.com.cn/s/blog_568f35c701016tzb.html):

我们使用root账户进行安装,首先切换到root账户,输入命令:sudosu

安装 MySQL5

输入命令:apt-getinstall mysql-server mysql-client

安装过程中需要设置root账户密码,系统会作以下提示:

Newpassword for the MySQL "root" user:Repeat password for theMySQL "root" user:

安装 Apache2

输入命令:apt-get install apache2

在浏览器输入你服务器地址列入http://127.0.0.1查看Apache2是否工作,如果显示(Itworks!),说明已经工作,Apache在 Ubuntu中默认文档根目录为 /var/www,配置文件/etc/apache2/apache2.conf,额外配置存储子目录/etc/apache2

安装 PHP5

安装 PHP5和 ApachePHP5 模块:apt-get install php5 libapache2-mod-php5

然后重启apache:/etc/init.d/apache2 restart

测试 PHP5/ 可以建立一个页面:vi/var/www/info.php

输入下面的内容:

<?php

phpinfo();

?>

然后打开浏览器访问(http://127.0.0.1/info.php):

你可以看到一些已经支持的模块。

为PHP5取得MySQL支持

我们需要安装php5-mysql,先查看一下php5的模块

apt-cachesearch php5

然后安装所需模块,例如下面的命令:

apt-getinstall php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagickphp5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspellphp5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

重启 Apache2:

/etc/init.d/apache2restart

然后刷次你http://192.168.0.100/info.php查看模块支持是不是已经增加了。

以上内容参见网页:http://blog.sina.com.cn/s/blog_568f35c701016tzb.html

搭配Java开发环境:

安装Java:

$sudo apt-add-repository ppa:flexiondotorg/java

$sudo apt-get update

$sudo apt-get install sun-java6-jre sun-java6-jdk sun-java6-pluginsun-java6-doc

安装完成后,重启系统,使之生效。重启后在终端输入:$java-version 查看是否安装成功。

安装Eclipse:

在终端中输入:

sudoapt-get install eclipse

sudoapt-get install eclipse-pde

sudoapt-get install eclipse-jdt

如果出现eclipse无法打开:Couldnot load SWT library,可以按下列方法解决:

首先执行如下命令更改要使用的javaJDK版本:

#update-alternatives--config java

选择你正确的java版本(当你系统中有多个jdk版本的情况下)

然后执行命令:#cp/usr/lib/jni/libswt-* ~/.swt/lib/linux/x86

重启eclipse即可(参见http://www.zhiwenweb.cn/Category/Tech/ubuntu-12.04-eclipse-swt-open-error.html)

搭配c/c++开发环境:

安装Eclipse:

见搭配Java开发环境中的Eclipse安装

安装CDT插件,方法如下(参见http://rajaruan.blog.51cto.com/2771737/897795):

1、启动eclipse,

2、选择Help->InstallNew Software...,在Workwith的框框下复制下面的地址:http://download.eclipse.org/releases/galileo

3、选择Collaboration->MylynBridge: C/C++ Development,安装,重启eclipse。

4、同上述2、3,选择ProgrammingLanguages->Eclipse C/C++ Development,重启eclipse。

注意:要记得安装C++必要工具,安装的是GCC工具链,Make等一系列开发工具,命令如下:sudoapt-get install build-essential

要不然#include头文件的时候,会出现提示:Unresolvedinclusion: <iostream>

安装完CDT后,安装完虽然可以编译运行c++程序,但有个问题,就是找不到c++标准库的头文件,无法打开诸如之类的文件,编译器警告如下:Unresolvedinclusion:

尽管不影响编译,却无法定位头文件中的符号。原因是没有指定Eclipse的C和C++的目录,可以通过设定Eclipse中C_INCLUDE_PATH和 CPLUS_INCLUDE_PATH两个环境变量指定头文件目录。

在 Window-> Preferences -> C/C++ -> Environment 中添加这两个变量:

将C_INCLUDE_PATH设为 /usr/include

将CPLUS_INCLUDE_PATH设为 /usr/include/c++/4.6.3

其中4.6.3是gcc的版本,用gcc--version可以获得,改成相应版本即可。

对Eclipse+CDT进行优化配置:

一、C/C++环境配置:Window- Preferences - C/C++

1、Appearance,选中Groupmethod definitions in the Outline view

2、CodeStyle,通过New来新建一个代码风格,命名为qpsoft,且初始化为BSD/Allmain,然后按习惯修改一些细节。

3、Editor- Content Assist - Auto-Activation -Delay(ms),原值为500,改为100,则智能提示速度将非常快!

4、Indexer,清空Filesto index up-front的内容,修改Cachelimits的值,尽可能大,可以提高速度!

二、修改智能提示快捷键:

Window- Preferences - General - Keys,输入Content,找到ContentAssist,在Binding中修改为Shift+Space,要顺手的多。

三、其他设置

1.Window - Preferences - General - Editors - Text Editors,选中Showline numbers,设置Printmargin column为110

2.Window - Preferences - General - Workspace,取消Buildautomatically,选中Saveautomatically before build

四、通过插件扩展功能

支持Subversion:Eclipse官方出品,主页位于http://www.eclipse.org/subversive/在安装时可以通过Help->InstallNew Software...,在workwith框框复制地址:http://download.eclipse.org/technology/subversive/0.7/update-site/

Shell编程和正则表达式此处略过,太多了,翻书去

下面说说Linux下的c程序编译:

例如:gccfile1.c file2.c -lpthread -o outfile

将 file1.c和file2.c两个源文件进行编译并链接库pthread生产输出文件outfile,其中-l是标记链接库,-o是标记输出文件

下面拿一个简单的源文件(Hello.c)对编译过程进行详解:

#include<stdio.h>

#defineNUM 10

intmain()

{

inti;

for(i= 0 ; i < NUM ; i++ )

printf(“Helloworld!”);

return0;

}

第一步:预处理(cpp)

gcc-E ./Hello .c > hello_cpp.c

-E参数就是让gcc对Hello.c只进行预处理,也可以直接用cpp命令进行预处理,如下所示:

cpp ./Hello .c > hello_cpp.c

第二步:编译

gcc-S ./Hello .c

-S参数就是让gcc对Hello.c只进行预处理和编译,最后会得到一个Hello.s的汇编代码文件

第三步:汇编(as)

gcc-c ./Hello .c

-c参数就是让gcc对Hello.c只进行预处理、编译和汇编,这样运行之后会输出一个Hello.o的机器码文件,如果想查看这个文件,可以输入指令:hexdump-C ./Hello.o

第四步:链接(ld)

将这些.o文件组装起来,就需要ld(链接)负责了,经过ld组装的程序就可以运行了。

不过上面四个步骤并不需要我们一个一个做,运行一个gcc命令就全搞定了。

程序调试:

GDB:GNUDebugger的缩写,也就是GNU调试器的意思。

在编译的时候加上参数“-g”就可以对程序进行调试了,如:

gcc-g file1.c file2.c -lpthread -o outfile_debug

编译可调试的程序后,就可以叫来GDB来运行他,例如:gdb./outfile_debug

于是,GDB就会接到指令,进入调试界面了,下面是GDB在调试界面下面的一些常用指令:

run命令(简写r):这个命令很好理解,就是从头开始运行程序,在命令“gdb./outfile_debug”后,进入GDB调试环境,但是并没有自动运行其这个程序,需要run一下才行。

break命令(简写b):这个命令用来设置断点,例如:“break12”就是在程序的第12行设置断点。

clear命令:取消断点,如“clear12”

list命令(简写l):列出当前程序源代码。

continue命令(简写c):这个命令是继续执行的意思,程序遇到断点停下来以后,可以用这个命令 继续执行下去,直到碰到下一个断点或者结束。

next命令(简写n):这是单步执行的命令,程序遇到断点停下来以后,执行这个命令可向下执行一句代码。

print命令(简写p):这个命令就是打印变量的值,比如“printi”打印i的值

examine命令(简写x):这个命令用来查看指定内存地址中的数据,

如:examine0x12345678

make机制:

把一堆.c文件编译成一堆.o文件。然后再把.o文件链接成一个成品的二进制文件,有改动的时候只更新单个的.o文件就可以了。

当有某个.c文件被修改以后,make能够根据文件的修改时间智能的判断出哪些模块需要重新编译,重新链接,然后就让gcc重新编译那些改动过的文件,重新生成新的二进制文件。

Makefile的基本格式:

目标:原料

<Tab>加工方法

注意:“加工方法”一行的前面有且必须有一个Tab制表符,不能顶格写,也不能用空格代替Tab。

实例:

all:main.opart1.o part2.o

gccmain.o part1.o part2.o -o mybin

main.o:main.c

gcc-c main.c

part1.o:part1 .c

gcc-c part1.c

part2.o:part2.c

gcc-c part2.c

如果不加参数,make就去找目标是“all”的段落,也可以指定参数,如:makemain.o,那么就只编译main.o这个段落。

注意:“原料”不是必须的,如:

clear:

rm./*.o

rmmybin

要看一个程序依赖哪些库,可以使用ldd命令,如:ldd./eclipse

软件安装包:

解压压缩包(xxx.tar.gz)指令:tar-xzvf xxx.tar.gz

其中:xzvf是命令tar的参数,文件名必须跟在f参数后面,其他参数顺序随意,各参数含义如下:

x:说明要做解包的动作

z:说明是gzip压缩过的

v:显示解压的过程

f: 指明要解压的文件

j: 说明这个包是用你bzip压缩过的

c:说明要做打包的动作

安装包中configure脚本的作用:

检查系统环境,是否适合当前软件的安装,如果没有问题,则生成makefile文件,一般,在运行./configure指令之前是没有makefile文件的。

生产configure的工具软件:Autoconf

ubuntu必要软件及其命令相关推荐

  1. ubuntu必备软件安装命令

    Ubuntu必备软件安装命令 (Update to 2016/05/18) 更新Ubuntu各部件到最新版本 Ubuntu必备软件安装命令 更新Ubuntu各部件到最新版本 一些必备的Ubuntu部件 ...

  2. ubuntu安装软件常用命令

    ubuntu安装各种文件包 .deb文件 1.安装 2.卸载 apt安装与卸载 1.ubuntu换源 2.安装 3.卸载 ubuntu安装各种安装包 .deb文件 1.安装 安装deb文件,在deb文 ...

  3. Ubuntu截图软件flameshot命令行下载

    截图软件flameshot命令行下载 一.安装 二.命令行截图 三.设置自定义快捷键 一.安装 sudo apt-get install flameshot 二.命令行截图 flameshot gui ...

  4. ubuntu更新软件——终端命令(更新所有软件[可更新])

    (1)输入命令 (2)执行效果(由于已经更新完毕,因此显示所有软件包均为最新,否则显示具体需要更新的软件包个数等信息) (3)输入命令 (4)执行效果:无(由于已经更新,执行期间命令行询问是否下载Y/ ...

  5. Ubuntu 更新软件的命令

    更新软件源 apt-get update 更新升级所有软件 apt-get upgrade 更新某个软件 apt-get upgrade 名 列出可更新的软件 apt list --upgradabl ...

  6. ubuntu 常用软件和命令

    永久修改屏幕的分辨率 sudo gedit .profile 将下面的四句话加入..profile文件的最后 cvt 1280 768 xrandr --newmode "1280x768_ ...

  7. Ubuntu卸载软件相关命令

    查看安装的软件 dpkg -l 查看软件版本 dpkg -l | grep xxx # xxx为软件名称,例如 virtualbox 查看包是否安装 dpkg-query -l *package-na ...

  8. Ubuntu系统初识-常用命令和软件安装

    常用的终端命令: sudo:sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登陆 和管理时间,同样也提高了安 ...

  9. ubuntu系统vim常用命令学习以及ubuntu软件下载安装

    文章目录 一.ubuntu系统vim常用命令学习 (一)进入进入vim编辑器的方式 (二)vi的三种工作方式 (三)退出vi的命令 (四)命令模式下的各种命令 1.光标移动命令 2.插入命令 3.删除 ...

  10. Ubuntu 更新软件命令

    Ubuntu 更新软件命令 //更新软件源 apt-get update // 更新升级所有软件 apt-get upgrade // 更新某个软件 apt-get upgrade //name // ...

最新文章

  1. vrrp路由器三种状态_VRRP技术详解和实战演练
  2. TypeScript 交叉类型(intersection type)
  3. 作者:Anjaneyulu Passala, 男,印度理工学院计算机科学与工程学院博士,印孚瑟斯技术有限公司主任研究科学家。...
  4. mysql编译安装原理_MySQL编译安装全过程
  5. 如何复现论文中的算法
  6. python-snap7使用说明
  7. Windows 98/Me/2000/2003 计算器【怀旧】【附下载地址】
  8. 如何把控单元测试的粒度让你省时省力甚至一劳永逸建议一键收藏
  9. win7 关闭计算机休眠,win7系统彻底关闭休眠的操作方法
  10. 5G/NR 5G核心网(5GC)之网络功能和实体
  11. 高通msm8916 gpio笔记(基于设备树)
  12. Redis记录:Invalid argument during startup: Failed to open the .conf file
  13. 只有两种直播:淘宝直播和其它直播
  14. Linux查看进程信息相关(Ubuntu)
  15. python与建筑行业_Python+AI+CC,这些建模“高级功能”,90%的人不知道
  16. Linux命令——bash
  17. Socket中send()函数和recv()函数详解
  18. iphone手机上三个麦克风作用
  19. 【缓冲流、转换流、序列化流】
  20. r spgm 语言_R语言 splm包 spml()函数中文帮助文档(中英文对照)

热门文章

  1. 超强的Windows远程连工具Terminals
  2. 基于Matlab三维切片数据绘图以及自由旋转
  3. Manjaro常用命令及软件配置安装
  4. 计算机专业的大学生该如何提升自己?
  5. 闭眼推荐,9 个不能错过的机器学习数据集
  6. 处方药和非处方药有什么区别?
  7. 【翻译】为什么你的活动需要一个行为准则,你需要执行它
  8. 计算机二级证自己学考难吗,全国计算机二级考试难吗?
  9. DP环形结构两种处理方法(两次DP(一次断开,一次强制连接), 环拆成链复制一倍)
  10. 使用分而治之编写非递归合并排序算法