5.1 uname 顯示系統信息 uname -a 可以看到更多的信息,顯示所有 Linux 代表內核名稱 oldboy代表主機名 2.6.32-573.el6.x86_64 內核發行版本號 1 SMP Thu Jul 23 15:44:03 UTC 2015 內核的版本號 cat /etc/red ...
5.1 uname
顯示系統信息
uname -a 可以看到更多的信息,顯示所有
Linux oldbody 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Linux 代表內核名稱 oldboy代表主機名 2.6.32-573.el6.x86_64 內核發行版本號
1 SMP Thu Jul 23 15:44:03 UTC 2015 內核的版本號
cat /etc/redhat-release 可以看到版本
CentOS release 6.7 (Final)
uname -r可以看到內核
2.6.32-573.el6.x86_64
uname -n 顯示主機名 或者hostname 或者cat /etc/sysconfig/network
[root@oldbody ~]# hostname oldbody [root@oldbody ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=oldbody [root@oldbody ~]#
5.2 hostname
顯示或設置系統的主機名
參數 -I 顯示主機的所有IP地址 速度較快 不依賴與DNS解析
修改主機名:hostname liangli 退出後登錄才能生效 但是伺服器重啟後,又恢復到了oldboy了,因為配置文件沒有修改 命令行和配置文件都需要修改才能永久生效
sed -i ‘s#HOSTNAME=oldbody#HOSTNAME=liangli#g’ >/etc/sysconfig/network
註意:在CentOS7中 修改主機名的配置文件換成了/etc/hostname
文件系統:組織管理文件的一種機制,對磁碟一格式化,就是創建文件系統了
5.3 dmesg
系統啟動異常診斷
內核環形緩衝區的內容同時保存在/var/log目錄中,即名稱dmesg的文件里
[root@oldbody ~]# ll -h /var/log/dmesg -rw-r--r-- 1 root root 84K 10月 8 19:45 /var/log/dmesg
5.4 stat
顯示文件或文件系統狀態
參數 -c 使用指定輸出格式代替預設值
[root@oldbody test]# stat /etc/hosts File: `/etc/hosts' 文件名 Size: 158 文件大小 Blocks: 8 占用block數量 IO Block: 4096 block總大小(8*512) regular file 普通文件類型 Device: 803h/2051d Inode: 654109 文件的inode值 Links: 2 文件的硬鏈接數 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-09-01 00:01:20.993999985 +0800 Modify: 2010-01-12 21:28:22.000000000 +0800 Change: 2018-06-15 15:03:24.607961371 +0800 [root@oldbody test]# [root@oldbody ~]# stat -c %a /etc/hosts 644 [root@oldbody ~]#
5.5 du
統計磁碟空間使用情況
-h 人類可讀
-s 顯示文件總大小
-a 顯示所有文件大小
--max-depth 顯示N級目錄的大小
--exclude 略過指定的目錄或文件
[root@oldbody ~]# du -ah 顯示當前目錄下所有文件或目錄 4.0K ./1.txt 4.0K ./.bashrc 4.0K ./.bash_logout 4.0K ./.viminfo 0 ./key1 4.0K ./.cshrc 4.0K ./liangli/a.txt 0 ./liangli/a/1.txt 4.0K ./liangli/a/3 4.0K ./liangli/a/1 4.0K ./liangli/a/2 0 ./liangli/a/2.txt 0 ./liangli/a/3.txt 16K ./liangli/a 4.0K ./liangli/b.txt 4.0K ./liangli/b/3 4.0K ./liangli/b/2 0 ./liangli/b/2.txt 4.0K ./liangli/b/4 0 ./liangli/b/3.txt 0 ./liangli/b/4.txt 16K ./liangli/b 44K ./liangli 4.0K ./xac 4.0K ./key/oldgirl 0 ./key/file3.txt 4.0K ./key/dir2.txt 4.0K ./key/dir4.txt 4.0K ./key/oldboy 4.0K ./key/key 4.0K ./key/key.gz 0 ./key/file1.txt 0 ./key/file2.txt 4.0K ./key/dir5.txt 4.0K ./key/dir1.txt 4.0K ./key/oldboy.gz.tar 0 ./key/file4.txt 4.0K ./key/dir3.txt 4.0K ./key/oldgirl.gz.tar 0 ./key/file5.txt 48K ./key 4.0K ./lsab 4.0K ./.lesshst 0 ./soft_link 4.0K ./anaconda-ks.cfg 16K ./.bash_history 8.0K ./install.log.syslog 4.0K ./xaa 4.0K ./.bash_profile 4.0K ./oldboy.txt 4.0K ./xab 4.0K ./liangli2018/dir1.ori/4 4.0K ./liangli2018/dir1.ori/7 4.0K ./liangli2018/dir1.ori/6 4.0K ./liangli2018/dir1.ori/5 20K ./liangli2018/dir1.ori 4.0K ./liangli2018/dir2/4 4.0K ./liangli2018/dir2/7 4.0K ./liangli2018/dir2/6 4.0K ./liangli2018/dir2/5 20K ./liangli2018/dir2 4.0K ./liangli2018/dir3/4 4.0K ./liangli2018/dir3/7 4.0K ./liangli2018/dir3/6 4.0K ./liangli2018/dir3/5 20K ./liangli2018/dir3 4.0K ./liangli2018/oldboy/test 8.0K ./liangli2018/oldboy 4.0K ./liangli2018/dir1/7 4.0K ./liangli2018/dir1/6 4.0K ./liangli2018/dir1/5 16K ./liangli2018/dir1 88K ./liangli2018 4.0K ./hard_link 4.0K ./.tcshrc 4.0K ./lsaa 4.0K ./lsac 28K ./install.log 304K . [root@oldbody ~]# du -sh 以人類可讀的方式顯示當前目錄的總大小 304K . [root@oldbody ~]# du -sh /usr/local/ 顯示指定目錄的總大小 132K /usr/local/ [root@oldbody ~]# [root@oldbody ~]# du -h --max-depth=1 顯示當前目錄下第一層目錄大小 44K ./liangli 48K ./key 88K ./liangli2018 304K . [root@oldbody ~]# du -h --max-depth=2 /usr/local 只顯示第一層 二層目錄的大小 4.0K /usr/local/lib 4.0K /usr/local/include 4.0K /usr/local/share/applications 80K /usr/local/share/man 4.0K /usr/local/share/info 92K /usr/local/share 4.0K /usr/local/lib64 4.0K /usr/local/sbin 4.0K /usr/local/src 4.0K /usr/local/etc 4.0K /usr/local/games 4.0K /usr/local/bin 4.0K /usr/local/libexec 132K /usr/local
5.6 date
顯示與設置系統時間
參數 -s 設置系統時間 -d 顯示指定字元串所描述的時間示例
date -s 是修改時間
[root@oldboy ~]# date -s "2018/09/18 20:21" 年 year 月 month 日 day [root@oldboy ~]# date 2018年 09月 18日 星期二 17:42:02 CST [root@oldboy ~]# date +%y-%m-%d 18-09-18 [root@oldboy ~]# [root@oldboy ~]# date +%Y-%m-%d 等同於%F 2018-09-18 [root@oldboy ~]# date +%F 顯示完整日期格式 2018-09-18 [root@oldboy ~]# date +%w 查看周幾(week) 2 [root@oldboy ~]# date +%X 顯示時間 20時27分34秒 [root@oldboy ~]# date +%H:%M:%S 等同於%X 小時 hour 分 minute 秒 second 20:27:56 [root@oldboy ~]# [root@oldboy ~]# date +%Y-%m-%d\ %H:%M:%S 2018-09-18 20:29:52 [root@oldboy ~]# [root@oldboy ~]# date +%F\ %X 2018-09-18 20時30分33秒 [root@oldboy ~]# [root@oldboy ~]# date +%Y_%m_%d 2018_09_18 [root@oldboy ~]# [root@oldboy ~]# date +%F 2018-09-18 [root@oldboy ~]# date +%w 2 [root@oldboy ~]# date +%y-%m-%d 18-09-18 [root@oldboy ~]# echo $(date +%F)s 2018-09-18 [root@oldboy ~]#s tar和時間的結合應用 將liangli目錄進行打包 [root@oldboy ~]# tar zcvf liangli.tar.gz liangli liangli/ liangli/oldboy.sh liangli/a.txt liangli/a liangli/file liangli/a.sh liangli/3 liangli/dir2.txt liangli/1 liangli/dir4.txt liangli/gongli.txt liangli/oldgirl.sh liangli/2 liangli/soft liangli/dir9.txt liangli/dir10.txt liangli/test.sh liangli/dir7.txt liangli/oldboy2.txt liangli/dir5.txt liangli/dir1.txt liangli/soft_file liangli/dir3.txt liangli/b liangli/dir6.txt liangli/dir8.txt [root@oldboy ~]# [root@oldboy ~]# ll 總用量 72 drwxr-xr-x 3 root root 4096 9月 13 23:35 a -rw-------. 1 root root 1151 6月 15 00:31 anaconda-ks.cfg drwxr-xr-x 2 root root 4096 9月 17 10:03 data -rw-r--r--. 1 root root 23048 6月 15 00:31 install.log -rw-r--r--. 1 root root 5890 6月 15 00:30 install.log.syslog drwxr-xr-x. 3 root root 4096 9月 17 17:59 key drwxr-xr-x. 2 root root 4096 9月 18 15:44 liangli drwxr-xr-x 8 root root 4096 9月 17 10:01 liangli1 -rw-r--r-- 1 root root 597 9月 18 18:30 liangli.tar.gz drwxr-xr-x 3 root root 4096 9月 17 10:03 lihao -rw-r--r-- 1 root root 15 9月 13 16:10 xargs [root@oldboy ~]# tar zcvf liangli_`date +%F`.tar.gz liangli liangli/ liangli/oldboy.sh liangli/a.txt liangli/a liangli/file liangli/a.sh liangli/3 liangli/dir2.txt liangli/1 liangli/dir4.txt liangli/gongli.txt liangli/oldgirl.sh liangli/2 liangli/soft liangli/dir9.txt liangli/dir10.txt liangli/test.sh liangli/dir7.txt liangli/oldboy2.txt liangli/dir5.txt liangli/dir1.txt liangli/soft_file liangli/dir3.txt liangli/b liangli/dir6.txt liangli/dir8.txt [root@oldboy ~]# ll 總用量 76 drwxr-xr-x 3 root root 4096 9月 13 23:35 a -rw-------. 1 root root 1151 6月 15 00:31 anaconda-ks.cfg drwxr-xr-x 2 root root 4096 9月 17 10:03 data -rw-r--r--. 1 root root 23048 6月 15 00:31 install.log -rw-r--r--. 1 root root 5890 6月 15 00:30 install.log.syslog drwxr-xr-x. 3 root root 4096 9月 17 17:59 key drwxr-xr-x. 2 root root 4096 9月 18 15:44 liangli drwxr-xr-x 8 root root 4096 9月 17 10:01 liangli1 -rw-r--r-- 1 root root 597 9月 18 18:32 liangli_2018-09-18.tar.gz -rw-r--r-- 1 root root 597 9月 18 18:30 liangli.tar.gz drwxr-xr-x 3 root root 4096 9月 17 10:03 lihao -rw-r--r-- 1 root root 15 9月 13 16:10 xargs [root@oldboy ~]# 也可以用$() [root@oldboy ~]# tar zcvf lihao_$(date +%F).tar.gz lihao/ lihao/ lihao/etext.sh lihao/nihao2/ lihao/nihao2/nihao3/ lihao/ctext.sh lihao/dtext.sh [root@oldboy ~]# ll 總用量 80 drwxr-xr-x 3 root root 4096 9月 13 23:35 a -rw-------. 1 root root 1151 6月 15 00:31 anaconda-ks.cfg drwxr-xr-x 2 root root 4096 9月 17 10:03 data -rw-r--r--. 1 root root 23048 6月 15 00:31 install.log -rw-r--r--. 1 root root 5890 6月 15 00:30 install.log.syslog drwxr-xr-x. 3 root root 4096 9月 17 17:59 key drwxr-xr-x. 2 root root 4096 9月 18 15:44 liangli drwxr-xr-x 8 root root 4096 9月 17 10:01 liangli1 -rw-r--r-- 1 root root 253 9月 18 18:34 liangli_2018-09-18.tar.gz -rw-r--r-- 1 root root 597 9月 18 18:30 liangli.tar.gz drwxr-xr-x 3 root root 4096 9月 17 10:03 lihao -rw-r--r-- 1 root root 253 9月 18 18:34 lihao_2018-09-18.tar.gz -rw-r--r-- 1 root root 15 9月 13 16:10 xargs [root@oldboy ~]# 顯示昨天時間 -d參數 [root@oldboy ~]# date +%F -d "-1day" 2018-09-17 [root@oldboy ~]# 顯示兩個小時以前的文件 [root@oldboy ~]# date +%F-+%H 2018-09-18-+20 [root@oldboy ~]# date +%F-+%H -d "2H" 2018-09-18-+18 [root@oldboy ~]# 打包昨天以前的文件 [root@oldboy ~]# tar zcvf key_$(date +%F -d "-1day").tar.gz key [root@oldboy ~]#ll -rw-r--r-- 1 root root 128 9月 18 20:41 key_2018-09-17.tar.gz
5.7 echo
參數 -n 不要自動換行
echo是一個列印輸出內容命令,配合> 或者>>可以為文件覆蓋及追加內容, >意思為重定向,會清除文件里所有以前數據 >>為內容追加,只在文件尾部追加需要的內容
一對單引號 這條命令後面的oldboy.txt不存在的話,會創建該oldboy.txt文件的,如果文件oldboy.txt存在的話,會覆蓋裡面的內容進行創建新的
也可以在echo裡面進行追加多行文字
echo ' 1111 註意下echo後面的空格 2222 3333'>>oldboy.txt
除了echo可以改文件之外 還有cat命令 cat >oldboy.txt 然後輸入I am studying linux 回車 按ctrl+c 會寫進去 然後再cat oldboy.txt查看下 cat >>oldboy.txt 追加新增內容進去 或者cat >oldboy.txt輸入I am studying Linux 回車 輸入ctrl+C 可以查看下cat oldboy.txt
還有cat的多行追加 首先得再記事本上寫好
在Tech目錄下 echo liangli 1>a.txt 2>b.txt 意思是將正確信息輸出到a.txt中,將錯誤的信息輸出到b.txt中 此時liangli輸出到了a.txt中了,如果將e去掉再回車的話,那麼,錯誤信息會輸出到b.txt中了
echo oldboy 1>a.txt 2>a.txt 意思是將正確和錯誤的輸出到a.txt中
或者 echo oldboy 1>a.txt 2>&1 (推薦方法) 也是將正確和錯誤的信息輸出到a.txt中 讓2的輸出和1放到的位置一樣
或者echo oldboy &>a.txt &> 這兩個符號加起來就是將正確和錯誤信息都放在a.txt中
2>&1 1正確的輸出內容放到哪兒,2錯誤輸出內容也放在和1一樣的位置
[root@oldboy ~]# echo -n "oldboy"; echo "oldboy" -n是不換行 oldboyoldboy [root@oldboy ~]# echo -e "oldboy\toldboy" -e 可以使用轉義字元(\n回車 \t 是tab鍵) oldboy oldboy [root@oldboy ~]# cat >>/Tech/oldboy.txt<<liangli I am studying Linux222 liangli 其中liangli要進行頂格 [root@oldbody b]# echo {1..10} 1 2 3 4 5 6 7 8 9 10 [root@oldbody b]# [root@oldbody /]# echo {1..3}{4..6} 14 15 16 24 25 26 34 35 36 [root@oldbody /]# 特殊環境變數(系統自帶的) PATH 所有命令所在地 用冒號分隔 LANG 字元集變數 設置環境變數 export 例如 export PATH=$PATH:/root 把/root加入到PATH的環境變數 [root@oldboy ~]# PATH="$PATH:/root" [root@oldboy ~]# echo PATH PATH [root@oldboy ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root:/root [root@oldboy ~]# oldboy oldboy [root@oldboy ~]#
5.8 watch
監視命令執行情況 可以動態顯示命令或程式的執行情況 類似與tail -f 或者tailf命令
5.9 witch
顯示命令的全路徑 witch命令查找的範圍是PATH環境變數的路徑
參數 -a 預設在PATH路徑中由前往後查找命令,如果查找到了,就停止匹配了,使用-a選項將遍歷所有PATH路徑,輸出所有匹配項
[root@oldbody ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@oldbody ~]# [root@oldboy ~]# which ls alias ls='ls --color=auto' /bin/ls [root@oldboy ~]# which oldboy /root/oldboy [root@oldboy ~]# 查看命令路徑的方式 [root@oldboy ~]# which ifconfig /sbin/ifconfig [root@oldboy ~]# whereis -b ifconfig ifconfig: /sbin/ifconfig [root@oldboy ~]# locate ifconfig /sbin/ifconfig /usr/sbin/pifconfig /usr/share/man/de/man8/ifconfig.8.gz /usr/share/man/fr/man8/ifconfig.8.gz /usr/share/man/man8/ifconfig.8.gz /usr/share/man/man8/pifconfig.8.gz /usr/share/man/pt/man8/ifconfig.8.gz
5.10 whereis
顯示命令及其相關文件全路徑 用於定位指定命令的可執行文件 源碼文件及man幫助文件的路徑
-b 參數 查找可執行文件
-m 參數 查找man幫助文件
-s 參數 查找源代碼文件
[root@oldbody ~]# whereis echo echo: /bin/echo /usr/share/man/man1/echo.1.gz /usr/share/man/man1p/echo.1p.gz [root@oldbody ~]# whereis -b echo echo: /bin/echo [root@oldbody ~]# whereis -m echo echo: /usr/share/man/man1/echo.1.gz /usr/share/man/man1p/echo.1p.gz [root@oldbody ~]# whereis -s echo echo: [root@oldbody ~]#
5.11 locate
快速定位文件路徑 從資料庫mlocate.db文件中查找文件名及對應的路徑信息
-c 參數 只顯示匹配的行數
查看資料庫
[root@oldbody ~]# ll -h /var/lib/mlocate/mlocate.db -rw-r----- 1 root slocate 1.6M 10月 8 20:06 /var/lib/mlocate/mlocate.db [root@oldbody ~]# cat /etc/cron.daily/mlocate.cron #!/bin/sh nodevs=$(< /proc/filesystems awk '$1 == "nodev" && $2 != "zfs" { print $2 }') renice +19 -p $$ >/dev/null 2>&1 ionice -c2 -n7 -p $$ >/dev/null 2>&1 /usr/bin/updatedb -f "$nodevs" [root@oldbody ~]# 查找文件路徑 -c 參數 只顯示匹配的行數 [root@oldbody ~]# locate pwd /bin/pwd /etc/.pwd.lock /etc/latrace.d/pwd.conf /lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/watchdog/hpwdt.ko /sbin/unix_chkpwd /usr/bin/pwdx /usr/include/pwd.h /usr/lib/x86_64-redhat-linux5E/include/pwd.h /usr/lib64/cracklib_dict.pwd /usr/lib64/python2.6/lib-dynload/spwdmodule.so /usr/share/cracklib/cracklib-small.pwd /usr/share/cracklib/pw_dict.pwd /usr/share/man/man0p/pwd.h.0p.gz /usr/share/man/man1/pwd.1.gz /usr/share/man/man1/pwdx.1.gz /usr/share/man/man1p/pwd.1p.gz /usr/share/man/man3/lckpwdf.3.gz /usr/share/man/man3/ulckpwdf.3.gz /usr/share/man/man8/unix_chkpwd.8.gz /usr/share/man/mann/pwd.n.gz /usr/share/man/overrides/ru/man3/lckpwdf.3.gz /usr/share/man/overrides/ru/man3/ulckpwdf.3.gz /usr/share/perl5/pwd.pl /usr/src/kernels/2.6.32-573.el6.x86_64/include/config/hpwdt /usr/src/kernels/2.6.32-573.el6.x86_64/include/config/hpwdt/nmi /usr/src/kernels/2.6.32-573.el6.x86_64/include/config/hpwdt/nmi/decoding.h [root@oldbody ~]# locate -c pwd 26 [root@oldbody ~]# [root@oldbody ~]# locate /etc/sh 只要部分符合就輸出 /etc/shadow /etc/shadow- /etc/shells [root@oldbody ~]# locate /etc/sh* /etc/shadow /etc/shadow- /etc/shells [root@oldbody ~]# locate -c /etc/sh* 3 [root@oldbody ~]#
5.12 updatedb
更新mlocate資料庫 updatedb命令可以創建或者更新locate命令使用的資料庫,updatedb命令會因定時任務定期(每天)執行
-U 參數 更新指定目錄相關的資料庫信息,預設是掃描整個系統
-v 參數 顯示命令的執行過程
查看資料庫 [root@oldbody ~]# ll -h /var/lib/mlocate/mlocate.db -rw-r----- 1 root slocate 1.6M 10月 8 20:06 /var/lib/mlocate/mlocate.db 更新資料庫 [root@oldbody ~]# locate oldboy /root/oldboy.txt /root/key/oldboy /root/key/oldboy.gz.tar /root/liangli2018/oldboy /root/liangli2018/oldboy/test [root@oldbody ~]# touch oldboy20181008 [root@oldbody ~]# locate oldboy /root/oldboy.txt /root/key/oldboy /root/key/oldboy.gz.tar /root/liangli2018/oldboy /root/liangli2018/oldboy/test [root@oldbody ~]# updatedb -vU /root/ /root/1.txt /root/.bashrc /root/.bash_logout /root/oldboy20181008 /root/.viminfo /root/key1 /root/.cshrc /root/liangli /root/xac /root/key /root/lsab /root/.lesshst /root/soft_link /root/anaconda-ks.cfg /root/.bash_history /root/install.log.syslog /root/xaa /root/.bash_profile /root/oldboy.txt /root/xab /root/liangli2018 /root/hard_link /root/.tcshrc /root/lsaa /root/lsac /root/install.log /root/key/dir1.txt /root/key/dir2.txt /root/key/dir3.txt /root/key/dir4.txt /root/key/dir5.txt /root/key/file1.txt /root/key/file2.txt /root/key/file3.txt /root/key/file4.txt /root/key/file5.txt /root/key/key /root/key/key.gz /root/key/oldboy /root/key/oldboy.gz.tar /root/key/oldgirl /root/key/oldgirl.gz.tar /root/liangli/a /root/liangli/a.txt /root/liangli/b /root/liangli/b.txt /root/liangli/a/1 /root/liangli/a/1.txt /root/liangli/a/2 /root/liangli/a/2.txt /root/liangli/a/3 /root/liangli/a/3.txt /root/liangli/b/2 /root/liangli/b/2.txt /root/liangli/b/3 /root/liangli/b/3.txt /root/liangli/b/4 /root/liangli/b/4.txt /root/liangli2018/dir1 /root/liangli2018/dir1.ori /root/liangli2018/dir2 /root/liangli2018/dir3 /root/liangli2018/oldboy /root/liangli2018/dir1/5 /root/liangli2018/dir1/6 /root/liangli2018/dir1/7 /root/liangli2018/dir1.ori/4 /root/liangli2018/dir1.ori/5 /root/liangli2018/dir1.ori/6 /root/liangli2018/dir1.ori/7 /root/liangli2018/dir2/4 /root/liangli2018/dir2/5 /root/liangli2018/dir2/6 /root/liangli2018/dir2/7 /root/liangli2018/dir3/4 /root/liangli2018/dir3/5 /root/liangli2018/dir3/6 /root/liangli2018/dir3/7 /root/liangli2018/oldboy/test [root@oldbody ~]# locate oldboy /root/oldboy.txt /root/oldboy20181008 /root/key/oldboy /root/key/oldboy.gz.tar /root/liangli2018/oldboy /root/liangli2018/oldboy/test [root@oldbody ~]#