1. 程式人生 > >Linux學習之命令【1】

Linux學習之命令【1】

active acc 同時 計算機 用戶名 幫助 理解 否則 解釋

Linux學習之命令【1】

一·命令總覽
?????? 1.基本簡單命令
??????? ?1.0 pwd
1.1 echo
?????????1.2 date
?????????1.3 cal
1.4 cd
?????????1.4 ls
?????????1.5 tab
1.6 clear
1.7幫助命令
??????? 1.7.1 help
????????? 1.7..2 man
? ??? 2.用戶信息查看編輯命令
????????? 2.1 who??
????????? 2.2 passwd
????????? 2.3 useradd
????????? 2.4 userdel

????????? 2.5 su
????????? 2.6 sudo
????? 3.文件操作命令
?????????3.1 touch
3.2 cat
???????? 3.3 cp
???????? 3.4 mv
???????? 3.5 rm??
????? 4.系統狀態管理命令
???????? 4.1 poweroff
????? ?4.2 init
?????? 4.3 shutdown
??????二 命令詳解
1.基本簡單命令
1.0 pwd 顯示當前工作目錄的絕對路徑

說明:該命令不帶任何選項和參數。通過該命令可知道當前工作在那個目錄下。
使用示例
技術分享圖片
1.1 echo
(1) 將命令行中的參數顯示到標準輸出(即屏幕)上。輸出的字符串間以空白字符隔開, 並在最後加上換行號

如下:
技術分享圖片
(2)選項:
-E 持 (默認)不支持 \ 解釋功能
-n 不自動換行
例如:
技術分享圖片

