導航:首頁 > 程序命令 > bash上一條命令

bash上一條命令

發布時間:2023-11-22 03:55:52

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'

❷ linux命令歷史

一、如何查看Linux中各個用戶的歷史操作命令

查看命令歷史用history命令,歷史命令只有在注銷的時候,才會被更新到~/.bash_history這個系統歷史命令記錄文件中;當你下次以bash登錄Linux的時候,系統會主動由當前用戶的~/.bash_history文件讀取歷史命令的記錄。

history命令用法:

history 數字

列出最近的n條命令;

history -w

將目前的歷史記憶的內容強制立即寫入~/.bash_history文件中;

history -c

將目前所有的歷史命令記錄全部清除。

二、如何將Linux系統的歷史操作命令刪除

你好,

1、修改/etc/profile將HISTSIZE=1000改成0或1

清除用戶home路徑下。bash_history

2、立即清空里的history當前歷史命令的記錄

history -c

3、bash執行命令時不是馬上把命令名稱寫入history文件的,而是存放在內部的buffer中,等bash退出時會一並寫入。

不過,可以調用'history -w'命令要求bash立即更新history文件。

history -w

後續操作的刪除命令只會刪除當前用戶的操作命令,並不會影響其他用戶。

在提示符後輸入命令history,就可以查看到當前用戶的歷史操作命令。圖中所示的是目前系統保存到root用戶輸入的377條命令。

在提示符下輸入命令history -c就可以刪除歷史操作命令。再用history命令查看,發現歷史操作命令已刪除。

如果希望系統不再保存歷史操作命令,就必須更改配置文件目錄下的配置文件profile。首先使用vi編輯器打開該文件。

找到HISTSIZE這個值,默認情況下歷史命令將保存1000條,可以將該值改為0,然後保存並退出,最後重啟系統使得配置文件生效。

6重啟完成後,再次使用命令history查看,發現系統已不再記錄命令。

三、linux怎麼樣顯示命令歷史後又顯示命令的輸入時間

linux的bash內部命令history就可以顯示命令行的命令歷史,默認環境執行 history

命令後,通常只會顯示已執行命令的序號和命令本身。

如果想要查看命令歷史的時間戳,那麼可以執行:

# export HISTTIMEFORMAT='%F %T '

# history | more

1 2008-08-05 19:02:39 service work restart

2 2008-08-05 19:02:39 exit

3 2008-08-05 19:02:39 id

這樣顯示的格式就變成,序號 - 時間 - 命令行。

history的其他的一些基本功能:

1、使用 HISTSIZE 控制歷史命令記錄的總行數

將下面兩行內容追加到 .bash_profile 文件並重新登錄 bash shell,命令歷史的記錄數將變成 450

條:

# vi ~/.bash_profile

HISTSIZE=450

HISTFILESIZE=450

2、使用 HISTFILE 更改歷史文件名稱

默認情況下,命令歷史存儲在 ~/.bash_history 文件中。添加下列內容到 .bash_profile 文件並重新登錄

bash shell,將使用 mandline_warrior 來存儲命令歷史:

# vi ~/.bash_profile

HISTFILE=/root/mandline_warrior

3、使用 HISTCONTROL 從命令歷史中剔除連續重復的條目

在下面的例子中,pwd 命令被連續執行了三次。執行 history 後會看到三條重復的條目。要剔除這些重復的條目,可以將

HISTCONTROL 設置為 ignoreps:

# export HISTCONTROL=ignoreps

4、使用 HISTCONTROL 清除整個命令歷史中的重復條目

上例中的 ignoreps 只能剔除連續的重復條目。要清除整個命令歷史中的重復條目,可以將 HISTCONTROL 設置成

eraseps:

# export HISTCONTROL=eraseps

5、使用 -c 選項清除所有的命令歷史

如果你想清除所有的命令歷史,可以執行:

# history -c

6、使用 HISTIGNORE 忽略歷史中的特定命令

下面的例子,將忽略 pwd、ls、ls -ltr 等命令:

# export HISTIGNORE=」pwd:ls:ls -ltr:」

四、請問linux的history指令如何顯示全部的歷史記錄

history命令可以用來顯示曾執行過的命令。

執行過的命令默認存儲在HOME目錄的.bash_history文件中,可以通過查看該文件來獲取執行命令的歷史記錄。需要注意的是.bash_history不包含當前會話所執行的命令,執行過的命令在關機時才會寫入文件,除非執行命令history -w。

了解linux基礎命令,另外你是感興趣的話可以看下劉遄老師寫的《Linux就該這么學》作為入門的書籍,覺得不錯的話採納下哦~。

五、linux 查看當前系統默認可以記住用戶多少個歷史命令用什麼命令

可以使用History命令,主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。

1、History命令語法:

[test@linux]# history [n]

[test@linux]# history [-c]

[test@linux]# history [-raw] histfiles

參數:

n:數字,要列出最近的 n 筆命令列表

-c:將目前的shell中的所有 history 內容全部消除

-a:將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,

則預設寫入 ~/.bash_history

-r:將 histfiles 的內容讀到目前這個 shell 的 history 記憶中

-w:將目前的 history 記憶內容寫入 histfiles

Linux系統在shell(控制台)中輸入並執行命令時,shell會自動把命令記錄到歷史列表中,一般保存在用戶目錄下的.bash_history文件中。默認保存1000條,也可以更改這個值。

如果鍵入history, history會顯示所使用的前1000個歷史命令,並且編了號,會看到一個用數字編號的列錶快速從屏幕上卷過。可能不需要查看1000個命令中的所有項目, 當然也可以加入數字來列出最近的 n 筆命令列表。

