1. 程式人生 > 其它 >3.21學習筆記

3.21學習筆記

day15學習筆記(3月21日)

知識補充

理解壓縮檔案(tar、tar.gz、tgz)

關鍵操作:使用file命令檢視檔案的屬性,準確判斷檔案型別

.tar
tar   -cvf    all_nginx.tar    需要打包的檔案
tar   -xvf    all_nginx.tar    拆包

.tar.gz
tar  -zxvf    all_nginx.tar    #萬能解壓縮命令

.gx   #需要先解壓縮gz字尾,再拆tar包
gzip -d all_nginx.tgz 
tar -xvf all_nginx.tar

sort命令和uniq命令

  • sort命令
命令解釋:將檔案內容俺早規則進行排序,然後輸出列印
語法:sort  引數   檔案
引數:
-n   根據字串數值比較排序
-r   逆向輸出排序結果


生成20個隨機數字
for i in {1..30};do echo $(expr $RANDOM / 1000 ) ;done> t1.txt

讀取檔案內容
  • uniq命令
命令解釋:輸出忽略檔案中的重複行,常與sort結合使用
語法:  uniq   引數   檔案
引數:
-c     在每一行前統計出現的次數
-d     只輸出重複行
-u     只出現過一次的行,針對-c 統計之後的結果

alias和unalias命令

  • alias
作用:用於給長命令做的一個簡單的別名
案例:給啟動django的命令做一個簡單的別名(alias)

alias stdj='python3 manage.py runserver 0.0.0.0:8000'


#永久生效的辦法,寫入到自己的使用者環境變數檔案中
~/.bash_profile
  • unalias
作用:取消別名
unalias stdj 

nslookup和dig命令(實現更專業的查詢域名)

  • nslookup
命令解釋:nslookup (name server look up 名稱伺服器查詢,簡稱,域名查詢 ),分為兩種模式,互動式和非互動式

互動式:
[root@yuanlai0024 opt]# nslookup 
> baidu.com
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	baidu.com
Address: 220.181.38.251
Name:	baidu.com
Address: 220.181.38.148


非互動式:
[root@yuanlai0024 opt]# nslookup   baidu.com
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	baidu.com
Address: 220.181.38.148
Name:	baidu.com
Address: 220.181.38.251


  • dig
命令解釋:指定一個公共DNS伺服器,解析自己的域名
語法:dig @223.5.5.5   你的域名
dig  @223.5.5.5  apecome.com

#補充常用的公共DNS伺服器地址
114.114.114.114    #移動、電信、聯通通用的DNS
223.5.5.5         #阿里巴巴DNS
119.29.29.29      #騰訊
8.8.8.8           #谷歌

scp遠端傳輸

命令解釋:基於ssh協議認證的傳輸,可以實現不在同一個網段的遠端傳輸,需要進行賬戶密碼認證
語法:   scp  源資料的機器   遠端機器
引數: -r   遞迴傳輸,用於整個目錄傳輸

示例:
# 把當前登入的機器的 /etc/passwd檔案發給192.168.0.158  
scp /etc/passwd    [email protected]:/opt


#把192.168.0.158上的/etc/passwd 拿到自己的 /opt目錄下
scp   [email protected]:/etc/passwd      /opt/

shred命令(危險的粉碎命令)

命令解釋:粉碎檔案命令,原理是隨機寫入一堆二進位制資料,導致原檔案無法使用

與rm命令區別:rm刪除資料後,磁碟其實還未立即徹底刪除,根據磁碟恢復資料手段,還是可以把資料恢復。

新內容

關於systemctl命令管理指令碼的流程

  • 啟動一個程式,就是執行了該軟體提供的命令,比如/usr//sbin/nginx,usr/local/cmatrix12/bin/cmatrix
  • 由於手動管理(啟動、停用、重啟)比較麻煩,從而引入一個命令systemctl管理服務
  • 凡是在/usr/lib/systemd/system/目錄下以*.service結尾的檔案都可以使用systemctl命令單元對服務進行管理
  • 在centos7系統凡是通過yum安裝的程式,會自動生成一個指令碼*.service放於/usr/lib/systemd/system/目錄下
  • 特例network也可以通過systemctl命令進行管理,該命令會去讀取/etc/init.d/ 目錄下讀取network指令碼

