文件屬性相關命令node
chgrp:該命令用於改變文件所屬用戶組linux
chown:該命令用於改變文件的全部者ios
chmod:該命令用於改變文件的權限shell
-R:進行遞歸的持續更改,即連同子目錄下的全部文件都會更改 ubuntu
rm命令bash
經常使用參數:服務器
mv命令網絡
經常使用參數:session
ls命令 app
經常使用參數:
cp命令
經常使用參數:
grep命令
grep [-acinv] [--color=auto] '查找字符串' filename
它的經常使用參數以下:
# 例如:
# 取出文件/etc/man.config中包含MANPATH的行,並把找到的關鍵字加上顏色
grep --color=auto 'MANPATH' /etc/man.config
# 把ls -l的輸出中包含字母file(不區分大小寫)的內容輸出
ls -l | grep -i file
crontab命令
用戶所創建的crontab文件中,每一行都表明一項任務,每行的每一個字段表明一項設置,它的格式共分爲六個字段,前五段是時間設定段,第六段是要執行的命令段,格式以下:
minute hour day month week command
其中:
minute: 表示分鐘,能夠是從0到59之間的任何整數。
hour:表示小時,能夠是從0到23之間的任何整數。
day:表示日期,能夠是從1到31之間的任何整數。
month:表示月份,能夠是從1到12之間的任何整數。
week:表示星期幾,能夠是從0到7之間的任何整數,這裏的0或7表明星期日。
command:要執行的命令,能夠是系統命令,也能夠是本身編寫的腳本文件。
在以上各個字段中,還可使用如下特殊字符:
星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。
逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」
中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。
cron在3個地方查找配置文件:
一、/var/spool/cron/ 這個目錄下存放的是每一個用戶包括root的crontab任務,每一個任務以建立者的名字命名,好比tom建的crontab任務對應的文件就是/var/spool/cron/tom。通常一個用戶最多隻有一個crontab文件。
二、/etc/crontab 這個文件負責安排由系統管理員制定的維護系統以及其餘任務的crontab。
三、/etc/cron.d/ 這個目錄用來存聽任何要執行的crontab文件或腳本。
使用者權限文件:
文件:/etc/cron.deny,該文件中所列用戶不容許使用crontab命令
文件:/etc/cron.allow,該文件中所列用戶容許使用crontab命令
文件:/var/spool/cron/,全部用戶crontab文件存放的目錄,以用戶名命名
crontab命令詳解
1.命令格式:
crontab [-u user] [ -e | -l | -r ]
2.命令參數:
-u user:用來設定某個用戶的crontab服務,例如,「-u ixdba」表示設定ixdba用戶的crontab服務,此參數通常有root用戶來運行。
-e:編輯某個用戶的crontab文件內容。若是不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,若是不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,若是不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。
watch命令
命令格式:watch[參數][命令]
能夠將命令的輸出結果輸出到標準輸出設備,多用於週期性執行命令/定時執行命令
命令參數:
-n或--interval watch缺省每2秒運行一下程序,能夠用-n或-interval來指定間隔的時間。
-d或--differences 用-d或--differences 選項watch 會高亮顯示變化的區域。 而-d=cumulative選項會把變更過的地方(無論最近的那次有沒有變更)都高亮顯示出來。
如:每隔一秒高亮顯示網絡連接數的變化狀況
watch -n 1 -d netstat -ant
文本過濾
^ 只匹配行首
$ 只匹配行尾
* 一個單字符後緊跟*,匹配0個或多個此單字符
? 匹配其前面的字符0或1次
+ 匹配其前面的字符至少1次
[] 匹配[]內字符。能夠是一個單字符,也能夠是字符序列,用-表示範圍
如用[1-5]代替[12345]
\ 用來屏蔽一個元字符的特殊含義。如$ . ' " * ^ | ( ) \ + ?
. 匹配任意單字符
pattern\{n\} 用來匹配前面pattern出現次數。n爲次數
pattern\{n,\}m 含義同上,但次數最少爲n
pattern\{n,m\} 含義同上,但pattern出現次數在n與m之間
例:
^$ 匹配一個空行
^.$ 匹配只包含一個字符的行
compu*t 匹配字符u 0次或屢次,這個可匹配computer,
A\{2\}B 匹配字母A出現兩次,並以B結尾
A\{2,4\}B 匹配字母A出現2到4次之間
命令執行順序 && ,||
&&
格式:命令1 && 命令2
說明:命令1返回真(即返回0,成功被執行)後,命令2纔可以被執行
例:/apps/bin目錄將會被移到/apps/dev/bin目錄下,若是它沒有被成功的執行,就不會刪除/apps/bin目錄
mv /apps/bin /apps/dev/bin && rm -r /apps/bin
||
格式:命令1 || 命令2
說明:命令1未執行成功,那麼就執行命令2
例: 拷貝文件沒成功的話,就顯示錯誤.
cp word.txt word.bak || echo "cp file failed!"
iproute2 命令
1、IP 地址管理
一、顯示 IP 地址
ip addr show [dev eth0]
二、增長刪除 IP 地址
ip addr add 192.0.2.1/24 dev eth0
ip addr del 192.0.0.1/24 dev eth0
三、顯示接口統計
ip -s link [ls eth0]
2、網卡和鏈路配置
一、顯示鏈路
ip link show [eth0]
二、修改接口狀態
ip link set eth0 up|down
3、路由表管理
一、顯示路由表
ip route [show dev eth0]
二、新增路由
ip route add 10.2.2.128/27 dev eth0
三、增長默認路由
ip route add default via 192.168.1.1
四、修改默認路由
ip route chg default via 192.168.1.2
五、刪除默認路由
ip route del default
條件測試
格式:test condition
文件測試狀態
-d 目錄
-s 文件長度大於0,非空
-f 正規文件
-w 可寫
-l 符號連接
-u 文件有suid位設置
-r 可讀
-x 可執行
字符串測試 string_operator 可爲=(相等) !=(不相等) -z(空串) -n(非空串)
數值測試 numeric_operator可爲 -eq(相等),-ne(不相等),-gt(大於),-lt(小於),-le(小於等於),-ge(大於等於)
組合測試: -a 邏輯與 -o邏輯或 !邏輯否
wc命令
命令參數:
-c 統計字節數。
-l 統計行數。
-m 統計字符數。這個標誌不能與 -c 標誌一塊兒使用。
-w 統計字數。一個字被定義爲由空白、跳格或換行字符分隔的字符串。
cal 命令
顯示當前月份日曆
命令:cal
顯示指定月份的日曆
命令:cal 9 2012
顯示2016年日曆
命令:cal 2016
date命令
顯示當前時間:
命令:
focus@ubuntu:~$ date
Thu Aug 31 03:01:17 PDT 2017
focus@ubuntu:~$ date '+%x'
08/31/2017
顯示日期和設定時間:
命令:date --date 08:42:00
date -d參數使用:
date -d "nov 22" 今年的 11 月 22 日是星期三
date -d '2 weeks' 2周後的日期
date -d tomorrow +%Y%m%d
date -d yesterday +%Y%m%d
date -d last-month +%Y%m(上個月是幾月)
date -d next-month +%Y%m(下個月是幾月)
使用 ago 指令,您能夠獲得過去的日期:
date -d '30 days ago' (30天前的日期)
使用負數以獲得相反的日期:
date -d 'dec 14 -2 weeks' (相對:dec 14這個日期的兩週前的日期)
date -d '-100 days' (100天之前的日期)
ln 命令
給文件建立軟連接
命令:ln -s log2013.log link2013
給文件建立硬連接
命令:ln log2013.log ln2013
wget命令
使用wget下載單個文件
命令:wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip
使用wget -c斷點續傳
命令:wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip
使用wget -b後臺下載
命令:wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
scp命令
從本地服務器複製到遠程服務器:
(1) 複製文件:
命令格式:
scp local_file remote_username@remote_ip:remote_folder
(2) 複製目錄:
命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
從遠程服務器複製到本地服務器:
從遠程複製到本地的scp命令與上面的命令雷同,只要將從本地複製到遠程的命令後面2個參數互換順序就好了。
find 命令經常使用用法
命令格式:
find path -option [-print] [-exec -ok]
-print:find 命令將匹配的文件輸出到標準輸出
-exec:find 命令對匹配的文件執行該參數所給出的 shell 命令,相應命令格式爲:command {} \;
-ok:做用同 -exec ,每一步須要用戶確認
-option:
-name:按名查
-perm:按權限查
-user:按用戶查
-group:按照組查找
-mtime -n +n:文件更改時間查找,-n 是 n 天內,+n 是 n 天前,-atime -ctime相似
-type:某一類型的文件
-size n[c]:查找文件長爲 n 塊的文件
MOUNT
mount [-t vfstype] [-o options] device dir
-o options: 主要用來描述設備或檔案的掛接方式
1)loop:用來把一個文件當成硬盤分區掛上系統
2)ro:只讀
3)rw:讀寫
4)iocharset:指定訪問文件系統所用字符集
device:鏈接設備
DU 和 DF
du(disk usage)搜索文件統計文件大小
一、顯示指定文件所佔空間
du file1 file2
二、顯示指定目錄佔的空間
du dir
三、只顯示總和大小
du -s
四、以方便格式顯示
du -h
五、文件目錄全顯示
du -ah
六、顯示幾個文件或目錄各自佔用磁盤空間大小並統計總和
du -c
df(disk free)文件系統磁盤空間佔用狀況,如沒有文件名指定,全部當前掛載的文件系統可用空間將被顯示
一、顯示磁盤使用狀況
df
二、以inode狀況顯示
df -i
文件名的匹配
特殊的匹配符號:
* 匹配文件名中的任何字符串,包括空字符串
? 匹配文件名中的任何單個字符串
[...] 匹配[]中包含的任何字符
[!...] 匹配[]中非感吧號!以後的字符
tee命令
做用:把輸出的一個副本輸送到標準輸出,另外一個副本拷貝到相應的文件中
格式:tee filename
例:who | tee who.out 使用who命令,結果輸出到屏幕上,同時保存在who.out文件中
文件隱藏屬性
chmod u+s xxx 設置setuid(4775)
chmod g+s xxx 設置gid(2775)
chmod o+t xxx 設置stick bit,針對目錄(1775)
read命令
做用:讀入值給變量
一、read 從鍵盤讀入字符到name變量
二、read -p 'msg' var... 輸入提示
三、read -s vars 隱藏輸入
四、read讀取文件時,每次調用會讀取文件中「一行」文本,文本沒可讀行時,以0狀態退出
#!/bin/bash
count=1
cat aa | while read line
do
echo "$count:$line"
count=$[ $count + 1 ]
done
重定向 :<,<<,>,>>
command>filename 把標準輸出重定向到一個新文件中
command>>filename 把標準輸出重定向到一個文件中(追加)
command 1>filename 把標準輸出重定向到一個新文件中
command>filename 2>&1 把標準輸出和標準錯誤一塊兒重定向到一個文件中
command 2>filename 把標準錯誤重定向到一個新文件中
command 2>>filename 把標準錯誤重定向到一個文件中(追加)
command >>filename 2>&1 把標準輸出和標準錯誤一塊兒重定向到一個文件中(追加)
command <filename >filename 2 command命令以filename文件做爲標準輸入,以filename2文件做爲標準輸出
command <&m 把文件描述符m做爲標準輸入
command >&m 把標準輸出重定向到文件描述符m中
command <&- 關閉標準輸入
/dev/null: 在類Unix系統中,/dev/null,或稱空設備,是一個特殊的設備文件,它丟棄一切寫入其中的數據(但報告寫入操做成功),讀取它則會當即獲得一個EOF。
/dev/zero: 在類UNIX 操做系統中, /dev/zero 是一個特殊的文件,當你讀它的時候,它會提供無限的空字符(NULL, ASCII NUL, 0x00)
ps命令
使用該命令能肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 119816 5628 ? Ss 04:37 0:09 /sbin/init auto noprompt
root 2 0.0 0.0 0 0 ? S 04:37 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 04:37 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 04:37 0:02 [ksoftirqd/0]
root 7 0.2 0.0 0 0 ? S 04:37 2:07 [rcu_sched]
root 8 0.0 0.0 0 0 ? S 04:37 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 04:37 0:00 [migration/0]
root 10 0.0 0.0 0 0 ? S< 04:37 0:00 [lru-add-drain]
root 11 0.0 0.0 0 0 ? S 04:37 0:00 [watchdog/0]
%CPU 進程的cpu佔用率
%MEM 進程的內存佔用率
VSZ 進程所使用的虛存的大小
RSS 進程使用的駐留集大小或者是實際內存的大小
TTY 與進程關聯的終端(tty)
STAT 檢查的狀態:進程狀態使用字符表示的,如R(running正在運行或準備運行)、S(sleeping睡眠)、I(idle空閒)、Z (僵死)、D(不可中斷的睡眠,一般是I/O)、P(等待交換頁)、W(換出,表示當前頁面不在內存)、N(低優先級任務)T(terminate終 止)、W has no resident pages
START (進程啓動時間和日期)
TIME ;(進程使用的總cpu時間)
COMMAND (正在執行的命令行命令)
NI (nice)優先級
PRI 進程優先級編號
PPID 父進程的進程ID(parent process id)
SID 會話ID(session id)
WCHAN 進程正在睡眠的內核函數名稱;該函數的名稱是從/root/system.map文件中得到的。
FLAGS 與進程相關的數字標識
經常使用參數:
經常使用組合:
netstat命令
netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,通常用於檢驗本機各端口的網絡鏈接狀況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP鏈接,TCP和UDP監聽,進程內存管理的相關報告。
netstat參數雖然不少,可是經常使用的很少,主要是下面幾個參數:
netstat -[atunlp]
查看端口占用時,使用:netstat -anp|grep 80
top命令
top命令常常用來監控linux的系統情況,好比cpu、內存的使用。
top - 08:16:55 up 1 day, 1:09, 2 users, load average: 0.00, 0.01, 0.00
Tasks: 252 total, 1 running, 250 sleeping, 0 stopped, 1 zombie
%Cpu(s): 0.5 us, 0.3 sy, 0.0 ni, 98.6 id, 0.4 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 4025440 total, 858884 free, 1388728 used, 1777828 buff/cache
KiB Swap: 4192252 total, 4192252 free, 0 used. 2260048 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 119788 5980 4020 S 0.0 0.1 0:11.81 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.06 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.86 ksoftirqd/0
7 root 20 0 0 0 0 S 0.0 0.0 1:16.12 rcu_sched
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root rt 0 0 0 0 S 0.0 0.0 0:00.07 migration/0
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.29 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
14 root rt 0 0 0 0 S 0.0 0.0 0:00.37 watchdog/1
15 root rt 0 0 0 0 S 0.0 0.0 0:00.08 migration/1
16 root 20 0 0 0 0 S 0.0 0.0 0:13.69 ksoftirqd/1
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
19 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kdevtmpfs
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
21 root 20 0 0 0 0 S 0.0 0.0 0:00.16 khungtaskd
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper
23 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kcompactd0
25 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
26 root 39 19 0 0 0 S 0.0 0.0 0:13.78 khugepaged
27 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto
28 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
29 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
30 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
33 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff
34 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md
35 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 devfreq_wq
36 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 watchdogd
39 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
40 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
第一行:
系統負載,即任務隊列的平均長度。
三個數值分別爲 1分鐘、5分鐘、15分鐘前到如今的平均值。
第三行:
cpu狀態
us — 用戶空間佔用CPU的百分比。
sy — 內核空間佔用CPU的百分比。
ni — 改變過優先級的進程佔用CPU的百分比
id — 空閒CPU百分比
wa — IO等待佔用CPU的百分比
hi — 硬中斷(Hardware IRQ)佔用CPU的百分比
si — 軟中斷(Software Interrupts)佔用CPU的百分比
第七行如下:各進程(任務)的狀態監控
PID — 進程id
USER — 進程全部者
PR — 進程優先級
NI — nice值。負值表示高優先級,正值表示低優先級
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/中止 Z=殭屍進程
%CPU — 上次更新到如今的CPU時間佔用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)
經常使用參數:
在鍵盤上輸入大寫字母M 以達到之內存佔用率大小順序排列。另外輸入大寫字母P能夠按CPU使用率排序。
每兩秒鐘更新一次 top ,觀察總體信息,-d參數:top -d 2
假設 9999 是一個已經存在的 PID ,用top命令僅觀察指定pid的程序的-p參數用法:top -d 2 -p 9999
iostat命令
顯示CPU和I/O統計信息
iostat的不帶參數的顯示CPU和I/ O的全部分區的統計信息
-c Display the CPU utilization report.
-d Display the device utilization report
Linux 4.10.0-32-generic (ubuntu) 08/31/2017 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.04 0.38 0.44 0.00 98.64
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.07 11.15 23.80 1007641 2150292
avg-cpu段:
%user: 在用戶級別運行所使用的CPU的百分比.
%nice: nice操做所使用的CPU的百分比.
%sys: 在系統級別(kernel)運行所使用CPU的百分比.
%iowait: CPU等待硬件I/O時,所佔用CPU百分比.
%idle: CPU空閒時間的百分比.
Device段:
tps: 每秒鐘發送到的I/O請求數.
Blk_read /s: 每秒讀取的block數.
Blk_wrtn/s: 每秒寫入的block數.
Blk_read: 讀入的block總數.
Blk_wrtn: 寫入的block總數.
vmstat命令
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 858612 160236 1617384 0 0 6 12 63 124 1 0 99 0 0
Procs
r: The number of runnable processes (running or waiting for run time).
b: The number of processes in uninterruptible sleep.
Memory
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.
Swap
si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).
IO
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device (blocks/s).
System
in: The number of interrupts per second, including the clock.
cs: The number of context switches per second.
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
free命令
free命令能夠顯示Linux系統中空閒的、已用的物理內存及swap內存,及被內核使用的buffer。
focus@ubuntu:~$ free -h
total used free shared buff/cache available
Mem: 3.8G 1.3G 928M 27M 1.7G 2.2G
Swap: 4.0G 0B 4.0G
total:Total installed memory (MemTotal and SwapTotal in /proc/meminfo)
used:Used memory (calculated as total - free - buffers - cache)
free:Unused memory (MemFree and SwapFree in /proc/meminfo)
shared:Memory used (mostly) by tmpfs (Shmem in /proc/meminfo, available on kernels 2.6.32, displayed as zero if
not available)
buffers:Memory used by kernel buffers (Buffers in /proc/meminfo)
cache:Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)
buff/cache:Sum of buffers and cache(A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use.)
available:Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)
update-alternatives 命令用於配置默認程序,版本切換
一、display 命令,查看命令連接信息
update-alternatives --display name
二、install 命令,增長命令連接
update-alternatives --install link name path priority
link:連接原目錄
name:連接符名稱
path:連接新目錄
priority:優先級
三、remove 命令,刪除命令連接
update-alternatives --remove name path
四、config 配置命令連接
update-alternatives --config name
五、auto 和 manual模式切換,默認爲 auto,將 manual 切至 auto
update-alternatives --auto name
dpkg
安裝
dpkg -i package.deb
卸載
dpkg -r packagename
完全卸載
dpkg -P packagename
apt-get
搜查包
apt-cache serach packagename
安裝
apt-get install packagename
從新安裝包
apt-get install packagename --reinstall
修復安裝
apt-get --f install packagename
刪除
apt-get remove packagename
刪除,包括配置文件
apt-get remove packagename --puge
更新源
apt-get update
更新安裝包
apt-get upgarde
更新系統
apt-get dis-upgrade
特定shell變量
$# 傳遞到腳本的參數個數
$* 以一個單字符串顯示全部向腳本傳遞的參數。與位置變量不一樣,此選項參數可超過9個
$$ 腳本運行的當前進程ID號
$! 後臺運行的最後一個進程的進程ID號
$@ 與$*相同,可是使用時加引號,並在引號中返回每一個參數
$? 顯示最後命令的退出狀態。0表示沒有錯誤,其餘任何值代表有錯誤
其餘:$0(腳本名字) $1 $2 $3 ...$9
一、進入insert模式
o:當前行後
O:當前行前
r:替換當前字符
R:替換當前字符直到ESC
二、刪除命令
#dw:刪除#個word
d^:刪除至行尾
d$:刪除至行首
三、 u:撤消
ctrl+r:反撤消
四、搜索替換
/pattern:前日後查找
?pattern:後往前查找
n:同方向查找下一個
N:反方向查找下一個
:s/p1/p2/g:當前行替換
:n1,n2 s/p1/p2/g:n1至n2行替換
:% s / old / new / g:全文替換
五、行命令
:n1,n2 co n3
:n1,n2 m n3
:n1,n2 d
: e file:打開文件
:!command:執行命令
:n1,n2!command:輸出替換nq到n2
:n1,n2w ! command:n1到n2間做爲command輸入
在 /etc/profile 文件尾添加
JAVA_HOME=/opt/jdk1.8.0
JRE_HOME=${JAVA_HOME}/jre PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME export JRE_HOME export PATH
一、將全部.jpg文件打成一個名爲all.tar的包
tar -cf all.tar *.gif
二、將全部.gif文件追加到all.tar
tar -rf all.tar *.gif
三、更新原來tar包中logo.gif文件
tar -uf all.tar logo.gif
四、列出all.tar中文件
tar -tf all.tar
五、解包文件
tar -xf all.tar
六、tar調用gzip
tar -czf all.tar.gz *.jpg
tar -xzf all.tar.gz
七、調用bzip2
tar -cjf all.tar.bz2 *.jpg
tar -xjf all.tar.bz2
八、調用xz
tar -cJf all.tar.xz *.jpg
tar -xJf all.tar.xz