Linux實操、優化

Linux特色:html

  免費,開源,安全,高效,穩定,處理高併發很是強悍。linux

目錄結構

  Linux世界裏,一切皆文件。shell

  Linux文件系統是採用層級式的樹狀目錄結構數據庫

樹狀目錄結構:vim

 1 /bin:
 2 bin是Binary的縮寫, 這個目錄存放着最常用的命令。
 3 
 4 /boot:
 5 這裏存放的是啓動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件。
 6 
 7 /dev :
 8 dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
 9 
10 /etc:
11 這個目錄用來存放全部的系統管理所須要的配置文件和子目錄。
12 
13 /home:
14 用戶的主目錄,在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的。
15 
16 /lib:
17 這個目錄裏存放着系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件。幾乎全部的應用程序都須要用到這些共享庫。
18 
19 /lost+found:
20 這個目錄通常狀況下是空的,當系統非法關機後,這裏就存放了一些文件。
21 
22 /media:
23 linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。
24 
25 /mnt:
26 系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,咱們能夠將光驅掛載在/mnt/上,而後進入該目錄就能夠查看光驅裏的內容了。
27 
28 /opt:
29  這是給主機額外安裝軟件所擺放的目錄。好比你安裝一個ORACLE數據庫則就能夠放到這個目錄下。默認是空的。
30 
31 /proc:
32 這個目錄是一個虛擬的目錄,它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。
33 這個目錄的內容不在硬盤上而是在內存裏,咱們也能夠直接修改裏面的某些文件,好比能夠經過下面的命令來屏蔽主機的ping命令,使別人沒法ping你的機器:
34 
35 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
36 /root:
37 該目錄爲系統管理員,也稱做超級權限者的用戶主目錄。
38 
39 /sbin:
40 s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。
41 
42 /selinux:
43  這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,相似於windows的防火牆,可是這套機制比較複雜,這個目錄就是存放selinux相關的文件的。
44 
45 /srv:
46  該目錄存放一些服務啓動以後須要提取的數據。
47 
48 /sys:
49 
50  這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。
51 
52 sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對僞終端的devpts文件系統。
53 該文件系統是內核設備樹的一個直觀反映。
54 
55 當一個內核對象被建立的時候,對應的文件和目錄也在內核對象子系統中被建立。
56 
57 /tmp:
58 這個目錄是用來存放一些臨時文件的。
59 
60 /usr:
61  這是一個很是重要的目錄,用戶的不少應用程序和文件都放在這個目錄下,相似於windows下的program files目錄。
62 
63 /usr/bin:
64 系統用戶使用的應用程序。
65 
66 /usr/sbin:
67 超級用戶使用的比較高級的管理程序和系統守護程序。
68 
69 /usr/src:
70 內核源代碼默認的放置目錄。
71 
72 /var:
73 這個目錄中存放着在不斷擴充着的東西,咱們習慣將那些常常被修改的目錄放在這個目錄下。包括各類日誌文件。
74 
75 /run:
76 是一個臨時文件系統,存儲系統啓動以來的信息。當系統重啓時,這個目錄下的文件應該被刪掉或清除。若是你的系統上有 /var/run 目錄,應該讓它指向 run。
目錄描述

遠程登陸

XShell 6可以遠程訪問Linux系統的前提是,Linux啓用了SSHD服務,該服務會監聽22號端口windows

1 ssh root@+ip

vim和vi

 三種模式centos

  • 通常模式
  • 命令行模式
  • 編輯模式

經常使用快捷鍵

 

到文件首行而後dG就能夠所有刪掉文件的內容,支持合併到用發現緩存

補充:安全

關機&重啓

用戶管理

用戶家目錄

/home/目錄下有各個建立的用戶對應的家目錄,當用戶登陸時,會自動進入本身的家目錄。

添加用戶

刪除用戶

切換用戶

查詢用戶

用戶登錄和註銷

 

用戶組

用戶和組的配置文件

/etc/shadow口令配置文件。
/etc/passwd用戶配置文件。bash

/etc/group組配置文件。