linux中history命令不僅僅可以查詢歷史命令而已. 還可以利用相關的功能來幫執行命令。

2、運行特定的歷史命令

history會列出bash保存的所有歷史命令,並且編了號,可以使用「嘆號接編號」的方式運行特定的歷史命令.

語法說明:

[test@linux]# [!number] [!mand] [!!]

參數說明:

number :第幾個指令的意思;

mand:指令的開頭幾個字母

! :上一個指令的意思!

3、History命令實戰

列出所有的歷史記錄:

[test@linux] # history

只列出最近10條記錄:

[test@linux] # history 10 (注,history和10中間有空格)

使用命令記錄號碼執行命令,執行歷史清單中的第99條命令

[test@linux] #!99 (!和99中間沒有空格)

重復執行上一個命令

[test@linux] #!!

執行最後一次以rpm開頭的命令(!? ?代表的是字元串,這個String可以隨便輸,Shell會從最後一條歷史命令向前搜索,最先匹配的一條命令將會得到執行。)

[test@linux] #!rpm

逐屏列出所有的歷史記錄:

[test@linux]# history | more

立即清空history當前所有歷史命令的記錄

[test@linux] #history -c

除了使用history命令,在 shell 或 GUI 終端提示下,也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會向前翻閱),直到找到所需命令為止。這可以很方便地編輯前面的某一條命令,而不用重復輸入類似的命令。

❸ bash shell的特性有哪些

命令歷史:shell進程會在會話中保存此前用戶提交執行過的命令;

❹ linux中Shell歷史命令記錄文件的路徑是什麼

路徑/etc/bashrc。在 Linux 下面可以使用 history 命令查看用戶的所有歷史操作,同時 shell 命令操作記錄默認保存在用戶目錄的 .bash_history 文件中。通過這個文件可以查詢 shell 命令的執行歷史。

代碼如下:

HISTFILESIZE=4000

HISTSIZE=4000

HISTTIMEFORMAT='%F %T'

export HISTTIMEFORMAT

注意:

HISTFILESIZE 表示在 .bash_history 文件中保存命令的記錄總數,默認值是 1000;

HISTSIZE 定義了 history 命令輸出的記錄總數;

HISTTIMEFORMAT 定義了時間顯示格式,該格式與 date 命令後的 「+"%F %T"」 是一樣的;

HISTTIMEFORMAT 作為 history 的時間變數將值傳遞給 history 命令。

(4)bash上一條命令擴展閱讀:

顯示歷史命令

history 顯示全部歷史

history 數字 顯示之前執行過的若干命令,例:history 2 顯示執行過的上兩條命令

使用上下箭頭鍵也可以查看上一條根下一條命令,

3.運行歷史命令

!! 運行上一條命令

!88 運行第88條命令

!88 /test 運行第88條命令並在命令後面加上/test

!?CF? 運行上一個包含CF字元串的命令

!ls 運行上一個ls命令

!ls:s/CF/l 運行上一個ls命令,其中把CF替換l

fc 編輯並運行上一個歷史命令

fc 66 編輯並運行第66個歷史命令

fc -e /usr/bin/vim 66 使用vim編輯第66個命令並運行

❺ Linux文件管理與bash特性有哪些

一.Linux 文件管理類命令
我把文件管理類命令分為四種,也就是我們常說的CRUD 增刪改查
1.2.1 創建類命令
1、touch 命令
touch 命令雖然是修改文件元數據的時間戳,但是如果 touch 命令後面沒有加選項 而且這個命令所指向的文件不存在,那麼默認就是創建一個touch 後面跟參數的文件 例如:
touch /PATH/TO/SOMEFILE
touch 更新文件的timestarp
-a 更新atime為當前時間
二 、bash 工作特性
bash工作特性主要有以下幾點,我們一一說明
1、 命令行展開
~ 和 {}
~ 我們之前已經使用過,就是管理員可以通過 cd ~ USERNAME到用戶的家目錄
2、命令別名
alias 和 unalias
我們可以使用alias 來創建命令別名
3、命令歷史
history 之前講過,主要就是通過history 查看命令歷史,包括可以用
!STRING 的形式調用之前執行的命令
!! 執行上一條命令
4、文件名通配
文件名通配之前精講過,這里只是總結,只要記住那些通配符即可
5、快捷鍵
bash 命令的快捷鍵 Ctrl + a Ctrl +e 等等
6、命令補全機制
7、路徑補全機制
在用戶所制定的起始位置進行查找 更多更詳細的介紹可查看《Linux就該這么學》。

閱讀全文

與bash上一條命令相關的資料

熱點內容
有什麼好玩的文娛app 瀏覽:807
python教學合集 瀏覽:955
有什麼好用的小眾app嗎 瀏覽:116
芋道app源碼 瀏覽:447
計算機程序員怎麼找 瀏覽:280
智聯發pdf 瀏覽:236
c語言編譯錯誤變黑 瀏覽:72
手機軟體加密了怎麼解開 瀏覽:887
linux中的ln命令例子 瀏覽:142
為什麼玩cf第一次進入伺服器很慢 瀏覽:967
工作單源碼 瀏覽:619
安卓如何關閉app自動升級 瀏覽:137
new文件夾怎麼打開 瀏覽:633
安卓51如何優化 瀏覽:177
活塞式壓縮機原理圖 瀏覽:846
水環式壓縮機工作原理 瀏覽:716
阿里雲伺服器安裝後怎麼使用 瀏覽:935
去做APP開戶有什麼危險沒得啊 瀏覽:698
8分之1乘58演算法 瀏覽:172
php提交過濾 瀏覽:358