目錄
- dpkg命令使用
- 開發者常用linux命令
- 編譯安裝nodejs
- vim使用
一、dpkg命令使用
- dpkg 是Debian package的簡寫,為”Debian“ 操作系統 專門開發的套件管理系統,用于軟件的安裝,更新和移除。deb包的管理是比較優秀的包管理工具。
**dpkg -i package-name
** 安裝軟件包
**dpkg -r package-name
** 刪除軟件包(保留配置信息,該命令不卸載配置文件,且不能自動解決依賴性問題,但會給出相應的提示)
**dpkg -P package-name
** 刪除軟件包(包括配置信息,同樣不會解決依賴性,但會刪除配置文件)
**dpkg --configure package-name
** 配置軟件包,如果加上-a表示配置所有未配置的軟件包
**dpkg --unpack package-name
** 解開軟件包到系統目錄,但不進行配置
下面幾個命令用于對軟件包進行查詢
**dpkg -I filename
** 查看軟件說明(使用dpkg -l查詢所有安裝的軟件包,filename可以使用正則,通常用dpkg -l | grep "filename"
)
**dpkg -L filename
** 查看package-name對應的軟件包安裝的文件及目錄
**dpkg -s filename
** 查看package-name對應的軟件包信息
**dpkg -S filename-pattern
** 從已經安裝的軟件包中查找包含filename的軟件包名稱dpkg軟件包相關文件介紹
**/etc/dpkg/dpkg.cfg
** dpkg包管理軟件的配置文件
**/var/log/dpkg.log
** dpkg包管理軟件的日志文
**/var/lib/dpkg/available
** 存放系統所有安裝過的軟件包信息
**/var/lib/dpkg/status
** 存放系統現在所有安裝軟件的狀態信息
**/var/lib/dpkg/info
** 記安裝軟件包控制目錄的控制信息文件
二、開發者常用linux命令
文件操作命令
1)創建空文件或修改文件時間
touch 文件名
命令名稱:touch
命令所在路徑:/bin/touch
執行權限:所有用戶
2)刪除
rm -rf 文件名
-r 刪除目錄
-f 強制
命令名稱:rm
命令英文原意:remove
命令所在路徑:/bin/rm
執行權限:所有用戶
cp -r 遞歸復制 -R 遞歸
rm -rf 遞歸刪除
3)cat 文件名 查看文件內容。從頭到尾
命令名稱:cat
命令所在路徑:/bin/cat
執行權限:所有用戶
-n 列出行號
4)more 文件名 分屏顯示文件內容
命令名稱:more
命令所在路徑:/bin/more
執行權限:所有用戶
空格向下翻頁 b 向上翻頁 q 退出
6) head 文件名 顯示文件頭
命令名稱:head
命令所在路徑:/usr/bin/head
執行權限:所有用戶
head -n 行數 文件名 指定顯示文件頭幾行
head -n 20 文件名
head -20 文件名
ctrl + c 強制終止
ctrl+l 清屏
Ctrl+a 跳到句首
Ctrl+e 跳到句尾
Ctrl+u 清除整句命令
8) 鏈接文件
ln
命令名稱:ln
命令英文原意:link
命令所在路徑:/bin/ln
執行權限:所有用戶
快捷方式
新建的鏈接,占用不同的硬盤位置
修改一個文件,兩都改變
刪除源文件,軟連接打不開
ln -s 源文件 目標文件 文件名都必須寫絕對路徑
文件和目錄都能操作的命令
1)rm 刪除文件或目錄
2)復制
命令名稱:cp
命令英文原意:copy
命令所在路徑:/bin/cp
執行權限:所有用戶
cp 源文件 目標位置
-r 復制目錄
-p 連帶文件屬性復制
-d 若源文件是鏈接文件,則復制鏈接屬性
-a 相當于 -pdr
cp aa /tmp/ 原名復制
cp aa /tmp/bb 改名復制
3)剪切或改名
命令名稱:mv
命令英文原意:move
命令所在路徑:/bin/mv
執行權限:所有用戶
mv 源文件 目標位置
mv /root/aa /tmp/
mv aa bb
權限管理
1 權限位
-rw-r--r-- 1 root root 0 08-11 01:45 aa
權限位是十位
第一位: 代表文件類型
- 普通文件
d 目錄文件
l 鏈接文件
九位 屬主權限u 屬組權限g 其他人權限o
r 讀 4
w 寫 2
x 執行 1
2 修改權限
chmod
命令名稱:chmod
命令英文原意:change the permissions mode of a file
命令所在路徑:/bin/chmod
執行權限:所有用戶
chmod u+x aa aa文件的屬主加上執行權限
chmod u-x aa
chmod g+w,o+w aa
chmod u=rwx aa
chmod 755 aa
chmod 644 aa
shell
3 權限意義:
1)權限對文件的含義
r:讀取文件內容 cat more head tail
w:編輯、新增、修改文件內容 vi echo
但是不包含刪除文件
x:可執行
/tmp/11/22/abc ---------
2)權限對目錄的含義
r:可以查詢目錄下文件名 ls
w:具有修改目錄結構的權限。如新建文件和目錄,刪除此目錄下文件和目錄,重命名此目錄下文件和目錄,剪切 touch rm mv cp
x:可以進入目錄 cd
4 屬主和屬組命令
chown
命令名稱:chown
命令英文原意:change file ownership
命令所在路徑:/bin/chown
執行權限:所有用戶
chown 用戶名 文件名 改變文件屬主
chown user1 aa user1必須存在
chown user1:user1 aa 改變屬主同時改變屬組
useradd 用戶名 添加用戶
passwd 用戶名(自動出現密碼設定) 設定用戶密碼
幫助命令
1 man 命令名 查看命令的幫助
命令名稱:man
命令英文原意:manual
命令所在路徑:/usr/bin/man
執行權限:所有用戶
2 命令 --help 查看命令的常見選項
查找命令
1 whereis 命令名 查找命令的命令,同時看到幫助文檔位置
命令名稱:whereis
命令所在路徑:/usr/bin/whereis
執行權限:所有用戶
2 find 搜索命令
命令名稱:find
命令所在路徑:/usr/bin/find
執行權限:所有用戶
按照文件名查找
find 查找位置 -name 文件名
find / -name aabbcc 按照文件名查找
按照用戶
-user 用戶名 按照屬用戶名查找文件
-group 組名 按照屬組組名查找文件
-nouser 找沒有屬主的文件
/proc
/sys
/mnt/cdrom/ 除了這三個目錄
find / -nouser
按照文件權限
-name 按照文件名
-size 按照文件大小。+50k:大于50k,-50k:小于50k,50k:等于50k k M
find / -size +50k
-type 類型 按照文件類型查找 f:普通 d:目錄 l:鏈接
find /root -perm 644 按照權限查找
-iname 按照文件名查找,不區分大小寫
-inum 按照i節點查找
find . -inum 2739078
在查找出的結果中,直接進行命令操作
find /var/log/ -mtime +10 -exec rm -rf {} \;
find /root -inum 1140247 -exec ls -l {} \;
3 grep “字符串” 文件名 查找符合條件的字串行。
命令名稱:grep
命令所在路徑:/bin/grep
執行權限:所有用戶
grep -i “root” /etc/passwd
-v 反向選擇
-i 忽略大小寫
Find: 在系統當中搜索符合條件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。
Grep: 在文件當中搜索符合條件的字符串,如果需要匹配,使用正則表達式匹配,正則表達式是包含匹配
4 管道符
命令1 | 命令2 命令1的執行結果,作為命令2的執行條件
netstat -an | grep ESTABLISHED | wc -l 統計正在連接的網絡連接數量
cat 文件名 | grep “字串” 提取含有字符串的行
grep “字符串” 文件名
ls -l /etc | more 分屏顯示ls內容
補充命令:
netstat 查看網絡狀態的命令
-t 查看tcp端口
-u 查看udp端口
-l 監聽
-n 以IP和端口號顯示,不用域名和服務名顯示
-a 查詢所有連接
壓縮和解壓縮
.gz .bz2 linux可以識別的常見壓縮格式
.tar.gz .tar.bz2 常見的壓縮和打包命令
-
壓縮同時打包
tar -zcvf 壓縮文件名 源文件 tar -zcvf aa.tar.gz aa -z 識別.gz格式 -c: 壓縮 -v:顯示壓縮過程 -f:指定壓縮包名
tar -zxvf 壓縮文件名 解壓縮同時解打包
tar -jcvf 壓縮文件名 源文件 壓縮同時打包
tar -jcvf aa.tar.bz2 aatar -jxvf aa.tar.bz2 解打包同時解壓縮
-
查看不解包
tar -ztvf aa.tar.gz 查看不解包
tar -jtvf aa.tar.bz2
-t 只查看,不解壓tar -jxvf root.tar.bz2 -C /tmp/ 指定解壓縮位置
關閉和重啟命令
1)shutdown -h now 沒有特殊情況,使用此命令
-h 關機
-r 重啟
shutdown -r now
命令名稱:shutdown
命令所在路徑:/sbin/shutdown
執行權限:root
2)reboot
命令名稱:reboot
命令所在路徑:/sbin/reboot
執行權限:root
掛載命令
linux所有存儲設備都必須掛載使用,包括硬盤
命令名稱:mount
命令所在路徑:/bin/mount
執行權限:所有用戶
光盤掛載
/dev/sda1 第一個scsi硬盤的第一分區
/dev/cdrom 光盤
/dev/hdc 光盤 centos 5.5
/dev/sr0 光盤 centos 6.x
mount -t 文件系統 設備描述文件 掛載點(已經存在空目錄)
mount -t iso9660 /dev/cdrom /mnt/cdrom
光盤卸載
umount /dev/cdrom
umount /mnt/cdrom 強調:退出掛載目錄,才能卸載
fdisk -l
mount -t vfat /dev/sdb1 /mnt/usb
網絡命令
1 ping 測試網絡連通性
命令名稱:ping
命令所在路徑:/bin/ping
執行權限:所有用戶
ping -c 次數 ip 探測網絡通暢
2 ifconfig 查詢本機網絡信息
命令名稱:ifconfig
命令英文原意:interface configure
命令所在路徑:/sbin/ifconfig
執行權限:root
三、安裝nodejs
- 編譯安裝
官方地址:https://nodejs.org/en/download/
下載長期支持LTS版 :Source Code node-v4.5.0.tar.gz
編譯安裝過程:
右鍵獲取復制下載鏈接
//安裝前準備(必須執行)
sudo apt-get update
sudo apt-get -y install python gcc g++ make
// - C 支持斷點續傳
wget -c https://nodejs.org/dist/v4.5.0/node-v4.5.0.tar.gz
// 解壓文件
tar -zxvf node-v4.5.0.tar.gz
cd node-v4.5.0
//根據實際情況指定安裝目錄
sudo mkdir -p /web/apps/node
sudo ./configure --prefix=/web/apps/node
//一定要使用超級管理員運行 su root 切換 或者執行時使用sudo
sudo make && make install
//第一: 通過shell命令export實現配置node全局運行
sudo export NODE_HOME=/web/apps/node
sudo export PATH=$PATH:$NODE_HOME/bin
##關機重啟失效
//第二: 推薦上面的全局配置方式,也可以配置軟鏈接 ,這個不推薦。(ln必須使用絕對路徑)
sudo ln -s /web/apps/node/bin/node /usr/sbin/node
sudo ln -s /web/apps/node/bin/npm /usr/sbin/npm
//第三:直接修改~/.profile文件
vim /etc/profile
#按下GG跳到最后一行,按下o追加一行
export PATH=$PATH:/web/apps/node/bin
#若是要立即生效,可以使用source命令
source /etc/profile
//檢查
node -v
npm -v
//卸載
apt-get remove nodejs --purge
- 方式二 使用bin文件
下載并解壓 node-v4.4.7-linux-x64.tar.xz
tar -xJf node-v4.4.7-linux-x64.tar.xz
移到通用的軟件安裝目錄 /opt/
sudo mv node-v4.4.7-linux-x64 /opt/
安裝 npm 和 node 命令到系統命令
sudo ln -s /opt/node-v4.4.7-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /opt/node-v4.4.7-linux-x64/bin/npm /usr/local/bin/npm
驗證:
node -vv
4.4.7
npm -v
2.15.18
vim使用
移動光標
命令 | 操作說明 |
---|---|
h | 向左移動光標 |
l | 向右移動光標 |
k | 向上移動光標 |
j | 向下移動光標 |
^ | 將光標移到行首第一個非空白字符 |
$ | 將光標移至行尾, 或 End 鍵 |
0 | 將光標移至行首,或 Home 鍵 |
G | 將光標移至文檔最后一行的開頭 |
nG | 將光標移至文檔第 n 行的開頭 |
w | 光標向后移動一個單詞 |
nw | 光標向后移動 n 個單詞 |
b | 光標向前移動一個單詞 |
nb | 光標向前移動 n 個單詞 |
e | 將光標移動到本單詞的最后一個字符。如果光標所在位置為本單詞的最后一個字符,則跳動到下一個單詞的最后一個字符。“.” “,” “#” “/” 等特殊字符都會被當成一個字 |
{ | 光標移動到前面的“{”處 |
} | 光標移動到前面的“}”處 |
Ctrl+b | 向上翻一頁,相當與 Page Up |
Ctrl+f | 向下翻一頁,相當與 Page Down |
Ctrl+u | 向上移動半頁 |
Ctrl+d | 向下移動半頁 |
Ctrl+e | 向下翻一頁 |
Ctrl+y | 向上翻一頁 |
復制粘帖
命令 | 操作說明 |
---|---|
yy | 復制光標所在行的整行內容 |
yw | 復制光標所在單詞的內容 |
nyy | 復制從光標所在行開始向下的 n 行內容 |
nyw | 復制光標所在字開始向后的 n 個字p 粘貼 |
p | 粘貼 |
刪除
命令 | 操作說明 |
---|---|
x | 刪除光標所在位置的字符,同鍵盤上的 delete |
X | 刪除光標所在位置的前一個字符 |
nx | 刪除光標及其后的 n-1 個字符 |
nX | 刪除光標及其前的 n-1 個字符 |
dw | 刪除光標所在單詞ndw 刪除光標及其后的 n-1 個單詞 |
d0 | 刪除當前行光標所在位置前面的所有字符 |
d$ | 刪除當前行光標所在位置以及后面的所有字符 |
dd | 刪除光標所在行 |
ndd | 刪除光標所在行及向下的 n-1 行 |
nd+上方向鍵 | 刪除光標所在行以及向上的 n 行 |
nd+下方向鍵 | 刪除光標所在行以及向下的 n 行 |
撤銷
命令 | 操作說明 |
---|---|
u | 撤銷 |
ctrl+r | 反撤銷 |
Vi 的插入模式
命令 | 操作說明 |
---|---|
q | 退出 vi 程序,如果文件修改過,則必須先保存文件 |
q! | 強制推出 vi 而不保存文件 |
x | (exit)保存文件并推出 |
x! | 強制保存文件并推出 |
w | (write)保存文件但不推出 vi |
w! | 對于只讀文件,強制保存修改的內容但不退出 vi |
wq | 保存文件并退出 vi,作用同 x |
E | 在 vi 在創建新的文件并可為文件命名 |
N | 在本 vi 窗口打開新的文件 |
w | filename 另存為 filename 文件,不提出 vi |
w! | filename 強制另存為 filename 文件,不提出 vi |
r | filename (read)讀入 filename 指定的文件內容插入到光標位置 |
set nu | 在 vi 每行開頭設置行號 |
s/pattern1/pattern2/g |
就光標當前行的字符串 pattern1 替換為 pattern2 |
%s/pattern1/pattern2/g |
就所有行的字符串 pattern1 替換為 pattern2 |
g/pattern1/s//pattern2 |
就所有行的字符串 pattern1 替換為 pattern2 |
num1, num2, s/pattern1/pattern2/g | 將行 num1 到 num2 的字符串 pattern1 替換成pattern2 |
/ | 查找匹配字符串功能。用“/字符串”的命令模式,系統便會自動查找,并突出顯示所有找到的字符串,然后轉到找到的第一個字符串。如果想繼續向下查找,可以按 F 鍵,向前繼續查找則按 N 鍵 |
? | 與/類似,向前查找字符串 |
查找
命令 | 操作說明 |
---|---|
/ | 查找內容 |
n | 下一個 |
N | 上一個 |
替換
命令 | 操作說明 |
---|---|
:1,10s/old/new/g | 替換1到10行的所有old為new |
:%s/old/new/g | 替換整個文件的old為new |
g | 范圍內所有old換為new |
:1,5s/^/#/g | 注釋1到5行 |
:1,5s/^#//g | 取消注釋 |
:1,5s/^////g | 文件頭加入// |
練習vim在線游戲
http://blog.csdn.net/liuxu31436/article/details/7558892
http://vim-adventures.com/
簡明Vim練級攻略
http://www.ccvita.com/487.html