LINUX系統服務與管理(Services)---------第二天
/boot ? ? ? ? 存放系統引導必需的文件,包括內核、啟動配置
/bin、/sbin ? 存放各種命令程序
/dev ? ? ? ? ?存放硬盤、鍵盤、鼠標、光驅等各種設備文件
/etc ? ? ? ? ?存放Linux系統及各種程序的配置文件
/root、/home/ ?用戶名 分別是管理員root、普通用戶的默認家目錄
/var ? ? ? ? ?存放日誌文件、郵箱目錄等經常變化的文件
/proc ? ? ? ? 存放內存中的映射數據,不占用磁盤
/tmp ? ? ? ? ?存放系統運行過程中使用的一些臨時文件
#######################################################
[root@svr7 ~]# mkdir /test01
[root@svr7 ~]# ls -ld /test01
[root@svr7 ~]# chmod 007 /test01
[root@svr7 ~]# ls -ld /test01
[root@svr7 ~]# chmod 700 /test01
[root@svr7 ~]# ls -ld /test01
[root@svr7 ~]# chmod 750 /test01
[root@svr7 ~]# ls -ld /test01
[root@svr7 ~]# chmod 755 /test01
[root@svr7 ~]# ls -ld /test01
####################################################
歷史命令
? 管理/調用曾經執行過的命令
– histroy:查看歷史命令列表
– history -c:清空歷史命令
– !n:執行命令歷史中的第n條命令
– !str:執行最近一次以str開頭的歷史命令
? 調整歷史命令的數量
[root@svr7 ~]# vim /etc/profile
? HISTSIZE=1000 ? ? ? //默認記錄1000條
[root@svr7 ~]# history -c
[root@svr7 ~]# history?
[root@svr7 ~]# cat /etc/redhat-release?
[root@svr7 ~]# hostname
[root@svr7 ~]# history
[root@svr7 ~]# !cat
#########################################################
? du,統計文件的占用空間
?– du [選項]... [目錄或文件]...
?– -s:只統計每個參數所占用的總空間大小
?– -h:提供易讀容量單位(K、M等)
[root@svr7 ~]# du -sh /root/ /home/ /etc/
? date,查看/調整系統日期時間
?– date +%F
?– date +"%Y-%m-%d %H:%M:%S"
?– date -s yyyy-mm-dd HH:MM:SS"
[root@svr7 ~]# date +%Y%m%d
[root@svr7 ~]# date +%Y-%m-%d
[root@svr7 ~]# date +%F
[root@svr7 ~]# date -s "2017-11-11 9:46"
#########################################################
? 自定義Yum倉庫
1.眾多自定義RPM軟件包,將真機上tools目錄上傳到虛擬機A
?真機:
? [root@room9pc14 桌面]# scp -r ?tools ? [email protected]:/
?虛擬機A:
? [root@svr7 ~]# ls /
2.生成repodata倉庫數據文件
? [root@svr7 ~]# createrepo ?/tools/other/
? [root@svr7 ~]# ls ?/tools/other/
? [root@svr7 ~]# ls ?/tools/other/repodata/
3.書寫客戶端,指定新的倉庫源
[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo?
?[dvd]
?name=dvd
?baseurl=http://192.168.4.254/rhel7
?enabled=1
?gpgcheck=0
?[myrpm]
?name=myrpm
?baseurl=file:///tools/other
?enabled=1
?gpgcheck=0
[root@svr7 ~]# yum repolist
########################################################
[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# rpm -q cmatrix
? 查詢rpm包安裝清單
[root@svr7 ~]# rpm -ql cmatrix
[root@svr7 ~]# cmatrix
[root@svr7 ~]# cmatrix -C red
[root@svr7 ~]# oneko & ? ? ? ?#放入後臺
[root@svr7 ~]# killall oneko ?#殺掉所有的oneko程序
##################################################
?zip歸檔工具,跨平臺的壓縮工具
? 歸檔+壓縮操作
? – zip [-r] 備份文件.zip 被歸檔的文檔...
[root@svr7 ~]# zip ?-r ?/opt/test.zip ?/boot/ ? /etc/passwd
[root@svr7 ~]# ls ?/opt
? 釋放歸檔+解壓操作
? – unzip 備份文件.zip [-d 目標文件夾]
[root@svr7 ~]# unzip ?/opt/test.zip ?-d ? /mnt/
[root@svr7 ~]# ls ?/mnt
[root@svr7 ~]# ls ?/mnt/etc
[root@svr7 ~]# ls ?/mnt/boot
#########################################################
?vim文本編輯器
[root@svr7 ~]# cp /etc/passwd /opt/test
[root@svr7 ~]# vim /opt/test
?命令模式操作
光標跳轉
? Home 鍵 或 ^、數字 0 ? ? ? ? ? 跳轉至行首
? End鍵 或“$”鍵 ? ? ? ? ? ? ? ? ? ? ? 跳轉到行尾
? PgUp 鍵、PgDn 鍵 ? ? ? ? ? ? ? 向上翻頁、向下翻頁
? 1G 或 gg ? ? ? ? ? ? ? ? 跳轉到文件的首行
? G ? ? ? ? ? ? ? ? ? ? ? 跳轉到文件的末尾行
復制粘貼
? ?復制 yy、5yy ? ? ? ? ? ? ?復制光標處的一行、5行
? ?粘貼 p ? ? ? ? ? ? ? ? ? ?粘貼到光標處之後
? x 或 Delete鍵 ? ? ? ? ? ? ? ? ? ? ? 刪除光標處的單個字符
? dd、6dd 刪除光標處的一行、6行
? d^ 從光標處之前刪除至行首
? d$ 從光標處刪除到行尾
? u ? ? ? ? ? ? ? ? ? ? ? ?撤銷
查找/撤銷/保存
? /word 向後查找字符串“word”
? n、N 跳至後/前一個結果
? u 撤銷最近的一次操作
? Ctrl + r 取消前一次撤銷操作
? ZZ 保存修改並退出
?末行模式操作
? ? :r /etc/filesystems ? ?讀入其他文件內容
?[root@svr7 ~]# echo 123 > /opt/1.txt
?[root@svr7 ~]# echo abc > /opt/2.txt
?[root@svr7 ~]# vim /opt/2.txt
? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? :r ?/opt/1.txt
? ? ? ? ? ? ? ? :r ?/etc/passwd
? ? ? ? ? ? ? ? :r ?/etc/redhat-release
字符串替換
?:s /old/new ? ? ? ?替換當前行第一個“old”
?:s /old/new/g ? ? ?替換當前行所有的“old”
?:n,ms /old/new/g ? 替換第n-m行所有的“old”
?:%s /old/new/g ? ? 替換文件內所有的“old
?:s ?/root/admin ? ? ? ? ?替換當前行第一個“root”
?:s ?/root/admin/g ? ? ? ?替換當前行所有的“root”
?:1,10s /root/admin/g ? ? 替換第1-10行所有的“root”
?:%s ? /root/admin/g ? ? ?替換文件內所有的 root
################################################
:set ?nu|nonu ? ? 顯示/不顯示行號
:set ?ai|noai ? ? 啟用/關閉自動縮進
#################################################
? ? 修改配置文件,設置vim預先執行的操作
[root@svr7 ~]# vim /root/.vimrc
?set nu
?set ai
##################################################
? ln,創建軟連接(快捷方式)
?# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ?/opt/eth0
?# ls /opt/
?# ls -l ?/opt/eth0?
?# cat ?/opt/eth0
?# ln -s /etc/redhat-release ?/opt/rh
?# ls /opt/
?# cat ?/opt/rh
? i節點 : 編號標識硬盤的存儲空間
? ln,創建軟連接
? ? ? 軟連接 --> 原始文檔 --> i節點 --> 文檔數據
? ln,創建軟連接
– 軟連接 --> 原始文檔 --> i節點 --> 文檔數據
– ln -s 原始文件或目錄 軟連接文件
若原始文件或目錄被刪除,連接文件將失效
軟連接可存放在不同分區/文件系統
? ln,創建硬連接
– 硬連接 --> i節點 --> 文檔數據
– ln 原始文件 硬連接文件
若原始文件被刪除,連接文件仍可用
硬連接與原始文件必須在同一分區/文件系統
[root@svr7 ~]# rm -rf ?/opt/*
[root@svr7 ~]# echo ?123 ?> ?/opt/A
[root@svr7 ~]# cd ?/opt/
[root@svr7 opt]# cat A
[root@svr7 opt]# ln -s ?/opt/A ?/opt/A1 ? #軟連接
[root@svr7 opt]# ls?
[root@svr7 opt]# ln ?/opt/A ?/opt/A2 ? ?#硬連接
[root@svr7 opt]# ls?
[root@svr7 opt]# cp ?A ? A3 ? ? ? ? ? ? ?#復制
[root@svr7 opt]# ls
[root@svr7 opt]# ls ?-i ? ? ? #只有硬連接不會產生新文件
[root@svr7 opt]# rm ?-rf ?/opt/A
[root@svr7 opt]# ls
[root@svr7 opt]# cat ?A1
cat: A1: 沒有那個文件或目錄
[root@svr7 opt]# cat ?A2
[root@svr7 opt]# cat ?A3
#####################################################
系統環境變量
? ? ?PATH : 提供命令程序的搜尋路徑?
? ?提示命令沒有找到?
? ? ?1.命令有誤
? ? ?2.命令沒有安裝
? ? ?3.該命令的程序,沒有在PATH值中
[root@svr7 /]# vim /opt/hello?
?#!/bin/bash
?echo ‘hello world‘
[root@svr7 /]# chmod +x /opt/hello?
[root@svr7 /]# hello ? #運行失敗
[root@svr7 /]# echo $PATH
[root@svr7 /]# ln -s /opt/hello ?/usr/bin/hello
[root@svr7 /]# hello ? #運行成功
######################################################
? ?源碼包編譯安裝
?
? 主要優點
– 獲得軟件的最新版,及時修復bug
– 軟件功能可按需選擇/定制,有更多軟件可供選擇
– 源碼包適用各種平臺
?RPM包:rpm ?yum ?運行安裝
? ? ? ? ?
? ? ? ? gcc、make ? ? ? ? ? ? ? ?make install
? 源碼包 ------------------->可以執行的程序------------------------>運行安裝
?步驟1:安裝gcc、make
?[root@svr7 /]# yum -y install ?gcc ?make
?[root@svr7 /]# rpm -q gcc
?[root@svr7 /]# rpm -q make
?步驟2:tar解包,釋放源代碼至指定目錄
? # rm -rf /opt/*
? # tar -xf /tools/inotify-tools-3.13.tar.gz -C /opt/
? # ls /opt/
? ? # 以下所有步驟都要在,解壓目錄下執行
?步驟3: ./configure 配置,指定安裝目錄/功能模塊等選項
? ?# cd ? /opt/inotify-tools-3.13/
? ?# ./configure ?--prefix=/mnt/myrpm
?步驟4:make 編譯,生成可執行的二進制程序文件
? ?# make
?步驟5:make install 安裝,將編譯好的文件復制到安裝目錄
? ?# make install
? ?# ls /mnt/myrpm/
##########################################################
獲取命令幫助,man幫助
? ? 5 : 文本文件的幫助信息
[root@svr7 /]# man ?passwd
[root@svr7 /]# man ?5 ?passwd
? ? 通常 會提供“--help”幫助選項
#########################################################
? 補充: ?
? ? ? wc -l 文件的絕對路徑 ? ? ? #統計文件有多少行
? 1. 請統計Linux一共有多少用戶?
?[root@svr7 /]# wc ?-l ?/etc/passwd
? ?43 /etc/passwd
? 2.統計/etc目錄下,以".conf"結尾的文件有多少個?(不包含子目錄)
? [root@svr7 /]# ls -l /etc/*.conf | ?wc -l?
? 3.統計/etc目錄下,以".conf"結尾的文件有多少個?(包含子目錄)
? [root@svr7 /]# find /etc -name "*.conf" ?| wc -l
find選項
? ?-mtime ?+|-修改天數
[root@svr7 /]# find /var/log/ ?-mtime ?+1000 ? #1000天之前
[root@svr7 /]# find /var/log/ ?-mtime ?-10 ? ? ?#最近10之內
######################################################
?查看網絡鏈接信息
? netstat ?-anptu
? ? ? ? ? -a: 列出所有的進程
? ? ? ? ? -n:以數字的形式顯示
? ? ? ? ? -p:進程名稱及PID信息
? ? ? ? ? -t:tcp連接
? ? ? ? ? -u:udp連接
####################################################
? 主機名與IP地址映射關系 ? /etc/hosts(DNS解析)只為本機提供解析
[root@svr7 /]# tail -2 /etc/hosts
192.168.4.7 ? svr7.tedu.cn
192.168.4.10 ?haha.tedu.cn
[root@svr7 /]# ping svr7.tedu.cn
[root@svr7 /]# ping haha.tedu.cn
####################################################
LINUX系統服務與管理(Services)---------第二天