A. 用linux的shell語言編寫一個顯示日歷程序:
read -p "請輸入你要查詢的年:" y;
read -p "請輸入你要查詢的月: " m;
cal $m $y
B. 如何在Linux桌面牆紙上顯示Google Calendar
如果你只是想在本地的 Linux 上翻翻 Google Calendar 或者用它設置提醒,那麼你可以考慮使用Google Calendar 命令行介面(或者 gcalcli),這是一種更輕型化的方法。對於 Linux 桌面操作系統用戶來說,好處不止這些,如果將 gcalcli 與Conky搭配使用你就可以把 Google Calendar 透明地融入桌面主題。
在這個教程中,我會展示如何利用 gcalcli 和 Conky 將 Google Calendar 融入 Linux 桌面
在 Linux 安裝 gcalcli
在安裝 gcalcli 之前,要確保你正在用的是 python 2 而不是 Python 3 ,因為 Python 3 與 gcalcli 不兼容。
如果是在 Debian、Ubuntu 或 Linux Mint 上可以用下面的命令安裝 gcalcli
$ sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install
溫馨提醒:Ubuntu 或 Linux Mint 的軟體庫中雖然有 gcalcli,但是這些版本並不包含其最新的特性和針對 bug 的修復。所以這里推薦按以上所述的方法由源文件構建 gcalcli。
對於Fedora 、CentOS 或 RHEL,可按如下方法安裝。
$ sudo yum install git python-pip python-gdata python-dateutil python-gflags python-vobject
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install
C. Linux命令大全
linux命令格式:
說明:command: 命令名,相應功能的英文單詞或單詞的縮寫 [-options]:選項,可用來對命令進行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數:可以是零個一個或多個
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個手冊,包含了絕大部分的命令、函數使用說明
該手冊分成很多章節(section),使用man時可以指定不同的章節來瀏覽。
例:man ls ; man 2 printf
man中各個section意義如下:
man是按照手冊的章節號的順序進行搜索的。
man設置了如下的功能鍵:
在敲出命令的前幾個字母的同時,按下tab鍵,系統會自動幫我們補全命令
當系統執行過一些命令後,可按上下鍵翻看以前的命令,history將執行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內容,是用戶最常用的命令之一,它類似於DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個字元,「.」代表當前目錄,「..」代表上一級目錄,以「.」開頭的文件為隱藏文件,需要用 -a 參數才能顯示。
ls常用參數:
Linux允許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,則創建,存在則覆蓋其內容 )
注意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。
查看內容時,在信息過長無法在一屏上顯示時,會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里「 | 」的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似於DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( 「l」 為字母 )。
在使用Unix/Linux的時候,經常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd後面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄。
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,後面不帶參數。
通過mkdir命令可以創建一個新的目錄。參數-p可遞歸創建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,並且目錄創建者必須對當前目錄具有寫許可權。
可使用rmdir命令刪除一個目錄。必須離開目錄,並且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除後不能恢復。為了防止文件誤刪,可以在rm後使用-i參數以逐個確認要刪除的文件。
常用參數及含義如下表所示:
Linux鏈接文件類似於Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不佔用磁碟空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件佔用相同大小的硬碟空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
Linux系統中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep列印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字元串參數時,最好引號或雙引號括起來。例如:grep『a 』1.txt。
常用選項說明:
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當於DOS下的命令。
常用選項說明:
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
計算機中的數據經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可以使用「-」,也可以不使用。
常用參數:
tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項] 被壓縮文件
常用選項:
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓後目錄文件 壓縮文件
whoami該命令用戶查看當前系統當前賬號的用戶名。可通過cat /etc/passwd查看系統用戶信息。
由於系統管理員通常需要使用多種身份登錄系統,例如通常使用普通用戶登錄系統,然後再以su命令切換到root身份對傳統進行管理。這時候就可以使用whoami來查看當前用戶的身份。
who命令用於查看當前所有登錄系統的用戶信息。
常用選項:
如果是圖形界面,退出當前終端;
如果是使用ssh遠程登錄,退出登陸賬戶;
如果是切換後的登陸用戶,退出則返回上一個登陸賬號。
在Unix/Linux中添加用戶賬號可以使用adser或useradd命令,因為adser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd [參數] 新建用戶賬號
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令後面使用用戶名。
可以通過su命令切換用戶,su後面可以加「-」。su和su –命令不同之處在於,su -切換到對應的用戶時會將當前的工作目錄自動轉換到切換後的用戶主目錄:
注意:如果是ubuntu平台,需要在命令前加「sudo」,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加「sudo」即可。sudo是ubuntu平台下允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創建的用戶,默認不能sudo,需要進行一下操作
-g用來制定這個用戶默認的用戶組
-G一般配合'-a'來完成向其它組添加
chmod 修改文件許可權有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用於查看當前日歷,-y顯示整年日歷
設置時間格式(需要管理員許可權):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的後兩位,前兩位的mm為月,後兩位的mm為分鍾,dd為天,hh為小時,ss為秒。如: date 010203042016.55。
顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):
進程是一個具有一定獨立功能的程序,它是操作系統動態執行的基本單元。
ps命令可以查看進程的詳細狀況,常用選項(選項可以不加「-」)如下:
top命令用來動態顯示運行中的進程。top命令能夠在運行後,在指定的時間間隔更新顯示信息。可以在使用top命令時加上-d 來指定顯示信息更新的時間間隔。
在top命令執行後,可以按下按鍵得到對顯示的結果進行排序:
kill命令指定進程號的進程,需要配合 ps 使用。有些進程不能直接殺死,這時候我們需要加一個參數「 -9 」,「 -9 」 代表強制結束.
使用格式:
kill [-signal] pid
df命令用於檢測文件系統的磁碟空間佔用和空餘情況,可以顯示所有文件系統對節點和磁碟塊的使用情況。
命令用於統計目錄或文件所佔磁碟空間的大小,該命令的執行結果與df類似,更側重於磁碟的使用狀況。
命令的使用格式如下: [選項] 目錄或文件名
D. 資深Linux運維工程師必須掌握的核心命令
查看CPU信息可以使用lscpu命令
從命令的輸出結果可以看得出來CPU的型號是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同時可以執行四個任務。
如果想要同時執行更多的任務,可以在VMware WorkStation中修改,修改完成以後會立即生效。
除了lscpu以外,還可以使用cat /proc/cpuinfo命令查看CPU信息,不過它是以每核分開顯示的。
使用free或者是cat /proc/meminfo可以查看當前系統的內存信息,包括總內存、已經使用內存以及可用內存信息
Linux和Windows不同的是Linux的圖形界面只是它的一個程序,而不是必備組件。我們之前安裝CentOS8.4選擇的Server With GUI包含GNOME桌面的圖形環境,我們可以使用init 3命令關閉圖形,CentOS8會出現一個字元登錄界面。
然後再使用free -h觀察已經使用的內存只有334M,相比圖形界面的730M 減少了接近400M內存,為了節省內存,生產環境一般不會安裝和使用圖形界面。
想要再切回圖形界面使用init 5命令即可。
還可以使用runlevel命令查看當前系統運行的模式,其中輸出結果的3表示之前是字元界面,5表示當前系統運行的是圖形界面
使用lsblk命令可以查看磁碟信息,包括有幾塊磁碟以及每塊磁碟的分區、容量信息
通過命令的執行結果可以得知目前CentOS8系統上有三塊磁碟,分別是sda,sdb,sdc,其中sdb和sdc沒有分區,
而sda磁碟是在安裝系統時創建了四個分區,具體信息如下表格所示
除此以外還可以使用 cat /proc/partitions命令查看磁碟信息,從命令的執行結果可以看出容量還是以KB為單位。
通過arch命令可以查看當前系統架構為x86_64,這也是目前主流的系統架構。
不同的Linux發行版使用的Linux內核版本不同,通過uname -r可以查看Linux系統的內核版本
通過 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系統的版本,後期在開發程序時不同的操作系統版本需要做不同的處理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS還可以使用 cat /etc/redhat-release版本
Linux中的時間有系統時間和硬體時間兩種
date和clock可以使用分號隔開後同時執行看系統時間和硬體時間
目前我的系統時間和硬體時間相差了18秒
如果硬體時間是准確的,那麼就通過命令clock -s以硬體時間為准,同步校正系統時間。
如果系統時間是准確的,那麼通過clock -w命令以系統時間為准,同步校正硬體時間
不同的國家在同一時刻所處的時間是不同的,因為時區不同。
例如中國就是東八區,東八區和格林威治的時區相比相差8個小時(也就是比北京時間慢了8個小時),之前在安裝操作系統的時候設置的時區就是Asia/Shanghai,,通過timedatectl status查看當前時間狀態,其中 Universal time就是格林威治時間,而Local Time就是系統設置時區(Asia/Shanghai)的時間,它們兩者剛好相差了8個小時。 Time zone: Asia/Shanghai (CST, +0800) 表示當前的時區是亞洲上海。
如果現在你去了法國巴黎,可以通過timectl set-timezone 設置時區為歐洲巴黎,當修改時區後使用date命令查看系統時間顯示的就是當前法國的巴黎時間,相比北京時間慢了6個小時。
修改時區最終影響的是 /etc/localtime文件
不過目前我在中國,因此還是改回亞洲上海
timedatectl list-timezones可以查看所有時區
cal命令可以查看當前月份的日歷,例如今天是2021年10月5號
查看指定月份的日歷
還可以查看指定年份的日歷
生產環境不能隨便關機和重啟!!! 因為伺服器基本都是 7*24 對外提供服務
測試環境或者是本地虛擬機安裝的Linux伺服器可以按需求關機或者重啟
關機可以使用halt或者poweroff命令
而shutdown可以實現關機或者重啟,shutdown -r表示重啟,即reboot,shutdown -h表示關機,即halt。 -c表示取消關機或重啟。
除此以外shutdown 還可以指定時間來關機或重啟,默認是1分鍾後執行。
關機和重啟命令的常見用法
Linux下有nano和vim等文本編輯器,目前我們先使用nano來編輯文本。
如果系統上沒有安裝nano文本編輯器,那麼在使用之前首先需要使用yum install -y nano命令來安裝nano文本編輯器
在使用nano進行文本編輯時,nano後面跟文件路徑即可打開文件,然後可以直接修改文件,類似於windows的記事本,修改完成後然後按Ctrl+x退出,接著按y保存修改,回車後退出nano。
然後使用nano /etc/motd來修改該文件,motd文件是用戶登錄之後提示的內容
然後輸入Welcome to my class
之後按Ctrl+x退出nano編輯器,按y保存到文件匯中,然後按回車鍵確認修改。
再重新登錄CentOS8.4
登錄成功之後就會看到/etc/motd文件內容顯示在終端上
我這里准備了一個motd文件,首先使用MobaXterm終端上傳到/etc目錄下覆蓋現有的motd文件,在使用MobaXterm終端登錄CentOS8.4-1後,首先將SSH Broswer的路徑切換到/etc目錄下
然後點擊上傳文件的按鈕
選擇提前准備好的motd文件上傳到/etc目錄下
然後再次重新登錄系統就會看到一個大佛
大家可以自行訪問https://www.bootschool.net/ascii-art 在線生成ASCII(圖)藝術字,然後將內容復制到motd文件即可。
當我們登錄Linux打開一個終端窗口,然後輸入命令,用戶與計算機的這種臨時交互被稱為一次會話(Session)、會話的一個重要的特點就是窗口與其中啟動的進程是連接在一起的,打開窗口則會話開始,關閉窗口則會話結束,而且會話內部的進程也會隨之而終止,不管有沒有運行完成。
這里舉一個例子,我們首先使用XShell遠程登錄CentOS8.4-1,然後使用ping 10.0.0.103命令檢測是否能夠連接10.0.0.103,也就是Ubuntu Server 20.04.3-1那台機器
命令執行的結果顯示能夠連接,而且只要你不關閉窗口會一直顯示收到數據以及耗時。
然後我們復制一個會話
然後使用ps aux|grep ping 查看ping的進程信息,因為沒有關閉會話窗口所以進程還在
當我們關閉之前開啟的會話窗口之後
再次使用ps aux|grep ping查看進程會發現ping進程不存在了
為了解決上述的問題,我們就可以將會話與窗口解綁,也就是窗口關閉時會話並不會終止,而是繼續運行,等到以後需要的時候,再讓會話綁定其他窗口。
而終端復用器程序(例如screen,tmux)就是將會話與窗口的解綁工具,將它們徹底分離。
首次運行screen時會發現Shell提示command not found
我們需要使用yum install -y screen 來安裝screen,但是執行之後發現提示錯誤:: Unable to find a match: screen
Centos8安裝screen需要使用epel來安裝,安裝epel後,再安裝screen,解決centos8無法安裝screen的問題
然後再執行yum install -y screen 便可安裝成功
Screen安裝成功
在安裝完screen後就可以使用了,首先在終端輸入screen,然後你就會看到屏幕好像是刷新了一下,本質就是一個會話
然後再次運行ping 10.0.0.103
由於開啟了screen,即使關閉了所有的會話窗口,你會發現使用ps aux |grep ping 命令查看ping命令的進程也還在。
如果後期在做運維工作,有些命令很耗時又怕誤操作關閉會話導致命令的進程關閉就可以使用screen。
screen除了創建會話,能讓命令關閉窗口後繼續在後台執行的功能以外,還能夠實現遠程桌面共享,從而實現遠程協助的功能。
實現該功能必須滿足兩個條件,兩個用戶必須使用同一個賬號登錄同一台機器。
例如這里小紅和小明同時使用root賬號登錄了CentOS8.4,其中左邊的窗口是小紅,右邊的窗口是小明
然後小紅使用screen -S help開啟一個遠程會話,會話的名稱叫help
然後小明使用screen -x help加入小紅開啟的會話
此時小明可以看到小紅窗口的內容
當小明解決小紅的問題後,可以使用ctrl a,d退出當前會話
如果小明不知道小紅的會話名稱,可以使用screen -ls獲取當前會話
echo就是用於輸出信息
echo輸出固定字元串
echo輸出變數值
echo輸出轉義字元
echo 默認可以實現換行
echo輸出信息還可以帶顏色
echo還可以清除屏幕,等價於clear命令或者是快捷鍵Ctrl+l
E. Linux如何用vi實現
1命令模式:r ! cal 2009
2visual模式block移動
3用替換命令或者R
4用dd加范圍限制
5直接刪除,p粘貼
6這個不會
7set nu
8wc
建議搜索一下Vim-handbook-cn-72.pdf下載vim的中文手冊,會有大收獲的。
F. ubuntu按ctrl+alt+F1進入的命令行模式 叫什麼 怎麼退出 常用的命令有哪些
叫終端模式,按Alt+F7 即可回到圖形桌面
G. linux如何查進程、殺進程,重啟進程
ps -A 顯示所有程序。 ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。 ps -e 此參數的效果和指定"A"參數相同。 ps e 列出程序時,顯示每個程序所使用的環境變數。 ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。 ps -H 顯示樹狀結構,表示程序間的相互關系。 ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。 ps s 採用程序信號的格式顯示程序狀況。 ps S 列出程序時,包括已中斷的子程序資料。 ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。 ps u 以用戶為主的格式來顯示程序狀況。 ps x 顯示所有程序,不以終端機來區分。 最常用的方法是ps aux,然後再通過管道使用grep命令過濾查找特定的進程,然後再對特定的進程進行操作。 ps aux | grep program_filter_word,ps -ef |grep tomcat ps -ef|grep java|grep -v grep 顯示出所有的java進程,去處掉當前的grep進程。 2.殺進程 顯示CPU使用情況以及部分進程:top 顯示連接埠使用進程:netstat -noap/-an |grep NAME 使用kill命令結束進程:kill xxx 常用:kill -9 324 Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:# killall -9 NAME 3.進入到進程的執行文件所在的路徑下,執行文件 ./文件名 附: 這是本人花了兩天時間整理得來的,一些最常用的地球人都知道的命令就省去啦!最後提供pdf手冊下載 1. 更改檔案擁有者 命令: chown [-cfhvR] [--help] [--version] user[:group] file... 功能: 更改文件或者文件夾的擁有者 參數格式 : user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group) -c : 若該檔案擁有者確實已經更改,才顯示其更改動作 -f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息 -h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案 -v : 顯示擁有者變更的詳細資料 -R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更) 例如:chown -R oracle:oinstall /oracle/u01/app/oracle 更改目錄擁有者為oracle 2. 修改許可權 命令:chmod (change mode) 功能:改變文件的讀寫和執行許可權。有符號法和八進制數字法。 選項:(1)符號法: 命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename u (user) 表示用戶本人。 g (group) 表示同組用戶。 o (oher) 表示其他用戶。 a (all) 表示所有用戶。 + 用於給予指定用戶的許可許可權。 - 用於取消指定用戶的許可許可權。 = 將所許可的許可權賦給文件。 r (read) 讀許可,表示可以拷貝該文件或目錄的內容。 w (write) 寫許可,表示可以修改該文件或目錄的內容。 x (execute)執行許可,表示可以執行該文件或進入目錄。 (2)八進制數字法: 命令格式:chmod abc file 其中a,b,c各為一個八進制數字,分別表示User、Group、及Other的許可權。 4 (100) 表示可讀。 2 (010) 表示可寫。 1 (001) 表示可執行。 若要rwx屬性則4+2+1=7; 若要rw-屬性則4+2=6; 若要r-x屬性則4+1=5。 例如:# chmod a+rx filename 讓所有用戶可以讀和執行文件filename。 # chmod go-rx filename 取消同組和其他用戶的讀和執行文件filename的許可權。 # chmod 741 filename 讓本人可讀寫執行、同組用戶可讀、其他用戶可執行文件filename。 # chmod -R 755 /home/oracle 遞歸更改目錄許可權,本人可讀寫執行、同組用戶可讀可執行、其他用戶可讀可執行 3. 修改文件日期 命令:touch 格式:touch filenae 功能:改變文件的日期,不對文件的內容做改動,若文件不存在則建立新文件。 例如:% touch file 4. 鏈接文件 命令:ln (link) 格式:ln [option] filename linkname ln [option] directory pathname 功能:為文件或目錄建立一個鏈。其中,filename和directory是源文件名和 源目錄名;linkname和pathname分別表示與源文件或源目錄名相鏈接的 文件或目錄。 選項:-s 為文件或目錄建立符號鏈接。不加-s表示為文件或目錄建立硬鏈接 注釋:鏈接的目地在於,對一個文件或目錄賦予兩個以上的名字,使其可以出 現在不同的目錄中,既可以使文件或目錄共享,又可以節省磁碟空間。 例如:% ln -s filename linkname 5. 顯示日期 命令:date 例如:% date 6. 顯示日歷 命令:cal (calendar) 格式:cal [month] year 功能:顯示某年內指定的日歷 例如:% cal 1998 7. 顯示文件頭部 命令:head 格式:head [option] filename 功能:顯示文件的頭部 選項:預設 顯示文件的頭10行。 -i 顯示文件的開始 i行。 例如:% head filename 8. 顯示文件尾部 命令:tail 格式:tail [option] filename 功能:顯示文件的尾部 選項:預設 顯示文件的末10行。 -i 顯示文件最後 i行。 +i 從文件的第i行開始顯示。 例如:% tail filename 9. 顯示用戶標識 命令:id 格式:id [option] [user] 功能:顯示用戶標識及用戶所屬的所有組。 選項:-a 顯示用戶名、用戶標識及用戶所屬的所有組 注釋: 例如:% id username 10. 查看當前登錄的用戶 命令:users 11. 顯示都誰登錄到機器上 命令:who 格式:who 功能:顯示當前正在系統中的所有用戶名字,使用終端設備號,注冊時間。 例如:% who 12. 顯示當前終端上的用戶名 命令:whoami 格式:whoami 功能:顯示出當前終端上使用的用戶。 例如:% whoami 13. 尋找文件 命令:find 格式:find pathname [option] expression 功能:在所給的路經名下尋找符合表達式相匹配的文件。 選項:-name 表示文件名 -user 用戶名,選取該用戶所屬的文件 -size 按大小查找,以block為單位,一個block是512B -mtime n 按最後一次修改時間查找,選取n天內被修改的文件 -perm 按許可權查找 -type 按文件類型查找 -atime 按最後一次訪問時間查找 例如:% find ./ -name '*abc*' -print 14. 搜索文件中匹配符 命令:grep 格式:grep [option] pattern filenames 功能:逐行搜索所指定的文件或標准輸入,並顯示匹配模式的每一行。 選項:-i 匹配時忽略大小寫 -v 找出模式失配的行 例如:% grep -i 'java*' ./test/run.sh 15. 統計文件字數 命令:wc [option] filename 功能:統計文件中的文件行數、字數和字元數。 選項:-l 統計文件的行數 -w 統計文件的單詞數 -c 統計文件的字元數 注釋:若預設文件名則指標准輸入 例如:% wc -c ./test/run.sh 16. 顯示磁碟空間 命令:df (disk free) 格式:df [option] 功能:顯示磁碟空間的使用情況,包括文件系統安裝的目錄名、塊設備名、總 位元組數、已用位元組數、剩餘位元組數佔用百分比。 選項: -a:顯示全部的檔案系統和各分割區的磁碟使用情形 -i:顯示i -nodes的使用量 -k:大小用k來表示 (默認值) -t:顯示某一個檔案系統的所有分割區磁碟使用量 -x:顯示不是某一個檔案系統的所有分割區磁碟使用量 -T:顯示每個分割區所屬的檔案系統名稱 -h: 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式。 注釋: 例如:% df -hi 17. 查詢檔案或目錄的磁碟使用空間 命令: (disk usage) 格式: [option] [filename] 功能:以指定的目錄下的子目錄為單位,顯示每個目錄內所有檔案所佔用的磁碟空間大小 選項: -a:顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間 -b:大小用bytes來表示 (默認值為k bytes) -c:最後再加上總計 (默認值) -s:只顯示各檔案大小的總合 -x:只計算同屬同一個檔案系統的檔案 -L:計算所有的檔案大小 -h: 表示檔案系統大小使用 GB、MB 等易讀的格式。 例如:% -a % -sh /etc 只顯示該目錄的總合 % /etc | sort -nr | more 統計結果用sort 指令進行排序, sort 的參數 -nr 表示要以數字排序法進行反向排序。 18. 顯示進程 命令:ps 格式:ps [option] 功能:顯示系統中進程的信息。包括進程ID、控制進程終端、執行時間和命令。 選項: -a 顯示所有進程信息 -U uidlist 列出這個用戶的所有進程 -e 顯示當前運行的每一個進程信息 -f 顯示一個完整的列表 -x 顯示包括沒有終端控制的進程狀況 。 注釋: 例如:% ps -ef % ps -aux 然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。 19. 終止進程 命令:kill 格式:kill [option] pid 功能:向指定的進程送信號或終止進程。kill指令的用途是送一個signal給某一個process, 因為大部份送的都是用來殺掉 process 的 SIGKILL 或 SIGHUP ,因此稱為 kill 選項:-9 強行終止進程 注釋:pid標示進程號,可由ps命令得到。 例如:% kill -9 pid 你也可以用 kill -l 來察看可代替 signal 號碼的數目字。kill 的詳細情形請參閱 man kill。 20. 查看自己的IP地址 命令:ifconfig 格式:ifconfig -a 21. 查看路由表 命令:netstat 格式:netstat -rn 22. 遠程登錄 命令:telnet 格式:telnet hostname 23. 文件傳輸 命令:ftp (file transfer program) 格式:ftp hostname 功能:網路文件傳輸及遠程操作。 選項:ftp命令: cd [dirname] 進入遠程機的目錄 lcd [dirname] 設置本地機的目錄 dir/ls 顯示遠程的目錄文件 bin 以二進制方式進行傳輸 asc 以文本文件方式進行傳輸 get/mget 從遠程機取一個或多個文件 put/mput 向遠程機送一個或多個文件 prompt 打開或關閉多個文件傳送時的交互提示 close 關閉與遠程機的連接 quit 退出ftp !/exit ftp登陸狀態下,!表示暫時退出ftp狀態回到本地目錄,exit表示返回ftp狀態 注釋: 例如:% ftp hostname 24. 查看自己的電子郵件 命令:mailx 格式:mailx 選項: delete 刪除 next 下一個 quit 退出 reply 回復 25. 回憶命令 命令:history 格式:history 功能:幫助用戶回憶執行過的命令。 選項: 注釋: 例如:% history 26. 網上對話 命令:talk 格式:talk username 功能:在網上與另一用戶進行對話。 選項: 注釋:對話時系統把終端分為上下兩部分,上半部顯示自己鍵入信息,下半部 顯示對方用戶鍵入的信息。鍵入delete或Ctrl+C則結束對話。 例如:% talk username 27. 允許或拒絕接受信息 命令:mesg (message) 格式:mesg [n/y] 功能:允許或拒絕其它用戶向自己所用的終端發送信息。 選項:n 拒絕其它用戶向自己所用的終端寫信息 y 允許其它用戶向自己所用的終端寫信息(預設值) 注釋: 例如:% mesg n 28. 給其他用戶寫信息 命令:write 格式:write username [ttyname] 功能:給其他用戶的終端寫信息。 選項: 注釋:若對方沒有拒絕,兩用戶可進行交談,鍵入EOF或Ctrl+C則結束對話。 例如:write username 29. 創建、修改、刪除用戶和群組 a. 創建群組: 例如: groupadd oinstall 創建群組名為oinstall的組 groupadd -g 344 dba 創建組號是344的組,此時在/etc/passwd文件中產生一個組ID(GID)是344的項目。 b. 修改群組: groupmod:該命令用於改變用戶組帳號的屬性 groupmod –g 新的GID 用戶組帳號名 groupmod –n 新組名 原組名:此命令由於改變用戶組的名稱 c. 刪除群組: groupdel 組名:該命令用於刪除指定的組帳號 d. 新建用戶: 命令: useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 主要參數 -c:加上備注文字,備注文字保存在passwd的備注欄中。 -d:指定用戶登入時的啟始目錄。 -D:變更預設值。 -e:指定賬號的有效期限,預設表示永久有效。 -f:指定在密碼過期後多少天即關閉該賬號。 -g:指定用戶所屬的群組。 -G:指定用戶所屬的附加群組。 -m:自動建立用戶的登入目錄。 -M:不要自動建立用戶的登入目錄。 -n:取消建立以用戶名稱為名的群組。 -r:建立系統賬號。 -s:指定用戶登入後所使用的shell。 -u:指定用戶ID號。 舉例: # useradd -g oinstall -G dba oracle 創建Oracle用戶 e. 刪除用戶 命令: userdel 用戶名 刪除指定的用戶帳號 userdel –r 用戶名(userdel 用戶名;rm 用戶名):刪除指定的用戶帳號及宿主目錄 例:#useradd -g root kkk //把kkk用戶加入root組里 f. 修改用戶 命令: usermod 修改已有用戶的信息 usermod –l 舊用戶名 新用戶名: 修改用戶名 usermod –L 用戶名: 用於鎖定指定用戶賬號,使其不能登陸系統 usermod –U 用戶名: 對鎖定的用戶帳號進行解鎖 passwd –d 用戶名: 使帳號無口令,即用戶不需要口令就能登錄系統 例:#usermod -l user2 user1 //把用戶user2改名為user1 30. 啟動、關閉防火牆 永久打開或則關閉 chkconfig iptables on chkconfig iptables off 即時生效:重啟後還原 service iptables start service iptables stop 或者: /etc/init.d/iptables start /etc/init.d/iptables stop 31. 啟動VSFTP服務 即時啟動: /etc/init.d/vsftpd start 即時停止: /etc/init.d/vsftpd stop 開機默認VSFTP服務自動啟動: 方法一:(常用\方便) [root@localhost etc]# chkconfig --list|grep vsftpd ( 查看情況) vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@localhost etc]# chkconfig vsftpd on (執行ON設置) 或者:方法二: 修改文件 /etc/rc.local , 把行/usr/local/sbin/vsftpd & 插入文件中,以實現開機自動啟動。 32. vi技巧 a. 進入輸入模式 新增(append) a :從游標所在位置後面開始新增資料,游標後的資料隨新增資料向後移動。 A:從游標所在列最後面的地方開始新增資料。 插入(insert) i:從游標所在位置前面開始插入資料,游標後的資料隨新增資料向後移動。 I :從游標所在列的第一個非空白字元前面開始插入資料。 開始(open) o :在游標所在列下新增一列並進入輸入模式。 O: 在游標所在列上方新增一列並進入輸入模式。 b. 退出vi 在指令模式下鍵入:q,:q!,:wq或:x(注意:號),就會退出vi。其中:wq和:x是存檔退出,而:q是直接退出,如果文件已有新的變化,vi會提示你保存文件而:q命令也會失效,這時你可以用:w命令保存文件後再用:q 退出,或用:wq或:x命令退出,如果你不想保存改變後的文件,你就需要用:q!命令,這個命令將不保存文件而直接退出vi。 c. 刪除與修改文件的命令: x:刪除游標所在字元。 dd :刪除游標所在的列。 r :修改游標所在字元,r 後接著要修正的字元。 R:進入取替換狀態,新增文字會覆蓋原先文字,直到按 [ESC] 回到指令模式下為止。 s:刪除游標所在字元,並進入輸入模式。 S:刪除游標所在的列,並進入輸入模式。 d. 屏幕翻滾類命令 Ctrl+u: 向文件首翻半屏 Ctrl+d: 向文件尾翻半屏 Ctrl+f: 向文件尾翻一屏 Ctrl+b: 向文件首翻一屏 nz: 將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。
H. 用linux顯示日歷
因為你的終端屏幕不夠大,只能顯示出3X3的,你可以用 cal 2011|less 然後上下滾動(j下,k上)或者用 cal 2011 > file 來重定向到文件再看。
I. 查看linux calendar 取得是什麼時間
看到的是當月時間
October 2016
Su Mo Tu We Th Fr Sa
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