瞭解更多https://www.runoob.com/linux/linux-user-manage.html

實用指令

幫助指令

文件目錄類

pwd
1 功能:顯示當前工做目錄的絕對路徑。
ls
1 功能:顯示指定工做目錄下以內容。
2 語法:ls [選項] 目錄或文件
3 經常使用選項:
4 
5     -a顯示當前目錄的全部文件和目錄,包括隱藏的。
6     -l以列表的方式顯示詳細信息。
cd
1 功能:切換當前目錄。
2 經常使用參數
3 
4     cd返回家目錄
5     cd ~返回家目錄
6     cd ..回到當前目錄的上一級目錄
mkdir
1 功能:建立目錄
2 語法:mkdir [選項] 要建立的目錄
3 經常使用選項:
4 
5     -p建立多級目錄
rmdir
1 功能:刪除空目錄
2 語法:rmdir 目錄
rm
1 功能:刪除文件或目錄
2 語法:rm [選項] 文件或目錄
3 經常使用選項:
4     -r遞歸刪除整個文件夾
5     -f強制刪除,不提示
touch
1 功能:新建一到多個文件
2 語法:mkdir 文件1 [文件2,文件3...]
cp
 1 功能:拷貝文件到指定目錄
 2 語法:cp [選項] source dest
 3 經常使用選項:
 4 -f:爲強制(force)的意思,若目標文件已經存在且沒法開啓,則移除後再嘗試一次;
 5 
 6 -i:若目標檔(destination)已經存在時,在覆蓋時會先詢問動做的進行(經常使用)
 7 
 8 -l:進行硬式連結(hard link)的連結檔建立,而非複製文件自己;
 9 
10 -p:連同文件的屬性一塊兒複製過去,而非使用默認屬性(備份經常使用);
11 
12 -r:遞歸持續複製,用於目錄的複製行爲;(經常使用)
13 注意:使用\cp,能夠強制覆蓋,不提示
mv
1 功能:移動文件與目錄,或者重命名
2 語法1:mv source dest
3 語法2:mv 舊名 新名
cat
1 功能:查看文件內容,只讀。
2 語法:cat [選項] 文件
3 經常使用選項:
4 
5 -n顯示行號
6 技巧: 一般和管道命令| more一塊兒使用,分頁顯示
more
1 功能:全屏、按頁顯示文本文件內容
2 語法:more 文件

more指令內置了若干快捷鍵

 

less
1 功能:分屏查看文本文件內容。
2 說明:less的功能比more強大,它在顯示文件內容時,不是所有加載後才顯示,而是根據顯示須要加載內容,對於顯示大型文件具備較高效率。
3 語法:less 文件

less指令內置了若干快捷鍵

 

>和>>  < <<
1 功能:>表示覆蓋,>>表示追加。將前者覆蓋或追加到後者,若後者不存在,則建立。
2 案例:
3 
4 ls > 文件將ls顯示的內容覆蓋寫入到文件,若該文件不存在,則建立文件
5 cat 文件1 > 文件2將文件1的內容覆蓋文件2
6 echo "內容" >> 文件將內容追加到文件
echo
1 功能:輸出內容到控制檯。
2 語法:echo "內容"
head
1 功能:顯示文件前幾行內容,默認10行。
2 語法:head 文件
3 經常使用選項:
4 
5 head -n x 文件顯示前x行
tail
1 功能:顯示文件後幾行內容,默認10行。
2 語法:tail 文件
3 經常使用選項:
4 
5 -n x顯示後x行
6 -f實時監控文件變化
ln
1 功能:軟連接也叫符號連接,相似windows快捷鍵
2 語法:ln -s [原文件或目錄] [軟連接名]
3 說明:
4 
5 使用pwd查看目錄時,看到的仍然是軟連接所在的目錄
history
1 功能:查看或執行歷史命令
2 語法:history
3 案例:
4 
5 history n顯示最近執行的n條命令
6 !n執行第n條歷史命令

時間日期類

