【Linux主機+架站+維護教學+遠端協助】專案 網路開展事業或在網路賺錢第一步: 【架設24小時賺錢網站主機】比網頁設計更優先! 你還在租用虛擬主機嗎? (租用不如自有主機!自己當家作主才是:王道!) 因租用會:限制空間大小、流量、PHP.ini修改、特定語法使用... 綁手綁腳,你還能有多出眾的作為? 替你架設Linux主機伺服器+影片教你維護 (還有遠端技術協助)讓你自己當家作主! 為協助學員快速架站(隨心所欲展開網路事業)總教頭特別規劃: 替你架設Linux主機專案 並教如何成為網管高手! 聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多! 參加了本專案,您無須再自我摸索曠日廢時→快速打通任都二脈 還有配套『加盟專案』,你可以現學現做,自然的實現:『事少、錢多、離家近!』的成功境界。

Linux 常用命令技巧

linux 啟動自動執行腳本

在 Linux 中,可以通過將腳本新增到啟動腳本中實現在系統啟動時自動執行腳本。

具體步驟如下:

  1. 編寫需要在啟動時執行的腳本檔案,例如 “myscript.sh”。
  2. 將腳本檔案複製到 /etc/init.d 目錄下,例如:
    
    
  • sudo cp myscript.sh /etc/init.d/
    
  • 授予腳本檔案執行權限,例如:
    
    
  • sudo chmod +x /etc/init.d/myscript.sh
    
  • 使用 update-rc.d 指令將腳本新增到啟動腳本中,例如:
    
    
  1. sudo update-rc.d myscript.sh defaults
    

    此指令將會將腳本新增到所有運行層級中。

  2. 重新啟動系統,腳本將會在啟動時自動執行。

如果您需要從啟動腳本中刪除腳本,可以使用以下指令:


sudo update-rc.d -f myscript.sh remove

希望這個回答可以幫助您實現在 Linux 啟動時自動執行腳本的需求。

Debian/Ubuntu 新增開機自動執行程式

在 Debian/Ubuntu 系統上,有一個程式我們想要讓他在開機後自動執行,該怎麼做?

首先需要替要執行的程式撰寫一個啟動停止的 script 放在 /etc/init.d/ 目錄下,該 script 必須要可以接受參數 “start”、”stop” 等,來對應啟動或是停止。可以參考 /etc/init.d/skeleton 來做修改:

/etc/init.d/skeleton
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#! /bin/sh
### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO
# Author: Foo Bar <foobar@baz.org>
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Description of the service"
NAME=daemonexecutablename
DAEMON=/usr/sbin/$NAME
DAEMON_ARGS="--options args"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
    # Return
    #   0 if daemon has been started
    #   1 if daemon was already running
    #   2 if daemon could not be started
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
        || return 1
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
        $DAEMON_ARGS \
        || return 2
    # Add code here, if necessary, that waits for the process to be ready
    # to handle requests from services started subsequently which depend
    # on this one.  As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
    # Return
    #   0 if daemon has been stopped
    #   1 if daemon was already stopped
    #   2 if daemon could not be stopped
    #   other if a failure occurred
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL="$?"
    [ "$RETVAL" = 2 ] && return 2
    # Wait for children to finish too if this is a daemon that forks
    # and if the daemon is only ever run from this initscript.
    # If the above conditions are not satisfied then add some other code
    # that waits for the process to drop all resources that could be
    # needed by services started subsequently.  A last resort is to
    # sleep for some time.
    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
    [ "$?" = 2 ] && return 2
    # Many daemons don't delete their pidfiles when they exit.
    rm -f $PIDFILE
    return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
    #
    # If the daemon can reload its configuration without
    # restarting (for example, when it is sent a SIGHUP),
    # then implement that here.
    #
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
    return 0
}
case "$1" in
  start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
    do_start
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
  stop)
    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
    do_stop
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
  status)
    status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
    ;;
  #reload|force-reload)
    #
    # If do_reload() is not implemented then leave this commented out
    # and leave 'force-reload' as an alias for 'restart'.
    #
    #log_daemon_msg "Reloading $DESC" "$NAME"
    #do_reload
    #log_end_msg $?
    #;;
  restart|force-reload)
    #
    # If the "reload" option is implemented then remove the
    # 'force-reload' alias
    #
    log_daemon_msg "Restarting $DESC" "$NAME"
    do_stop
    case "$?" in
      0|1)
        do_start
        case "$?" in
            0) log_end_msg 0 ;;
            1) log_end_msg 1 ;; # Old process is still running
            *) log_end_msg 1 ;; # Failed to start
        esac
        ;;
      *)
        # Failed to stop
        log_end_msg 1
        ;;
    esac
    ;;
  *)
    #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
    echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
    exit 3
    ;;
esac
:

 

或是如我們在嵌入式系統撰寫的簡易 script:

/etc/init.d/blah
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting script blah "
    echo "Could do more here"
    ;;
  stop)
    echo "Stopping script blah"
    echo "Could do more here"
    ;;
  *)
    echo "Usage: /etc/init.d/blah {start|stop}"
    exit 1
    ;;
esac
exit 0

修改其權限為可執行

$ chmod 755 /etc/init.d/blah

使用 update-rc.d 更新開機 script

$ update-rc.d blah defaults

default 的意思是使用預設值,亦即在 runlevel 2 3 4 5 啟動(start), runlevel 0 1 6 停止 (stop)。

若不想要使用預設值,也可以指定 runlevel 與執行的順序:

update-rc.d blah start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .

上述指令的意思為在 runlevel 2 3 4 執行啟動順序為 20, runlevel 5 執行啟動順序為 30, runlevel 0 1 6 執行停止順序為 80Debian runlevel 定義:

0:關機 (Halt)
1:單一使用者模式 (single user mode)
2-5: 多使用者模式 (multi user mode)
6: 系統重啟 (reboot)

最後,若是要將其取消開機執行則使用以下命令

$ update-rc.d -f blah remove

 

1. 系統管理

查詢系統版本

檢視Linux系統版本:

$uname -a
$lsb_release -a

檢視Unix系統版本:操作系統版本:

$more /etc/release

查詢硬體訊息

檢視CPU使用情況:

$sar -u 5 10

查詢CPU訊息:

$cat /proc/cpuinfo

檢視CPU的核的個數:

$cat /proc/cpuinfo | grep processor | wc -l

檢視記憶體訊息:

$cat /proc/meminfo

顯示記憶體page大小(以KByte為單位):

$pagesize

顯示架構:

$arch

設定系統時間

顯示現用的系統時間:

$date

設定系統日期及時間(格式為2014-09-15 17:05:00):

$date -s 2014-09-15 17:05:00
$date -s 2014-09-15
$date -s 17:05:00

設定時區:

選取時區訊息。指令為:tzselect
根據系統提示,選取相應的時區訊息。

強制把系統時間寫入CMOS(這樣,重啟後時間也正確了):

$clock -w

警示

設定系統時間需要root使用者權限.

格式化輸出現用的日期時間:

$date +%Y%m%d.%H%M%S
>20150512.173821

2. IPC資源管理

IPC資源查詢

檢視系統使用的IPC資源:

$ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 229376     weber      600        1

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

檢視系統使用的IPC共享記憶體資源:

$ipcs -m

檢視系統使用的IPC佇列資源:

$ipcs -q

檢視系統使用的IPC信號量資源:

$ipcs -s

應用示例:檢視IPC資源被誰佔用

有個IPCKEY:51036 ,需要查詢其是否被佔用;

  1. 首先通過計算器將其轉為十六進位:

    51036 -> c75c

  2. 如果知道是被共享記憶體佔用:

    $ipcs -m | grep c75c
    0x0000c75c 40403197   tdea3    666        536870912  2
    
  3. 如果不確定,則直接搜尋:

    $ipcs | grep c75c
    0x0000c75c 40403197   tdea3    666        536870912  2
    0x0000c75c 5079070    tdea3    666        4
    

檢驗和設定系統資源限制

顯示現用的所有的系統資源limit 訊息:

ulimit – a

對生成的 core 檔案的大小不進行限制:

ulimit – c unlimited

Linux系統管理員的主要職責| Linux 系統管理員做什麼?

Linux系統管理員的主要職責如下:

  1. 維護使用者帳戶
  2. 安全
  3. 管理磁碟空間和備份
  4. 根據需要配置新的Linux伺服器
  5. Linux 伺服器更新和修補
  6. 認證與授權管理
  7. Linux 伺服器故障排除和 QA 部署
  8. 在VMWARE中管理大量VMS
  9. 監控所有虛擬機及其運行狀況
  10. 監控主要重要服務
  11. 備份和恢復伺服器的所有重要資料
  12. 伺服器和操作系統程式監控
  13. 磁碟管理和監控

管理員權限:

  1. 變更任何檔案的內容或屬性,例如其權限和所有權
  2. 他可以刪除任何檔案,即使它是寫保護的。
  3. 啟動或終止任何程式
  4. 在不知道現有密碼的情況下變更任何使用者的密碼
  5. 設定系統時鐘和日期
  6. 限制容許使用者使用 ulimlit 建立的檔案的最大大小
  7. 控制使用者對 at 和 cron 等調度服務的訪問
  8. 控制使用者對許多網路服務的訪問,例如 Telnet、FTP 等

