命令大全

来源:https://www.cnblogs.com/gongjingyun123--/archive/2019/06/19/11052063.html
-Advertisement-
Play Games

"第一階段 快捷鍵 1" "第二階段 文件和目錄操作命令 1" "1.1 date / useradd 1" "1.2 echo 調用變數 2" "1.3 whoami 查看用戶名 2" "1.4 tab命令補全 2" "1.5 history 歷史命令 2" "1.6 alias 別名 3" "1 ...


第一階段 快捷鍵 1

第二階段 文件和目錄操作命令 1

1.1 date / useradd 1

1.2 echo 調用變數 2

1.3 whoami 查看用戶名 2

1.4 tab命令補全 2

1.5 history 歷史命令 2

1.6 alias 別名 3

1.7 ls獲取命令幫助help 4

1.8 cd:切換目錄change directory 5

1.9 mkdir:創建目錄make directory 5

2.0 touch創建文件 6

2.1 tree 樹狀顯示目錄文件結構 7

2.2複製命令cp 7

2.3 移動命令mv 8

2.4 刪除rm 9

2.5 cat查看文件內容 10

2.6 查看命令more和less 10

2.7 查看文件前n行 head 11

2.8查看尾部tail 11

2.9 grep awk sed三劍客 11

第一部分 快捷鍵

ctrl+a 將游標跳轉至行首
ctrl + e 將游標跳轉至行末
Ctrl + w 以空格為單位,將當前游標位置之前的內容刪除
.ctrl +u 將當前游標位置之前的內容全部刪除
ctrl + l 清屏
ctrl + c 終止當前命令
ctrl + d 退出,斷開當前連接(exit,logout)
ctrl + z 掛起,放後臺執行
ctrl + r 搜索歷史命令
ctrl+s 鎖屏
Ctrl+q 解鎖
Ctrl+左右 按照單詞跳轉游標
esc + . 瞬間顯示出上一條命令,最後的內容,以空格分隔
Ctrl+y 將粘貼板上的內容粘貼出來,配合u,k,w使用

第二部分文件和目錄操作命令

1.1 date / useradd

date 獲取當前時間
useradd 創建用戶

例如:

命令方式: [root@gong ~]# date #獲取當前時間 

2019年 06月 14日 星期五 15:47 CST 

 

[root@gong ~]# useradd gjy 

\#增加用戶名

1.2 echo 調用變數

echo 在bash shell中調用變數$
查看當前命令解釋符 

[root@gong ~]# echo $ps1 

[\u@\h \w]\$ 

echo:在bash shell中調用變數 $

1.3 whoami 查看用戶名

whoami 查看用戶名
查看當前用戶(whoamai:查看當前登錄的用戶) 

[root@centos7 ~]# whoamai 

root 

root:超級系統用戶名,也是當前系統的用戶

root之外的都是普通用戶

1.4 tab命令補全

tab 命令補全,選項補全,參數補全
例如:、 [root@centos7 ~]# ifc 

\#按下tab鍵會自動補全,若按一下tab沒反應,就需要按兩下tab鍵,列出所有if開頭的命令 

ifcfg ifcconfig 

[root@centos7 ~]# ifconfig 

