去除两个文件中相同的内容

比如我想把file1中不含文件file2的内容保留下来:(这个在抠一些内容的时候挺好用的)

awk '{print $0}' file1 file2 |sort|uniq -u > file3

比较俩文件内容

diff file1 file2

查看内存

  • 查看cpu的方法

cat /proc/cpuinfo  或者 更直观的查看cpu的型号命令:dmesg | grep -i xeon

  • 查看内存的方法

cat /proc/meminfo  或者 更直观的查看内存的命令:free -m

  • 查看硬盘大小

df -h

  • 最后用top命令也可以查看到cpu和内存的使用率 在输入top命令之后直接按"1" 就能很清楚的查看到cpu和内存的使用情况。

uniq命令

用于检查及删除文本文件中重复出现的行列。

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

参数

  • -c或--count 在每列旁边显示该行重复出现的次数。
  • -d或--repeated 仅显示重复出现的行列。
  • -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
  • -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
  • -u或--unique 仅显示出一次的行列。
  • -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
  • --help 显示帮助。
  • --version 显示版本信息。
  • [输入文件] 指定已排序好的文本文件。
  • [输出文件] 指定输出的文件。

下面是彩蛋时间:这个bug折磨了我一下午,非常痛苦,最后在notepad++里看到了行尾符号的差异:

P.S. 想看这个符号,可以这么设置:


=============================================================================================================

1. 对于已经在前台执行的命令,可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用jobs查看进程编号n;
2. bg命令将停止的作业放到后台运行
  bg %n
3. kill -9 XXX 其中,XXX是无用的进程标识号。然后使用下面命令:free 此时会发现可用内存容量增加了
4. ps s 采用程序信号的格式显示程序状况。

===============================================================================================

1. 无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

或者:

终端输入 ps -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。解决。

amw@ubuntu:~$ sudo lsof /var/cache/debconf/config.dat
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/amw/.gvfs
      Output information may be incomplete.
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
frontend 4250 root    4uW  REG    7,0    40347 2966 /var/cache/debconf/config.dat
amw@ubuntu:~$ sudo kill 4250
amw@ubuntu:~$ sudo apt-get autoclean
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
amw@ubuntu:~$ sudo apt-get clean
amw@ubuntu:~$ sudo apt-get autoremove

2.sudo dpkg --configure -a
dpkg:错误:正在解析文件 '/var/lib/dpkg/updates/0012' 第 0 行附近: 在字段名 #padding 中发现换行符