7. 查詢網路服務和連接埠

netstat 指令用於顯示各種網路關聯訊息,如網路連線,路由表,介面狀態 (Interface Statistics),masquerade 連線,多播成員 (Multicast Memberships) 等等。

列出所有連接埠 (內含監聽和未監聽的):

netstat -a

列出所有 tcp 連接埠:

netstat -at

列出所有有監聽的服務狀態:

netstat -l

使用netstat工具查詢連接埠:

$netstat -antp | grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      25501/redis-server

$ps 25501
  PID TTY      STAT   TIME COMMAND
25501 ?        Ssl   28:21 ./redis-server ./redis.conf

lsof(list open files)是一個列出現用的系統開啟檔案的工具。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問一般資料,還可以訪問網路連線和硬體。所以如傳輸控制協定 (TCP) 和使用者資料報協定 (UDP) 套接字等; 在查詢網路連接埠時,經常會用到這個工具。

查詢7902連接埠現在運行什麼程式:

#分為兩步
#第一步,查詢使用該連接埠的程式的PID;
    $lsof -i:7902
    COMMAND   PID   USER   FD   TYPE    DEVICE SIZE NODE NAME
    WSL     30294 tuapp    4u  IPv4 447684086       TCP 10.6.50.37:tnos-dp (LISTEN)

#查到30294
#使用ps工具查詢程式詳情:
$ps -fe | grep 30294
tdev5  30294 26160  0 Sep10 ?        01:10:50 tdesl -k 43476
root     22781 22698  0 00:54 pts/20   00:00:00 grep 11554

註解

以上介紹lsof關於網路方面的應用,這個工具非常強大,需要好好掌握

2. 網路路由

檢視路由狀態:

$route -n

傳送到ping包到位址IP:

$ping IP

探測前往位址IP的路由路徑:

$traceroute IP

DNS查詢,尋找域名domain對應的IP:

$host domain

反向DNS查詢:

$host IP

3. 對映下載

直接下載檔案或是網頁:

wget url

常用選項:

  • –limit-rate :下載限速
  • -o:指定記錄檔;輸出都寫入日誌;
  • -c:斷點續傳

4. ftp sftp lftp ssh

SSH登陸:

$ssh ID@host

ssh登陸遠端伺服器host,ID為使用者名。

ftp/sftp檔案傳輸:

$sftp ID@host

登陸伺服器host,ID為使用者名。sftp登陸後,可以使用下面的指令進一步操作:

  • get filename # 下載檔名
  • put filename # 上傳檔名
  • ls # 列出host上現用的路徑的所有檔案
  • cd # 在host上變更現用的路徑
  • lls # 列出本地主機上現用的路徑的所有檔案
  • lcd # 在本地主機變更現用的路徑

lftp同步資料夾(類似rsync工具):

lftp -u user:pass host
lftp user@host:~> mirror -n

5. 網路複製

將本地localpath指向的檔案上傳到遠端主機的path路徑:

$scp localpath ID@host:path

以ssh協定,遍歷下載path路徑下的整個檔案系統,到本地的localpath:

$scp -r ID@site:path localpath

 

最好的 Linux 網路監控工具

Linux電腦可用於網路監控,也可以通過網路監控其他Linux主機。 我們描述最好的 Linux 網路監控工具。

有很多很棒的 網路監控工具 市場上 。 然而,在閱讀完所有銷售詳細訊息後,您開始想要購買,然後發現該軟體只能在 Windows 或 Windows Server 上運行。

如果您只有 Linux 伺服器 ,並且不想通過加入 Windows 伺服器來混合環境,那麼您會浪費時間閱讀無法安裝的網路監視器的說明。

如果您只想讓您的環境保持全 Linux,那麼在尋找網路監視器時您有以下三種選取:

  • 基於Linux的網路監控系統
  • SaaS、雲端網路監控系統
  • 內含操作系統的網路監控系統

在這篇評論中,我們將從所有這三個類別中挑選示例。 然而,我們清單中的大多數網路監控工具都將安裝在 Linux 伺服器上。

以下是我們列出的八個最佳 Linux 網路監控工具:

  1. N-able N-central 編輯的選取 IT 部門和託管服務提供商的絕佳選取。 該網路監視器附帶了捆綁到裸機伺服器中並安裝在裸機伺服器上的 CentOS 修改版本。
  2. Site24x7網路監控 一種基於雲的網路管理服務,可以監控現場有線和無線網路、雲資源和遠端網路。
  3. Paessler PRTG  這個非常受歡迎的基礎設施監控系統的雲服務版本。 它監視網路、伺服器和應用程式。
  4. ManageEngine OpManager 適用於 Linux 和 Windows Server,該網路效能監視器使用 SNMP 程式來保持網路平穩運行。
  5. Datadog Network Performance Manager 一種可通過任何標準瀏覽器訪問的 SaaS 網路管理服務。 它可以管理多個站台並檢查網際網路連線質量。
  6. Nagios XI 一種本地網路監控系統,安裝在 Linux 上,涵蓋網路效能的各個方面。
  7. Zabbix 一個免費的基礎設施監控系統,可安裝在 Linux、Unix、macOS 和 Windows 上。 它可以監控現場有線和無線網路、雲伺服器、遠端站台和網際網路效能。
  8. Icinga 2 這個基於 Linux 的網路監控包是 Nagios Core 的一個分支,可以整合 Nagios 外掛程式。

您可以在以下部分中閱讀有關每個選項的更多訊息。

什麼是Linux網路監控?

Linux 是一種電腦操作系統:端點或伺服器。 大多數網路裝置都有自己的韌體。

因此,當人們談論 Linux 網路監控時, 他們要麼是指監控部分或全部連線的電腦運行 Linux 操作系統的網路,要麼是指在 Linux 主機 上運行網路監控軟體。

網路在獨立於操作系統的協定上運行。 世界上最常見的網路系統形式是 TCP/IP

由於 TCP/IP 的 IP 部分代表網際網路協定,因此可以非常輕鬆地與網際網路連線進行互動。

大多數網路監控系統的 使用簡單網路管理協定(SNMP) 操作過程都 。 SNMP 不依賴於某一特定操作系統。

所有網路裝置在購買時都已預裝了 SNMP 系統的一部分。 這是 SNMP 裝置代理。 監控系統中唯一缺少的元素是 SNMP 管理器。

因此,網路監控工具提供了SNMP管理器功能。 這使他們能夠收集裝置代理編譯的所有裝置統計資料和流量訊息。

頂級網路監控工具將這些裝置代理報告解釋​​為時間序列圖和易於閱讀的圖表。 可以存儲收集到的裝置狀態資料以進行 效能分析

這有助於網路管理員規劃容量。

這些基於 SNMP 的網路監控工具的另一個重要功能是,如果裝置代理檢驗到問題,就會發出警示。

這些警示稱為 陷阱 ,可以在網路監控工具中解釋為警報。 警報使 IT 支援團隊能夠離開監視器來監視網路,並假設一切標準,除非出現相反的知會。

Linux 網路監控工具的唯一顯著特徵是它可以在 Linux 電腦上運行或訪問。

最好的Linux網路監控工具

請注意我們推薦的這些工具的描述,因為並非所有工具都需要安裝在 Linux 電腦上。

提供了一些 SaaS 網路監控工具。 雲計算變得非常流行,因此我們為那些不想用網路監控工具的資源需求填滿自己的伺服器空間的人

還有一個選項捆綁了 Linux 操作系統,因此您可以將其安裝在新的裸機伺服器上,而無需首先單獨安裝 Linux 的過程。

最好的 Linux 網路監控工具

我們選取 Linux 網路監控工具的方法

我們回顧了 Linux 網路監控系統市場,並根據以下標準分析了工具:

  • 網路裝置狀態檢查
  • 自動發現連線的裝置
  • 網路拓撲映射
  • 網路流量追蹤
  • 虛擬化監控
  • 免費試用或演示系統以獲得無風險評估機會
  • 可以以合理的價格在 Linux 系統上運行或監控 Linux 系統的監控工具,物有所值

考慮到這些選取標準,我們已經確定了可靠的 Linux 系統,可以持續監控網路。 我們考慮了可以安裝在 Linux 上的軟體以及雲平台提供的軟體。

1. N-able N-central 編輯選取

N-能 N-中心

N-able N-central 的修改版本上 運行在CentOS Linux 。 不過在N-central上加入之前不需要安裝操作系統,因為軟體包中已經捆綁了操作系統,所以需要安裝在裸機伺服器上。

N-central 適用於中小型企業,也可供 託管服務提供商 (MSP) 在支援用戶端網路時使用。

該服務可以管理遠端站台並容許通過同一介面管理多個站台。 它還可以監控 雲資源 及其網際網路連線。

主要特徵:

  • 監控網路和端點
  • 內含搬移裝置管理
  • 自動發現和拓撲映射
  • 修改更新管理和備份
  • 任務自動化

為什麼我們推薦它?

N-able N-central 是一個供託管服務提供商使用的遠端監控和管理軟體包。 該服務中的工具內含對網路和端點的自動監控。