ntp時間服務部署和timedatectl命令

  • ntp

    解釋:NTP是網路時間協議(Network Time Protocol),它是用來同步網路中各個計算機的時間的協議。
    
    • ntp強制性更新整個系統的時間,ntpdate,不友好的強制同步時間

      yum install  ntp -y
      ntpdate -u ntp.aliyun.com
      
    • 搭建ntp服務,自動的,友好的更新,校準系統時間

      1、安裝ntp軟體
      yum install  ntp -y
      
      2、檢視ntp軟體資訊
      ls /usr/lib/systemd/system/ |grep ntp
      
      3、找到ntp軟體的配置檔案
      rpm -ql ntp |grep conf
      /etc/ntp.conf
      /etc/sysconfig/ntpd
      /usr/share/man/man5/ntp.conf.5.gz
      
      4、修改ntp配置檔案,
      vim /etc/ntp.conf, 做如下修改
      
      driftfile /var/lib/ntp/drift
      
      
      # 新增ntp的執行日誌
      logfile /var/log/my_ntp.log
      
      # 記錄程式的執行程序號的,可以用於寫指令碼,讀取這個檔案,就找到了程式的程序id
      pidfile /var/run/ntpd.pid
      
      
      # Permit time synchronization with our time source, but do not
      # permit the source to query or modify the service on this system.
      restrict default nomodify notrap nopeer noquery
      
      # Permit all access over the loopback interface.  This could
      # be tightened as well, but to do so would effect some of
      # the administrative functions.
      restrict 127.0.0.1
      restrict ::1
      
      # Hosts on local network are less restricted.
      #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
      
      # Use public servers from the pool.ntp.org project.
      # Please consider joining the pool (http://www.pool.ntp.org/join.html).
      
      
      server ntp.aliyun.com iburst prefer
      server cn.pool.ntp.org iburst 
      
      
      5、修改機器的時間為錯誤時間
      timedatectl set-time '2018-11-8 10:00'
      timedatectl 
       Local time: 四 2018-11-08 10:00:04 CST
        Universal time: 四 2018-11-08 02:00:04 UTC
              RTC time: 四 2018-11-08 02:00:04
             Time zone: Asia/Shanghai (CST, +0800)
           NTP enabled: no
      NTP synchronized: no
       RTC in local TZ: no
            DST active: n/a
            
      6、啟動ntpd服務,等待時間是否同步
      關於ntpd的服務指令碼檔案/usr/lib/systemd/system/ntpd.service 
      systemctl start  ntpd
      
      7.檢視ntp是否和上游伺服器同步
      ntpstat
      
      8、檢視時間同步的狀態
      ntpq -p
      
  • timedatectl

    centos7:  timedatectl
    cetnso6:  date 
    
    
    date 改時間日期(軟體時間,你的系統運行了,程式計算的時間)
    
    hwclock  改硬體時間(計算的主機板上,有一個BISO系統,以及鈕釦電池,提供電量)
    		
    
    centos6時代,修改系統的時區、時間,需要用到修改時間、日期、date命令
    centos6的修改時區的操作,時區就以亞洲上海為準了
    
    修改時區,cp /usr/share/zoneinfo/Asia/Shanghai     /etc/localtime
    
    
    # 檢視系統中有哪些時區檔案
    ls /usr/share/zoneinfo/
    ll /usr/share/zoneinfo/Asia/Shanghai
    
    
    
    命令解釋timedatectl(英文全拼:timedate control)命令用於在 Linux 中設定或查詢系統時間、日期和時區等配置。
    作用:修改時間、修改市區
    語法:  timedatectl   引數    指令
    引數
      -h --help                Show this help message
         --version             Show package version
         --no-pager            Do not pipe output into a pager
         --no-ask-password     Do not prompt for password
      -H --host=[USER@]HOST    Operate on remote host  在遠端主機上執行
      -M --machine=CONTAINER   Operate on local container 在本地容器上執行
         --adjust-system-clock Adjust system clock when changing local RTC mode  
    調整系統時鐘 更改本地RTC模式時調整系統時鐘
    
    指令
    Commands:
      status                   Show current time settings 檢視當前狀態
      set-time TIME            Set system time  設定當前的時間 
      set-timezone ZONE        Set system time zone 設定當前的時區
      list-timezones           Show known time zones 檢視系統支援哪些時區
      
      
      
      set-local-rtc BOOL       Control whether RTC is in local time
      set-ntp BOOL             Control whether NTP is enabled