一谈为、簡(jiǎn)單命令
1、date命令
- 顯示和修改時(shí)間
[root@centos6 ~]#date ---顯示時(shí)間
Mon Jul 17 20:23:54 CST 2017
[root@centos6 ~]#date 071720242017.30 ---修改時(shí)間踢关,時(shí)間格式為月日小時(shí)分年.秒
Mon Jul 17 20:24:30 CST 2017
[root@centos6 ~]#date "+%F %T" ---顯示目前時(shí)間格式
2017-07-17 20:47:36
[root@centos6 ~]#date -d -10day +%A ---顯示10天前是星期幾
Friday
- 和服務(wù)器172.18.0.1時(shí)間同步
[root@centos6 ~]#ntpdate 172.18.0.1
17 Jul 20:31:33 ntpdate[7744]: step time server 172.18.0.1 offset 37.359560 sec
- 顯示硬件時(shí)間
[root@centos6 ~]#clock
Mon 17 Jul 2017 08:33:35 PM CST -0.799711 seconds
選項(xiàng)
-w 以系統(tǒng)時(shí)間為準(zhǔn)
-s 以硬件時(shí)間為準(zhǔn)
- 顯示日歷
[root@centos6 ~]#cal
July 2017
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
[root@centos6 ~]#cal 08 2008---顯示某年某月日歷
August 2008
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
- 調(diào)整時(shí)區(qū)
[root@centos7 ~]#date
Mon Jul 17 20:57:21 CST 2017 ---目前時(shí)區(qū)
[root@centos7 ~]#timedatectl list-timezones ---查看時(shí)區(qū)
[root@centos7 ~]#timedatectl set-timezone Africa/Abidjan---修改時(shí)區(qū)
[root@centos7 ~]#date
Mon Jul 17 12:55:19 GMT 2017---時(shí)區(qū)改變
2伞鲫、shutdown命令
用法:shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:無指定,默認(rèn)相當(dāng)于+1
now: 立刻,相當(dāng)于+0
+m: 相對(duì)時(shí)間表示法签舞,幾分鐘之后秕脓;例如+3
hh:mm: 絕對(duì)時(shí)間表示,指明具體時(shí)間
- 設(shè)置3分鐘之后關(guān)機(jī)
[root@centos7 ~]#shutdown +3 systerm will shutdown ---關(guān)機(jī)
Shutdown scheduled for Mon 2017-07-17 21:06:37 CST, use 'shutdown -c' to cancel.
[root@centos7 ~]#
Broadcast message from root@centos7.magedu.com (Mon 2017-07-17 21:03:37 CST):
systerm will shutdown
The system is going down for power-off at Mon 2017-07-17 21:06:37 CST!
shutdown -c ---取消關(guān)機(jī)
Broadcast message from root@centos7.magedu.com (Mon 2017-07-17 21:04:01 CST):
The system shutdown has been cancelled at Mon 2017-07-17 21:05:01 CST!
3儒搭、screen命令
創(chuàng)建新screen會(huì)話
screen –S [SESSION]
加入screen會(huì)話
screen –x [SESSION]
退出并關(guān)閉screen會(huì)話
exit
剝離當(dāng)前screen會(huì)話
Ctrl+a,d
顯示所有已經(jīng)打開的screen會(huì)話
screen -ls
恢復(fù)某screen會(huì)話
screen -r [SESSION]
- yes 命令如果在執(zhí)行的過程中斷網(wǎng)撒会,怎么恢復(fù)
[root@centos6 ~]#screen
[root@centos6 ~]# yes
斷網(wǎng)-重現(xiàn)連接
[root@centos6 ~]#screen -ls
[root@centos6 ~]#screen -r
4、echo命令
語法:echo [-neE][字符串]
?說明:echo會(huì)將輸入的字符串送往標(biāo)準(zhǔn)輸出师妙。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)
?選項(xiàng):
?-E (默認(rèn))不支持\解釋功能
?-n 不自動(dòng)換行
?-e 啟用\字符的解釋功能
- 常用選項(xiàng)
[root@centos7 ~]#echo -e "\a"---發(fā)出聲音
[root@centos7 ~]#echo -e "abca\bef"---退格鍵
abcef
[root@centos7 ~]#echo -e "abc\cdf"---啟用不自動(dòng)換行
abc[root@centos7 ~]#echo -e "abc\ndf"---啟用自動(dòng)換行
abc
df
[root@centos7 ~]#echo -e "abe\rd"---不換行光標(biāo)移至行首
dbe
[root@centos7 ~]#echo -e "aa\tbb\tcc\ndd\tee\tff"---加入制表符
aa bb cc
dd ee ff
[root@centos7 ~]#echo -e "\0101"---八進(jìn)制所代表的ASCII字符
A
[root@centos7 ~]#echo -e "\x61"---十六進(jìn)制所代表的ASCII字符
a
- 命令行擴(kuò)展$( ) 或把一個(gè)命令的輸出打印給另一個(gè)命令的參數(shù)
[root@centos7 ~]#echo "echo $UID"
echo 0
[root@centos7 ~]#echo 'echo $UID'
echo $UID---當(dāng)成字符串
[root@centos7 ~]#echo `echo $UID`
0---命令調(diào)用命令即命令行擴(kuò)展
總結(jié):?jiǎn)我?hào)是最傻的符號(hào)诵肛,反向單引號(hào)最聰明,雙引號(hào)介于兩者之間默穴。
- 括號(hào)擴(kuò)展:{ }
打印重復(fù)字符串的簡(jiǎn)化形式
[root@centos7 ~]#echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@centos7 ~]#echo {20..10}
20 19 18 17 16 15 14 13 12 11 10
[root@centos7 ~]#echo {2,5,6}
2 5 6
[root@centos7 ~]#echo {a,b,c}.{txt,log}
a.txt a.log b.txt b.log c.txt c.log
[root@centos7 ~]#echo {1..100..3}
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100
[root@centos7 ~]#echo {000..100..3}
000 003 006 009 012 015 018 021 024 027 030 033 036 039 042 045 048 051 054 057 060 063 066 069 072 075 078 081 084 087 090 093 096 099
二怔檩、命令歷史(history)
history是一個(gè)內(nèi)部命令,每個(gè)會(huì)話都有自己的命令歷史蓄诽,命令歷史先存儲(chǔ)在內(nèi)存中薛训,當(dāng)退出重新登錄后會(huì)把內(nèi)存中的歷史命令寫入歷史文件中( .bash_history)
1、調(diào)用歷史
- 重復(fù)執(zhí)行上一條命令:使用上方向鍵仑氛,并回車執(zhí)行
- !string 重復(fù)前一個(gè)以“string”開頭的命令
- !?string 重復(fù)前一個(gè)包含string的命令
- string1string2將上一條命令中的第一個(gè)string1替換為string2
- command !^ : 利用上一個(gè)命令的第一個(gè)參數(shù)做cmd的參數(shù)
- command !$ : 利用上一個(gè)命令的最后一個(gè)參數(shù)做cmd的參數(shù)
- command !* : 利用上一個(gè)命令的全部參數(shù)做cmd的參數(shù)
- !$ 表示:Esc, .(點(diǎn)擊Esc鍵后松開乙埃,然后點(diǎn)擊. 鍵)
2闸英、命令history
history [-c] [-d offset] [n]
history -anrw[filename]
history -psarg[arg...]
-c: 清空命令歷史
-d: 刪除歷史中指定的命令 如history -d 2 表示刪除第二條歷史
n: 顯示最近的n條歷史
-a: 追加本次會(huì)話新執(zhí)行的命令歷史列表至歷史文件---注意是新執(zhí)行的命令
-n: 讀歷史文件中未讀過的行到歷史列表---** 比如新開的會(huì)話,歷史不多介袜,會(huì)把歷史文件中未讀過的行到歷史列表中甫何,不重復(fù)**
-r: 讀歷史文件附加到歷史列表,---輸入一次就會(huì)讀一次遇伞,會(huì)重復(fù)
-w: 保存歷史列表到指定的歷史文件---重新登錄也會(huì)保存到歷史文件中
-p: 展開歷史參數(shù)成多行辙喂,但不存在歷史列表中---隱藏歷史
-s: 展開歷史參數(shù)成一行,附加在歷史列表后---偽造歷史
- 常用選項(xiàng)
[root@centos7 ~]#history -c ---刪除內(nèi)存中的歷史鸠珠,退出重新登錄后會(huì)從歷史文件中把歷史讀到內(nèi)存中
[root@centos7 ~]#history
1 history
[root@centos7 ~]#history -p `hostname`---執(zhí)行命令但不記錄歷史
centos7.magedu.com
[root@centos7 ~]#history
1 history
[root@centos7 ~]#history -p `rm -f /app/*`---但遇到刪除命令等敏感詞匯時(shí)還是會(huì)記錄歷史
[root@centos7 ~]#history
1 history
2 history -p `rm -f /app/*`---記錄歷史
3 history
[root@centos7 ~]#history -s "rm -rf /"--- 命令不執(zhí)行巍耗,但記錄到歷史中
[root@centos7 ~]#history
1 history
2 history -n
3 history
4 ls
5 pwd
6 ll
7 history
8 rm -rf /---記錄到歷史中,可以偽造歷史
9 history
總結(jié):如果要想做壞事不被別人發(fā)現(xiàn)渐排,可以先刪除歷史文件炬太、再刪除內(nèi)存中的歷史,然后exit驯耻。
3娄琉、命令歷史相關(guān)環(huán)境變量
HISTSIZE:命令歷史記錄的條數(shù)
HISTFILE:指定歷史文件,默認(rèn)為~/.bash_history
HISTFILESIZE:命令歷史文件記錄歷史的條數(shù)
HISTTIMEFORMAT=“%F %T “ 顯示時(shí)間
HISTIGNORE=“str1:str2*:… “ 忽略str1命令吓歇,str2開頭的歷史
控制命令歷史的記錄方式:
環(huán)境變量:HISTCONTROL
ignoredups默認(rèn),忽略重復(fù)的命令票腰,連續(xù)且相同為“重復(fù)”
ignorespace忽略所有以空白開頭的命令
ignoreboth相當(dāng)于ignoredups, ignorespace的組合
erasedups刪除重復(fù)命令
export 變量名="值“
存放在/etc/profile 或~/.bash_profile城看,建議存放在自己的家目錄里,然后.或者source讓文件生效即可杏慰。
- 舉例
[root@centos7 ~]#HISTTIMEFORMAT="%F %T "---加時(shí)間
[root@centos7 ~]#history
1 2017-07-18 10:27:18 history
2 2017-07-18 10:27:20 l
3 2017-07-18 10:27:21 ll
4 2017-07-18 10:27:23 pwd
5 2017-07-18 10:27:24 cd
6 2017-07-18 10:31:09 HISTTIMEFORMAT="%F %T "
7 2017-07-18 10:31:15 history
[root@centos7 ~]#HISTIGNORE="ll*"---忽略以ll開頭的命令
[root@centos7 ~]#ll
total 8
-rw-------. 1 root root 1884 Jul 14 11:24 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Desktop
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Documents
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Downloads
-rw-r--r--. 1 root root 1915 Jul 14 11:54 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Music
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Pictures
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Public
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Templates
drwxr-xr-x. 2 root root 6 Jul 14 11:54 Videos
[root@centos7 ~]#history
1 2017-07-18 10:27:18 history
2 2017-07-18 10:27:20 ls
3 2017-07-18 10:27:21 ll
4 2017-07-18 10:27:23 pwd
5 2017-07-18 10:27:24 cd
6 2017-07-18 10:31:09 HISTTIMEFORMAT="%F %T "
7 2017-07-18 10:31:15 history
8 2017-07-18 10:32:56 HISTIGNORE="passwd*"
9 2017-07-18 10:33:38 HISTIGNORE="ll*"
10 2017-07-18 10:33:49 history
[root@centos7 ~]#HISTCONTROL=ignoreboth---忽略重復(fù)和以空白開頭的命令
[root@centos7 ~]#pwd
/root
[root@centos7 ~]#pwd
/root
[root@centos7 ~]# ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
[root@centos7 ~]#history
1 2017-07-18 10:27:18 history
2 2017-07-18 10:27:20 ls
3 2017-07-18 10:27:21 ll
4 2017-07-18 10:27:23 pwd
5 2017-07-18 10:27:24 cd
6 2017-07-18 10:31:09 HISTTIMEFORMAT="%F %T "
7 2017-07-18 10:31:15 history
8 2017-07-18 10:32:56 HISTIGNORE="passwd*"
9 2017-07-18 10:33:38 HISTIGNORE="ll*"
10 2017-07-18 10:33:49 history
11 2017-07-18 10:35:42 pwd
12 2017-07-18 10:35:50 history
13 2017-07-18 10:36:54 HISTCONTROL=ignoreboth
14 2017-07-18 10:36:58 pwd
15 2017-07-18 10:37:19 history
3测柠、如何實(shí)現(xiàn)屏幕錄像
[root@centos7 ~]#script -t 2> /app/time.log -a /app/cmd.log---準(zhǔn)備錄屏的time.log和cmd.log兩個(gè)文件,一個(gè)用來存時(shí)間缘滥,一個(gè)用來存執(zhí)行的命令轰胁,并開始錄屏
Script started, file is /app/cmd.log
---執(zhí)行一些命令
[root@centos7 ~]#hostname
centos7.magedu.com
[root@centos7 ~]#ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
---執(zhí)行退出命令
[root@centos7 ~]#exit
exit
Script done, file is /app/cmd.log
---執(zhí)行以下命令開始播放錄屏
[root@centos7 ~]#scriptreplay /app/time.log /app/cmd.log
三、如何獲取幫助
- 內(nèi)部命令獲取幫助
help command
man bash - 外部命令獲取幫助
man command
command -- help - 獲取幫助的步驟
[root@centos7 ~]#type passwd---判讀以下是內(nèi)部命令還是外部命令
passwd is /usr/bin/passwd
[root@centos7 ~]#whatis passwd---查看章節(jié)朝扼,并顯示每個(gè)章節(jié)的信息
passwd (1) - update user's authentication tokens
sslpasswd (1ssl) - compute password hashes
passwd (5) - password file
[root@centos7 ~]#man 1 passwd ---最后用man來查幫助信息
- 一些命令
[root@centos7 ~]#whereis passwd---顯示路徑和man幫助文檔路徑
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
[root@centos7 ~]#man -a passwd---顯示全部章節(jié)信息赃阀,按q后進(jìn)入下一個(gè)章節(jié)
[root@centos7 ~]#man -k passwd 相當(dāng)于搜索,比如不知道干什么擎颖,可以搜索的關(guān)鍵字
chpasswd (8) - update passwords in batch mode
fgetpwent_r (3) - get passwd file entry reentrantly
getpwent_r (3) - get passwd file entry reentrantly
gpasswd (1) - administer /etc/group and /etc/gshadow
grub2-mkpasswd-pbkdf2 (1) - Generate a PBKDF2 password hash.
lpasswd (1) - Change group or user password
lppasswd (1) - add, change, or delete digest passwords.
pam_localuser (8) - require users to be listed in /etc/passwd
passwd (1) - update user's authentication tokens
sslpasswd (1ssl) - compute password hashes
passwd (5) - password file
passwd2des (3) - RFS password encryption
pwhistory_helper (8) - Helper binary that transfers password hashes from passwd or shadow to opasswd
saslpasswd2 (8) - set a user's sasl password
smbpasswd (5) - The Samba encrypted password file
vncpasswd (1) - change the VNC password
- man幫助文檔行間跳轉(zhuǎn)
gg/1G 跳至第一行
G 跳至最后一行
100G 跳至第100行
三榛斯、文件系統(tǒng)分層結(jié)構(gòu)
-
目錄結(jié)構(gòu)
- 文件類型-:普通文件
?d: 目錄文件
?b: 塊設(shè)備
?c: 字符設(shè)備
?l: 符號(hào)鏈接文件
?p: 管道文件pipe
?s: 套接字文件socket - 如何觸發(fā)新增加的磁盤
執(zhí)行以下命令
echo '- - -' /sys/class/scsi_host/host2/scan
說明:這個(gè)命令只是在實(shí)驗(yàn)環(huán)境使用,生產(chǎn)環(huán)境不會(huì)隨意增加磁盤的搂捧。