date
1 功能:查看和設置時間日期
2 查看語法:
3 
4 date 查看當前時間
5 date "+%Y年%m月%d日 %H:%M:%S"查看年月日時分秒*(其中的年月日以及冒號能夠自由寫,而且,也能夠只顯示一部分時間信息)*
6 設置語法:
7 
8 date -s "年-月-日 時:分:秒"設置時間
cal
1 功能:查看日曆
2 語法:cal [選項]
3 案例:
4 
5 cal 年份 顯示該年日曆

搜索查找類

find
1 功能:從指定目錄向下遍歷其各個子目錄,將知足條件的目錄或文件顯示在終端
2 語法:find 搜索範圍 選項

locate
1 功能:快速定位文件路徑
2 語法:locate 文件
3 說明:
4 
5 第一次運行前,必須使用updatedb指令建立locate數據庫
grep
1 功能:過濾查找
2 語法:grep [選項] 查找內容 源文件
3 經常使用選項:
4 
5 i忽略大小寫
6 n顯示匹配行和行號
管道符號|
1 功能:將|前的命令處理結果,輸出給後面的命令來處理
2 案例:
3 
4 cat 文件 | grep -ni 內容

壓縮解壓類

gzip/gunzip
1 功能:gizp壓縮(只能壓縮爲.gz格式),gunzip解壓
2 語法:
3 
4 gzip 文件壓縮
5 gunzip 文件解壓
6 注意:用gzip壓縮不會保留源文件
zip/unzip
1 功能:zip壓縮,unzip解壓
2 語法:
3 
4 zip [選項] 壓縮後的文件 壓縮前的爲文件壓縮文件或目錄
5 unzip [選項] 要解壓的文件解壓
1 zip選項:
2 
3 -r遞歸壓縮,即壓縮目錄
4 unzip選項:
5 
6 -d指定解壓後的存放目錄
tar
 1 功能:打包指令,打包後的文件爲.tar.gz格式
 2 語法:tar [選項] 打包後的文件 打包前的文件
 3 說明:-zcvf壓縮,-zxvf解壓
 4 選項:
 5 
 6 c產生.tar打包文件
 7 v顯示詳細信息
 8 f指定壓縮後的文件名
 9 z打包同時壓縮
10 x解包.tar文件

組管理

文件權限

 

 

rwx權限

做用到文件

做用到目錄

權限管理

 

1 功能:修改文件權限
2 語法:chmod 權限設置 文件目錄名
3 說明:a全部者,g所在組,o其餘組,a所有人
4 方法:
5 
6 經過+-=。如a+w,a-w,a=r-x
7 直接經過數字。如:751表示rwx -wx --x

任務調度

1 任務調度:按期執行腳本或代碼。(對於簡單的任務,可直接在crontab中加入任務,對於複雜的任務,須要寫腳本)

crontab

1 語法:crontab [選項]
2 選項:
3 
4 -e編輯crontab任務
5 -l查詢crontab任務
6 -r刪除當前用戶的全部crontab任務
7 service crond restart重啓任務調度

特殊的符號

Linux網絡環境配置

1 vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改後重啓機器生效,可以使用service network restart重啓網絡服務。

ifcfg-eth0文件說明:

指定固定IP的方法:

 

進程管理

ps
1 功能:顯示當前系統正在執行的進程
2 語法:ps [選項]
3 選項:
4 
5 -a當前終端的全部進程信息
6 -u以用戶格式顯示進程信息
7 -x顯示後臺進程運行的參數
8 -ef顯示父進程
9 說明:可使用ps -aux | grep 指定服務來查看是否有指定服務

-aux信息選項說明

-ef信息選項說明

終止進程

 kill/killall/pkill
1 功能:終止進程
2 語法:
3 
4 kill [選項] 進程號
5 killall 進程名稱(支持通配符)
6 選項:
7 -9強制終止
 pstree
1 功能:查看進程樹
2 語法:pstree [選項]
3 選項:
4 
5 -p顯示進程的PID
6 -u顯示進程的所屬用戶

