Linux基本指令(持續更新中..)
部分快捷鍵:
ctrl+c 強制結束當前運行程序,終止命令
ctrl+d 結束當前運行程序
先按ESC然後按. 或者同時按住ALT和. 則輸入上一條命令的最後一個參數,與!$相同
Ctrl+l 清屏,相當於clear命令
Ctrl+o 執行當前命令,並重新顯示本命令
Ctrl+s 阻止屏幕輸出,鎖定
Ctrl+q 允許屏幕輸出
Ctrl+z 掛起命令
A
- alias:別名,直接輸入顯示當前已有的別名。
alias #### = ‘VALUE‘, 定義別名,相當於輸入####就執行VALUE
在命令行中定義的別名,僅僅對當前shell進程有效,如果想要永久有效,則定義寫入到配置文件中
但是註意寫入配置之後並未寫入內存,並不會立即生效,如果想要立即生效,可以用 . ~/bashrc 或者 source ~/bashrc,註意.命令和路徑中間有空格:
/etc/bashrc下的更改對所有用戶有效。
unalias #### :取消別名(永久取消也得在~/.bashrc中修改)
unalisa -a :取消所有別名
註意:如果別名定義的和其他命令重名,則優先執行別名(因為優先級別名最高),如果想要取消它,可以刪除別名
如果只是暫時用它原本的用法,則可以用 ‘###‘ 或者"####"或者 #### 或者 command ######,或者直接執行他的路徑,21:04[root@centos7 ~]# alias hostname=‘echo hello world‘ 21:05[root@centos7 ~]# hostname hello world 21:05[root@centos7 ~]# ‘hostname‘ centos7.6test 21:05[root@centos7 ~]# \hostname centos7.6test 21:05[root@centos7 ~]# which hostname alias hostname=‘echo hello world‘ /usr/bin/echo 21:05[root@centos7 ~]# whereis hostname hostname: /usr/bin/hostname /etc/hostname /usr/share/man/man7/hostname.7.gz /usr/share/man/man1/hostname.1.gz /usr/share/man/man5/hostname.5.gz 21:06[root@centos7 ~]# /usr/bin/hostname centos7.6test
B
- bc:linux中的計算器命令。
用法:直接輸入bc ,然後用obase(輸出進制)和ibase(輸入進制),輸入要轉換到的進制和數值,來控制輸入輸出結果
如果什麽都不寫直接輸入數值,就是以10進制為基礎的 。 退出用quit指令。obase=2 1234 10011010010 quit
C
- cat:輸出文本文件內容,後面跟上文件地址。如果跟上二進制文件則會亂碼。
註意和輸出字符串的echo區分,echo它後面跟上字符串(或者變量保存的字符串內容,但變量前面需要加上${}輸出其中的內容,其中花括號可以不寫
註意:對於反向單引號,經測試反向單引號`中只寫入變量並不能顯示其中內容,系統的錯誤解釋中說反向單引號中內容不是命令,說明裏面只能輸入命令,變量則作為命令的參數
cat /etc/shells;
cat /etc/motd;
cat /etc/profile.d/evn.sh;
cat /etc/profile;
cat /etc/issue;
-
clock :查看硬件時鐘
clock -s: 把硬件時鐘寫到系統時間上
clock -w: 把系統時間寫到硬件時鐘上 - cal:查看日歷 可以指定某年某月 cal 9 1752 ; cal MM YYYY
D
-
date:查看系統時間,也可以更改等等,詳細和用法可以查看help。
有個快捷更改時間格式,用阿拉伯數字 MMDDhhmmYYYY.ss
date -s "YYYY-MM-DD hh:mm:ss"這樣也可以設置所有的時間 - df:查看硬件
E
- echo:輸出其後的字符串(可用${}內加變量輸出變量內保存的字符串,花括號可以不寫)。
echo $PS1;
echo $SHELL;
echo $PATH;
echo $LANG
echo 後面什麽都不加和 加雙引號(弱引用)功能一樣,只把後面的變量替換(變量前面要加上變量內容引用符$)
echo 後面加上單引號(強引用)則吧單引號內的所有內容全部當做字符
echo後面加上反向分號,則是先運算反向分號中間的內容(優先級最高,相當於數學中的小括號,裏面的命令和變量都會轉換),然後再運算外部的內容
註:反向單引號也相當於$(####)
21:08[root@centos7 ~]# echo echo $PS1
echo \[\033[01;35m\]\A[\u@\h \w]\$\[\033[00m\]
21:08[root@centos7 ~]# echo "echo $PS1"
echo \[\033[01;35m\]\A[\u@\h \w]\$\[\033[00m\]
21:09[root@centos7 ~]# echo ‘echo $PS1‘
echo $PS1
21:09[root@centos7 ~]# echo `echo $PS1`
\[\033[01;35m\]\A[\u@\h \w]\$\[\033[00m\]
21:12[root@centos7 ~]# echo `echo ‘$PS1‘`
$PS1
21:12[root@centos7 ~]# echo ‘ehco `$PS1`‘
ehco `$PS1`
echo後面可以加花括號,其中的元素之間加上兩個..表示連續範圍(也可以限定跳躍間隔)
或者加不連續範圍的數據(花括號內用逗號隔開)則可以組合。如下:
21:12[root@centos7 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
21:13[root@centos7 ~]# echo {1..10.2}
{1..10.2}
21:13[root@centos7 ~]# echo file{1,4,a,d}.{log,txt}
file1.log file1.txt file4.log file4.txt filea.log filea.txt filed.log filed.txt
- enable :查看和啟動內部命令 ,禁用用 enable -n #### , 查看禁用的命令用 enable -n.
F
G
H
- hostname:查看主機名
- help:查看內部命令列表,幫助等等功能
- hash:內部命令,緩存到內存中的命令路徑表,一旦註銷便清空。
hash -l 更詳細顯示路徑和命令。
hash -d #### 刪除掉存儲的hash這一條命令路徑
hash -r 刪除掉所有的 - halt:關機
- history:查看執行過的歷史命令行
其中變量HISTSIZE控制輸出的歷史行數,可以在/etc/profile中修改(開機永久修改,內存中臨時修改則直接HISTSIZE=####即可)
剛剛執行過的命令的歷史都存放在內存中,只有當系統正常退出的時候,才會把內存中的歷史命令存放在家目錄下的一個文件中.bash_history
如果不正常退出,則會丟掉一部分歷史數據。
命令歷史參數等操作:
歷史搜索:
調用歷史命令中的參數:
!string:可以不用打全部,但執行的是history中離得最近的那一個以###開頭的命令。 !?string:同理也是離得最近的那一個包含####的命令。
history -c:清空內存中的歷史,但並不清除文件中保留的歷史。這樣下次開機的時候會丟失與上一次開機後輸入清空歷史命令前的不同的歷史命令。
更多用法參照幫助。
與歷史相關的一些環境變量,建議存在/etc/profile.d/evn.sh中,這樣不會影響系統原先的文件內容:
I
- ifconfig :用來查看網絡配置信息
- id -u :查看當前用戶的ID編號,管理員為0 其他用戶不是0.(id -u zhang)
- init 阿拉伯數字: 切換工作模式 查看幫助獲取
init 3:字符界面 init 5:圖形界面 init 0 :關機 init 6:重啟
註意:這個切換可以把圖形界面完全關閉,而ctrl+alt+F# 只是增加了一個終端
J
K
- kill ####:殺掉進程
L
- ls :查看當前目錄下的文件
ls -a:查看所有包括隱藏
ll:列表方式查看
更多用法查看幫助
M
- makewhatis(centos6) mandb(centos7):whatis生成
N
- nano:簡單的文本編輯 後面直接跟文本路徑即可
O
P
- poweroff:關機
- ping
Q
- quit:退出
R
- reboot:重啟
- runlevel:查看當前和上一個工作模式
- rpm -ivh:後面跟安裝包,裝程序
S
- shutdown [option] [time] [message]:關機,默認是1分鐘之後關機,查看幫助獲取更多信息。
shutdown -r:重啟 -h :halt -c:cancel
time:默認1分鐘 ,now:立刻關機 +m:相對幾分鐘之後關機 hh:mm:絕對時間關機 -
screen:多用戶共同連接投屏,查看幫助獲取更多信息
screen有一個很好的功能就是可以用它在遠程操作萬一掉線時候,裏面的命令仍然在運行不會丟失
screen -S(大寫) ####:創建####名字的session
screen -x(小寫)####:加入已經創建的session,並且是多用戶公用單屏模式 (####可以是編號也可以是點後面的名字)
screen -r(小寫)[####]: 返回session(針對單個用戶來說),如果screen裏面有用戶 ,則用screen -r 進不去 只能用-x
快捷鍵:ctrl+a 先按 然後再按一下d 短暫退出這個screen
exit:退出並關閉screen
screen -ls:顯示所有的screen
screen -d:退出screen(所有已經連接上的都會退出)
kill ####:殺掉screen,需要先查詢編號或者名字 - source:和一個.作用相同,使文件生效。
T
- tty:查看當前設備分配的終端號 比如 /dev/tty3
- type:查看命令的類型
- timedatectl:查詢時區信息(可以打出time然後連按兩次tab獲取time後面可以補全的命令列表,註意題麽後面不要加空格)
timedatectl list-timezones(連按兩次tab補全後面的信息),可以查看所有的時區列表
timedatectl set-timezones ######:設置時區 - touch :創建文件,後面直接跟路徑和文件名稱
21:19[root@centos7 ~]# touch /data/`date +%F`.log 21:20[root@centos7 ~]# ls /data -a . .. 2019-03-08.log
U
1.uname -r :查看本機的linux內核版本:
V
W
- whoami:查看當前的用戶賬戶
- who am i 查看當前用戶和終端以及登錄信息
- who查看當前所有用戶和終端等詳細信息。
who -b: 查看系統啟動的時間 -
w :現實更全的用戶,終端,CPU,以及用戶的當前進行的操作等信息。
21:20[root@centos7 ~]# whoami root 21:23[root@centos7 ~]# who am i root pts/0 2019-03-08 18:58 (192.168.36.1) 21:23[root@centos7 ~]# who root pts/0 2019-03-08 18:58 (192.168.36.1) 21:23[root@centos7 ~]# w 21:23:59 up 2:26, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.36.1 18:58 7.00s 0.33s 0.05s w
- which :查看命令的路徑位置,並標準輸出,它本身是一個別名
- whereis: 查看文件的路徑位置,它不僅能輸出命令(命令也是文件)的位置,還有命令幫助等的位置,也能查找其他普通文件。(which只能查看命令的路徑)
- whatis:簡單的查詢幫助,但是如果系統剛剛裝好可能用不了。需要自己啟動它 Centos6裏面是用 makewhatis centos7裏面 用mandb
X
Y
Z
Linux基本指令(持續更新中..)