⑴ linux系統入門-Bash
Shell 是一種命令行解釋器, 其讀取用戶輸入的字元串命令, 解釋並且執行命令;它是一種特殊的應用程序, 介於系統調用/庫與應用程序之間, 其提供了運行其他程序的的介面;它可以是互動式的, 即讀取用戶輸入的字元串;也可以是非互動式的, 即讀取腳本文件並解釋執行, 直至文件結束. 無論是在類 UNIX, Linux 系統, 還是 Windows, 有很多不同種類的 Shell: 如類 UNIX, Linux 系統上的 Bash, Zsh 等; Windows 系統上的 cmd, PowerShell 等.
Bash 是 Bourne Again SHell 的縮寫, 是 GNU 計劃中的 Shell, 也是一些類 UNIX 系統與多數 Linux 發行版的默認 Shell
使用Shell可以實現對Linux系統實現絕大部分的管理,例如:
#獲取當前時間
[root@CentOS7 ~]# date
Mon Mar 15 22:59:47 CST 2021
#創建文件
[root@CentOS7 opt]# touch xcz
[root@CentOS7 opt]# ll
-rw-r--r--. 1 root root 0 Mar 15 23:01 xcz
#創建一百個文件,我們一般就會使用shell script進行創建
[root@CentOS7 opt]# cat touch.sh
#!/bin/bash
for n in `seq 100`;do
touch xcz$n &&
echo "文件xcz$n創建成功哦!"
done
[root@CentOS7 opt]# sh touch.sh
命令行輸入方式:效率較低,適用於工作量不大的工作;
shell script 腳本方式:效率高,適用於工作量大且復雜的工作。
[root@CentOS7 opt]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
'#39; = 普通用戶
'#' = root用戶(超級管理員)
#查看當前用戶
[root@CentOS7 ~]# whoami
root
#查看當前命令提示符
[root@CentOS7 ~]# echo $PS1
[u@h W]$
root:當前系統的用戶
CentOS7:當前系統的主機名
~:當前所在的位置
#:超級管理員身份(root用戶)
$:普通用戶
提示符參數及含義
d :代表日期;
H :完整的主機名稱
h :僅取主機名中的第一個名字
:顯示時間為24小時格式,如:HH:MM:SS
T :顯示時間為12小時格式
A :顯示時間為24小時格式:HH:MM
u :當前用戶的賬號名稱
v :BASH的版本信息
w :完整的工作目錄名稱
W :利用basename取得工作目錄名稱,只顯示最後一個目錄名
# :下達的第幾個命令
$ :提示字元,如果是root用戶,提示符為 "#" ,普通用戶則為 "#34;
#顏色
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
PS1='[e[32;40m] [[u@h w ]$ [e[0m]'
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@h [e[36;40m]w[e[0m]]$ "
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#提示符的應用
[root@CentOS7 ~]# vi .bashrc
#最後一行下面添加
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#使用source生效
[root@CentOS7 ~]# source .bashrc
#命令 選項 參數
command [-options] [arguments]
[root@CentOS7 ~]# ls -l /opt/
#命令:整條shell命令的主體
#選項:用於調節命令的具體功能
#以'-'引導段個事選項(單個字元),例如」-l「
#以'--'引導長格式選項(多個字元),例如」--list「
#多個短格式選項可以卸載一起,只用一個」-「引導,例如」-la「
#參數:命令操作與偶的對象,如文件、目錄名等
#命令必須開頭,選項和參數位置可以發生變化
我們在使用Linux系統進行查找一個多層級的文件時,我們可以使用鍵盤上的Tab鍵進行快速補全
補全的形式有:
#如果我們忘記網路配置文件具體路徑,那麼我們就可以使用補全的形式進行配置
[root@CentOS7 ~]# vi /etc/sysconfig/
anaconda cpupower grub irqbalance moles/ rdisc selinux
authconfig crond init kmp netconsole readonly-root sshd
cbq/ ebtables-config ip6tables-config kernel network rsyslog wpa_supplicant
console/ firewalld iptables-config man-db network-scripts/ run-parts
[root@CentOS7 ~]# vi /etc/sysconfig/network
network network-scripts/
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/if
ifcfg-ens33 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-
ifcfg-ens33 ifcfg-lo
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
#如果你的Linux系統無法進行補全,那麼咱們可以安裝一個擴展包即可
[root@CentOS7 ~]# yum install -y bash-completion
clear #或者用快捷鍵 ctrl + l
ctrl+c #有些程序也可以用q鍵退出
ctrl+z # 進程會掛起到後台
bg jobid # 讓進程在後台繼續執行
fg jobid # 讓進程回到前台
Ctrl鍵+a #將當前游標移動到命令行的行首
Ctrl鍵+e #將當前游標移動到命令行的行尾
Ctrl鍵+u #將當前游標之前的所有字元剪切
Ctrl鍵+k #將當前游標之後的所有字元剪切
Ctrl鍵+w #將當前游標之前的字元剪切,以空格為結尾
Ctrl鍵+d #退出當前會話窗口
Ctrl鍵+z #將當前前台運行的程序,放到後台運行
Ctrl鍵+r #搜索 歷史 命令
Ctrl鍵+y #粘貼剪切板上的內容
Ctrl鍵+左右方向鍵 #向指定的方向鍵移動一組字元,以空格為分隔符
ESC鍵+. #使用上一條命令的最後的參數或者路徑,以空格為分隔符,空格之後的內容,delete鍵 從前往後刪除一個字元
!命令 #執行最近的一次以該命令為開頭的命令
!! #執行上一條命令
#使用格式:
[命令] + [--help] 或者[man] + [命令] 即可
#例如touch命令幫助
[root@CentOS7 ~]# touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create do not create any files
-d, --date=STRING parse STRING and use it instead of current time
-f (ignored)
-h, --no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
timestamps of a symlink)
-m change only the modification time
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help display this help and exit
--version output version information and exit
Note that the -d and -t options accept different time-date formats.
GNU coreutils online help:
For complete documentation, run: info coreutils 'touch invocation'
⑵ 8,Linux中實現命令自動補全可用哪個鍵:A,Alt B,TAB C,F1 D,Ctrl
Linux中實現命令自動補全可用TAB鍵,應該選擇B。
⑶ Linux終端命令快捷鍵
Linux終端命令快捷鍵匯總
相信很多Linux桌面用戶都對使用Linux終端感到反感,其實它沒大家想的那麼復雜,很多常見操作都可以直接在終端中進行。特為大家匯總了提升終端命令執行效率的快捷操作,希望能幫助你學習和提升效率。
移動定位游標
在終端中移動游標和定位似乎非常不便,其實不是你想的那樣,有很多種方式可以讓鍵盤成為你的好朋友,只是需要掌握正確的方法而已。
定位單詞
在長段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速將游標定位到命令中單詞的首字母或末尾,實現在各單詞之間的快速跳動定位。
你可以試著在終端中輸入 apt-get install build-essential 命令後,按 Ctrl+ 左鍵或 Ctrl + 右鍵來試試效果。
定位行首和行尾
定位到命令行首可以使用 Ctrl + A,行尾則使用 Ctrl + E 快捷鍵。
清除部分、全部或整行
使用 Ctrl + K 快捷鍵可以將當前游標位置之後的所有部分快速清除,Ctrl + W 可以清除當前游標位置之前的一個單詞,而 Ctrl + U 則可以直接剛整行命令直接清除。
自動補全命令或路徑
tab 鍵可以直接補全命令和路徑,讓我們免去很多輸入錯誤的可能。當然,在命令記不全時,只需輸入幾個首字母即可用 tab 鍵來補,還是十分方便的'。
例如:要在 Ubuntu 安裝軟體,只需輸入 apt-get ins 按 tab 之後即可被補全成 apt-get install。
切換最近使用的命令
在Linux 的終端歷史記錄中會記下用戶執行過的命令,用戶只需按鍵盤的 ↓、↑ 上下箭頭即可快速切換執行過的命令。
復制前行
!! 雙驚嘆號直接表示上一行命令,例如要用 sudo 重復執行上一條命令,無需再輸一遍,只需執行如下命令即可:
1. sudo !!
執行指定歷史命令
若你想重復執行的命令不是「上一條」,則不能再使用 !! 了。此時使用 ! 跟上要重復執行的前述命令開頭即可。
復制前一個參數
將文件夾復制並粘貼到新路徑後,你可能還要在目錄中進行其它操作,此時可以這樣切換:
1. cd !$
其中的 !$ 表示上次使用的參數,通常只用於目錄。
目錄導航
在Linux 終端中進行目錄導航和切換還是使用 cd 命令,下面介紹一些 cd命令的常見操作。
導航到特殊文件夾
在Linux 中操作文件夾時輸入路徑就是一個苦差事,但若你是通過桌面登錄系統的話,可以直接將要指定的文件夾拖入終端窗口,而不必手動輸入路徑。
回到上級目錄
與Windows 一樣,使用 cd.. 即可。如果要在父目錄的各文件夾之間進行切換,使用 ../文件夾名即可。
回到上個目錄
如果你操作到一半時,需要返回上個進入過的目錄,可以使用 – 破折號:
1. cd -
其它目錄導航操作
cd 返回家目錄
pwd 查看當前目錄
cd / 回到根目錄(需要有許可權)
多任務
執行多條命令
要在 Linux 終端中同時執行多個任務,只需用 && 符號將多條命令串連起來即可,例如:
1. apt-get update && apt-get upgrade
命令失敗備用
&& 只會在前面一條命令執行成功時才會繼續執行後續命令,如果你想在首條命令執行失敗時提供備用命令,只需將&& 替換為 || 即可。
後台執行任務
在任意 Linux 命令最後加上 &符號即可將此任務丟到後台去執行,比較適合運行時間較長的任務。對於後台執行的任務可以使用jobs 命令進行顯示查看,也可以用 kill 將其幹掉或用fg 命令將其挪到前台.
;⑷ linux中幾個有用的快捷鍵
游標移動
Ctrl + a切換到命令行開始
Ctrl + e切換到命令行末尾
剪切粘貼
Ctrl + u清除(剪切)游標之前的內容
Ctrl + k清除(剪切)游標之後的內容
ctrl + y粘貼
esc + f把游標移動到單詞的結尾
esc + b把游標移動到單詞的開頭
ctrl + b游標向左移動一個符號的位置
ctrl + f游標向右移動一個符號的位置
命令查詢
Ctrl + r查找(歷史命令)。 history|grep
ctrl + pprevious ↑上一個命令
ctrl + nnext ↓下一個命令
其他類型
Ctrl + c終止當前命令或腳本
Ctrl + d退出當前shell,相當於exit logout,一個個刪除游標後字元。
Ctrl + l清除屏幕內容,相當於clear。
tab所有命令及路徑補全功能,一般要多按幾下
esc + .引用/使用上一個命令的最後一個參數(結尾)
#SecureCRT快捷鍵
Ctrl+shift+c命令行復制內容
Ctrl+shift+v命令行粘貼內容
#Xshell快捷鍵
Shift+insert粘貼
Ctrl+insert復制
⑸ linux補全命令用哪個鍵
補全命令是Tab鍵
⑹ linux系統有哪些快捷鍵
CentOS 6.4 中可以通過系統->首選項->鍵盤快捷鍵來設置快捷鍵,如圖所示。例如可將運行終端的快捷鍵設為Ctrl+Alt+T。
Ctrl + u 刪除游標之前到行首的字元
Ctrl + k 刪除游標之前到行尾的字元
Ctrl + c 取消當前行輸入的命令,相當於Ctrl + Break
Ctrl + a 游標移動到行首(ahead of line),相當於通常的Home鍵
Ctrl + e 游標移動到行尾(end of line)
Ctrl + f 游標向前(forward)移動一個字元位置
Ctrl + b 游標往回(backward)移動一個字元位置
Ctrl + l 清屏,相當於執行clear命令
Ctrl + r 顯示:號提示,根據用戶輸入查找相關歷史命令(reverse-i-search)
Ctrl + w 刪除從游標位置前到當前所處單詞(word)的開頭
Ctrl + t 交換游標位置前的兩個字元
Ctrl + y 粘貼最後一次被刪除的單詞
Ctrl + Alt + d 顯示桌面
Alt + b 游標往回(backward)移動到前一個單詞
Alt + d 刪除從游標位置到當前所處單詞的末尾
Alt + F2 運行
Alt + F4 關閉當前窗口
Alt + F9 最小化當前窗口
Alt + F10 最大化當前窗口
Alt + Tab 切換窗口
Alt +按住左鍵 移動窗口(或在最下面的任務欄滾動滑鼠滑輪) 更多介紹可查閱《Linux就該這么學》。
⑺ linux 「命令行自動補全」功能用命令行怎麼寫
按Tab鍵,左上角ESC的下面兩個,如果當前目錄只有一項,只需要直接Tab,如果有多項,輸入前面不同的部分再Tab。解決方法如下:
1、首先打開LINUX的操作系統,在左邊任務欄裡面找到終端,滑鼠左鍵點擊打開終端命令窗口。
⑻ linux命令自動補全工具bash-completion,自動補全git、Docker、kubenetes等命令
在 Linux 命令行中,當輸入字元後,按Tab 鍵,Shell 就會列出以這些字元開頭的所有可用命令,如果只有一個命令匹配到,按一次 Tab 鍵就自動將這個命令補全。
如果輸入pass,此時按 Tab 鍵,因為以pass開頭的命令只有passwd這個命令, Shell 就會自動補全 passwd 命令。
另外如果輸入的字元匹配多個命令則會列出所有可用的命令,比如,如果輸入do,此時按 Tab 鍵 Shell 就會自列出可用的命令。
但是系統自帶的命令補全功能有限,自動補全功能僅限於命令和文件名。
可以安裝 Bash 命令補全增強軟體包 bash-completion來實現更多命令的補全。
以Centos為例
直接通過yum命令安裝
bash-completion版本信息
配置命令補全
命令補全的腳本存放在/usr/share/bash-completion/completions/目錄,可以在這個目錄查看支持增強補全功能的命令。
再試試輸入docker命令後按tab鍵:
可以看到後續可用命令的提示,媽媽再也不用擔心我記不住命令了。
同樣對於kubenetes也可以實現命令的自動補全和提示:
如果是在安裝bash-completion之後安裝git是不能自動命令補全,需要手動進行一些配置。
git安裝之後文檔里會有git-completion.bash文件
安裝完git之後重新source一下bash-completion
看看配置之後的效果
如果覺得有用記得收藏點贊
⑼ 5. Linux的vi/vim使用及常用快捷鍵
命令行下,輸入vim xxx.c就會進入vim一般模式,並開始編輯這個xxx.c的文件。
使用vim xxx.c就會默認進入vim一般模式。
在一般模式下,按下i鍵就會進入編輯模式,也稱INSERT MODE(插入模式)。
編輯模式中,按ESC鍵會退出編輯模式回到一般模式。
按下:鍵就會進入命令模式。
按下ESC鍵回到一般模式。
命令模式下,輸入
:wq 這個命令再按回車鍵就會保存並退出vim(write and quit)
:q 退出vim(不會保存)
:q! 強制退出vim(不會保存)
yy 拷貝當前行
5yy 拷貝當前行及下面一共5行
p 粘貼
dd 刪除當前行
4dd 刪除當前行及下面一共4行
G 定位到最後一行
gg 定位到第一行
快速定位到指定行號:輸入一個數字然後按下G(shift+g)
u 撤銷前一個操作
/xx 按下回車就會在文件中查找xx,查到會高亮第一個字元,按n會查找下一個xx
:set nu 顯示行號
:set nonu 取消顯示行號
⑽ linux提示命令快捷鍵是什麼
首先,linux提示命令的快截鍵是 TAB鍵,在鍵盤的左側,一般在capslock鍵的上面。比如你輸入his,然後按一下tab鍵,就會出現his開頭的命令,如下圖所示。使用TAB鍵,一般來說,在訪問文件夾的時候非常好用,它會自動補全路徑名。
其次,在Linux的命令行上有很多種方法提高輸入效率。比如
有 4 種方法可以重復執行上一條命令:
1、使用上方向鍵,並回車執行。
2、按 !! 並回車執行。
3、輸入 !-1 並回車執行。
4、按 Ctrl+P 並回車執行。
Ctrl+R 快捷鍵讓你對命令歷史進行搜索,對於想要重復執行某個命令的時候非常有用。當找到命令後,通常再按回車鍵就可以執行該命令。如果想對找到的命令進行調整後再執行,則可以按一下左或右方向鍵。
再次,如果之前輸入過相應的命令,可以通過history這個命令來查找到,並再次重復執行。示例如下:
# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4