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
三種模式centos
到文件首行而後dG就能夠所有刪掉文件的內容,支持合併到用發現緩存
補充:安全
/home/目錄下有各個建立的用戶對應的家目錄,當用戶登陸時,會自動進入本身的家目錄。
/etc/shadow口令配置文件。
/etc/passwd用戶配置文件。bash
/etc/group組配置文件。
瞭解更多https://www.runoob.com/linux/linux-user-manage.html
幫助指令
1 功能:顯示當前工做目錄的絕對路徑。
1 功能:顯示指定工做目錄下以內容。 2 語法:ls [選項] 目錄或文件 3 經常使用選項: 4 5 -a顯示當前目錄的全部文件和目錄,包括隱藏的。 6 -l以列表的方式顯示詳細信息。
1 功能:切換當前目錄。 2 經常使用參數 3 4 cd返回家目錄 5 cd ~返回家目錄 6 cd ..回到當前目錄的上一級目錄
1 功能:建立目錄 2 語法:mkdir [選項] 要建立的目錄 3 經常使用選項: 4 5 -p建立多級目錄
1 功能:刪除空目錄 2 語法:rmdir 目錄
1 功能:刪除文件或目錄 2 語法:rm [選項] 文件或目錄 3 經常使用選項: 4 -r遞歸刪除整個文件夾 5 -f強制刪除,不提示
1 功能:新建一到多個文件 2 語法:mkdir 文件1 [文件2,文件3...]
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,能夠強制覆蓋,不提示
1 功能:移動文件與目錄,或者重命名 2 語法1:mv source dest 3 語法2:mv 舊名 新名
1 功能:查看文件內容,只讀。 2 語法:cat [選項] 文件 3 經常使用選項: 4 5 -n顯示行號 6 技巧: 一般和管道命令| more一塊兒使用,分頁顯示
1 功能:全屏、按頁顯示文本文件內容 2 語法:more 文件
more指令內置了若干快捷鍵
1 功能:分屏查看文本文件內容。 2 說明:less的功能比more強大,它在顯示文件內容時,不是所有加載後才顯示,而是根據顯示須要加載內容,對於顯示大型文件具備較高效率。 3 語法:less 文件
less指令內置了若干快捷鍵
1 功能:>表示覆蓋,>>表示追加。將前者覆蓋或追加到後者,若後者不存在,則建立。 2 案例: 3 4 ls > 文件將ls顯示的內容覆蓋寫入到文件,若該文件不存在,則建立文件 5 cat 文件1 > 文件2將文件1的內容覆蓋文件2 6 echo "內容" >> 文件將內容追加到文件
1 功能:輸出內容到控制檯。 2 語法:echo "內容"
1 功能:顯示文件前幾行內容,默認10行。 2 語法:head 文件 3 經常使用選項: 4 5 head -n x 文件顯示前x行
1 功能:顯示文件後幾行內容,默認10行。 2 語法:tail 文件 3 經常使用選項: 4 5 -n x顯示後x行 6 -f實時監控文件變化
1 功能:軟連接也叫符號連接,相似windows快捷鍵 2 語法:ln -s [原文件或目錄] [軟連接名] 3 說明: 4 5 使用pwd查看目錄時,看到的仍然是軟連接所在的目錄
1 功能:查看或執行歷史命令 2 語法:history 3 案例: 4 5 history n顯示最近執行的n條命令 6 !n執行第n條歷史命令
1 功能:查看和設置時間日期 2 查看語法: 3 4 date 查看當前時間 5 date "+%Y年%m月%d日 %H:%M:%S"查看年月日時分秒*(其中的年月日以及冒號能夠自由寫,而且,也能夠只顯示一部分時間信息)* 6 設置語法: 7 8 date -s "年-月-日 時:分:秒"設置時間
1 功能:查看日曆 2 語法:cal [選項] 3 案例: 4 5 cal 年份 顯示該年日曆
1 功能:從指定目錄向下遍歷其各個子目錄,將知足條件的目錄或文件顯示在終端 2 語法:find 搜索範圍 選項
1 功能:快速定位文件路徑 2 語法:locate 文件 3 說明: 4 5 第一次運行前,必須使用updatedb指令建立locate數據庫
1 功能:過濾查找 2 語法:grep [選項] 查找內容 源文件 3 經常使用選項: 4 5 i忽略大小寫 6 n顯示匹配行和行號
1 功能:將|前的命令處理結果,輸出給後面的命令來處理 2 案例: 3 4 cat 文件 | grep -ni 內容
1 功能:gizp壓縮(只能壓縮爲.gz格式),gunzip解壓 2 語法: 3 4 gzip 文件壓縮 5 gunzip 文件解壓 6 注意:用gzip壓縮不會保留源文件
1 功能:zip壓縮,unzip解壓 2 語法: 3 4 zip [選項] 壓縮後的文件 壓縮前的爲文件壓縮文件或目錄 5 unzip [選項] 要解壓的文件解壓
1 zip選項: 2 3 -r遞歸壓縮,即壓縮目錄 4 unzip選項: 5 6 -d指定解壓後的存放目錄
1 功能:打包指令,打包後的文件爲.tar.gz格式 2 語法:tar [選項] 打包後的文件 打包前的文件 3 說明:-zcvf壓縮,-zxvf解壓 4 選項: 5 6 c產生.tar打包文件 7 v顯示詳細信息 8 f指定壓縮後的文件名 9 z打包同時壓縮 10 x解包.tar文件
做用到文件
做用到目錄
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中加入任務,對於複雜的任務,須要寫腳本)
1 語法:crontab [選項] 2 選項: 3 4 -e編輯crontab任務 5 -l查詢crontab任務 6 -r刪除當前用戶的全部crontab任務 7 service crond restart重啓任務調度
特殊的符號
1 vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改後重啓機器生效,可以使用service network restart重啓網絡服務。
ifcfg-eth0文件說明:
指定固定IP的方法:
1 功能:顯示當前系統正在執行的進程 2 語法:ps [選項] 3 選項: 4 5 -a當前終端的全部進程信息 6 -u以用戶格式顯示進程信息 7 -x顯示後臺進程運行的參數 8 -ef顯示父進程 9 說明:可使用ps -aux | grep 指定服務來查看是否有指定服務
-aux信息選項說明
-ef信息選項說明
1 功能:終止進程 2 語法: 3 4 kill [選項] 進程號 5 killall 進程名稱(支持通配符) 6 選項: 7 -9強制終止
1 功能:查看進程樹 2 語法:pstree [選項] 3 選項: 4 5 -p顯示進程的PID 6 -u顯示進程的所屬用戶
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]
1 功能:動態監控進程 2 語法:top[選項] 3 選項: 4 5 -d 秒數每隔幾秒更新,默認三秒 6 -i不顯示閒置或僵死進程 7 -p經過指定進程id來監控某個進程 8 案例: 9 10 監視特定用戶:輸入top,而後按u,輸入用戶名 11 終止指定進程:輸入top,而後按k,輸入進程id
netstat -tunlp 查看全部端口
1 功能:查看系統網絡狀況 2 語法:netstat [選項] 3 說明:通常寫``netstat -anp` 4 選項: 5 6 an按必定順序排列輸出 7 p顯示哪一個進程正在調用
1 RPM,RedHat Package Manager(RedHat軟件包管理工具),相似windows的setup.exe
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 軟件包組 安裝軟件包組
系統服務管理命令
設置開機啓動相關