-e 用 啟用 \
(3)顯示變量
echo "$VAR_NAME“ 變量會替換,弱引用
echo ‘$VAR_NAME‘ 變量不會替換,強引用
技術分享圖片
啟用命令 選項-e, , 若字符串中出現以下字符,則特
別加以處理,而不會將它當成一般文字輸出
\a 發出警告聲
\b 退格鍵
\c 最後不加上換行符號
\n 換行且光標移至行首
\r 回車,即光標移至行首,但不換行
\t 插入tab
\ 插入\ 字符
\0nnn 插入nnn (八進制)所代表的ASCII 字符
echo -e ‘\033[43;31;5mmagedu\033[0m‘

\xHH 插入HH (十六進制)所代表的ASCII字 字

1.2 date
顯示日期和時間
技術分享圖片
選項:
+%Y 年
+%m 月
+%d 日
+%H 時
+%M 分
+%S 秒
+%w 星期
+%A 星期幾 (Sunday..Saturday)
+%F 年-月-日
+%T 時:分:秒

    date +%Y%m%d???????? //顯示現在天年月日

date +%Y%m%d --date="+1 day"? //顯示後一天的日期
date +%Y%m%d --date="-1 day"? //顯示前一天的日期
date +%Y%m%d --date="-1 month"? //顯示上一月的日期
date +%Y%m%d --date="+1 month"? //顯示下一月的日期
date +%Y%m%d --date="-1 year"? //顯示前一年的日期
date +%Y%m%d --date="+1 year"? //顯示下一年的日期
1.3 cal 顯示公元1~9999年中任意一年或者任意一個月的日歷。

用法示例:
 (1)不帶參數
      $cal            --顯示當前月份和日歷
 (2)帶一個參數
      $cal 10         --列出公元10年的日歷
 (3)帶兩個參數
      $cal 9 2017     --顯示2017年九月份的日歷
 (4) 拓展

-1?顯示一個月的月歷
-3?顯示系統前一個月,當前月,下一個月的月歷
-s?顯示星期天為一個星期的第一天,默認的格式
-m?顯示星期一為一個星期的第一天
? ? ? -j??顯示在當年中的第幾天(一年日期按天算,從1月1號算 起,默認顯示當前月在一年中的天數)
-y??顯示當前年份的日歷

1.4 cd 改變工作目錄
命令格式:cd 路徑名(dirname)
使用示例
cd /app 切換當前工作目錄到app目錄
cd????? 進入用戶主目錄;
cd? ~? 進入用戶主目錄;
cd? -? 返回進入此目錄之前所在的目錄;

cd? ..? 返回上級目錄(若當前目錄為“/“,則執行完後還在“/";".."為上級目錄的意思);
cd ../..? 返回上兩級目錄;
技術分享圖片
1.5 ls 用來顯示文件目錄列表

命令格式
$ls (選項) (參數)
選項
-a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件
-A 同-a,但不列出“.”(表示當前目錄)和“..”(表示當前目錄的父目錄)。
-c 配合 -lt:根據 ctime 排序及顯示 ctime (文件狀態最後更改的時間)配合?-l:顯示?ctime?但根據名稱排序否則:根據?ctime?排序
-C 每欄由上至下列出項目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是‘never‘、‘always‘或‘auto‘其中之一
-d, –directory 將目錄象文件一樣顯示,而不是顯示其下的文件。
-f 對輸出的文件不進行排序,-aU 選項生效,-lst 選項失效
-g 類似 -l,但不列出所有者
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 類似 -h,但文件大小取 1000 的次方而不是 1024
-H, –dereference-command-line 使用命令列中的符號鏈接指示的真正目的地
-i, –inode 印出每個文件的 inode 號
-k 即 –block-size=1K,以 k 字節的形式表示文件的大小。
-l 除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來。
-L, –dereference 當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象而並非符號鏈接本身的信息
-m 所有項目以逗號分隔,並填滿整行行寬
-r, –reverse 依相反次序排列
-R, –recursive 同時列出所有子目錄層
-s, –size 以塊大小為單位列出所有文件的大小
-S 根據文件大小排序
-t 以文件修改時間排序
-u 配合 -lt:顯示訪問時間而且依訪問時間排序
配合 -l:顯示訪問時間但根據名稱排序
否則:根據訪問時間排序
-U 不進行排序;依文件系統原有的次序列出項目
-x 逐行列出項目而不是逐欄列出
用法示例
$ ls -a 顯示目錄下的所有目錄及文件(包括隱藏目錄和文件)
技術分享圖片
$ ls -l(小寫字母) 長格式列出 當前目錄下目錄和文件(不包括隱藏目錄和文件文件)
技術分享圖片
$ls -1(數字1) 豎直顯示當前目錄和文件
技術分享圖片
$ls -m 水平顯示 當前目錄和文件
技術分享圖片
$ls -ld 顯示指定當前目錄的詳細信息。
技術分享圖片
$ls -S 按文件大小降序排列
技術分享圖片
1.6tab 命令補全/路徑補全
(1)命令補全
外部命令:bash 根據PATH 環境變量定義的路徑,自左而
右在每個路徑搜尋以給定命令名命名的文件,第一次找到的命令,即為要執行的命令
用戶給定的字符串只有一條惟一對應的命令,直接補全
否則,再次Tab
(2)路徑補全
把用戶給出的字符串當做路徑開頭,並在其指定上級目錄
下搜索以指定的字符串開頭的文件名。如果惟一:則直接補全
否則:再次Tab 給出列表
1.7 clear 清屏
功能:清除屏幕上的信息。清屏後,提示符移到屏幕的左上角。
1.8 幫助命令
1.8.1 help
功能:可查看所有shell內置命令的幫助信息
格式:help [選項] [參數]
用法示例
(1) 不帶任何參數,則顯示help命令的用法,列出shell命令的內置列表
技術分享圖片
(2)帶參數
$help cd 查看cd命令的用法
1.2.2 man
功能:格式化並顯示某一命令的聯機幫助手冊頁
格式 【選項】命令名
使用示例
$man ls 顯示ls命令幫助信息
2.用戶信息查看編輯命令
2.1 who 列出正在使用的用戶,所用終端名和註冊到系統的時間。
示例:
技術分享圖片
2.2 passwd
更改用戶密碼
2.3 useradd 創建一個新用戶
命令格式:useradd 【選項】 用戶名
選項:
-c<備註>:加上備註文字。備註文字會保存在passwd的備註欄位中;-d<登入目錄>:指定用戶登入時的啟始目錄;
-D:變更預設值;
-e<有效期限>:指定帳號的有效期限;
-f<緩沖天數>:指定在密碼過期後多少天即關閉該帳號;
-g<群組>:指定用戶所屬的群組;
-G<群組>:指定用戶所屬的附加群組;
-m:自動建立用戶的登入目錄;
-M:不要自動建立用戶的登入目錄;
-n:取消建立以用戶名稱為名的群組;
-r:建立系統帳號;
-s<shell>:指定用戶登入後所使用的shell;
-u<uid>:指定用戶id。

用法示例:
$Useradd -u 520 liubei 創建一個新用戶,並指定用戶id為520
2.4 userdel 刪除用戶
命令格式:userdel 【選項】 用戶名
選項:
-f:強制刪除用戶,即使用戶當前已登錄;
-r:刪除用戶的同時,刪除與用戶相關的所有文件。
userdel命令很簡單,比如我們現在有個用戶linuxde,其家目錄位於/var目錄中,現在我們來刪除這個用戶:
userdel liubei 刪除用戶liubei,但不刪除其家目錄及文件;
userdel -r liubei 刪除用戶liubei,其家目錄及文件一並刪除;

3.文件操作命令
3.1 touch 創建一個文件
命令格式:touch 【選項】 文件名或者目錄名
選項:
? -a ?只修改文件的access(訪問)時間.
? ? -c ?或--no-create? 不創建不存在的文件。
? ? -d ?使用指定的日期時間,而非現在的時間
? ? -m 指修改Modify(修改)時間,而不修改access(訪問)時間
? ? -r ?file ?使用指定file文件的時間戳(access,modify)更新文件的時間戳(access,modify)
-t ?將時間修改為參數指定的日期,如:11221420代表11月22號14點20分
? ? ?註:access?表示最後一次訪問(僅僅是訪問,沒有改動)文件的時間
? ? ? ? ? ? ? ? ? ? ?modify 表示最後一次修改文件的時間
? ? ? ? ? ? ? ? ? ? ?change?表示最後一次對文件屬性改變的時間,包括權限,大小,屬性等等
用法示例:
$touch hello.c 在當前文件夾下創建名為hello.c的文件

  3.2 cat   該命令的用途是連接文件或標準輸入並打印。這個命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。 

命令格式:【選項】 文件名
選項:
-n 或 –number 由 1 開始對所有輸出的行數編號
-b 或 –number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白
用法示例 :
$ cat?-n? f1 一次編號顯示名為f1的文件所有內容。

$ cat? > filename 從鍵盤創建一個文件。只能創建新文件,不能編輯已有文件.

$cat?? file1?? file2? > file 將幾個文件合並為一個文件。

???????? 3.3 cp 復制文件或目錄
命令格式:【選項】 源文件或者目錄 目標文件或者目錄
選項:
-a 或 --archive????此參數的效果和同時指定"-dpR"參數相同
???? -b 或 --backup????? 刪除、覆蓋目的文件先備份,備份的文件
或目錄亦建立為符號鏈接,並指向源文件或目錄鏈接的源文件或目錄。假如沒有加上這個參數,在復制過程中若遇到符號鏈接,則會直接復制源文件或目錄
-f 或 --force?????強行復制文件或目錄, 不論目的文件或目錄是否已經存在
???? -i 或 --interactive 覆蓋文件之前先詢問用戶
???? -l 或 --link?????? 對源文件建立硬鏈接,而非復制文件
???? -p 或 --preserve??? 保留源文件或目錄的屬性,包括所有者、所屬組、權限與時間
???? -P 或 --parents???? 保留源文件或目錄的路徑,此路徑可以是絕對路徑或相對路徑,且目的目錄必須已經豐在
???? -r???????????遞歸處理,將指定目錄下的文件與子目錄一並處理。若源文件或目錄的形態,不屬於目錄或符號鏈接,則一律視為普通文件處理
???? -R 或 --recursive?? 遞歸處理,將指定目錄下的文件及子目錄一並處理
??? -s 或 --symbolic-link? 對源文件建立符號鏈接,而非復制文件
??? -u 或 --update????? 使用這項參數之後,只會在源文件的修改時間(Modification Time)較目的文件更新時,或是名稱相互對應的目的文件並不存在,才復制文件
??? -v 或 --verbose???? 顯示執行過程
?用法示例
$ cp f2 /app/f0 將文件復制到目錄app下,並改名為f0
$cp -r /app/test/ /app/new 將目錄/app/test下的所有文件及其子目錄復制到目錄/app/new中

???????? 3.4 mv 對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中
命令格式:mv 【參數】 源文件或目錄 目標文件或目錄
選項:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會更新(update)
-t :指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。
用法示例:
$mv f1 new 將文件改名為new
$mv /etc/* . 將/etc文件下的所有文件移到當前目錄

???????? 3.5 rm?? 刪除文件和目錄
命令格式:【選項】 文件列表
選項:
-d --directory 刪除可能仍有數據的目錄 (只限超級用戶)
-f --force 略過不存在的文件,不顯示任何信息,強制刪除
-i --interactive 進行任何刪除操作前必須先確認
-r/R --recursive 同時刪除該目錄下的所有目錄層
-v --verbose 詳細顯示進行的步驟
用法示例
$rm -i f1 刪除f1前需確認
$rm -rf f1file 將 f1file子目錄及子目錄中所有檔案刪除,並且不用一一確認

4.系統狀態管理命令
???????? 4.1 poweroff 關閉計算機
用法格式:poweroff 【選項】
選項:
-n:關閉操作系統時不執行sync操作;
-w:不真正關閉操作系統,僅在日誌文件“/var/log/wtmp”中;
-d:關閉操作系統時,不將操作寫入日誌文件“/var/log/wtmp”中添加相應的記錄;
-f:強制關閉操作系統;
-i:關閉操作系統之前關閉所有的網絡接口;
-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。
???????? 4.2 init
用法格式: init 【選項】
選項:
0:關機
1:單用戶形式,只root進行維護
2:多用戶,不能使用net file system
3:完全多用戶
5:圖形化
4:安全模式
6:重啟
用法示例
$Init 0 立即關機。

???????? 4.3 shutdown 安全關機命令,需擁有root權限才能使用
用法格式: shutdown 【選項】
選項:
-c:當執行“shutdown -h 11:50”指令時,只要按+鍵就可以中斷關機的指令;
-f:重新啟動時不執行fsck;
-F:重新啟動時執行fsck;
-h:將系統關機;
-k:只是送出信息給所有用戶,但不會實際關機;
-n:不調用init程序進行關機,而由shutdown自己進行;
-r:shutdown之後重新啟動;
-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒。

用法示例
$shutdown -h now 立即關機
$shutdown +5 定時五分鐘後關機,可用ctrl+c取消關機

Linux學習之命令【1】