單純提供一個相對的解答,並不是標準答案!
單純就是個解答的參考,寫完之後再來這邊查查看答案跟你想的一樣不一樣!?
[student@station10-101 ~]$ date --help Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date. ...... FORMAT controls the output. Interpreted sequences are: ...... %H hour (00..23) <==應該是指 24 小時制 %I hour (01..12) <==應該是指 12 小時制 %j day of year (001..366) %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I ...... %M minute (00..59) <==分鐘的設定 ...... %s seconds since 1970-01-01 00:00:00 UTC %S second (00..60) ...... [student@station10-101 ~]$ date +%H:%M 21:52要注意的是,我們要輸出的資訊有『小時』與『分鐘』,所以需要 %H 與 %M,但是兩者中間還有冒號,因此,就得要在兩者間加上冒號連結。 否則會出錯。
[student@station10-101 ~]$ date +%s 1583243769 [student@station10-101 ~]$ date +%s 1583243786 <==間隔數秒重複執行,會有不同的秒數累積,會持續長大這個數值!
[student@station10-101 ~]$ date 二 3月 3 21:59:17 CST 2020 <==先顯示今天 [student@station10-101 ~]$ date -d "2 days ago" +%Y/%m/%d 2020/03/01 <==果然是兩天前! [student@station10-101 ~]$ date --date="2 days ago" +%Y/%m/%d 2020/03/01使用最後一個長選項的指令 (--date="xxx") 也是可以的!
[student@station10-101 ~]$ date +%H %M
date: 出現多餘的參數 ‘%M’
Try 'date --help' for more information.
所以,我們得要將『西元年-日-月 小時:分鐘』中間的空格去除。如何去除?其實是『讓空白字元變一般字元』即可,可以這樣:
『西元年-日-月' '小時:分鐘』,用單引號將兩邊黏在一起。因為『 '空白' 』也是『一串字元』,因此就可以將兩者連一起。
[student@station10-101 ~]$ date +%Y-%d-%m' '%H:%M
2020-03-03 22:04
[student@station10-101 ~]$ cal --help Usage: cal [options] [[[day] month] year] cal [options] <timestamp|monthname> Display a calendar, or some part of it. Without any arguments, display the current month. ......意思是說,顯示月曆 (calendar),若不加參數,則會顯示目前這個月的月曆。
[student@station10-101 ~]$ cal 三月 2020 日 一 二 三 四 五 六 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你會發現到,目前的日期還會反白!
[student@station10-101 ~]$ cal 2020 2020 一月 二月 三月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 3 4 1 1 2 3 4 5 6 7 5 6 7 8 9 10 11 2 3 4 5 6 7 8 8 9 10 11 12 13 14 12 13 14 15 16 17 18 9 10 11 12 13 14 15 15 16 17 18 19 20 21 19 20 21 22 23 24 25 16 17 18 19 20 21 22 22 23 24 25 26 27 28 26 27 28 29 30 31 23 24 25 26 27 28 29 29 30 31 ...... 十月 十一月 十二月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12 11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19 18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26 25 26 27 28 29 30 31 29 30 27 28 29 30 31
[student@station10-101 ~]$ cal --help ...... 選項: -1, --one show only a single month (default) -3, --three show three months spanning the date ...... [student@station10-101 ~]$ cal -3 二月 2020 三月 2020 四月 2020 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 1 2 3 4 5 6 7 1 2 3 4 2 3 4 5 6 7 8 8 9 10 11 12 13 14 5 6 7 8 9 10 11 9 10 11 12 13 14 15 15 16 17 18 19 20 21 12 13 14 15 16 17 18 16 17 18 19 20 21 22 22 23 24 25 26 27 28 19 20 21 22 23 24 25 23 24 25 26 27 28 29 29 30 31 26 27 28 29 30這樣就能顯示出前/目前/後一個月的月曆了!
# 底下指令中的 [tab] 代表鍵盤左側的 Tab 按鈕,游標請連著 f 不要有空白鍵,按下兩次 [student@station10-101 ~]$ if[tab][tab] if ifcfg ifconfig ifdown ifenslave ifstat ifup [student@station10-101 ~]$ if # 如上,過程中都沒有按下 [enter],螢幕會輸出很多以 if 為開頭的『指令名稱』 [student@station10-101 ~]$ ls[tab][tab] ls lsblk lsgpio lsiio lsipc lslogins lsmd lsmod lsof lsscsi lsusb.py lsattr lscpu lshw lsinitrd lslocks lsmcli lsmem lsns lspci lsusb [student@station10-101 ~]$ ls[tab][tab]
[student@station10-101 ~]$ ifco[tab] [student@station10-101 ~]$ ifconfig上面的動作都沒有按下 [enter] 按鍵,第一行按下 [tab] 之後,會立刻變成第二行的型態!這就是命令補齊
[student@station10-101 ~]$ find / ......(很亂很亂,一直輸出檔名) /proc/2434/net/^C [student@station10-101 ~]$ ^C # [ctrl]+c 的代表符號就是『^C』,我按了兩次,所以有一次就會出現在指令列上面!
[student@station10-101 ~]$ ls ' / > /home > /var > ^C <==最後按下 [ctrl]+c 就中斷這次的輸入!
[student@station10-101 ~]$ ll -d /etc/se[tab][tab] security/ selinux/ services sestatus.conf setroubleshoot/ # 你會發現到, /etc 底下以 se 開頭的有上述幾個檔名。 # 現在假設我需要 security 這個檔名,所以多加一個 c 再 [tab] [student@station10-101 ~]$ ll -d /etc/sec[tab] <==多加一個 c 再 [tab],就會補齊成底下這樣 [student@station10-101 ~]$ ll -d /etc/security/ drwxr-xr-x. 7 root root 4096 2月 26 09:03 /etc/security/
[student@station10-101 ~]$ echo ${H[tab][tab]
${HISTCMD} ${HISTCONTROL} ${HISTFILE} ${HISTFILESIZE}
${HISTSIZE} ${HOME} ${HOSTNAME} ${HOSTTYPE}
上述過程中都沒有按下 [enter] 喔!所以 H 開頭的變數有上面這 8 個呢!再也不會打錯字了![student@station10-101 ~]$ bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1/3 0 scale=4 1/3 .3333 quite這樣就取得了 4 位數小數點的輸出了。
[student@station10-101 ~]$ man bc EXAMPLES In /bin/sh, the following will assign the value of "pi" to the shell variable pi. pi=$(echo "scale=10; 4*a(1)" | bc -l) The following is the definition of the exponential function used in the math library. This function is written in POSIX bc. scale = 20 ...... /pi= <==直接按下斜線 / 之後,游標就會主動跑到最左下角了!你可以找到上面這行奇怪的東西,其中那個 scale 預設使用了 10 位數,我們需要的是 50 位數,所以執行方法改成這樣:
[student@station10-101 ~]$ echo "scale=50; 4*a(1)" | bc -l
3.14159265358979323846264338327950288419716939937508
[student@station10-101 ~]$
上面就可以算出圓周率 pi 囉!因為我們要直接運算,不需要設定變數,所以直接處理成上面這樣囉![student@station10-101 ~]$ man bc ...... expr % expr The result of the expression is the "remainder" and it is computed in the following way. To compute a%b, first a/b is computed to scale digits. That result is used to compute a-(a/b)*b to the scale of the maximum of scale+scale(b) and scale(a). If scale is set to zero and both expres‐ sions are integers this expression is the integer remainder function. expr ^ expr The result of the expression is the value of the first raised to the sec‐ ond. The second expression must be an integer. (If the second expression ...... /remainder <==輸入 / 找尋,找到之後按下方向鍵↑幾次,就會發現如上模樣我們可以發現到,要算餘數,就用百分比,也就是題目中的,用 1000 % 17 來算!
[student@station10-101 ~]$ bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1000 / 17 58 1000 % 17 14 58*17+14 1000 quit得到商數為 58,得到餘數為 14,亦即答案應該是:『 1000 = 58*17 + 14 』囉!
[student@station10-101 ~]$ man date ...... EXAMPLES Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' ...... /examples意思是,由 +%s 得到的總秒數,將他轉回日期的方法!例如底下的實驗:
# 先找出目前的總秒數 [student@station10-101 ~]$ date +%s 1583289427 # 將上述總秒數改換成為人類的日期,就是這樣: [student@station10-101 ~]$ date --date="@1583289427" 三 3月 4 10:37:07 CST 2020這兩者之間的切換這樣!這在許多腳本要確認日期時,是很有幫助的功能!
[student@station10-101 ~]$ ll /etc
......
drwxr-xr-x. 3 root root 36 2月 26 09:03 xml
drwxr-xr-x. 2 root root 57 2月 26 09:06 yum
lrwxrwxrwx. 1 root root 12 11月 12 23:35 yum.conf -> dnf/dnf.conf
drwxr-xr-x. 2 root root 4096 2月 26 09:02 yum.repos.d
實在很多資料,得用 [shift]+[pageup] 去查閱。現在透過 more 來翻動看看:
[student@station10-101 ~]$ ll /etc | more 總計 1360 -rw-r--r--. 1 root root 44 3月 4 00:06 adjtime -rw-r--r--. 1 root root 1518 9月 10 2018 aliases drwxr-xr-x. 3 root root 65 2月 26 09:06 alsa drwxr-xr-x. 2 root root 4096 2月 26 09:08 alternatives -rw-r--r--. 1 root root 541 11月 9 00:47 anacrontab -rw-r--r--. 1 root root 55 11月 9 00:21 asound.conf -rw-r--r--. 1 root root 1 5月 11 2019 at.deny drwxr-x---. 4 root root 100 2月 26 09:15 audit drwxr-xr-x. 3 root root 228 2月 26 09:10 authselect drwxr-xr-x. 4 root root 71 2月 26 09:06 avahi drwxr-xr-x. 2 root root 136 2月 26 09:06 bash_completion.d -rw-r--r--. 1 root root 3001 9月 10 2018 bashrc -rw-r--r--. 1 root root 429 11月 9 04:35 bindresvport.blacklist drwxr-xr-x. 2 root root 6 11月 9 07:14 binfmt.d drwxr-xr-x. 2 root root 23 2月 26 09:03 bluetooth -rw-r-----. 1 root brlapi 33 2月 26 09:05 brlapi.key --更多-- # 此時,你可以按下 [enter] 或空白按鍵,或者是 q 離開,也能按下 / 搜尋關鍵字!more 的功能是一頁一頁翻動,由於不是檔案,因此你無法使用方向鍵向上查詢,只能持續往下找尋資料而已。 最終資料顯示完畢後,more 也就執行結束。那如果使用 less 呢?
[student@station10-101 ~]$ ll /etc | less 總計 1360 -rw-r--r--. 1 root root 44 3月 4 00:06 adjtime -rw-r--r--. 1 root root 1518 9月 10 2018 aliases drwxr-xr-x. 3 root root 65 2月 26 09:06 alsa drwxr-xr-x. 2 root root 4096 2月 26 09:08 alternatives -rw-r--r--. 1 root root 541 11月 9 00:47 anacrontab -rw-r--r--. 1 root root 55 11月 9 00:21 asound.conf -rw-r--r--. 1 root root 1 5月 11 2019 at.deny drwxr-x---. 4 root root 100 2月 26 09:15 audit drwxr-xr-x. 3 root root 228 2月 26 09:10 authselect drwxr-xr-x. 4 root root 71 2月 26 09:06 avahi drwxr-xr-x. 2 root root 136 2月 26 09:06 bash_completion.d -rw-r--r--. 1 root root 3001 9月 10 2018 bashrc -rw-r--r--. 1 root root 429 11月 9 04:35 bindresvport.blacklist drwxr-xr-x. 2 root root 6 11月 9 07:14 binfmt.d drwxr-xr-x. 2 root root 23 2月 26 09:03 bluetooth -rw-r-----. 1 root brlapi 33 2月 26 09:05 brlapi.key : <==游標停在這裡,幾乎與 man page 相同!事實上, man page 的環境,就是呼叫 less 來達成的!所以,你也可以在 less 底下使用 man page 相同的指令來翻動與查詢關鍵字!
[student@station10-101 ~]$ ll /etc | less -rw-r--r--. 1 root root 2433 2月 26 09:10 passwd -rw-r--r--. 1 root root 2381 2月 26 09:06 passwd- -rw-r--r--. 1 root root 1362 5月 14 2019 pbm2ppa.conf -rw-r--r--. 1 root root 2872 5月 14 2019 pinforc drwxr-xr-x. 2 root root 27 2月 26 09:05 pipewire drwxr-xr-x. 3 root root 21 2月 26 09:02 pkcs11 drwxr-xr-x. 10 root root 123 2月 26 09:06 pki drwxr-xr-x. 2 root root 28 2月 26 09:05 plymouth ...... /passwd
[student@station10-101 ~]$ find /etc | less /etc/dnf/vars/infra /etc/dnf/aliases.d /etc/dnf/dnf.conf /etc/dnf/modules.defaults.d /etc/dnf/plugins /etc/dnf/plugins/copr.conf /etc/dnf/plugins/copr.d ...... find: ‘/etc/audit’: 拒絕不符權限的操作 find: ‘/etc/libvirt’: 拒絕不符權限的操作 find: ‘/etc/firewalld’: 拒絕不符權限的操作 find: ‘/etc/sudoers.d’: 拒絕不符權限的操作 :
[student@station10-101 ~]$ echo "365*24*60*60" | bc
31536000
一年共有 31,536,000 秒喔![student@station10-101 ~]$ ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.10.101 netmask 255.255.0.0 broadcast 172.16.255.255 inet6 fe80::5718:f7d5:ab79:9643 prefixlen 64 scopeid 0x20<link> ether 52:54:00:85:b1:54 txqueuelen 1000 (Ethernet) RX packets 9354 bytes 755581 (737.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16824 bytes 4387726 (4.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10loop txqueuelen 1000 (Local Loopback) RX packets 86 bytes 7046 (6.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 86 bytes 7046 (6.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ......
[student@station10-101 ~]$ ifconfig | grep 'inet ' inet 172.16.10.101 netmask 255.255.0.0 broadcast 172.16.255.255 inet 127.0.0.1 netmask 255.0.0.0 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255這樣就僅列出 IP 而已!畫面清爽非常多!
[student@station10-101 ~]$ ll / 總計 24 lrwxrwxrwx. 1 root root 7 5月 11 2019 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 2月 26 09:15 boot drwxr-xr-x. 20 root root 3260 3月 3 15:47 dev ......最左側的第一個字元,就是這個檔名的類型,基本上有三種類型一定要先知道:
[student@station10-101 ~]$ ll -d /sys /proc dr-xr-xr-x. 233 root root 0 3月 3 15:47 /proc dr-xr-xr-x. 13 root root 0 3月 3 15:47 /sys容量竟然是 0 !這是因為這兩個目錄是從記憶體裡面掛載出來的,所以沒有用到實體硬碟容量,而是佔用了記憶體容量喔! 因此硬碟使用量就是 0。
[student@station10-101 ~]$ ll -h /boot/vmlinuz* -rwxr-xr-x. 1 root root 7.8M 2月 26 09:08 /boot/vmlinuz-0-rescue-502dbaaf2a074134909a59ef9ab651c1 -rwxr-xr-x. 1 root root 7.8M 12月 5 05:58 /boot/vmlinuz-4.18.0-147.el8.x86_64ll 加上 -h 可以直接用人類易讀的單位來處理,所以可以看到 vmlinuz-4.xxx 為 7.8M,這就是作業系統核心檔案,容量相當小! 這個檔案就可以驅動整個 x86 的硬體設備喔!
[student@station10-101 ~]$ man ls LS(1) User Commands LS(1) NAME ls - list directory contents ...... [student@station10-101 ~]$ man ifconfig IFCONFIG(8) Linux System Administrator's Manual IFCONFIG(8) NAME ifconfig - configure a network interface ......一個是 ls(1),一個是 ifconfig(8),所以,我們猜檔名應該就是 /usr/bin/ls 以及 /usr/sbin/ifconfig,來檢查看看:
[student@station10-101 ~]$ ll /usr/bin/ls /usr/sbin/ifconfig
-rwxr-xr-x. 1 root root 166448 5月 12 2019 /usr/bin/ls
-rwxr-xr-x. 1 root root 97920 5月 11 2019 /usr/sbin/ifconfig
[student@station10-101 ~]$ df 檔案系統 1K-區段 已用 可用 已用% 掛載點 devtmpfs 918108 0 918108 0% /dev tmpfs 936140 0 936140 0% /dev/shm tmpfs 936140 9388 926752 2% /run tmpfs 936140 0 936140 0% /sys/fs/cgroup /dev/mapper/centos-root 10475520 4359596 6115924 42% / /dev/vda2 1998672 149448 1727984 8% /boot /dev/mapper/centos-home 3135488 70240 3065248 3% /home tmpfs 187228 16 187212 1% /run/user/42 tmpfs 187228 4 187224 1% /run/user/0 tmpfs 187228 4 187224 1% /run/user/1000 [student@station10-101 ~]$ ll /dev/shm 總計 0
[student@station10-101 ~]$ cd /var/spool/mail [student@station10-101 mail]$ pwd /var/spool/mail # 工作目錄確實是切換到我們需要的目錄了!
[student@station10-101 mail]$ ll /var/spool/ 總計 0 drwxr-xr-x. 2 root root 63 2月 26 09:04 anacron drwx------. 3 root root 31 2月 26 09:06 at drwx------. 2 root root 6 11月 9 00:47 cron drwx--x---. 3 root lp 17 2月 26 09:05 cups drwxr-xr-x. 2 root root 6 5月 11 2019 lpd drwxrwxr-x. 2 root mail 32 2月 26 09:10 mail drwxr-xr-x. 2 root root 6 11月 22 01:36 plymouth drwx------. 2 root root 6 11月 14 12:16 up2date [student@station10-101 mail]$ ll .. 總計 0 drwxr-xr-x. 2 root root 63 2月 26 09:04 anacron drwx------. 3 root root 31 2月 26 09:06 at drwx------. 2 root root 6 11月 9 00:47 cron drwx--x---. 3 root lp 17 2月 26 09:05 cups drwxr-xr-x. 2 root root 6 5月 11 2019 lpd drwxrwxr-x. 2 root mail 32 2月 26 09:10 mail drwxr-xr-x. 2 root root 6 11月 22 01:36 plymouth drwx------. 2 root root 6 11月 14 12:16 up2date # 輸出的結果會是一模一樣的! [student@station10-101 mail]$ ll -d ../ana[tab] [student@station10-101 mail]$ ll -d ../anacron/ drwxr-xr-x. 2 root root 63 2月 26 09:04 ../anacron/ # 當然使用相對路徑要打字的情況會減少,同時再以 [tab] 去補齊檔名的結果!!
[student@station10-101 mail]$ cd ../anacron/ [student@station10-101 anacron]$ pwd /var/spool/anacron
[student@station10-101 anacron]$ ll /var/log | head -n 5 總計 2892 drwxr-xr-x. 2 root root 280 2月 26 09:10 anaconda drwx------. 2 root root 23 2月 26 09:15 audit -rw-------. 1 root root 0 3月 3 16:35 boot.log -rw-------. 1 root root 1920 3月 1 16:14 boot.log-20200301 [student@station10-101 anacron]$ ll ../../log | head -n 5 總計 2892 drwxr-xr-x. 2 root root 280 2月 26 09:10 anaconda drwx------. 2 root root 23 2月 26 09:15 audit -rw-------. 1 root root 0 3月 3 16:35 boot.log -rw-------. 1 root root 1920 3月 1 16:14 boot.log-20200301 # 這個案例中,從根目錄寫起的絕對路徑檔名,又比相對路徑檔名來的簡單好寫!
[student@station10-101 anacron]$ cd [student@station10-101 ~]$ pwd /home/student [student@station10-101 ~]$ cd ~
# 使用預設的方式來執行正規指令: [student@station10-101 ~]$ ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.10.101 netmask 255.255.0.0 broadcast 172.16.255.255 ...... # 使用絕對路徑的方式來執行指令: [student@station10-101 ~]$ /usr/sbin/ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.10.101 netmask 255.255.0.0 broadcast 172.16.255.255 # 由於我們在 /home/student 底下,所以,直接使用相對路徑就成為: [student@station10-101 ~]$ ../../usr/sbin/ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.10.101 netmask 255.255.0.0 broadcast 172.16.255.255 # 切換工作目錄到 /usr/sbin 底下去,就變這樣: [student@station10-101 ~]$ cd /usr/sbin [student@station10-101 sbin]$ pwd /usr/sbin [student@station10-101 sbin]$ ./ifconfig最後一個工作目錄底下執行該指令的方法,未來在你出外工作後,會是很常看到的執行非正規指令的方法喔!
[student@station10-101 backup]$ ll /dev/shm/backup/etc/passwd*
-rw-r--r--. 1 student student 2433 3月 4 13:22 /dev/shm/backup/etc/passwd
-rw-r--r--. 1 student student 2381 3月 4 13:22 /dev/shm/backup/etc/passwd-
確實有存在兩個 passwd 為開頭的檔名![student@station10-101 backup]$ rm --help 用法:rm [選項]... [檔案]... Remove (unlink) the FILE(s). [student@station10-101 backup]$ rm /dev/shm/backup/etc/passwd* # 有點可怕的是,一般身份用戶刪除檔案時,系統不會提醒你!直接就刪除了! [student@station10-101 backup]$ ll /dev/shm/backup/etc/passwd* ls: 無法存取 '/dev/shm/backup/etc/passwd*': 沒有此一檔案或目錄
[student@station10-101 backup]$ ll -d /dev/shm/backup/etc/X11 drwxr-xr-x. 7 student student 180 3月 4 13:21 /dev/shm/backup/etc/X11 # 最左邊是 d ,所以是個目錄檔案
[student@station10-101 backup]$ rm /dev/shm/backup/etc/X11 rm: 無法移除 '/dev/shm/backup/etc/X11': 是個目錄 [student@station10-101 backup]$ man rm ...... -r, -R, --recursive remove directories and their contents recursively ...... [student@station10-101 backup]$ rm -r /dev/shm/backup/etc/X11 [student@station10-101 backup]$ ll -d /dev/shm/backup/etc/X11 ls: 無法存取 '/dev/shm/backup/etc/X11': 沒有此一檔案或目錄
[student@station10-101 backup]$ man rm
-i prompt before every removal
-I prompt once before removing more than three files, or when removing
recursively; less intrusive than -i, while still giving protection
against most mistakes
--interactive[=WHEN]
prompt according to WHEN: never, once (-I), or always (-i); without WHEN,
prompt always
由上面可以知道:
[student@station10-101 backup]$ rm -ri /dev/shm/backup/etc/xdg/ rm: descend into directory '/dev/shm/backup/etc/xdg/'? y rm: descend into directory '/dev/shm/backup/etc/xdg/menus'? y rm:是否移除普通檔案'/dev/shm/backup/etc/xdg/menus/gnome-applications.menu'? y ^C <==每次都要回答 y,很煩~所以直接 [ctrl]+c 中斷 [student@station10-101 backup]$ rm -rI /dev/shm/backup/etc/xdg/ rm: remove 1 argument recursively? y # 只問第一次,確定就全部都刪除了!
[student@station10-101 ~]$ locale LANG=zh_TW.utf8 <==是這一個 LC_CTYPE="zh_TW.utf8" LC_NUMERIC="zh_TW.utf8" LC_TIME="zh_TW.utf8" LC_COLLATE="zh_TW.utf8" LC_MONETARY="zh_TW.utf8" LC_MESSAGES="zh_TW.utf8" LC_PAPER="zh_TW.utf8" LC_NAME="zh_TW.utf8" LC_ADDRESS="zh_TW.utf8" LC_TELEPHONE="zh_TW.utf8" LC_MEASUREMENT="zh_TW.utf8" LC_IDENTIFICATION="zh_TW.utf8" LC_ALL= [student@station10-101 ~]$ LANG=C [student@station10-101 ~]$ locale LANG=C <==變成這個 LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" ......
[student@station10-101 ~]$ date -d "2020/02/09 00:00 GMT" +%s
1581206400
[student@station10-101 ~]$ echo "1581206400/(24*60*60)+1" | bc
18302
[student@station10-101 ~]$ echo "(18310-1)*24*60*60" | bc 1581897600 [student@station10-101 ~]$ date -d "@1581897600" Mon Feb 17 08:00:00 CST 2020
[student@station10-101 ~]$ cal 10 10 2020 October 2020 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
[student@station10-101 ~]$ echo ${HIST[tab][tab] ${HISTCMD} ${HISTCONTROL} ${HISTFILESIZE} ${HISTFILE} ${HISTSIZE} [student@station10-101 ~]$ echo ${HISTSIZE} 1000所以得到可以記憶 1000 筆紀錄的設定值
# 變換工作目錄 [student@station10-101 ~]$ cd /dev/shm [student@station10-101 shm]$ pwd /dev/shm # 建立目錄 [student@station10-101 shm]$ mkdir check [student@station10-101 shm]$ ll total 0 drwxrwxr-x. 3 student student 60 Mar 4 13:21 backup drwxrwxr-x. 2 student student 40 Mar 4 15:23 check # 切換工作目錄 [student@station10-101 shm]$ cd check # 複製目錄的方法 [student@station10-101 check]$ cp /etc/X11 . cp: -r not specified; omitting directory '/etc/X11' [student@station10-101 check]$ cp -r /etc/X11 . [student@station10-101 check]$ ll total 0 drwxr-xr-x. 7 student student 180 Mar 4 15:24 X11 # 刪除目錄的方法 [student@station10-101 check]$ ll -d ./X11/xinit drwxr-xr-x. 5 student student 200 Mar 4 15:24 ./X11/xinit [student@station10-101 check]$ rm ./X11/xinit rm: cannot remove './X11/xinit': Is a directory [student@station10-101 check]$ rm -r ./X11/xinit # 配合管線,抓到關鍵字檔名,然後進一步複製 [student@station10-101 check]$ find /etc | grep group 2> /dev/null /etc/security/group.conf /etc/group /etc/group- /etc/iproute2/group [student@station10-101 check]$ cp /etc/security/group.conf /etc/group /etc/group- /etc/iproute2/group . cp: will not overwrite just-created './group' with '/etc/iproute2/group' [student@station10-101 check]$ ll total 12 drwxr-xr-x. 6 student student 160 Mar 4 15:24 X11 -rw-r--r--. 1 student student 936 Mar 4 15:25 group -rw-r--r--. 1 student student 920 Mar 4 15:25 group- -rw-r--r--. 1 student student 3635 Mar 4 15:25 group.conf [student@station10-101 check]$ ll -R # 這樣才能夠看到 X11 底下的子目錄!