[root@centos7 ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0       #網路配置名稱

1.5 history 歷史命令

history 列出歷史命令。
-w 把歷史文件寫入文件
-c 清空命令歷史記錄,不會清空文件
-d 指定一條記錄刪除
-w 保存歷史命令
!! 執行上一條命令
!n 執行歷史命令中的第n條命令
例如:

查看歷史記錄: 

[root@gong ~]# history 

清空歷史記錄 

[root@gong ~]# history -c 


\#指定一條歷史記錄刪除 

[root@gong ~]# history -d 23 


\#保存歷史命令 

[root@gong ~]# history -w 


\#執行上一條命令

[root@gong ~]# !! 


\#執行上一條ls相關命令 

[root@gong ~]# !ls

 \#執行歷史命令中的第23條命令 

[root@gong ~]# !23

1.6 alias 別名

alias 創建命令別名 alias 別名=“命令”
unalias 取消文件別名 unlias 別名
例如:定義臨時別名,查看網路是否可以通,ping 百度,只對當前shell 生效

[root@gong ~]# alias tong="ping baidu.com"         #需用雙引號,單引號輸出的結果是引號內的字元串

PING baidu.com (123.125.114.144) 56(84) bytes of data.

64 bytes from 123.125.114.144: icmp_seq=1 ttl=128 time=44.2 ms

64 bytes from 123.125.114.144: icmp_seq=2 ttl=128 time=47.5 ms

64 bytes from 123.125.114.144: icmp_seq=3 ttl=128 time=46.3 ms

......
查看所有定義的別名

[root@gong ~]# alias

alias cp='cp -i'

alias l.='ls -d .* --color=auto'

alias ll='ls -l --color=auto'

alias ls='ls --color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias tong='ping baidu.com'

......

 

取消別名

[root@gong ~]# unalias oldboy

[root@gong ~]# oldboy

-bash: tong: command not found


永久生效

[root@gong ~]# vim /etc/bashrc

alias oldboy="ping baidu.com"

1.7 ls獲取命令幫助help

Ls常見選項 全拼list,功能是列出目錄的內容及其內容屬性信息。
-l 以長格式方式顯示文件或目錄的詳細內容
-a 查看目錄下的所有文件,包括隱藏文件
-d 只顯示目錄名,而不顯示目錄裡面的內容
-F 給不同類型的文件加上不同的標記
-r 倒敘
-t 按照文件或目錄的修改時間進行排序
-i 顯示文件的inode 號碼
-h 以人類可讀的方式

獲取ls命令的幫助 

[root@gong ~]# ls --help 

用法:ls[選項]...[文件]...

 

[root@gong ~]# man ls

1.8 cd:切換目錄change directory

cd 切換至當前用戶家目錄
cd - 切換上次所在目錄
cd ~ 切換至當前用戶家目錄
cd . 代表當前目錄,一般在拷貝、移動情況下使用
cd .. 切換至當前目錄的上級目錄

1.9 mkdir:創建目錄make directory

-m 創建目錄時,指定許可權(很少用,幾乎不用)
-p 如果目錄已存在則不會報錯,遞歸創建
-v 列印出創建過程信息
\#創建目錄

[root@gong ~]# mkdir dir1

\#創建目錄並給許可權

[root@gong ~]# mkdir -m777 dir2

\#遞歸創建目錄

[root@gong ~]# mkdir -p dir3/dir4/dir5

\#創建目錄並顯示信息

[root@gong ~]# mkdir -pv dir4/dir5/dir6

備註:rwx為7,read 讀,write寫,exec執行

最高許可權為777,目錄一般許可權為755,文件一般許可權為644

 

例如:

條命令建出以下的目錄:

/home/zls

/home/abc

/home/abc/1

/home/abc/2

/home/abc/3

/home/abc/1/zls

/home/abc/2/zls

/home/abc/3/zls

/usr/local/abc

/data

/backup

/backup/abc

/abc

/abc/test

/abc/test/1

...

/abc/test/10

解答:

[root@gong ~]# mkdir /{home/{zls,abc/{1..3}/zls},usr/local/abc,data,backup/abc,abc/test/{1..10}} -pv

2.0 touch創建文件

Touch

語法:touch[選項]... 文件名...

創建文件,如果文件存在,不會覆蓋內容,但是會修改創建時間

Linux中,一切皆文件

示例1:

[root@gong ~]# touch file

[root@gong ~]# touch file1 file2

[root@gong ~]# touch /home/zls/file3 file4

[root@gong ~]# touch file{5,6,7}

[root@gong ~]# touch file{10..100}

 

示例2:

[root@gong ~]# touch abc

[root@gong ~]# touch  /oldboy/abc

Touch:cannot touch ‘/oldboy/abc’:no such file or directory

 

**註意:**
1.創建文件,必須要創建在一個存在的目錄中
2.和創建目錄不同的是,創建相同的文件不會報錯
3.創建相同的文件,源文件內容不會被覆蓋
4.在Linux當中一切皆文件

 

2.1 tree 樹狀顯示目錄文件結構

-l 指定層級(level)
-d 只查看目錄
如果沒有安裝,則需要先安裝:yum -y install tree

起始目錄為 . 

[root@gong ~]# tree  當前目錄的tree結構

[root@gong ~]# tree /   /目錄下的所有文件,目錄

[root@gong ~]# tree /home    /home下的文件,目錄

[root@gong ~]# tree -L 1 /      /目錄下的一級目錄,開頭不是 . ,是指定的層級

[root@gong ~]# tree -L -d 2 /usr/local    只查看/usr/local的二級目錄,不看文件

2.2複製命令cp

cp 複製
-r 遞歸拷貝,拷貝目錄,連裡面的東西一併拷貝
-p 保持源文件的屬性
-a 拷貝目錄並保持屬性,和-rp一樣 (用的最多
-rp 遞歸拷貝並保持源文件的屬性
-v 顯示覆制的過程
-t 交換目標和源文件的位置(意義不大)
語法:

cp [OPTION]... 源文件 目標

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

 

 

[root@oldboyedu ~]# cp oldboy /usr/

cp: omitting directory ‘oldboy’

 

複製文件的過程:

[root@oldboyedu ~]# cp -v 123 456 789 /opt/

‘123’ -> ‘/opt/123’

‘456’ -> ‘/opt/456’

‘789’ -> ‘/opt/789’

 

cp可以修改名字,指定的目錄不存在,也可以拷貝,但拷貝即改名

 

[root@gong ~]# cp /etc/sysconfig/network-scripts/{ifcfg-eth0,eth00}

把網卡配置還是配置到這個路徑下,改名 eth00

[root@gong ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.bak}

把網卡配置還是配置到這個路徑下,改名ifcfg-eth0.bak(加尾碼)

備註:{,.bak}=ifcfg-eth0,ifcfg-eth0.bak

 

2.3 移動命令mv

mv:移動 move (系統預設操作,alias可以查看,mv=mv-i)

語法:

mv [OPTION]... 源文件 目標
 
註意:

\#系統預設操作,alias可以查看,mv=mv-i,執行命令時系統會自動詢問要不要移動

\mv 就不會詢問         

絕對路徑執行命令:就是執行命令本身,不經過alias

命令前面加上轉義符   \,也是執行命令本身,不經過alias

和cp一樣
示例:

[root@gong ~]# mv file1 test1     #如果test1目錄存在,file1直接放進
[root@gong ~]# touch file1       #創建文件file1
[root@gong ~]# echo 123>file 1    #輸入123到file1文件中
[root@gong ~]# cat file1         #查看file1文件內容

 [root@gong ~]# touch 1.txt      #創建1.txt文件
[root@gong ~]# mv 1.txt  /opt/      #文件可以直接移動
[root@gong ~]# mkdir oldboy      #在當前目錄下創建目錄
[root@gong ~]# mv oldboy/ /opt/    #移動當前目錄下的oldboy目錄到/opt/目錄下

總結:

1.如果目標是一個目錄,就會把文件放入目錄
2.文件,就會被覆蓋

 

2.4 刪除rm

rm 刪除remove

語法:

-i 交互,再刪除前需要確認
-r 遞歸刪除
-f 強制刪除(force)
-v 顯示刪除的過程
rm +文件 直接可以刪除
rm+目錄 不能直接刪除,需加參數 rm -r
刪文件就最好不加-f,    Linux中沒有回收站,都是永久刪除
最好給rm設置一個別名,禁止使用,再確認一下
禁止使用alias=rm - fr/

要想刪除 加\   

[root@gong ~]# \rm -fr   #前面加\即可直接刪除,不會詢問

[root@gong ~]# rm - fr ./*     #是刪除/目錄下的目錄,文件
[root@gong ~]# rm - fr ./  *  #中間有空格的話,也是會誤操作,直接刪/了

備註:

echo 'alias rm="echo '禁止使用rm'"' >> /etc/bashrc 

source /etc/bashrc 

再執行rm -fr /...

就會出現禁止使用

2.5 cat查看文件內容

cat:查看文件內容,會將文件的所有內容顯示到屏幕

用法: cat[選項]...[文件]

-n 查看內容並顯示行號
-A 顯示文件的結束符和tab鍵,,一行結束和空行都加$, $代表某一行的結束,包含-T -E-V
-E 顯示文件的結束符
-T 顯示文件的tab鍵(^T)
-b 查看內容並顯示行號,空行不顯
> 標準輸出重定向,將目標文件的內容清空,再將輸出結果追加到目標文件
>> 標準輸出追加重定向,將輸出結果追加到目標文件的結尾,不會覆蓋
示例:
[root@gong ~]# echo file1 >>123

[root@gong ~]# cat 123

file1

[root@gong ~]# cat 456

file2

[root@gong ~]# cat 123 456

file1

file2

 

[root@gong ~]# cat  >> zls.txt  << eof          #eof=end of 

eof                                            #eof也可以換成jieshu或者其他,但必須首尾一致

[root@gong ~]# cat zls.txt                     #能獲取到zls.txt的內容

 

瞭解:tac zls.txt

把內容反過來了,按行為單位,倒著顯示內容

2.6 查看命令more和less**

more分頁顯示文件內容

空格或f 向下翻頁
b 向上翻頁
/ 搜索關鍵字
= 顯示當前游標所在行
q 退出
-N(數字) 每頁顯示幾行
+N(數字) 從第幾行開始顯示

顯示完文件內容,會自動退出。

[root@oldboyedu ~]# more /etc/services

不可以操作,回車是下行,空格是翻頁

按q退出
    

less

[root@oldboyedu ~]# less /etc/services

/ + 關鍵字 會高亮顯示
空格或f 向下翻頁
b 向上翻頁
q 退出
n 向下搜索
- N 向上搜索(shift + n) ,給顯示出來的內容加上行號

顯示完文件,不會自動退出,按q退出後,會縮迴文件內容

2.7 查看文件前n行 head

用法:

Head + 文件名

-n: 顯示前n行,n為數字,n後面加數字

預設為前10行

[root@oldboyedu ~]# head /etc/services                    #預設為前10行  

[root@oldboyedu ~]# head -n 20 /etc/services            # Head -n 20       #查看前20行

[root@oldboyedu ~]# head -20 /etc/services        #Head -20         #查看前20行

2.8查看尾部tail

用法:

tail+文件名

預設顯示後10行

-f  :    追蹤文件末尾,相當於tailf

Tailf=tail -f 是一個單獨的命令,追蹤日誌

-F  :實時查看文件內容的更新,當文件不存在時,會一直的嘗試

-n : 顯示前n行,n為數字,n後面加數字

(n也可以不寫,作用一樣)
[root@centos7 ~]# tail -1 /etc/services              #顯示出/etc/servicces的最後一行
matahari        49000/tcp               # Matahari Broker

2.9 grep awk sed三劍客

grep 過濾關鍵字
-n 顯示行號
-o 只顯示關鍵字,不顯示行號 和其他內容
-B 顯示前n行,n為數字(before)
-A 顯示關鍵字的後n行,n為數字(affer)
-C 顯示關鍵字的前後n行,n為數字(center)相當於 -B-A ( -B 1 -A1=-C1顯示關鍵字的前後1行)
-v 取反
-E 支持多關鍵字,中間用|分隔 grep -E=egrep
-i 不區分大小寫,忽略大小寫
^ 以什麼開頭 ‘^root’
$ 以什麼結尾 ‘root\(’ | | ^\)
^[a-z] 以a到z開頭的
. 代表字元
* 代表所有
| 管道符,將前面命令輸出的結果交給後個 ,grep A passwd | grep -v ‘^tss’
獲取IP地址

[root@oldboyedu ~]# ifconfig               #相當於輸入ip a 查詢 ip地址

[root@gong ~]# ifconfig |awk -F '[ :]+' 'NR==2 {print $3}' 

 

[root@oldboyedu ~]# grep '^root' /etc/passwd     #以root為開頭

[root@oldboyedu ~]# grep 'bash$' /etc/passwd     #以bash為結尾


\#以數字的範圍開頭

[root@oldboyedu ~]# grep -n '^[0-9]' passwd 

 

3.0 find文件查找

[root@oldboyedu ~]# find  /   -type d  -name "oldboy"
/root/oldboy
[root@oldboyedu ~]# find  /root   -name "*.txt"  
/root/oldboy.txt
/root/file4.txt
/root/ip.txt
/root/file.txt
/root/file1.txt
/root/file2.txt
/root/file3.txt
[root@oldboyedu ~]# find  /root  -type  f  -name "*.txt"  
/root/oldboy.txt
/root/file4.txt
/root/ip.txt
/root/file.txt
/root/file1.txt
/root/file2.txt
/root/file3.txt

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 只要4個命令,就能讓你的IDE(vs code)在雲端運行。 ...
  • 1 /// 2 /// 根據身份證獲取身份證信息 3 /// 18位身份證 4 /// 0地區代碼(1~6位,其中1、2位數為各省級政府的代碼,3、4位數為地、市級政府的代碼,5、6位數為縣、區級政府代碼) 5 /// 1出生年月日(7~14位) 6 /// 2順序號(15~17位單數為男性分配碼,... ...
  • 1、官網下載 https://dev.mysql.com/downloads/mysql/ 2、解壓到合適的目錄 3、配置環境變數 ①、 path ②、MYSQL_HOME 4、新建一個my.ini 用記事本打開,複製以下代碼, 沒有my.ini 資料庫啟動時無法初始化參數 5.進入MySQL的bi ...
  • 0元玩轉阿裡雲伺服器 0元輕鬆玩轉阿裡雲伺服器,在阿裡雲伺服器上面發佈自己寫的項目,誰還沒有點脾氣。 一、阿裡雲伺服器篇 進入阿裡雲首頁:https://www.aliyun.com 點擊頁面右上角的“免費註冊”,簡單註冊下就OK了。 然後再次進入首頁,最新活動 》新手上路 --》阿裡雲免費套餐 - ...
  • Linux用戶與用戶組 Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。 用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,併為用戶提 ...
  • 回到目錄 二極體加電容還有一個比較經典的用法就是倍壓電路(voltage-multiplier circuits),這個以前在電視機和顯像管中比較常用,現在用得比較少了,我們稍微瞭解一下即可。簡單來說,倍壓電路可以將輸出電壓變為輸入電壓峰值Vm的2倍。其電路圖如下所示 圖 2-6.01 當輸入電壓v ...
  • 1 安裝ubuntu12.04 (如果使用下載明遠智睿的虛擬機,請直接跳到 下載源碼並解壓 這一節)在這裡建議用戶使用64bit的ubuntu12.04的操作系統,已經真機編譯驗證過。 2 安裝JDK1.6 SE 登陸htttp://www。myzr。Com。cn的下載專區,下載jdk-6u45-l ...
  • Fish是一個智能且用戶友好的命令行shell,適用於macOS,Linux和其他家族。fish包含語法突出顯示、根據你鍵入字元自動提示autosuggest-as-type和花式選項卡完成等功能,無需配置。 Banq註:其中autosuggest-as-type是最棒的,因為Linux下鍵入命令有 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...