初学Linux的简单命令(一)
更新日期:2020-10-23
非原創,僅歸納,出處:https://man.linuxde.net/
1.poweroff
poweroff命令用來關閉計算機操作系統并且切斷系統電源。
語法
poweroff(選項)
選項
-n:關閉操作系統時不執行sync操作;
-w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中;
-d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄;
-f:強制關閉操作系統;
-i:關閉操作系統之前關閉所有的網絡接口;
-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。
實例
如果確認系統中已經沒有用戶存在且所有數據都已保存,需要立即關閉系統,可以使用poweroff命令。
使用poweroff立即關閉系統:
poweroff2.shutdown
shutdown命令用來系統關機命令。shutdown指令可以關閉所有程序,并依用戶的需要,進行重新開機或關機的動作。
語法
shutdown(選項)(參數)
選項
-c:當執行“shutdown -h 11:50”指令時,只要按+鍵就可以中斷關機的指令;
-f:重新啟動時不執行fsck;
-F:重新啟動時執行fsck;
-h:將系統關機;
-k:只是送出信息給所有用戶,但不會實際關機;
-n:不調用init程序進行關機,而由shutdown自己進行;
-r:shutdown之后重新啟動;
-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒。
參數
- [時間]:設置多久時間后執行shutdown指令;
- [警告信息]:要傳送給所有登入用戶的信息。
實例
指定現在立即關機:
shutdown -h now
指定5分鐘后關機,同時送出警告信息給登入用戶:
shutdown +5 “System will shutdown after 5 minutes”
3.who
who命令是顯示目前登錄系統的用戶信息。執行who命令可得知目前有那些用戶登入系統,單獨執行who命令會列出登入帳號,使用的終端機,登入時間以及從何處登入或正在使用哪個X顯示器。
語法
who(選項)(參數)
選項
H或–heading:顯示各欄位的標題信息列;
-i或-u或–idle:顯示閑置時間,若該用戶在前一分鐘之內有進行任何動作,將標示成"."號,如果該用戶已超過24小時沒有任何動作,則標示出"old"字符串;
-m:此參數的效果和指定"am i"字符串相同;
-q或–count:只顯示登入系統的帳號名稱和總人數;
-s:此參數將忽略不予處理,僅負責解決who指令其他版本的兼容性問題;
-w或-T或–mesg或–message或–writable:顯示用戶的信息狀態欄;
–help:在線幫助;
–version:顯示版本信息。
參數
- 文件:指定查詢文件。
實例
[root@localhost ~]# who root pts/0 2013-08-19 15:04 (192.168.0.134) root pts/1 2013-12-20 10:37 (180.111.155.40)[root@localhost ~]# who -q root root #users=2[root@localhost ~]# who -H NAME LINE time COMMENT root pts/0 2013-08-19 15:04 (192.168.0.134) root pts/1 2013-12-20 10:37 (180.111.155.40)[root@localhost ~]# who -w root + pts/0 2013-08-19 15:04 (192.168.0.134) root + pts/1 2013-12-20 10:37 (180.111.155.40)4.whoami
whoami命令用于打印當前有效的用戶名稱,相當于執行id -un命令。
語法
whoami(選項)
選項
help:在線幫助;
–version:顯示版本信息。
實例
[root@localhost ~]# whoami root[root@localhost ~]# id -un root5.w
w命令用于顯示已經登陸系統的用戶列表,并顯示用戶正在執行的指令。執行這個命令可得知目前登入系統的用戶有那些人,以及他們正在執行的程序。單獨執行w命令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。
語法
w(選項)(參數)
選項
-h:不打印頭信息;
-u:當顯示當前進程和cpu時間時忽略用戶名;
-s:使用短輸出格式;
-f:顯示用戶從哪登錄;
-V:顯示版本信息。
參數
- 用戶:僅顯示指定用戶。
實例
w20:39:37 up 136 days, 3:58, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM login@ IDLE JCPU PCPU WHAT root pts/0 222.94.97.122 20:39 1.00s 0.00s 0.00s w6.pwd
pwd命令以絕對路徑的方式顯示用戶當前工作目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出。全部目錄使用/分隔。第一個/表示根目錄,最后一個目錄是當前目錄。執行pwd命令可立刻得知您目前所在的工作目錄的絕對路徑名稱。
語法
pwd(選項)
選項
help:顯示幫助信息;
–version:顯示版本信息。
實例
[root@localhost ~]# pwd /root7.ls
ls命令用來顯示目標列表,在Linux中是使用率較高的命令。ls命令的輸出信息可以進行彩色加亮顯示,以分區不同類型的文件。
ps:(該命令全部選項非常多,這里只列出最基本的-a選項)
語法
ls(選項)(參數)
選項
-a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為“.”的視為影藏,不會列出);
參數
- 目錄:指定要顯示列表的目錄,也可以是具體的文件。
實例
顯示當前目錄下非影藏文件與目錄
[root@localhost ~]# ls anaconda-ks.cfg install.log install.log.syslog satools顯示當前目錄下包括影藏文件在內的所有文件列表
[root@localhost ~]# ls -a . anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc .. .bash_history .bash_profile .cshrc install.log.syslog .rnd .ssh .viminfo8.clear
clear命令用于清除當前屏幕終端上的任何信息。
語法
clear
實例
直接輸入clear命令當前終端上的任何信息就可被清除。
9.cd
cd命令用來切換工作目錄至dirname。 其中dirName表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home directory(也就是剛login時所在的目錄)。另外,~也表示為home directory的意思,.則是表示目前所在的目錄,…則表示目前目錄位置的上一層目錄。
語法
cd (選項) (參數)
選項
p 如果要切換到的目標目錄是一個符號連接,直接切換到符號連接指向的目標目錄
-L 如果要切換的目標目錄是一個符號的連接,直接切換到字符連接名代表的目錄,而非符號連接所指向的目標目錄。
- 當僅實用"-"一個選項時,當前工作目錄將被切換到環境變量"OLDPWD"所表示的目錄。
實例
cd 進入用戶主目錄; cd ~ 進入用戶主目錄; cd - 返回進入此目錄之前所在的目錄; cd .. 返回上級目錄(若當前目錄為“/“,則執行完后還在“/";".."為上級目錄的意思); cd ../.. 返回上兩級目錄; cd !$ 把上個命令的參數作為cd參數使用。10.su
su命令用于切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼。
語法
su(選項)(參數)
選項
-c<指令>或–command=<指令>:執行完指定的指令后,即恢復原來的身份;
-f或——fast:適用于csh與tsch,使shell不用去讀取啟動文件;
-l或——login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變量;
-m,-p或–preserve-environment:變更身份時,不要變更環境變量;
-s或–shell=:指定要執行的shell;
–help:顯示幫助;
–version;顯示版本信息。
參數
- 用戶:指定要切換身份的目標用戶。
實例
變更帳號為root并在執行ls指令后退出變回原使用者:
su -c ls root變更帳號為root并傳入-f選項給新執行的shell:
su root -f變更帳號為test并改變工作目錄至test的家目錄:
su -test11.man
man命令是Linux下的幫助指令,通過man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息。
語法
man(選項)(參數)
選項
-a:在所有的man幫助手冊中搜索;
-f:等價于whatis指令,顯示給定關鍵字的簡短描述信息;
-P:指定內容時使用分頁程序;
-M:指定man手冊搜索的路徑。
參數
- 數字:指定從哪本man手冊中搜索幫助;
- 關鍵字:指定要搜索幫助的關鍵字。
實例
我們輸入man ls,它會在最左上角顯示“LS(1)”,在這里,“LS”表示手冊名稱,而“(1)”表示該手冊位于第一節章,同樣,我們輸man ifconfig它會在最左上角顯示“IFCONFIG(8)”。也可以這樣輸入命令:“man [章節號] 手冊名稱”。
man是按照手冊的章節號的順序進行搜索的,比如:
man sleep只會顯示sleep命令的手冊,如果想查看庫函數sleep,就要輸入:
man 3 sleep12.date
date命令是顯示或設置系統時間與日期。
很多shell腳本里面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用于腳本執行過程中提供一段等待的時間。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲為一個整數,其大小為自世界標準時間(UTC)1970年1月1日0時0分0秒起流逝的秒數。
語法
date(選項)(參數)
選項
-d<字符串>:顯示字符串所指的日期與時間。字符串前后必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前后必須加上雙引號;
-u:顯示GMT;
–help:在線幫助;
–version:顯示版本信息。
參數
- <+時間日期格式>:指定顯示時使用的日期時間格式。
日期格式字符串列表
%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一為第一天)
%y 年的最后兩個數字(1999則是99)
實例
格式化輸出:
date +"%Y-%m-%d" 2009-12-07輸出昨天日期:
date -d "1 day ago" +"%Y-%m-%d" 2012-11-192秒后輸出:
date -d "2 second" +"%Y-%m-%d %H:%M.%S" 2012-11-20 14:21.31傳說中的 1234567890 秒:
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S" 2009-02-13 23:02:30普通轉格式:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S" 2009/12/12 00:00.00apache格式轉換:
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S" 2009-12-05 00:00.37格式轉換后時間游走:
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S" 2007-12-05 00:00.37加減操作:
date +%Y%m%d //顯示前天年月日 date -d "+1 day" +%Y%m%d //顯示前一天的日期 date -d "-1 day" +%Y%m%d //顯示后一天的日期 date -d "-1 month" +%Y%m%d //顯示上一月的日期 date -d "+1 month" +%Y%m%d //顯示下一月的日期 date -d "-1 year" +%Y%m%d //顯示前一年的日期 date -d "+1 year" +%Y%m%d //顯示下一年的日期設定時間:
date -s //設置當前時間,只有root權限才能設置,其他只能查看 date -s 20120523 //設置成20120523,這樣會把具體時間設置成空00:00:00 date -s 01:01:01 //設置具體時間,不會對日期做更改 date -s "01:01:01 2012-05-23" //這樣可以設置全部時間 date -s "01:01:01 20120523" //這樣可以設置全部時間 date -s "2012-05-23 01:01:01" //這樣可以設置全部時間 date -s "20120523 01:01:01" //這樣可以設置全部時間有時需要檢查一組命令花費的時間,舉例:
#!/bin/bashstart=$(date +%s) nmap man.linuxde.net &> /dev/nullend=$(date +%s) difference=$(( end - start )) echo $difference seconds.13.mkdir
mkdir命令用來創建目錄。該命令創建由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名,則在當前目錄下創建由dirname指定的目錄;如果給出了一個已經存在的路徑,將會在該目錄下創建一個指定的目錄。在創建目錄時,應保證新建的目錄與它所在目錄下的文件沒有重名。
注意:在創建文件時,不要把所有的文件都存放在主目錄中,可以創建子目錄,通過它們來更有效地組織文件。最好采用前后一致的命名方式來區分文件和目錄。例如,目錄名可以以大寫字母開頭,這樣,在目錄列表中目錄名就出現在前面。
在一個子目錄中應包含類型相似或用途相近的文件。例如,應建立一個子目錄,它包含所有的數據庫文件,另有一個子目錄應包含電子表格文件,還有一個子目錄應包含文字處理文檔,等等。目錄也是文件,它們和普通文件一樣遵循相同的命名規則,并且利用全路徑可以唯一地指定一個目錄。
語法
mkdir (選項)(參數)
選項
-Z:設置安全上下文,當使用SELinux時有效;
-m<目標屬性>或–mode<目標屬性>:建立目錄的同時設置目錄的權限;
-p或–parents:若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄;
–version:顯示版本信息。
參數
- 目錄:指定要創建的目錄列表,多個目錄之間用空格隔開。
實例
在目錄/usr/meng下建立子目錄test,并且只有文件主有讀、寫和執行權限,其他人無權訪問
mkdir -m 700 /usr/meng/test在當前目錄中建立bin和bin下的os_1目錄,權限設置為文件主可讀、寫、執行,同組用戶可讀和執行,其他用戶無權訪問
mkdir -p-m 750 bin/os_114.rm
rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。
注意:使用rm命令要格外小心。因為一旦刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。rm命令可以用-i選項,這個選項在使用文件擴展名字符刪除多個文件時特別有用。使用這個選項,系統會要求你逐一確定是否要刪除。這時,必須輸入y并按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會被刪除。
語法
rm (選項)(參數)
選項
-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
–preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。
參數
- 文件:指定被刪除的文件列表,如果參數中含有目錄,則必須加上-r或者-R選項。
實例
交互式刪除當前目錄下的文件test和example
rm -i test example Remove test ?n //(不刪除文件test) Remove example ?y //(刪除文件example)刪除當前目錄下除隱含文件外的所有文件和子目錄
# rm -r *應注意,這樣做是非常危險的!
15.cp
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復制成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時復制多個文件,當一次復制多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。
語法
cp(選項)(參數)
選項
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接,而非復制文件;
-u:使用這項參數后只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件并不存在時,才復制文件;
-S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
參數
- 源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
- 目標文件:指定目標文件。當“源文件”為多個文件時,要求“目標文件”為指定的目錄。
實例
如果把一個文件復制到一個目標文件中,而目標文件已經存在,那么,該目標文件的內容將被破壞。此命令中所有參數既可以是絕對路徑名,也可以是相對路徑名。通常會用到點.或點點…的形式。例如,下面的命令將指定文件復制到當前目錄下:
cp ../mary/homework/assign .所有目標文件指定的目錄必須是己經存在的,cp命令不能創建目錄。如果沒有文件復制的權限,則系統會顯示出錯信息。
將文件file復制到目錄/usr/men/tmp下,并改名為file1
cp file /usr/men/tmp/file1將目錄/usr/men下的所有文件及其子目錄復制到目錄/usr/zh中
cp -r /usr/men /usr/zh交互式地將目錄/usr/men中的以m打頭的所有.c文件復制到目錄/usr/zh中
cp -i /usr/men m*.c /usr/zh我們在Linux下使用cp命令復制文件時候,有時候會需要覆蓋一些同名文件,覆蓋文件的時候都會有提示:需要不停的按Y來確定執行覆蓋。文件數量不多還好,但是要是幾百個估計按Y都要吐血了,于是折騰來半天總結了一個方法:
cp aaa/* /bbb復制目錄aaa下所有到/bbb目錄下,這時如果/bbb目錄下有和aaa同名的文件,需要按Y來確認并且會略過aaa目錄下的子目錄。
cp -r aaa/* /bbb這次依然需要按Y來確認操作,但是沒有忽略子目錄。
cp -r -a aaa/* /bbb依然需要按Y來確認操作,并且把aaa目錄以及子目錄和文件屬性也傳遞到了/bbb。
\cp -r -a aaa/* /bbb成功,沒有提示按Y、傳遞了目錄屬性、沒有略過目錄。
16.mv
mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。如果將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。
mv命令可以用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中。源文件被移至目標文件有兩種不同的結果:
1.如果目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變。
2.如果目標文件不是目錄文件,則源文件名(只能有一個)會變為此目標文件名,并覆蓋己存在的同名文件。如果源文件和目標文件在同一個目錄下,mv的作用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數可以有多個,則所有的源文件都會被移至目標文件中。所有移到該目錄下的文件都將保留以前的文件名。
注意事項:mv與cp的結果不同,mv好像文件“搬家”,文件個數并未增加。而cp對文件進行復制,文件個數增加了。
語法
mv(選項)(參數)
選項
-backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
–strip-trailing-slashes:刪除源文件中的斜杠“/”;
-S<后綴>:為備份文件指定后綴,而不使用默認的后綴;
–target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
參數
- 源文件:源文件列表。
- 目標文件:如果“目標文件”是文件名則在移動文件的同時,將其改名為“目標文件”;如果“目標文件”是目錄名則將源文件移動到“目標文件”下。
實例
將文件ex3改名為new1
mv ex3 new1將目錄/usr/men中的所有文件移到當前目錄(用.表示)中:
mv /usr/men/* .總結
以上是生活随笔為你收集整理的初学Linux的简单命令(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS中this的四种用法
- 下一篇: 计算机专业考研入坑详解(持续更新)