Ubuntu(14.04LTS)学习札记

时间:2022-02-07 17:14:54

  这篇博文是我在基于Ubuntu学习一些知识的札记,方便日后进行不断回顾,这里进行统一记录,当然当学到新的东西也会陆续更新!!!还请各位博主不要见笑,小弟在此谢过~\(≧▽≦)/~啦啦啦!!!!

1、Ubuntu的简单配置:

  由于个人原因,我并不喜欢在桌面上放一些很花哨的东西,追求简约一直是我个人所推崇的。所以,我的Ubuntu系统配置也不例外,先上一张桌面的谍照:

Ubuntu(14.04LTS)学习札记

  1.1 安装Numix主题:

  楼主我安装的是Numix Circle系列的主题,个人觉得还不错。依据个人爱好,主题嘛,看着酸爽就Okay!

sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-icon-theme-circle

  1.2 常用软件的安装:

  Unity Tweak Tool、新立得软件包、搜狗输入法,这三个软件都可以在Ubuntu软件中心和搜狗输入法官网下载到,这里不再赘述了,至于其他软件我就不介绍了,因为我并没有装,需求不大。

  Conky的安装及配置:如果你想让你的桌面能实时显示一些信息,Conky或许能够帮到你。方便美观便捷,你值得拥有。

//安装:
sudo apt-get install conky //配置:
//安装好后Conky默认是不会为你创建对应的.conkyrc文件,因此我们需要在当前的用户目录(我的是/home/hippiezhou)下创建一个对应的文件。然后添加我们的配置代码。
//我的配置代码如下所示:
use_spacer right
use_xft yes
font Microsoft YaHei:size=
xftfont Microsoft YaHei:size=
#xftfont WenQuanYi Zen Hei:pixelsize=
override_utf8_locale yes
update_interval 1.0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size
maximum_width
draw_shades yes
draw_outline no
draw_borders no
draw_graph_borders no
default_color ffffff
default_shade_color
default_outline_color
alignment top_right
gap_x
gap_y
cpu_avg_samples
uppercase no # set to yes if you want all text to be in uppercase TEXT
${font Microsoft YaHei:style=Bold:pixelsize=}${alignc}${time %H:%M:%S}
${font Microsoft YaHei:pixelsize=}${alignc}${time %b%d日 星期%a}${font Microsoft YaHei:pixelsize=}
${color #ffd700}${hr }$color
${color #98c2c7}主机名:${color #db7093} $alignr$nodename
${color #98c2c7}内核: ${color #db7093}$alignr$kernel
${color #98c2c7}已开机: ${color #db7093}$alignr$uptime
${color #98c2c7}IP地址: ${color #db7093} ${alignr} ${addr wlp1s0}
${color #98c2c7}CPU使用率: ${color #db7093} $alignr$cpu%
${color #78af78}$cpubar
${color #ddaa00} ${top name }$alignr ${top cpu }
${color lightgrey} ${top name }$alignr ${top cpu }
${color lightgrey} ${top name } $alignr${top cpu }
${color #98c2c7}物理内存:${color #4169e1}$alignr ${color}$mem ${color #98c2c7}/${color}$memmax${color #4169e1}${color #db7093}$memperc%
${color #78af78}${membar}
${color #98c2c7}根分区: ${color}${alignr}${fs_free /} / ${fs_size /}
${color #78af78}${fs_bar /}
${color #98c2c7}Home分区: ${color}${alignr}${fs_free /home} / ${fs_size /home}
${color #78af78}${fs_bar /home}
${color #98c2c7}下载速度:${color} ${downspeed wlp1s0} k/s
${color #98c2c7}上传速度:${color} ${upspeed wlp1s0} k/s
${color #ffd700}${hr }$color //为了保证Conky能在每次系统启动的时候也启动,我们需要为Conky添加系统启动项。
//在你的Dash中搜索“启动应用程序”,然后把我们的Conky作为启动项添加进去。
名称:conky
命令:/usr/bin/conky -p 10
注释:Load the conky //注:如果你想手动启动conky的话,只需要按住Ctrl+Alt+T然后输入命令conky即可

  1.3 禁用来宾模式:

vim  /usr/share/lightdm/lightdm.conf.d/-unity-greeter.conf

//在最后一行添加一句代码:
allow-guest=false //然后 ESC->:wq 进行保存即可(可能需要sudo进行提权)

  1.4 其他相关配置:

  语言包缺失:language-selector-gnome

  flash安装:sudo apt-get install flashplugin-installer(说实话,我安装这个东西真的安装很长时间,奇慢无比!)

2、Ubuntu命令:

sudo apt-get autoclean    //清理旧版本的软件缓存
sudo apt-get clean  //清理所有软件缓存
sudo apt-get autoremove  //删除系统不再使用的孤立软件
uname -a  //查看内核
sudo lshw  //显示当前硬件信息
pstree  //查看当前进程树 //多线程下载
sudo apt-get install axel
axel -n 5 http://xxx.xxx.xxx.xxx/xxx.zip
或者
lftp -c "pget -n 5 http://xxx.xxx.xxx.xxx/xxx.zip“ //如何切换到 root 帐号
sudo -s
sudo -i
sudo su cat 文件名  //一屏查看文件内容
cat /etc/vsftpd.conf |grep -v ^#  //不显示以#开头的行
more 文件名  //分页查看文件内容
less 文件名  //可控分页查看文件内容
nl 文件名 或者 cat -n 文件名  //带行号显示文件的内容
cut -c 5- a.py  //去除文件中的行号
cat file.txt |sort -u  //删除文件中的重复行
touch filename  //创建1个空文件
rm -fr 文件夹  //递归删除嵌套目录
file filename  //查看文件类型
stat filename  //查看文件的时间
diff file1 file2  //查看两个文件的区别 tar -zxvf xxx.tar.gz  //解压缩 xxx.tar.gz
tar -jxvf xxx.tar.bz2  //解压缩 xxx.tar.bz2
tar -zcvf xxx.tar.gz aaa bbb  //压缩 aaa bbb 目录为 xxx.tar.gz
tar -jcvf xxx.tar.bz2 aaa bbb  //压缩 aaa bbb 目录为 xxx.tar.bz2 命令关机
sudo halt
sudo shutdown -h now  //现在关机
定时关机
sudo shutdown -h 23:00  //晚上11点自动关机
sudo shutdown -h +60  //60分钟后自动关机
命令重启电脑
sudo reboot
sudo shutdown -r now

language-selector-gnome
-->

3、Git:

  Ubuntu(14.04LTS)学习札记

  这一部分我不打算进行详细的介绍,我觉得能满足我基本的需求(clone、pull、push、merge)即可,至于一些高大上的操作各位还是参考园子的其他大牛吧。我这里只列举我常用到的几个命令,方便我的温故知新。

一、新建代码库
# 在当前目录新建一个Git代码库
$ git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
# 下载一个项目和它的整个代码历史
$ git clone [project-path]
二、配置
Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
# 显示当前的Git配置
$ git config --list
# 编辑Git配置文件
$ git config -e [--global]
# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
三、增加/删除文件
# 添加指定文件到暂存区
$ git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
$ git add [dir]
# 添加当前目录的所有文件到暂存区
$ git add .
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...
# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]
# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]
四、代码提交
# 提交暂存区到仓库区
$ git commit -m [message]
# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]
# 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a
# 提交时显示所有diff信息[Ctrl+X 然后Y退出]
$ git commit -v
# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]
# 重做上一次commit,并包括指定文件的新变化
$ git commit --amend   ...
五、分支
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 新建一个分支,指向指定commit
$ git branch [branch] [commit]
# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete 
$ git branch -dr
六、标签
# 列出所有tag
$ git tag
# 新建一个tag在当前commit
$ git tag [tag]
# 新建一个tag在指定commit
$ git tag [tag] [commit]
# 查看tag信息
$ git show [tag]
# 提交指定tag
$ git push [remote] [tag]
# 提交所有tag
$ git push [remote] --tags
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
七、查看信息
# 显示有变更的文件
$ git status
# 显示当前分支的版本历史
$ git log
# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat
# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]
# 显示指定文件相关的每一次diff
$ git log -p [file]
# 显示指定文件是什么人在什么时间修改过
$ git blame [file]
# 显示暂存区和工作区的差异
$ git diff
# 显示暂存区和上一个commit的差异
$ git diff --cached []
# 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD
# 显示两次提交之间的差异
$ git diff [first-branch]...[second-branch]
# 显示某次提交的元数据和内容变化
$ git show [commit]
# 显示某次提交发生变化的文件
$ git show --name-only [commit]
# 显示某次提交时,某个文件的内容
$ git show [commit]:[filename]
# 显示当前分支的最近几次提交
$ git reflog
八、远程同步
# 下载远程仓库的所有变动
$ git fetch [remote]
# 显示所有远程仓库
$ git remote -v
# 显示某个远程仓库的信息
$ git remote show [remote]
# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]
# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]
# 上传本地指定分支到远程仓库
$ git push [remote] [branch]
# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force
# 推送所有分支到远程仓库
$ git push [remote] --all
九、撤销
# 恢复暂存区的指定文件到工作区
$ git checkout [file]
# 恢复某个commit的指定文件到工作区
$ git checkout [commit] [file]
# 恢复上一个commit的所有文件到工作区
$ git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]
十、其他
# 生成一个可供发布的压缩包
$ git archive

4、Vim:

  其实,Ubuntu系统已经内置了一个学习Vim的知道教程,你只需要在命令行中输入vimtutor就可以。上面有非常详细的教程,只要你肯耐心。这一部分我不打算进行详细记录,熟能生巧,经常练习,忘记的时候查看帮助文档多看看敲敲就差不多可以记住了。

Ubuntu(14.04LTS)学习札记的更多相关文章

  1. Desktop Ubuntu 14.04LTS/16.04科学计算环境配置

    Desktop Ubuntu 14.04LTS/16.04科学计算环境配置 计算机硬件配置 cpu i5 6代 内存容量 8G gpu GTX960 显存容量 2G(建议显存在4G以上,否则一些稍具规 ...

  2. ubuntu 14.04LTS 环境下配置NFS服务

    简言之,NFS(Network FileSystem,网络文件系统)用于在不同机器,不同操作系统之间通过网络互相分享各自的文件.NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操 ...

  3. ubuntu 14.04LTS 环境下搭建tftp服务器

    花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...

  4. Ubuntu 14.04LTS Gnome GUI初体验及163更新源配制

    Ubuntu 14.04 LTS于前天(2014.4.17)公布, 我今天将我的系统升级到最新, 体验了下最新的UI系统. 我选择了Ubuntu Gnome 的GUI界面.我曾经的系统是12.04lt ...

  5. Win8.1(64bit) Hyper-V 安装Ubuntu 14.04LTS(64 bit)

    为了学习在Linux平台下开发,时隔将近一年多,重新搭建开发环境. 写文档确实很费时间,不过还是很有必要写的,这么一个简单的事情花了接近3个小时才算最终大功告成. 像这种连环嵌套的问题,一旦超过了1个 ...

  6. thinkpad x260在ubuntu 14.04lts wifi驱动安装 ( ubuntu iwlwifi驱动 都可行 )

    实验室要新购笔记本x260,用于ROS调试,装上ubuntu-ros后,发现wifi不支持. 查阅大量资料,如下: http://www.ubuntu.com/certification/hardwa ...

  7. Ubuntu 14.04lts安装vncserver

    之前有在centos上安装过非常多次vncserver,也写过一个centos 7上的安装文档.近来常识了好几次在ubuntu上安装都没有成功,这次最终搞定了.ubuntu自带的桌面是unity.这个 ...

  8. Ubuntu 14.04LTS+Git

    Git是我们常用的代码托管工具,作为程序员,Git是必备的. 安装Git的方法很简单,官网就有写:http://git-scm.com/download/linux 根据官网的说明,用: sudo a ...

  9. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  10. Ubuntu 14.04正式公布,一个不眠之夜

    请看下图: 这就是Ubuntu 14.04 LTS桌面版本号的一份视图.感觉既亲切,又寻常,可是,没有什么大的变化.注意:这个Ubuntu桌面版本号要陪伴我们长达5年之久! 直到4月18日(北京时间) ...

随机推荐

  1. .container_fluid 与 .container 的区别

    .container 会在左右两侧留白边,而且是自动的,不用设置. .container{ padding-right:15px; padding-left:15px; margin-right:au ...

  2. Form_Form Builder本地部署运行的实现(案例)

    2014-08-09 Created By BaoXinjian

  3. [ActionScript] AS3利用SWFObject与JS通信

    首先介绍SWFObject的用法: swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flash ...

  4. PHP中使用CURL实现GET和POST请求

    转自:http://www.smsyun.com/home-index-page-id-284.html 一.什么是CURL? cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议, ...

  5. Eclipse 使用 Link 方式进行插件的安装

    Eclipse 使用 Link 方式进行插件的安装 博客分类: Eclipse 使用 eclipseplugin插件link  Eclipse 的插件安装方法一般有以下几种(以安装 SVN 插件为例说 ...

  6. Root exploit for Android (adb setuid)

    /* 本文章由 莫灰灰 编写.转载请注明出处. 作者:莫灰灰    邮箱: minzhenfei@163.com */ 1. 漏洞分析 这是个非常老的漏洞了,主要利用adb启动的时候调用setuid函 ...

  7. xml特殊字符处理 如&

     写了个request2XML的方法,每当数据中有'<'.'&'符号时,封装的XML就无法解析.发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析 ...

  8. RabbitMQ 学习笔记

    环境: MacOS 10.14 Node.js 8.9.1 零.背景 目前有个上线应用会接受多个请求,且每个请求的处理时间可能很久,可能到数小时,所以就想采用异步机制,至于复杂的运算就用消息队列(MQ ...

  9. HBase指定大量列集合的场景下并发拉取数据时卡住的问题排查

    最近遇到一例,HBase 指定大量列集合的场景下,并发拉取数据,应用卡住不响应的情形.记录一下. 问题背景 退款导出中,为了获取商品规格编码,需要从 HBase 表 T 里拉取对应的数据. T 对商品 ...

  10. Java NIO系列教程(十) Java NIO DatagramChannel

    Java NIO中的DatagramChannel是一个能收发UDP包的通道.因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入.它发送和接收的是数据包. 打开 DatagramChann ...