sudo rm /var/lib/dpkg/updates/*
sudo apt-get update
sudo apt-get upgrade

3. sudo rm /var/lib/apt/lists/lock

4. E: Sub-process /usr/bin/dpkg returned an error code (1)

1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名
2.$ sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
3.$ sudo apt-get update, apt-get -f install //不用解释了吧
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
5.$ sudo rm -rf /var/lib/dpkg/info //把自己新建的info文件夹删掉
6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info文件夹重新改回名字

***********************************************************************************

1首先要在JDK官网下载对应的Linux的JDK版本。进入该网站后,先选择Accept License Agreement然后即可下载。本人的Linux系统为ubuntukylin 16.04  64位的,因此选择64位的系统下载
2、然后使用命令切换路径cd /usr/lib
3、在该目录下创建一个文件夹sudo mkdir jvm
4、进入默认的下载目录下 home/下载/ 进行解压文件(tar -zxvf jdk-8u101-linux-x64.tar.gz)
5 切到 下载 目录下(cd ~/下载),使用命令sudo mv jdk1.8.0_101 /usr/lib/jvm将jdk移到/usr/lib/jvm目录下
6 接下来配置系统环境变量,这里是将环境变量配置在etc/profile,即为所有用户配置JDK环境,使用命令sudo gedit /etc/profile打开/etc/profile文件,在末尾添加以下几行文字
#set java environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
7、配置软连接,执行代码为:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_91/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_91/bin/javac 300
8 打开 命令提示行 验证一下
java -version
*********************************************************************
install chrome:
1. 将下载源加入到系统的源列表。
sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/
2. 导入谷歌软件的公钥,用于下面步骤中对下载软件进行验证。
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sudo apt-key add -
3. 用于对当前系统的可用更新列表进行更新。
sudo apt-get update
4. 执行对谷歌 Chrome 浏览器(稳定版)的安装。
sudo apt-get install google-chrome-stable
5. 启动谷歌 Chrome 浏览器
/usr/bin/google-chrome-stable
*********************************************************************************
修改环境路径的方法:
1. 临时设置:
export PATH=/opt/android-studio/bin:$PATH
2. 当前用户的设置:
vim ~/.profile,添加行: 
export PATH=/opt/android-studio/bin:$PATH 
3. 所有用户的全局设置:
sudo gedit /etc/profile 
加入:export PATH=/opt/android-studio/bin:$PATH 
使生效:source /etc/profile export BT2_HOME=/home/pxy7896/Downloads/bowtie2 *********************************************************************************
python2 & 3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
when need to change:
sudo update-alternatives --config python
and choose an ID.
*********************************************************************************
http://blog.csdn.net/striker_v/article/details/51914637
安装fcitx-googlepinyin:
sudo apt-get install language-pack-zh-hans
sudo apt-get install fcitx-googlepinyin
执行该命令后,系统就会自动安装fcitx和goolgepinyin程序,也同时会安装一些配置fcitx的工具
System Settings  -->  Language Support
语言包安装完毕后,选择“键盘输入方式系统”为:fcitx
重启后就可以看到fcitx输入法框架已经运行了,系统状态栏的输入法图标已经改变
直接设置,添加googlepinyin即可.


su -

进入root模式

chmod u+w 文件名

添加文件的写权限

chmod u-w 文件名

撤销写文件的权限

用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权限使用sudo,我们只要修改一下/etc/sudoers文件就行了。下面是修改方法:

1、进入超级用户模式。也就是输入"su -",

2、添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。

3、编辑/etc/sudoers文件。也就是输入命令"vi /etc/sudoers",输入"i"进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存(就是先按一 下Esc键,然后输入":wq")退出。

4、撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。

删除文件夹:

rm -rf 文件夹名字

说明:

-r 向下递归,不管有多少级目录,一并删除

-f 直接强行删除,不作任何提示的意思


1. 安装更新时提示/boot空间不足:

boot文件夹里存放的是系统引导文件和内核的一些东西,旧内核的东西需要手动删除,释放空间。所以:

step1:查看

dpkg --get-selections|grep linux

step2: 删除linux-后面带有image的。(旧内核。删除后,后面会显示deinstall)

sudo apt-get remove linux-image-版本号

如果有卸载不完全的,使用sudo apt-get autoremove 名称,来删除。

=============================================================================================================

1. cat命令

http://blog.csdn.net/jackalfly/article/details/7556848

cat主要有三大功能:
1.一次显示整个文件。
$ cat   filename
2.从键盘创建一个文件。
$ cat  >  filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat   file1   file2  > file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName

2. wc命令

wc [选项] 文件…  
该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。

- c 统计字节数。

- l 统计行数。

- w 统计字数。

3.

1) 统计当前文件夹下文件的个数

ls -l |grep "^-"|wc -l

2) 统计当前文件夹下目录的个数

ls -l |grep "^d"|wc -l

3) 统计当前文件夹下文件的个数,包括子文件夹里的

ls -lR|grep "^-"|wc -l

4) 统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep "^d"|wc -l

4. 查找文件

find <path> <condition> <action>
find / -name 'fileName'
locate fileName

比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息

whereis grep

搜索linux系统中的所有可执行文件

which grep

查看系统命令是否存在,并返回系统命令所在的位置

type grep

查看系统中的某个命令是否为系统自带的命令

5. MD5检验

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。

md5sum [OPTION]... [FILE]...
-b 或 --binary :把输入文件作为二进制文件看待。
-t 或 --text :把输入的文件作为文本文件看待(默认)。
-c 或 --check :用来从文件中读取md5信息检查文件的一致性。(不细说了参见info)
--status :这个选项和check一起使用,在check的时候,不输出,而是根据返回值表示检查结果。
-w 或 --warn :在check的时候,检查输入的md5信息又没有非法的行,如果有则输出相应信息。

1. 生成一个文件的md5值,放在另一个文件里,查看。

md5sum pxy1.txt > pxy1.txt.md5
cat pxy1.txt.md5

2. 检查两个文件是否一样,即比较两个文件的md5值。
修改一个字母之后,再看md5值。

md5sum pxy1.txt

3. 检查是否有改动

md5sum pxy1.txt -c pxy1.txt.md5



 
												

Ubuntu16.04 操作的更多相关文章

  1. ubuntu16.04操作练习&问题解决

    1. 安装更新时提示/boot空间不足: boot文件夹里存放的是系统引导文件和内核的一些东西,旧内核的东西需要手动删除,释放空间.所以: step1:查看 dpkg --get-selections ...

  2. ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)

    如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...

  3. Ubuntu16.04.1上搭建分布式的Redis集群,并使用C#操作

    为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...

  4. 安装Win7与Ubuntu16.04双系统操作教程

    安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: 四. 用EasyBCD 创建启动系统启动引导: (根据个 ...

  5. ubuntu16.04配置py-faster-rcnn

    在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...

  6. beaglebone black 固定IP上网(ubuntu16.04,console)

    今天把beaglebone black搞了下,让能通过网线上网.需要修改一些文件.刷的是ubuntu16.04系统,没有界面.不过资源占用很少,顺便说一下.系统下的vi不好用,没有安装vim. 下面的 ...

  7. 卸载 ibus 使Ubuntu16.04任务栏与启动器消失 问题解决

    经查证是unity误卸载了,我使用了命令: sudo apt-get remove --purge ibus 解决方法是: 使用以下命令:重置compiz: dconf reset -f /org/c ...

  8. ubuntu16.04安装jdk,tomcat

    ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...

  9. 重装Ubuntu16.04及安装theano

    一.卸载现有的ubuntu系统 1.下载MbrFix,并放在C盘根目录. 2.管理员身份运行cmd命令符:切换到C盘根目录,然后输入命令符MbrFix /drive 0 fixmbr,回车确认即可. ...

随机推荐

  1. 三联运算&&字节码转换

    三联运算 if 1 == 1: name = 'alex'else: name = 'sb' name = 'alex' if 1 == 1 else 'sb lambda f2 = lambda a ...

  2. eclipse开启断言

    断言在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制.一般来说,断言用于保证程序最基本.关键的正确性.断言检查通常在开发和测试时开启. 为了保证程序的执行效率,在软件发布后断言检查通常是 ...

  3. WIFI驱动的移植 realtek 8188

    一般我们拿到的android源代码中wifi应用层部分是好的, 主要是wifi芯片的驱动要移植并添加进去. wifi驱动的移植, 以realtek的8188etv为例到官网下载相应的驱动, 解压后可以 ...

  4. SC.UI

    IController using Microsoft.Practices.Prism.Events; using Microsoft.Practices.Prism.Regions; using M ...

  5. oracle分区提高篇

      一. 分区表理论知识 Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中.分区完全对应用透明. Or ...

  6. SharePoint 2013 一些小技巧

    一.添加“SharePoint 2013 切换用户”标签 相比SharePoint 2010,SharePoint2013版本去掉了切换用户登陆的功能(如下图),其实这个可以通过改welcome.as ...

  7. osg渲染数据高程文件

    使用gdal解析DEM文件,将高程数据转换为HeightField对象,然后在osg渲染. 1 源代码 #include <gdal_priv.h> #include <osgVie ...

  8. Effective Objective-C 2.0 学习记录

    由于最近入职,公司安排自由学习,于是有时间将Effective Objective-C 2.0一书学习了一遍.由于个人知识面较窄,对于书中有些内容无法理解透彻,现将所学所理解内容做一遍梳理,将个人认为 ...

  9. 关于Dagger 2 的使用方式

    什么是Dagger2 Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护. 我们知道Dagger是一个依 ...

  10. C++成员变量内存对齐问题,ndk下非对齐的内存访问导致BUS_ADRALN

    同样的代码,在vs下运行正常,在android ndk下却崩溃: signal 7(SIGBUS),code 1 (BUS_ADRALN),fault addr 0xe6b82793 Func(sho ...