去除兩個文件中相同的內容
比如我想把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