它可以追蹤運行 Windows、Linux 和 macOS 的裝置上的活動。 該軟體包內含自動發現服務,可編譯資產清單。

除了監控網路之外,N-central 還可以監控端點和伺服器。 受監控的裝置可以運行 Linux、macOS、Windows 或 Windows Server。

還可以通過N-central系統管理搬移裝置。 可 搬移管理器 實現搬移裝置的批次配置、快速登入、裝置位置追蹤以及遠端鎖定和擦除。

系統通過探索網路並記錄連線到網路的所有裝置來啟動其服務。 此自動發現功能會編譯 裝置清單 ,並自動繪製網路拓撲圖。

庫存和地圖會不斷更新,並將發生變化以反映網路中的任何變化。 在控制台中,網路的拓撲檢視旁邊有一個裝置摘要清單,其中每個裝置的狀態以交通燈彩色顯示,以便快速識別問題。

N-central 附帶的安全工具內含 修改更新管理器 備份管理器 。 捆綁包中的網路安全提供防火牆、Web 保護訪問管理、磁碟加密和入侵檢驗。

還有端點檢驗和響應代理來保護網路上的每台電腦。

推薦給誰?

儘管大多數遠端監控和管理工具都是為 IT 部門以及託管服務部門設計的。 然而,N-able 生產了 N-sight 供 IT 部門和小型 MSP 使用。

N-central 專為大型託管服務提供商而設計。 該軟體包安裝在裸機伺服器上。

優點:

  • 專為中型到企業網路而設計
  • 提供眾多多租戶功能(非常適合 MSP)
  • 自動發現新資產並更新網路地圖
  • 提供強大的自動化功能和易於使用的模板

缺點:

  • N-central 專為系統管理員而設計,需要技術知識才能充分受益

N-central 中還包括一個 自動化管理器 ,容許網路管理員設定對檢驗到的問題的自動響應。

在使用操作系統的過程中,我們經常需要檢視現用的的效能如何,需要了解CPU、記憶體和硬碟的使用情況; 本節介紹的這幾個工具能滿足日常工作要求。

1. 監控CPU

檢視CPU使用率

$sar -u

