1. 程式人生 > >linux系統學習第十三天-<<工程師技術>>

linux系統學習第十三天-<<工程師技術>>

linux工程師技術 linux管理員技術 linux雲計算運維 深圳雲計算王森 雲計算運維工程師

主要用途
/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系統學習第十三天-<<工程師技術>>