linux-擴展應用:vim編輯技巧、發佈網絡YUM源、源碼編譯安裝


主要用途

/boot         存放系統引導必需的文件,包括內核、啓動配置

/bin、/sbin   存放各種命令程序(bin下存放普通用戶的,sbin下存放root的)

/dev          存放硬盤、鍵盤、鼠標、光驅等各種設備文件

/etc          存放Linux系統及各種程序的配置文件

/root、/home/  用戶名 分別是管理員root、普通用戶的默認家目錄

/var          存放日誌文件、郵箱目錄等經常變化的文件

/proc         存放內存中的映射數據,不佔用磁盤

/tmp          存放系統運行過程中使用的一些臨時文件


----------------------------------------------------------------------------------------------------------------------------------------------

權限數值化: 基本權限 r=4  w=2  x=1

                    附加權限 SUID=4  SGID=2  Stiky Bit=1

 使用數值形式來設置權限


[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


-------------------------------------------------------------------------------------------------------------------------------------------------

歷史命令  HISTORY

管理/調用曾經執行過的命令

– 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/

4.0M /root/

35M /etc/

132M /boot/


date,查看/調整系統日期時間

 – date +%F                       #年月日

 – date +%R                       #時間

 – 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     啓用/關閉自動縮進


--------------------------------------------------------------------------------------------------------------------------------------------

/root/.vimrc        #此文件默認沒有,但可以再vim修改配置

vim /root/.vimrc

    修改配置文件,設置vim預先執行的操作


[root@svr7 ~]# vim /root/.vimrc


 set nu

 set ai


-----------------------------------------------------------------------------------------------------------------------------------------


創建軟連接(快捷方式):ln -s  原始文件/目錄  軟連接文件

[root@svr7 ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0  /opt/eth0

[root@svr7 ~]# ls -l /opt/eth0

lrwxrwxrwx. 1 root root 41 11月 11 14:11 /opt/eth0 -> /etc/sysconfig/network-scripts/ifcfg-eth0


創建硬連接:ln 原始文件  硬連接文件


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



---------------------------------------------------------------------------------------------------------------------------------------------

0.0.0.0: 22

表示本機所有ip地址(網卡)都開放22號端口



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章