eg:
$sar -u 1 2
[/home/weber#]sar -u 1 2
Linux 2.6.35-22-generic-pae (MyVPS)     06/28/2014      _i686_  (1 CPU)

09:03:59 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:04:00 AM     all      0.00      0.00      0.50      0.00      0.00     99.50
09:04:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00

後面的兩個參數表示監控的頻率,比如例子中的1和2,表示每秒取樣一次,總共取樣2次;

檢視CPU平均負載

$sar -q 1 2

sar指定-q後,就能檢視運行佇列中的程式數、系統上的程式大小、平均負載等;

2. 查詢記憶體

檢視記憶體使用狀況 sar指定-r之後,可檢視記憶體使用狀況;

$sar -r 1 2
09:08:48 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
09:08:49 AM     17888    359784     95.26     37796     73272    507004     65.42    137400    150764
09:08:50 AM     17888    359784     95.26     37796     73272    507004     65.42    137400    150764
Average:        17888    359784     95.26     37796     73272    507004     65.42    137400    150764

檢視記憶體使用量

$free -m

3. 查詢頁面交換

檢視頁面交換發生狀況 頁面發生交換時,伺服器的吞吐量會大幅下降;伺服器狀況不良時,如果懷疑因為記憶體不足而導致了頁面交換的發生,可以使用sar -W這個指令來確認是否發生了大量的交換;

$sar -W 1 3

4. 查詢硬碟使用

檢視磁碟空間利用情況

$df -h

查詢現用的目錄下空間使用情況

du -sh  -h是人性化顯示 s是遞歸整個目錄的大小

檢視該目錄下所有資料夾的排序後的大小

for i in `ls`; do du -sh $i; done | sort
或是
du -sh `ls`

5. 綜合應用

當系統中sar不可用時,可以使用以下工具替代:linux下有 vmstat、Unix系統有prstat

eg: 檢視cpu、記憶體、使用情況: vmstat n m (n 為監控頻率、m為監控次數)

[/home/weber#]vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0  86560  42300   9752  63556    0    1     1     1    0    0  0  0 99  0
1  0  86560  39936   9764  63544    0    0     0    52   66   95  5  0 95  0
0  0  86560  42168   9772  63556    0    0     0    20  127  231 13  2 84  0

使用watch 工具監控變化 當需要持續的監控應用的某個資料變化時,watch工具能滿足要求; 執行watch指令後,會進入到一個介面,輸出現用的被監控的資料,一旦資料變化,便會高亮顯示變化情況;

eg:操作redis時,監控記憶體變化:

$watch -d -n 1 './redis-cli info | grep memory'
(以下為watch工具中的介面內容,一旦記憶體變化,即實時高亮顯示變化)
Every 1.0s: ./redis-cli info | grep memory                                                                  Mon Apr 28 16:10:36 2014

used_memory:45157376
used_memory_human:43.07M
used_memory_rss:47628288
used_memory_peak:49686080
used_memory_peak_human:47.38M

6. 總結

top / sar / free / watch

這一節我們介紹程式管理工具

使用程式管理工具,我們可以查詢程式現用的的運行狀態,或終止一個程式

任何程式都與檔案關聯;我們會用到lsof工具(list opened files),作用是列舉系統中已經被開啟的檔案。在linux環境中,任何事物都是檔案,裝置是檔案,目錄是檔案,甚至sockets也是檔案。用好lsof指令,對日常的linux管理非常有幫助。

1. 查詢程式

查詢正在運行的程式訊息

$ps -ef

eg:查詢歸屬於使用者colin115的程式

$ps -ef | grep colin115
$ps -lu colin115

查詢程式ID(適合只記得部分程式欄位)

$pgrep 搜尋程式

eg:查詢程式名中含有re的程式
[/home/weber#]pgrep -l re
2 kthreadd
28 ecryptfs-kthrea
29515 redis-server

以完整的格式顯示所有的程式

$ps -ajx

顯示程式訊息,並實時更新

$top

檢視連接埠佔用的程式狀態:

lsof -i:3306

檢視使用者username的程式所開啟的檔案

$lsof -u username

查詢init程式現用的開啟的檔案

$lsof -c init

查詢特殊的程式ID(23295)開啟的檔案:

$lsof -p 23295

查詢指定目錄下被程式開啟的檔案(使用+D 遞歸目錄):

$lsof +d mydir1/

2. 終止程式

殺死指定PID的程式 (PID為Process ID)

$kill PID

殺死關聯程式

kill -9 3434

殺死job工作 (job為job number)

$kill %job

3. 程式監控

檢視系統中使用CPU、使用記憶體最多的程式;

$top
(->)P

輸入top指令後,進入到互動介面;接著輸入字元指令後顯示相應的程式狀態:

對於程式,平時我們最常想知道的就是哪些程式佔用CPU最多,佔用記憶體最多。以下兩個指令就可以滿足要求:

P:根據CPU使用百分比大小進行排序。
M:根據駐留記憶體大小進行排序。
i:使top不顯示任何閒置或是僵死程式。

這裡介紹最使用的幾個選項,對於更詳細的使用,詳見 top linux下的任務管理器 ;

4. 分析執行緒棧

使用指令pmap,來輸出程式記憶體的狀況,可以用來分析執行緒堆疊;

$pmap PID

eg:
[/home/weber#]ps -fe| grep redis
weber    13508 13070  0 08:14 pts/0    00:00:00 grep --color=auto redis
weber    29515     1  0  2013 ?        02:55:59 ./redis-server redis.conf
[/home/weber#]pmap 29515
29515:   ./redis-server redis.conf
08048000    768K r-x--  /home/weber/soft/redis-2.6.16/src/redis-server
08108000      4K r----  /home/weber/soft/redis-2.6.16/src/redis-server
08109000     12K rw---  /home/weber/soft/redis-2.6.16/src/redis-server

5. 綜合運用

將使用者colin115下的所有程式名以av_開頭的程式終止:

ps -u colin115 |  awk '/av_/ {print "kill -9 " $1}' | sh

將使用者colin115下所有程式名中包括HOST的程式終止:

ps -fe| grep colin115|grep HOST |awk '{print $2}' | xargs kill -9;

 

Linux 項目管理軟體:釋放開源解決專案的潛力

用於管理 Linux 中的項目的軟體或 Linux 項目管理軟體是專門為 Linux 操作系統編寫的軟體。 Linux 因其穩定性、安全性和多功能性而成為流行的開源操作系統。

Linux 項目管理軟體提供了一系列特性和功能來幫助團隊高效地計劃、組織和執行項目。 這些軟體應用程式通常是為了支援合作工作環境而構建的,使團隊能夠無縫合作,無論其物理位置如何。

Linux 項目管理軟體的一些主要功能內含:

任務管理 :這些工具容許使用者建立和配置任務、設定截止日期、追蹤進度和監控任務依賴性。 團隊成員可以實時更新任務狀態、加入評論並合作處理任務。

項目規劃 :Linux 項目管理軟體提供了用於建立項目計劃、定義項目里程碑和設定項目時間表的工具。 甘特圖和其他視覺表示幫助團隊可視化項目進度並確定關鍵路徑。

文件管理 :這些工具提供集中的文件存儲庫,團隊成員可以在其中存儲和共享項目關聯檔案。 版本控制功能確保所有團隊成員都可以訪問最新版本的文件。

溝通與合作 :Linux 項目管理軟體內含訊息傳遞、討論板和知會等通信功能。 團隊成員可以合作、分享想法並及時了解項目開發情況。

資源管理 :這些工具幫助團隊管理項目資源,例如人力資源、裝置和材料。 資源配置和調度功能確保資源得到有效利用並避免衝突。

報告和分析 :Linux 項目管理軟體提供報告和分析功能來追蹤項目績效、監控關鍵指標並生成進度報告。 這有助於項目經理做出資料驅動的決策並確定需要改進的領域。

整合和定制 :Linux 項目管理軟體可以與組織中使用的其他工具和系統整合,例如版本控制系統、錯誤追蹤工具和客戶關係管理 (CRM) 軟體。 定制選項容許組織根據其特定的項目管理工作流程和要求定制軟體。

Linux 項目管理軟體為組織提供了強大的工具,可以在 Linux 操作系統上有效地管理和執行項目。 這些軟體應用程式具有任務管理、項目規劃、文件管理、通信、資源管理、報告和整合功能,支援合作、提高生產力並幫助團隊取得項目成功。

Linux 項目管理軟件
Linux 項目管理軟體

Linux項目管理軟體的優點

基於 Linux 的解決專案因其諸多優點而被個人和企業廣泛使用。 基於 Linux 的技術的主要優點內含:

開源 ——Linux 的原始碼是公開的,因為它是一個開源操作系統。 這種透明度鼓勵開發人員共同工作並共享訊息。 使用者可以選取對代碼進行自己的變更並重新分發。 開源模式還鼓勵新功能的實驗和快速迭代。

穩定性和可靠性 ——Linux 以其穩定性和可靠性而聞名。 它專為承受苛刻的任務而設計,可以連續運行數天,而不會崩潰或重新啟動。 由於與系統和伺服器中斷關聯的影響非常嚴重,因此這種可靠性至關重要。

安全性 ——Linux 的安全措施在業界名列前茅。 由於它是開源的,社區可以快速修復發現的任何安全問題。 此外,Linux 具有強大的內建安全功能,內含訪問控制、使用者權限和安全配置。 這些新增功能增強了防禦能力並減少了遭受攻擊的可能性。

彈性和可定制性 ——Linux 的適應性和定制選項是其最大的優勢之一。 Linux 發行版為使用者提供了廣泛的選項來滿足他們自己的要求和品味。 每個發行版都可以調整為僅包括使用者實際需要的程式,從而最大限度地減少操作系統的大小並最大限度地提高其效率。 Linux 在軟體配置方面也提供了很大的餘地,因為它可以運行各種各樣的程式和實用程式。

成本效益 – 基於 Linux 的解決專案通常比基於專有操作系統的解決專案便宜。 作為開源操作系統,Linux 無需付費即可使用。 正因為如此,對於試圖削減軟體支出的個人和企業來說,這是一個可行的選取。 Linux 與不太現代的硬體的相容性也意味著它可以用來延緩不可避免的事情並節省資金。

社區和支援 ——Linux 社區規模龐大且活躍,由開發人員、愛好者和組織組成,他們共同努力改進和推廣 Linux 操作系統。 使用者可以從社區獲得幫助和建議,因為他們可以訪問大量文件、論壇和其他線上資源。 當消費者遇到 Linux 問題時,他們可以向社區驅動的支援生態系統尋求幫助。

可擴展性和效能 ——Linux 在從小型裝置到大型伺服器群的各種硬體平台上都具有出色的可擴展性和效能。 它充分利用可用的系統資源,提高速度和響應能力。 基於 Linux 的解決專案非常靈活,由於能夠輕鬆擴展,因此可以用於小型項目和大型企業環境。

總之,基於 Linux 的系統具有開源、背後有強大社區等優勢,以及穩定性、安全性、彈性、經濟性、可擴展性和效能。 這些優點使 Linux 對於尋求可靠、靈活和高效軟體的使用者、企業和程式員來說成為有吸引力的選取。

因此,如果您是一名 Linux 使用者,並且正在尋找適合 Linux 的優秀項目管理軟體,這裡有 30 個實用的 Linux 應用程式。

Linux 生態系統中項目管理軟體的演變

Linux 作為計算平台的日益普及和廣泛使用,刺激了 Linux 生態系統內項目管理軟體的長足發展。

與其他平台相比,由於缺乏專門的工具,Linux 生態系統最初為項目管理軟體提供的可能性較少。

儘管如此,Linux 使用者和程式員多年來在建立強大且功能豐富的項目管理應用程式方面取得了重大進展。 Linux 生態系統已經成熟,現在您可以使用多種項目管理選取。

從指令行工具和簡單程式開始,Linux 生態系統的項目管理軟體僅提供最基本的功能,例如任務追蹤、調度和資源管理。 儘管這些資源很有用,但仍達不到專門項目管理程式所提供的複雜性和易用性。

選取正確的 Linux 項目管理軟體

為了確保項目的成功和效率,請使用適當的 Linux 項目管理軟體。 選取時,請考慮以下因素:

項目需求 :列出您的項目需求。 考慮項目規模、複雜性、團隊規模、任務追蹤、日程安排、合作和報告。 了解您的項目需求將幫助您評估軟體解決專案。

特性和功能 :尋找具有您所需特性和功能的 Linux 項目管理軟體。 考慮任務管理、日程安排、資源配置、文件管理、合作工具、報告和整合。 根據項目需求確定關鍵功能的優先級。

使用者介面和可用性 :軟體的使用者介面和可用性至關重要。 尋找具有易於使用的介面的軟體,可以讓您快速訪問項目資料。 它應該是使用者友好的,容許團隊成員輕鬆學習和適應該軟體,而無需額外培訓。

整合能力 :評估軟體與項目工作流程中其他工具和系統的整合能力。 檢查程式是否與版本控制系統、問題追蹤工具、通信平台和其他項目關鍵應用程式整合。 整合簡化了工作流程並提高了生產力。

定制和彈性 :項目管理軟體是否容許定制以滿足您的工作流程和要求? 定制可以提高程式效率。 欄位、工作流程和使用者角色應該可以在軟體中自訂。

社區和支援 :應考慮項目管理軟體的社區和支援。 尋找活躍的使用者組、論壇和文件以取得見解、幫助和資源。 支援和充滿活力的社區可以幫助您解決問題、發現最佳實踐並最大化軟體。

安全和資料隱私 :評估軟體的安全程式以保護您的項目資料。 軟體應遵循資料加密、訪問限制和頻繁的程式更新。 考慮您組織的資料隱私需求並確保軟體滿足這些需求。

成本和許可證 :考慮項目管理軟體的定價和許可證。 該軟體可能是免費的,也可能是付費的。 您的預算和軟體的價值應該決定定價。

使用者評論和反饋 :閱讀其他軟體使用者或組織的使用者評論和反饋。 他們對軟體優缺點的了解可能會幫助您進行選取。

這些考慮因素可能會幫助您選取滿足您需求、促進團隊合作並提高項目效率和成功的 Linux 項目管理軟體。 在做出決定之前,優先考慮您的需求,調查不同的可能性並測試該程式。

Linux 項目管理軟體選項

1 SimManTools – Linux 項目管理軟體

SimManTools 被稱為 簡單的管理工具 。 它是一組基於網路的 項目管理工具 它內含一個簡單的時間表 (ASTS),用於記錄每週在任務上花費的時間,以及一個簡單的項目追蹤器 (ASPT),用於根據估計追蹤項目進度。

訪問: SimManTools

2 ConsultComm 諮詢通信

ConsultComm 是一款輕量級、小型、無平台的項目管理軟體,容許使用者處理多個項目、客戶或任務,以有效地管理他們在每個項目上工作的確切時間。

訪問: ConsultComm

3 Redmine – 基於Linux的項目管理軟體

Redmine 是一款使用 Ruby on Rails 框架編寫的靈活的項目管理軟體。 它是一個多平台、多資料庫支援的項目管理工具,用於管理多個項目。 此外,它還具有可調整的基於角色的訪問控制和問題追蹤系統。

訪問: Redmine

4 Achievo 大展

Achievo 是一款面向中小型企業的基於網路的項目和資源管理工具。 通過大展,使用者可以輕鬆管理所有資源、項目、客戶、聯繫人、計劃和日常日程安排。

它內含一個帶有多種統計工具的時間註冊模組。 此外,Achievo 是多語系的、完全可定制的,並使用模組化系統以容許未來的擴展。

參觀: Achievo

5 Kunagi – 線上項目管理軟體

Kunagi 是一個基於 Web 的工具,用於基於 Scrum 的整合項目管理和合作。 它容許使用者僅使用一台裝置來管理和完成他們的項目。 它不僅提供主要 Scrum 文件的管理,還提供各種附加資料。

訪問: 從未

6 RationalPlan 理性計劃

RationalPlan 是一個強大的 Linux 項目管理工具,旨在幫助項目經理和團隊。 它定期管理項目、配置資源、分析工作量、追蹤工作進度、估算項目成本並管理預算。

訪問: RationalPlan

7 NavalPlan – Linux 規劃工具

NavalPlan 是一款方便的規劃工具,適合任何工作流程需要項目和訂單管理及調度的公司。

訪問: 海軍計劃

8 開放項目

OpenProj 是一個類似於 Microsoft Project 的開源項目管理工具。 它有一個簡單的使用者介面,甚至可以開啟現有的 MS Project 檔案。 此外,openProj 與項目、甘特圖和 PERT 圖表相容。

訪問: OpenProj

9 activeCollab – Linux 項目管理軟體

ActiveCollab 是一個用於規劃、進度追蹤和溝通的項目管理和合作平台。 它為您提供了對檔案和通信的完全自由和控制,無限的使用者、項目和無限的存儲空間 – 它與您的公司一起成長,無需支付月費。

訪問: ActiveCollab

10 GanttProject  甘特圖項目

GanttProject 是一個開源項目調度和管理工具,用於建立工作分解結構、繪製依賴關係並使用甘特圖定義里程碑。

訪問: GanttProject

11 KPlato – Linux 項目管理軟體

KPlato 是一款適用於 Linux 的項目管理軟體。 它主要專注於管理具有多種資源的中型項目,並提供對甘特圖、資源檢視和帳戶檢視等各種檢視的支援。

特徵:-

  1. 甘特圖上可配置的詳細程度
  2. 支援摘要任務
  3. 任務和里程碑
  4. 可配置的調度約束
  5. 使用標準結構
  6. 工作分解結構(WBS)
  7. 資源分解結構 (RBS)
  8. 成本分解結構(CBS)

訪問: KPlato

12 GnoTime – 適用於 Linux 的待辦事項清單/日記/日記工具

GnoTime 是 Linux 上的待辦事項清單/日記/日記工具。 借助 GnoTime,使用者可以追蹤項目所花費的時間,並根據該時間生成報告和發票。

訪問: GnoTime

13 Cyber​​ience 項目經理

Cyber​​ience Project Manager 是一款使用 PHP CodeIgniter 框架構建的開源線上項目管理軟體應用程式。 它整合了所有有用的功能,可以提高團隊和項目的生產力和管理。

例如項目管理和合作、任務/待辦事項清單、客戶管理、PDF 發票和收據、使用者管理以及易於追蹤和管理項目所花費的時間。

訪問: Cyber​​ience

14 Devalot – 基於 Rails 的項目管理軟體

Devalot 是一種新的 基於 Rails 的軟體項目管理工具 ,可讓您與開發社區聯繫以改善溝通和合作。

特徵:-

  1. 處理您的軟體項目的所有基本功能
  2. 包括追蹤修訂歷史記錄的 Wiki 頁面
  3. 用於發佈項目新聞和文章的部落格系統
  4. 用於追蹤錯誤和功能請求的票務系統
  5. 會員名單
  6. 可定制的 CSS 檔案

訪問: 德瓦洛

15 Dotproject – 多使用者項目管理軟體

Dotproject 是一個 BSD 許可的、基於 PHP-MySQL 的多使用者項目管理工具。 它提供公司、項目、任務(支援甘特圖)、論壇、檔案、日曆、聯繫人、票證/幫助台、多語系支援、使用者/模組權限和主題所需的所有模組。

訪問: dotProject

16 Endeavor Agile ALM

Endeavor Agile ALM 是一種高效的基於 Web 的開源項目管理工具,用於管理大型企業。 它為日常敏捷軟體開發流程提供支援,特別關注案例驅動方法的使用。

訪問: Endeavor Agile ALM

17 TaskJuggler – Linux 項目管理軟體

TaskJuggler 是一個基於 Linux 的 GPL 許可的開源項目管理工具。 該軟體使用 QT 工具包和 KDE 庫以 C++ 進行寫程式。

該軟體致力於許多項目經理的使用,涵蓋了從第一個想法到項目完成的整個項目管理任務。

它可以幫助您進行項目規劃、資源配置、成本和收入規劃、風險和溝通管理。

訪問: TaskJuggler

18 規劃師

XPlanner 是一款 項目規劃 和追蹤工具,適用於遵循極限寫程式 (XP) 或 Scrum 的敏捷團隊。

訪問: XPlanner

19 WebCollab – Linux 項目管理軟體

WebCollab 是一種易於使用的基於 Web 的合作工具,用於幫助人們協同工作的項目。 該軟體對於想要在任何規模的組織中追蹤多個項目和許多小任務的人很有幫助。

訪問: WebColab

20 Vondle 馮德爾

Vondle 是一個 100% 基於 SaaS 的項目管理和合作平台,讓您可以完全控制項目。

它提供了聯繫人、日曆、任務、通信、檢視多種檔案格式和自動化流程等功能,這些都是您可以優化項目的一些示例。

訪問: 馮德爾

21 Vision Project – Linux 項目管理軟體

Vision Project 是一個基於網路的項目管理和問題追蹤工具,支援精益和敏捷的項目管理模式。

它提供了許多有用的工具,例如任務板、看板、燃盡圖和累積流程圖 (CFD)。 儘管如此,它仍然可以用於傳統的項目管理。

訪問: Vision Project

22 Todoyu 東道友

Todoyu 是一個現代的、引人注目的基於 PHP 的開源項目和任務管理工具。 使用者可以專注於他們的項目,然後讓 Todoyu 在一台裝置上為他們完成其餘的工作:時間追蹤、報告、組織、批准、控制、討論計費等等。

訪問: Todoyu

23 Teamwork – Linux 項目管理軟體

Teamwork 是一款易於使用的基於 Web 的項目管理和團隊合作應用程式,容許項目經理、項目人員和客戶線上合作並提高生產力。 經理可以輕鬆地與團隊和客戶分享他們的想法、訊息、筆記、檔案等。

參觀: Teamwork

24 Team Elements

Team Elements 是一種線上項目管理和合作工具。 它為您提供 wiki 新聞、部落格、項目計劃、作業、團隊成員、共享討論、公告、清單、問題追蹤、文件存儲、全文搜尋、報告和個性化 RSS 源。 它是專業和個人使用者的理想工具,其中每個項目都有自己的一組權限和使用者。

訪問: Team Elements

25 Streber – Linux 項目管理軟體

Streber 是一個用 php5 編寫的免費 wiki 驅動的項目管理工具。 自由職業者和小團隊可以快速設定項目並追蹤任務、問題、錯誤、工作等。

訪問: Streber

26 ScrumDo

ScrumDo 是一個 Scrum/敏捷項目管理工具,用於追蹤待辦事項、規劃迭代、玩規劃撲克以及完成 Scrum。

訪問: ScrumDo

27 Planner – Linux 項目管理軟體

Planner 是一款適用於 Linux 的開源項目管理工具,支援甘特圖、資源配置以及與其他 GNOME 應用程式的整合。

訪問: Planner

28 項目碼頭

ProjectPier 是另一個基於 PHP 的開源項目管理工具,用於通過直觀的 Web 介面管理任務、項目和團隊。

參觀: ProjectPier

29 管家計劃

ProjectButler 也是一個基於 PHP 的多使用者項目管理工具,專為面向項目的公司設計。 該軟體容許所有使用者輕鬆地從網路訪問他們的項目並管理項目、約會、任務、工作清單、客戶、客戶聯繫人、項目進度等。

訪問: ProjectButler

30 phpaga – Linux項目管理軟體

phpaga 是一個基於 Web 的工具,可讓您追蹤項目、任務、發票、報價等,提供高效、集中的模式來掌控您的日常工作和活動。

訪問: phpaga

結論:

總之,選取合適的 Linux 項目管理軟體需要仔細考慮各種因素。 通過評估您的項目需求、考慮特性和功能、評估使用者介面和可用性、檢查整合功能、定制選項、社區和支援、安全和資料隱私措施、成本和許可以及使用者評論,您可以做出明智的決定。

找到符合您的特定項目需求並提供必要特性和功能的 Linux 項目管理軟體至關重要。 使用者友好的介面以及與其他工具的無縫整合可以增強合作並簡化您的工作流程。 自訂選項容許您定制軟體以符合您的項目工作流程,而強大的社區和可靠的支援可確保您擁有所需的資源和幫助。

安全和資料隱私考慮對於保護您的項目資料並遵守您的組織可能有的任何特定要求至關重要。 評估成本和許可模式可幫助您確定最適合您的預算並物有所值的軟體。

通過仔細評估您的合作需求、考慮可用選項並優先考慮對您的項目最重要的因素,您可以自信地選取合適的 Linux 項目管理軟體。 請記住收集其他使用者和組織的反饋,以深入了解他們使用該軟體的體驗。

最終,選取正確的 Linux 項目管理軟體使您能夠有效地管理項目、改善合作並取得成功的結果。

檔案管理不外乎檔案或目錄的建立、刪除、查詢、搬移,有mkdir/rm/mv

檔案查詢是重點,用find來進行查詢;find的參數豐富,也非常強大。

檢視檔案內容是個大的話題,文字的處理有太多的工具供我們使用,在本章中只是點到即止,後面會有專門的一章來介紹文字的處理工具。

有時候,需要給檔案建立一個別名,我們需要用到ln,使用這個別名和使用原檔案是相同的效果。

1. 建立和刪除

  • 建立:mkdir
  • 刪除:rm
  • 刪除非空目錄:rm -rf file目錄
  • 刪除日誌 rm *log (等價: $find ./ -name “*log” -exec rm {} 😉
  • 搬移:mv
  • 複製:cp (複製目錄:cp -r )

檢視現用的目錄下檔案個數:

$find ./ | wc -l

複製目錄:

$cp -r source_dir  dest_dir

2. 目錄切換

  • 找到檔案/目錄位置:cd
  • 切換到上一個工作目錄: cd –
  • 切換到home目錄: cd or cd ~
  • 顯示現用的路徑: pwd
  • 變更現用的工作路徑為path: $cd path

3. 列出目錄項

  • 顯示現用的目錄下的檔案 ls
  • 按時間排序,以清單的模式顯示目錄項 ls -lrt

以上這個指令用到的頻率如此之高,以至於我們需要為它建立一個快捷指令模式:

在.bashrc 中設定指令別名:

alias lsl='ls -lrt'
alias lm='ls -al|more'

這樣,使用lsl,就可以顯示目錄中的檔案按照修改時間排序;以清單模式顯示;

  • 給每項檔案前面增加一個id編號(看上去更加整潔):

    >ls | cat -n
    

    1 a 2 a.out 3 app 4 b 5 bin 6 config

註:.bashrc 在/home/你的使用者名/ 資料夾下,以隱藏檔案的模式存儲;可使用 ls -a 檢視;

4. 搜尋目錄及檔案 find/locate

搜尋檔案或目錄:

$find ./ -name "core*" | xargs file

搜尋目的資料夾中是否有obj檔案:

$find ./ -name '*.o'

遞歸現用的目錄及子目錄刪除所有.o檔案:

$find ./ -name "*.o" -exec rm {} \;

find是實時搜尋,如果需要更快的查詢,可試試locate;locate會為檔案系統建立索引資料庫,如果有檔案更新,需要定期執行更新指令來更新索引庫:

$locate string

尋找包括有string的路徑:

$updatedb

與find不同,locate並不是實時搜尋。你需要更新資料庫,以獲得最新的檔案索引訊息。

5. 檢視檔案內容

檢視檔案:cat vi head tail more

顯示時同時顯示行號:

$cat -n

按頁顯示清單內容:

$ls -al | more

只看前10行:

$head - 10 **

顯示檔案第一行:

$head -1 filename

顯示檔案倒數第五行:

$tail -5 filename

檢視兩個檔案間的差別:

$diff file1 file2

動態顯示文字最新訊息:

$tail -f crawler.log

6. 搜尋檔案內容

使用egrep查詢檔案內容:

egrep '03.1\/CO\/AE' TSF_STAT_111130.log.012
egrep 'A_LMCA777:C' TSF_STAT_111130.log.035 > co.out2

7. 檔案與目錄權限修改

  • 改變檔案的擁有者 chown
  • 改變檔案讀、寫、執行等屬性 chmod
  • 遞歸子目錄修改: chown -R tuxapp source/
  • 增加腳本可執行權限: chmod a+x myscript

8. 給檔案增加別名

建立符號連結/硬連結:

ln cc ccAgain :硬連線;刪除一個,將仍能找到;
ln -s cc ccTo :符號連結(軟連結);刪除源,另一個無法使用;(後面一個ccTo 為新增的檔案)

9. 管道和重定向

  • 批處理指令連線執行,使用 |
  • 串聯: 使用分號 ;
  • 前面成功,則執行後面一條,否則,不執行:&&
  • 前面失敗,則後一條執行: ||
ls /proc && echo  suss! || echo failed.

能夠提示命名是否執行成功or失敗;

與上述相同效果的是:

if ls /proc; then echo suss; else echo fail; fi

重定向:

ls  proc/*.c > list 2> &l 將標準輸出和標準錯誤重導至同一檔案;

等價的是:

ls  proc/*.c &> list

清理檔案:

:> a.txt

重定向:

echo aa >> a.txt

10. 設定環境變量

啟動帳號後自動執行的是 檔案為 .profile,然後通過這個檔案可設定自己的環境變量;

安裝的軟體路徑一般需要加入到path中:

PATH=$APPDIR:/opt/app/soft/bin:$PATH:/usr/local/bin:$TUXDIR/bin:$ORACLE_HOME/bin;export PATH

11. Bash快捷輸入或刪除

快捷鍵:

Ctl-U   刪除游標到行首的所有字元,在某些設定下,刪除全行
Ctl-W   刪除現用的游標到前邊的最近一個空格之間的字元
Ctl-H   backspace,刪除游標前邊的字元
Ctl-R   符合最相近的一個檔案,然後輸出

12. 綜合應用

搜尋record.log中包括AAA,但不包括BBB的記錄的總數:

cat -v record.log | grep AAA | grep -v BBB | wc -l

13. 總結

檔案管理,目錄的建立、刪除、查詢、管理: mkdir rm mv

檔案的查詢和檢索: find locate

檢視檔案內容:cat vi tail more

管道和重定向: ; | && >

1. 學會使用指令幫助

1.1. 概述

在linux終端,面對指令不知道怎麼用,或不記得指令的拼字及參數時,我們需要求助於系統的幫助文件; linux系統內建的幫助文件很詳細,通常能解決我們的問題,我們需要掌握如何正確的去使用它們;

  • 在只記得部分指令關鍵字的場合,我們可通過man -k來搜尋;
  • 需要知道某個指令的簡要說明,可以使用whatis;而更詳細的介紹,則可用info指令;
  • 檢視指令在哪個位置,我們需要使用which;
  • 而對於指令的具體參數及使用方法,我們需要用到強大的man;

下面介紹這些指令;

1.2. 指令使用

檢視指令的簡要說明

簡要說明指令的作用(顯示指令所處的man分類頁面):

$whatis command

正則符合:

$whatis -w "loca*"

更加詳細的說明文件:

$info command

使用man

查詢指令command的說明文件:

$man command
eg:man date

使用page up和page down來上下翻頁

在man的幫助手冊中,將幫助文件分為了9個類別,對於有的關鍵字可能存在多個類別中, 我們就需要指定特定的類別來檢視;(一般我們查詢bash指令,歸類在1類中);

man頁面所屬的分類標識(常用的是分類1和分類3)

(1)、使用者可以操作的指令或是是可執行檔案
(2)、系統核心可呼叫的函數與工具等
(3)、一些常用的函數與資料庫
(4)、裝置檔案的說明
(5)、設定檔案或是某些檔案的格式
(6)、游戲
(7)、慣例與協定等。例如Linux標準檔案系統、網路協定、ASCⅡ,碼等說明內容
(8)、系統管理員可用的管理條令
(9)、與內核有關的檔案

前面說到使用whatis會顯示指令所在的具體的文件類別,我們學習如何使用它

eg:
$whatis printf
printf               (1)  - format and print data
printf               (1p)  - write formatted output
printf               (3)  - formatted output conversion
printf               (3p)  - print formatted output
printf [builtins]    (1)  - bash built-in commands, see bash(1)

我們看到printf在分類1和分類3中都有;分類1中的頁面是指令操作及可執行檔案的幫助;而3是常用函數庫說明;如果我們想看的是C語系中printf的用法,可以指定檢視分類3的幫助:

$man 3 printf

$man -k keyword

查詢關鍵字 根據指令中部分關鍵字來查詢指令,適用於只記住部分指令的場合;

eg:搜尋GNOME的config配置工具指令:

$man -k GNOME config| grep 1

對於某個單詞搜尋,可直接使用/word來使用: /-a; 多關注下SEE ALSO 可看到更多精彩內容

檢視路徑

檢視程式的binary檔案所在路徑:

$which command

eg:搜尋make程式安裝路徑:

$which make
/opt/app/openav/soft/bin/make install

檢視程式的搜尋路徑:

$whereis command

當系統中安裝了同一軟體的多個版本時,不確定使用的是哪個版本時,這個指令就能派上用場。

適合初學者的 30 個基本 Linux 命令

 

接觸 Linux 時,我很難習慣和學習 Linux 命令。 一兩天內輕鬆學習 Linux 沒有什麼秘訣,但要不斷練習、失敗、站起來再次練習,並從錯誤中吸取教訓。 學習 Linux 最簡單的方法就是,如果你不明白它是如何工作的,就不要放棄它。 在本文中,我們來看看一些適合初學者的基本 Linux 命令。

此 Linux 終端命令列表包含所有常用命令。 將其視為 Linux 命令備忘單,因為它包含幾乎所有入門的基本命令。

基本 Linux 命令:Linux 初學者

1. mkdir

這個名字說明了一切。 Linux 中的 mkdir 命令用於創建新目錄,或者,如果您來自 Windows,則創建文件夾。

mkdir folder name

其中“文件夾名稱”是您要創建的文件夾的名稱。

2. Echo

Echo 是 Linux 中最簡單的命令。 它用於顯示命令中空格後傳遞的文本。

focusblast@pop-os:~$ echo fossbytes
fossbytes

echo 命令可能看起來沒什麼用,但它用於調試代碼和確定程序的狀態。 如果您了解一點編程知識,請將其視為僅輸出字符串的打印語句。

Python3

print("fossbytes")
>> fossbytes

3. PWD

PWD 代表打印工作目錄。 這為我們提供了一種快速查找工作目錄路徑的方法。

focusblast@pop-os:~$ pwd
/home/focusblast

4. cd

Cd 是更改目錄的縮寫。 顧名思義,它用於臨時更改您正在工作的目錄。

focusblast@pop-os:~$ cd /Desktop
focusblast@pop-osDesktop:~/Desktop$

5. cp

命令 cp 用於將文件複製並粘貼到第二個參數指定的目錄中。

focusblast@pop-os:~/Desktop$ cp new.txt /home/focusblast/Downloads

在上面的命令中,“new.txt”是我們複製到目錄“/home/focusblast/Downloads”的文件。

6. MV

Linux 中的 mv 命令代表“移動”。 它用於將文件或目錄從一個地方移動到另一個地方。 考慮文件“移動”。 要將其移至“下載”文件夾,我們需要做的就是:

focusblast@pop-os:~/Desktop$ mv move /home/focusblast/Downloads

7. man

手冊頁 (man) 命令就像軟件文檔,使用它您可以了解特定命令的作用及其工作原理:

focusblast@pop-os:~$ man cp

CP(1)                            User Commands                           CP(1)

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

       -a, --archive
              same as -dR --preserve=all

       --attributes-only
              don't copy the file data, just the attributes

       --backup[=CONTROL]
 Manual page cp(1) line 1 (press h for help or q to quit)

8. ls

ls 命令用於列出目錄的內容。

focusblast@pop-os:~$ ls

Downloads      Public   Documents
snap          Templates  Videos
Music        Pictures    VMs

9. cat

cat 命令用於打印或合併第一個文件結束行的內容。

focusblast@pop-os:~$ cat file1

合併兩個文件並創建一個新文件或將它們合併到任意兩個文件中的命令是。

cat file1 file2 > file3 #This will merge files in file 1 and file 2 in a new file

現在,cat 命令有很多我們無法在本文中介紹的命令。 您可以使用命令“man cat”來了解更多信息。

10. rm

rm 命令用於刪除文件和目錄。 您需要 rm 和 -r (遞歸)來刪除目錄。

rm new2.txt #removes the file
sudo rm -rf directory #removes the directory

“-rf”中的 f 用於告訴 rm 忽略不存在的文件和參數。

11. Zip 和 Unzip

Zip 用於創建新的 zip 文件,而 Unzip 用於解壓縮壓縮文件。 以下是如何使用 Zip 和 Unzip 命令。

focusblast@pop-os:~$ zip newzipfile.zip file1.txt file2.txt

在上面的命令中,newzipfile.zip 是壓縮文件的名稱,我們將在其中放置兩個文本文件 file1.txt 和 file2.txt。

使用命令從壓縮文件中提取所有文件。

focusblast@pop-os:~$ unzip newzipfile.zip

將“newzipfile”替換為您要解壓的壓縮文件的名稱。

12. wget

wget 是一個方便的命令,可以幫助您從互聯網下載文件。 使用方法如下:

wget "download link"

13. top

與 Windows 任務管理器類似,top 命令顯示正在運行的進程列表以及正在使用的 CPU 數量。

focusblast@pop-os:~$ top

14.history

歷史命令用於顯示您之前輸入的命令。

focusblast@pop-os:~$ history

15. wc

wc 命令用於統計行數 (-l)、字數 (-w)、字節數 (-c) 和字符數 (m)。

focusblast@pop-os:~$ wc -l filename.txt
33 filename.txt

16. clear

顧名思義,clear 用於清除終端屏幕。

focusblast@pop-os:~$ clear

17. passwd

你猜對了! passwd命令用於更改用戶帳戶的密碼。 要使用它,請鍵入 passwd,然後鍵入用戶名。

focusblast@pop-os:~$ passwd focusblast

18. chown

chown命令用於轉移文件的所有權。 假設有一個名為 file1 的文件,而您是 user0。 您想要將所有權轉移給 user1。

focusblast@pop-os:~$ chown user1 file1.txt

您還可以使用該命令將所有權轉移給 root。

sudo chown root file1.txt

19. Apt

Apt 代表高級打包工具。 它是 Ubuntu/Debian 最流行、最強大的包管理器之一。 對於初學者來說,包管理器本質上自動化了安裝和刪除應用程序的過程。

以下命令安裝 Flameshot 應用程序,它是 Linux 上最流行的屏幕截圖工具之一。

sudo apt install flameshot

20 . Reboot

這個名字說明了一切。 Reboot 命令用於重新啟動、關閉或停止系統。

reboot

21. chmod

chmod 命令用於更改文件的讀取 (-r)、寫入 (-w) 和執行 (-x) 指令。 chmod 命令的一個示例是:

chmod 742 program.sh

以下是這些數字的含義。

數字 允許 表示
0 無權限
1 執行權限 -X
2 寫權限 -在-
3 寫入並執行 -wx
4 讀取權限 r–
5 讀取並執行 接收
6 讀和寫 RW-
7 讀、寫和執行 讀寫
Linux權限

上述命令中的第一個數字 (7) 代表您授予用戶的權限,即讀取、寫入和執行。

第二個數字 (4) 是賦予文件本身的權限,在本例中為“僅限讀取權限”。

第三個也是最後一個數字 (2) 代表授予不屬於該組的每個人的權限。

22. grep

grep 命令用於搜索和查找文件中的文本。

grep "fossbytes" text.save

23. locate

與Windows中的搜索命令類似,locate命令用於在Linux中定位文件。

$ locate text.save
/home/focusblast/Desktop/text.save

24. Sudo

這是您最終使用最多的唯一命令。 Sudo 的縮寫是 SuperUser Do,您可以使用它來修改需要 root 權限的文件。

請注意,如果一個文件需要 root 權限,它可能對操作系統很重要。 因此,如果您不知道自己在做什麼,我們建議不要玩。

25. hostname

hostname 命令用於了解您的設備名稱。 此外,使用 -I 參數將幫助您了解您的 IP 地址。

$ hostname
pop-os
$ hostname -I
192.1.1.1

26. exit

exit命令可用於快速關閉終端。

27. df

假設您想知道每個磁盤分區的空間,請輸入 df。 默認空間度量為千字節,但您可以使用參數“-m”將其更改為兆字節。

$ df -m

28. netstat

netstat 命令可用於檢查網絡統計信息、接口統計信息、路由表信息等等。

$ netstat

29. fdisk

fdisk 命令將列出所有分區以及分區名稱、扇區、大小和分區類型等信息。 fdisk 需要超級用戶權限才能運行。

$ sudo fdisk -l

30.Nano

Nano 是我最喜歡的 Linux 文本編輯器。 如果您想打開一個文本文件,如果您位於文件所在的目錄中,則可以鍵入“nano”,後跟“文件名”來打開它。

編輯完文本文件後,按組合鍵“Ctrl+O”寫入更改,然後按“Ctrl+X”退出。 要了解有關 Nano 的更多信息,您還可以按“Ctrl+G”轉到幫助部分。

有趣的獎勵命令

31. sl

你可以使用 apt 安裝 sl,每當你輸入 sl 而不是我們之前討論過的 ls(列出目錄)命令時,就會出現一列火車。

sudo apt install sl

上面的命令只是眾所周知的冰山一角。 Linux 的內涵遠不止我們所看到的那樣。

Linux 常用命令及技巧

linux 常用指令及技巧:

linux 常用指令總結:

一. 通用指令:
1. date :print or set the system date and time
2. stty -a: 可以檢視或是列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h檢視)
4. logout, login: 登入shell的登入和註銷指令
5. pwd: print or set the system date and time
6. more, less, head tail: 顯示或部分顯示檔案內容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 列印檔案.
8. 變更檔案權限: chmod u+x…
9. 刪除非空目錄:rm -fr dir
10.複製目錄: cp -R dir
11. fg jobid :可以將一個後台程式放到前台。
Ctrl-z 可以將前台程式掛起(suspend), 然後可以用bg jobid 讓其到後台運行。
job & 可以直接讓job直接在後台運行。
12. kill 的作用: send a signal to a process. eg: kill -9 傳送的是SIG_KILL信號。。。 具體傳送什麼信號   可以通過 man kill 檢視。
13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台程式組id, comm顯示指令名稱。)

二 .ubuntu常用指令:
1. dpkg: package manager for Debian
* 安裝: dpkg -i package
* 卸載: dpkg -r package
* 卸載並刪除配置檔: dpkg -P |–purge package
* 如果安裝一個包時。說依賴某些庫。 可以先 apt-get install somelib…
* 檢視軟體包安裝內容 :dpkg -L package
* 檢視檔案由哪個軟體包提供: dpkg -S filename
* 另外 dpkg還有 dselect和aptitude 兩個frontend.

2. apt
* 安裝: apt-get install packs
* apt-get update : 更新源
* apt-get upgrade: 升級系統。
* apt-get dist-upgrade: 智慧升級。安裝新軟體包,刪除廢棄的軟體包
* apt-get -f install : -f == –fix broken 修復依賴
* apt-get autoremove: 自動刪除無用的軟體
* apt-get remove packages :刪除軟體
* apt-get remove package –purge 刪除包並清除配置檔
* 清除所以刪除包的殘餘配置檔: dpkg -l |grep ^rc|awk ‘{print $2}’ |tr [“/n”] [” “]|sudo xargs dpkg -P
* 安裝軟體時候包的臨時存放目錄 : /var/cache/apt/archives
* 清除該目錄: apt-get clean
* 清除該目錄的舊版本的軟體快取: apt-get autoclean
* 查詢軟體some的依賴包: apt-cache depends some
* 查詢軟體some被哪些包依賴: apt-get rdepends some
* 搜尋軟體: apt-cache search name|regexp
* 檢視軟體包的作用:apt-cache show package
* 檢視一個軟體的編譯依賴庫: apt-cache showsrc packagename|grep Build-Depends
* 下載軟體的原始碼 : apt-get source packagename (注: sources.list 中應該有 deb-src 源)
* 安裝軟體包源程式碼的同時, 安裝其編譯環境 :apt-get build-dep packagename (有deb-src源)
* 如何將本地光碟加入安裝源清單: apt-cdrom add

3. 系統指令:
* 檢視內核版本: uname -a
* 檢視ubuntu 版本: cat /etc/issue
* 檢視網路卡狀態 : ethtool eth0
* 檢視記憶體,cpu的訊息: cat /proc/meminfo ; cat /proc/cpuinfo
(/proc下面的有很多系統訊息)
* 列印檔案系統空間使用情況: df -h
* 檢視硬碟分區情況: fdisk -l
* 產看檔案大小: du -h filename;
* 檢視目錄大小: du -hs dirname ; du -h dirname是檢視目錄下所有檔案的大小
* 檢視記憶體的使用: free -m|-g|-k
* 檢視程式: ps -e 或ps -aux –>顯示使用者
* 殺掉程式: kill pid
* 強制殺掉: killall -9 processname

4. 網路關聯:
* 配置 ADSL:   sudo pppoeconf
* ADSL手動撥號: sudo pon dsl-provider
* 啟動 ADSL :   sudo /etc/ppp/pppoe_on_boot
* 中斷 ADSL:   sudo poff
* 根據IP查網路卡位址: arping IP位址
* 產看本地網路訊息(內含ip等): ifconfig | ifconfig eth0
* 檢視路由訊息: netstat -r
* 關閉網路卡: sudo ifconfig eth0 down
* 啟用網路卡: sudo ifconfig eth0 up
* 加入一個服務: sudo update-rc.d 服務名 defaults 99
* 刪除一個服務: sudo update-rc.d 服務名 remove
* 臨時重啟一個服務: /etc/init.d/服務名 restart
* 臨時關閉一個服務: /etc/init.d/服務名 stop
* 臨時啟動一個服務: /etc/init.d/服務名 start
* 控制台下顯示中文: sudo apt-get install zhcon
* 搜尋某個檔案: whereis filename 或 find 目錄 -name 檔名
*通過ssh傳輸檔案
scp -rp /path/filename username@remoteIP:/path #將本地檔案複製到伺服器上
scp -rp username@remoteIP:/path/filename /path #將遠端檔案從伺服器下載到本地

5. 壓縮:
*解壓縮 a.tar.gz:   tar zxvf a.tar.gz
*解壓縮 a.tar.bz2: tar jxvf a.tar.bz2
*壓縮aaa bbb目錄為xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb
*壓縮aaa bbb目錄為xxx.tar.bz2:   tar jcvf xxx.tar.bz2 aaa bbb

6. Nautilus:
特殊 URI 位址
* computer:/// – 全部掛載的裝置和網路
* network:/// – 瀏覽可用的網路
* burn:/// – 一個燒錄 CDs/DVDs 的資料虛擬目錄
* smb:/// – 可用的 windows/samba 網路資源
* x-nautilus-desktop:/// – 桌面項目和圖示
* file:/// – 本地檔案
* trash:/// – 本地回收站目錄
* ftp:// – FTP 資料夾
* ssh:// – SSH 資料夾
* fonts:/// – 字型資料夾,可將字型檔案拖到此處以完成安裝
* themes:/// – 系統主旨資料夾
* 顯示隱藏檔案: Ctrl+h
* 顯示位址欄: Ctrl+l
* 檢視已安裝字型: 在nautilus的位址欄裡輸入」fonts:///「,就可以檢視本機所有的fonts

7.補充部分:
* 檢視本地所有的tpc,udp監聽埠: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
* 通過man搜說關聯指令: man -k keyword . eg: man -k user
* 或是用 apropos
* 統計檔案所佔用的實際磁碟空間: du   (du – estimate file space usage)
* 統計檔案中的字元,位元組數: wc -c/-l/-w   (wc – print the number of newlines, words, and bytes in files)
* 檢視檔案的內容: od -x/-c/….   (od – dump files in octal and other formats)
我認為od最有用的就是檔案的位元組流了: od -t x1 filename
檢視檔案的 Ascii 碼形式: od -t c filename (其中統計訊息最左邊的是: 位元組數)
* 搜尋指令所在檔案的位置: which od 輸出: /usr/bin/od
檢視該檔案由哪個包提供: dpkg -S /usr/bin/od   輸出: coreutils: /usr/bin/od
再檢視coreutils包的全部內容就知道了linux的核心指令: dpkg -L coreutils
然後 info coreutils    哈哈,認真學吧, 滿世界都是指令!
* 可以用man 指令產看某個指令的所有section 的解釋: man -a tty
然後用q,和next 轉換到下一個section的解釋
* bash 的好用的快捷鍵:
ctrl+a:游標移到行首。
ctrl+b:游標左移一個字母
ctrl+c:殺死現用的程式。
ctrl+d:離開現用的 Shell。
ctrl+e:游標移到行尾。
ctrl+h:刪除游標前一個字元,同 backspace 鍵相同。
ctrl+k:清除游標後至行尾的內容。
ctrl+l:清屏,相當於clear。
ctrl+r:搜尋之前打過的指令。會有一個提示,根據你輸入的關鍵字進行搜尋bash的history
ctrl+u: 清除游標前至行首間的所有內容。
ctrl+w: 移除游標前的一個單詞
ctrl+t: 交換游標位置前的兩個字元
ctrl+y: 貼上或是還原上次的刪除
ctrl+d: 刪除游標所在字母;注意和backspace以及ctrl+h的區別,這2個是刪除游標前的字元
ctrl+f: 游標右移
ctrl+z : 把現用的程式轉到後台運行,使用』 fg 『指令還原。比如top -d1 然後ctrl+z ,到後台,然後fg,重新還原
* 快速貼上:先在一個地方選中文字,在欲貼上的地方按滑鼠 中鍵 即可。
* 等效中鍵:a 、按下滑輪等效於中鍵。b、同時按下滑鼠 左右鍵,等效於中鍵。
* 快速重啟X服務: 同時按下: Alt + Ctrl + Backspace 三個鍵。
* 開啟”運行”視窗: 同時按下 Alt + F2 鍵。
* 戴屏: a、全螢幕:直接按下 PrtScr 鍵。
b、現用的視窗:同時按下 Alt + PrtScr 鍵。
c、延時戴屏:在 終端 或 “運行”視窗中輸入指令: gnome-screenshot –delay 3 ,將延時 3 秒後戴屏。
* 直接將 檔案管理器 中的檔案拖到 GNOME終端 中就可以在終端中得到完整的路徑名。

8.  ulimit
ulimit:顯示(或設定)使用者可以使用的資源的限制(limit),這限制分為軟限制(現用的限制)和硬限制(上限),其中硬限制是軟限制的上限值,應用程式在運行過程中使用的系統資源不超過相應的軟限制,任何的超越都導致程式的終止。
ulimited      不限制使用者可以使用的資源,但本設定對可開啟的最大檔案數(max open files)
和可同時運行的最大程式數(max user processes)無效
-a      列出所有現用的資源極限
-c      設定core檔案的最大值.單位:blocks
-d      設定一個程式的資料段的最大值.單位:kbytes
-f      Shell 建立檔案的檔案大小的最大值,單位:blocks
-h      指定設定某個給定資源的硬極限。如果使用者擁有 root 使用者權限,可以增大硬極限。任何使用者均可減少硬極限
-l      可以鎖住的物理記憶體的最大值
-m      可以使用的常駐記憶體的最大值,單位:kbytes
-n      每個程式可以同時開啟的最大檔案數
-p      設定管道的最大值,單位為block,1block=512bytes
-s      指定堆疊的最大值:單位:kbytes
-S      指定為給定的資源設定軟極限。軟極限可增大到硬極限的值。如果 -H 和 -S 標誌均未指定,極限適用於以上二者
-t      指定每個程式所使用的秒數,單位:seconds
-u      可以運行的最大並發程式數
-v      Shell可使用的最大的虛擬記憶體,單位:kbytes
eg: ulimit -c 1000(可以先通過ulimit -c 檢視原來的值)