服務管理

 service
 1 功能:管理服務
 2 語法:service 服務名 [start|stop|restart|reload|status]
 3 說明:
 4 
 5 Centos7.0之後使用的是systemctl指令;
 6 可使用telnet ip 端口檢測某端口是否在監聽
 7 該指令是立馬生效,也是臨時生效的*(重啓後恢復之前設置)*
查看全部服務
1 方法一:
2 使用setup指令查看
3 方法二:
4 打開/etc/init.d/
運行級別

系統運行級別的配置文件/etc/inittab,切換運行級別的命令爲init [123456]

監控服務

 動態監控服務top
 1 功能:動態監控進程
 2 語法:top[選項]
 3 選項:
 4 
 5 -d 秒數每隔幾秒更新,默認三秒
 6 -i不顯示閒置或僵死進程
 7 -p經過指定進程id來監控某個進程
 8 案例:
 9 
10 監視特定用戶:輸入top,而後按u,輸入用戶名
11 終止指定進程:輸入top,而後按k,輸入進程id

 查看網絡狀況netstat

netstat -tunlp 查看全部端口

1 功能:查看系統網絡狀況
2 語法:netstat [選項]
3 說明:通常寫``netstat -anp`
4 選項:
5 
6 an按必定順序排列輸出
7 p顯示哪一個進程正在調用

RPM包管理

1 RPM,RedHat Package Manager(RedHat軟件包管理工具),相似windows的setup.exe

YUM

1 YUM,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,一次性安裝全部依賴的軟件包。

補充:

防火牆:最好不要關閉,處理大併發的時候對計算機要求高

1 centos7默認已經使用firewall做爲防火牆了
2 1.關閉防火牆
3 systemctl status firewalld #查看防火牆狀態
4 systemctl stop firewalld    #關閉防火牆
5 systemctl disable firewalld#關閉防火牆開機啓動
6 systemctl is-enabled firewalld.service#檢查防火牆是否啓動 

防止中文亂碼問題:

把握三點:

1.系統字符集utf8 2.xshell字符集utf8 3.文件字符集一致zh_CN.UTF-8

 1 #查看系統當前字符集
 2 echo $LANG
 3 locale
 4 
 5 #檢查xshell crt的字符集
 6 #命令修改字符集
 7 
 8 
 9 
10 # vim /etc/profile.d/locale.sh
11 export LC_CTYPE=zh_CN.UTF-8
12 export LC_ALL=zh_CN.UTF-8
13 
14 # vim /etc/locale.conf
15 LANG=zh_CN.UTF-8
16 
17 # vim /etc/sysconfig/i18n
18 LANG=zh_CN.UTF-8
19 
20 # vim /etc/environment
21 LANG=zh_CN.UTF-8
22 LC_ALL=zh_CN.UTF-8
23 
24 英文版本
25 # vim /etc/profile.d/locale.sh
26 export LC_CTYPE=en_US.UTF-8
27 export LC_ALL=en_US.UTF-8
28 
29 # vim /etc/locale.conf
30 LANG=en_US.UTF-8
31 
32 # vim /etc/sysconfig/i18n
33 LANG=en_US.UTF-8
34 
35 # vim /etc/environment
36 LANG=en_US.UTF-8
37 LC_ALL=en_US.UTF-8
38 
39 
40  
41 2.更改後查看系統語言變量
42 locale

tree命令

 1 tree命令以樹狀圖列出目錄的內容。
 2 
 3 -a:顯示全部文件和目錄;
 4 -A:使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合;
 5 -C:在文件和目錄清單加上色彩,便於區分各類類型;
 6 -d:先是目錄名稱而非內容;
 7 -D:列出文件或目錄的更改時間;
 8 -f:在每一個文件或目錄以前,顯示完整的相對路徑名稱;
 9 -F:在執行文件,目錄,Socket,符號鏈接,管道名稱名稱,各自加上"*""/""@""|"號;
10 -g:列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼;
11 -i:不以階梯狀列出文件和目錄名稱;
12 -l:<範本樣式> 不顯示符號範本樣式的文件或目錄名稱;
13 -l:如遇到性質爲符號鏈接的目錄,直接列出該鏈接所指向的原始目錄;
14 -n:不在文件和目錄清單加上色彩;
15 -N:直接列出文件和目錄名稱,包括控制字符;
16 -p:列出權限標示;
17 -P:<範本樣式> 只顯示符合範本樣式的文件和目錄名稱;
18 -q:用「?」號取代控制字符,列出文件和目錄名稱;
19 -s:列出文件和目錄大小;
20 -t:用文件和目錄的更改時間排序;
21 -u:列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼;
22 -x:將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另外一個文件系統上,則將該目錄予以排除在尋找範圍外。

設置主機名

1 [root@yugo /tmp 11:04:42]#hostnamectl set-hostname pyyuc
2 [root@pyyuc ~ 11:05:12]#hostname 

查看dns

1 配置文件
2 cat /etc/resolv.conf
3 #dns服務器地址
4 nameserver 119.29.29.29
5 nameserver 223.5.5.5

 大多數ssh鏈接不上虛擬機,都是由於防火牆和selinux阻擋了

 1 1.修改配置文件,永久生效關閉selinux
 2 cp /etc/selinux/config /etc/selinux/config.bak #修改前備份
 3 2.修改方式能夠vim編輯,找到
 4 # This file controls the state of SELinux on the system.
 5 # SELINUX= can take one of these three values:
 6 #     enforcing - SELinux security policy is enforced.
 7 #     permissive - SELinux prints warnings instead of enforcing.
 8 #     disabled - No SELinux policy is loaded.
 9 SELINUX=disabled
10 3.用sed替換
11 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
12 4.檢查狀態
13 grep "SELINUX=disabled" /etc/selinux/config
14 #出現結果即表示修改爲功

臨時關閉selinux(命令行修改,重啓失效):

1 getenforce #獲取selinux狀態
2 #修改selinux狀態
3 setenforce 
4 usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
5 數字0 表示permissive,給出警告,不會阻止,等同disabled
6 數字1表示enforcing,表示開啓

 

/etc下配置文件和子目錄

 1 #網卡配置文件
 2 /etc/sysconfig/network-script/ifcfg-eth0
 3 #修改機器名以及網卡,網管等配置
 4 /etc/sysconfig/network
 5 #linux的dns客戶端配置文件,實現域名和ip的互相解析
 6 /etc/resolv.conf
 7 #本地dns解析文件,設定ip和域名的對應解析,開發測試最經常使用的臨時域名解析
 8 /etc/hosts/
 9 #系統全局環境變量永久生效的配置文件,如PATH等
10 /etc/profile
11 #用戶的環境變量
12 ~/.bash_profile 
13 ~/.bashrc
14 #存放可執行程序的目錄,大可能是系統管理命令
15 /usr/sbin
16 #存放用戶自編譯安裝軟件的目錄  > 等同於C:\Program files (windows)
17 /usr/local
18 #關於處理器的信息,還能夠top指令查看
19 /proc/cpuinfo
20 #查看內存信息,還能夠free -m
21 /proc/meminfo 

配置yum源

 1 1.好習慣,備份yum源
 2 mkdir repo_bak
 3 mv *.repo repo_bak/
 4 2.下載阿里雲repo文件
 5 wget http://mirrors.aliyun.com/repo/Centos-7.repo
 6 3.清空yum緩存而且生成新的yum緩存
 7 yum clean all
 8 yum makecache
 9 4.安裝軟件擴展源
10 yum install -y epel-release

 

操做

 1 yum repolist all        列出全部倉庫
 2 yum list all            列出倉庫全部軟件包
 3 yum info 軟件包名            查看軟件包信息
 4 yum install 軟件包名        安裝軟件包
 5 yum reinstall 軟件包名    從新安裝軟件包
 6 yum update    軟件包名        升級軟件包
 7 yum remove    軟件包名        移除軟件包
 8 yum clean all            清楚全部倉庫緩存
 9 yum check-update        檢查能夠更新的軟件包
10 yum grouplist            查看系統中已安裝的軟件包
11 yum groupinstall 軟件包組    安裝軟件包組

 

系統服務管理命令

設置開機啓動相關

相關文章
相關標籤/搜索