網絡配置文件: /etc/sysconfig/network 網絡接口配置文件: /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME # 這個INTERFACE_NAME 就是 ens33 以下圖 DEVICE=: 關聯的設備名稱,要與文件名的後半部「INTERFACE_NAME」保持一致; BOOTPROTO={static|none|dhcp|bootp}: 引導協議;要使用靜態地址,使用static或none;dhcp表示使用DHCP服務器獲取地址; IPADDR=: IP地址 NETMASK=:子網掩碼 GATEWAY=:設定默認網關; ONBOOT=:開機時是否自動激活此網絡接口; HWADDR=: 硬件地址,要與硬件中的地址保持一致;可省; USERCTL={yes|no}: 是否容許普通用戶控制此接口; PEERDNS={yes|no}: 是否在BOOTPROTO爲dhcp時接受由DHCP服務器指定的DNS地址;
# 有的剛裝好Linux的時候,網卡默認沒啓動 #編輯網卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 個人是ens33 #修改配置參數 ONBOOT=yes # 這個樣就默認啓動了
ifup ens33 #啓動ens33網卡 ifdown ens33 # 關閉ens33網卡
在Linux系統中,用戶也有本身的UID身份帳號且惟一 系統管理員UID爲0 # root 系統用戶UID爲1~999 # Linux安裝的服務程序都會建立獨有的用戶負責運行。 普通用戶UID從1000開始:# 由管理員建立
# 添加用戶 useradd attila # 設置密碼 passwd 666 # 修改密碼 passwd attila # root能夠修改全部用戶的密碼,且不須要驗證
su命令能夠切換用戶身份的需求, su - username # su命令中間的-號很重要,意味着徹底切換到新的用戶,即環境變量信息也變動爲新用戶的信息
Tip: 1.超級用戶root切換普通用戶無需密碼,例如「羣主」想踢誰就踢誰 2.普通用戶切換root,須要輸入密碼 3.普通用戶權限較小,只能基本查看信息 4.$符號是普通用戶命令提示符,#是超級管理員的提示符 5.~ 表示在家目錄,好比root用戶在 /root下 就顯示~
-f 強制刪除用戶 -r 同時刪除用戶以及家目錄 userdel -rf attila
sudo命令用來以其餘身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。
若其未經受權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,以後有5分鐘的有效期限,超過時限則必須從新輸入密碼。
參數python
# sudo 【選項】【參數】 -b:在後臺執行指令; -h:顯示幫助; -H:將HOME環境變量設爲新身份的HOME環境變量; -k:結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼;。 -l:列出目前用戶可執行與沒法執行的指令; -p:改變詢問密碼的提示符號; -s<shell>:執行指定的shell; -u<用戶>:以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份; -v:延長密碼有效期限5分鐘; -V :顯示版本信息。
想要給普通用戶root的權限,必須編輯sudoers文件linux
# visudo # 後面不用加文件路徑本身去找 /etc/sudoers 使用visudo編輯出錯會告訴你 寫入 ## Allow root to run any commands anywhere root ALL=(ALL) ALL attila ALL=(ALL) ALL #容許attila在任何地方,執行任何命令
受權以後就能夠作一些只有root才能作的事情了,如:nginx
# 先切換到attila用戶 su - attila # 原來只有root才能看/root sudo ls /root # 前邊要寫sudo
# Linux文件主要有三種身份,每種身份有三種權限 # 身份 u(user), g(group), o(others) # 權限 r(可讀)w(可寫)e(可執行)
# 權限信息三個爲一組,如rw-就是一組 # 文件類型的參數與解釋 - 通常文件 d 文件夾 l 軟鏈接(快捷方式) b 塊設備,存儲媒體文件爲主 c 表明鍵盤,鼠標等設備
權限數字轉化shell
id指令查看用戶所屬羣主 # id root uid=0(root) gid=0(root) 組=0(root)
# chown (change owner) chown attila 校花的故事.txt
# chgrp (change group) chgrp attila 校花的故事.txt
# chmod chmod 754 校花的故事.txt # 754對應的位置分別是u g o # 7 = 4+2+1 也就是user 的權限是 r w e
# 創建軟鏈接的格式 ln -s 你要鏈接的文件的絕對路徑 軟鏈接的絕對路徑(名字地址隨便給) # 把/tmp/校花的故事.txt軟鏈接到/home/天龍.txt ln -s /tmp/校花的故事.txt /home/天龍.txt # 而後cat /home/天龍.txt 就直接能夠看到校花的故事.txt裏面的內容了, 天龍.txt至關於快捷方式,刪除不影響校花的故事.txt
[root@oldboy_python ~]# echo $PS1 [\u@\h \W]\$ 能夠自行調整全局變量/etc/profile文件用於永久生效 PS1='[\u@\h \W\t]\$' \d 日期 \H 完整主機名 \h 主機名第一個名字 \t 時間24小時制HHMMSS \T 時間12小時制 \A 時間24小時制HHMM \u 當前用戶帳號名 \v BASH的版本 \w 完整工做目錄 \W 利用basename取得工做目錄名 \# 下達的第幾個命令 \$ 提示字符,root爲#,普通用戶爲$ PS1 > 變量名 $PS1 > 查看變量內容 PS1=新內容 從新賦值 變量賦值,查看 name='chaoge' echo $name PS1顯示ip地址 export PS1="[\u@\h `/sbin/ifconfig ens33 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \w]\$"
tar(選項)(參數) -A或--catenate:新增文件到以存在的備份文件; -B:設置區塊大小; -c或--create:創建新的備份文件; -C <目錄>:這個選項用在解壓縮,若要在特定目錄解壓縮,可使用這個選項。 -d:記錄文件的差異; -x或--extract或--get:從備份文件中還原文件; -t或--list:列出備份文件的內容; -z或--gzip或--ungzip:經過gzip指令處理備份文件; -Z或--compress或--uncompress:經過compress指令處理備份文件; -f<備份文件>或--file=<備份文件>:指定備份文件; -v或--verbose:顯示指令執行過程; -r:添加文件到已經壓縮的文件; -u:添加改變了和現有的文件到已經存在的壓縮文件; -j:支持bzip2解壓文件; -v:顯示操做過程; -l:文件系統邊界設置; -k:保留原有文件不覆蓋; -m:保留文件不被覆蓋; -w:確認壓縮文件的正確性; -p或--same-permissions:用原來的文件權限還原文件; -P或--absolute-names:文件名使用絕對名稱,不移除文件名稱前的「/」號; -N <日期格式> 或 --newer=<日期時間>:只將較指定日期更新的文件保存到備份文件裏; --exclude=<範本樣式>:排除符合範本樣式的文件。
示例:數據庫
# 將/tmp/下全部內容壓縮成All_log.tar.gz而且放到/home/下 tar -zcvf /home/All_log.tar.gz /tmp/* # 把Python源碼包Python-3.7.0b3.tgz 解壓到/opt/python3的文件夾下 tar -zxvf Python-3.7.0b3.tgz -C /opt/python3
netstat命令用來打印Linux中網絡系統的狀態信息,可以讓你得知整個Linux系統的網絡狀況。
參數vim
netstat [選項] -t或--tcp:顯示TCP傳輸協議的連線情況; -u或--udp:顯示UDP傳輸協議的連線情況; -n或--numeric:直接使用ip地址,而不經過域名服務器; -l或--listening:顯示監控中的服務器的Socket; -p或--programs:顯示正在使用Socket的程序識別碼和程序名稱; -a或--all:顯示全部連線中的Socket; # netstat -tunlp
ps命令用於查看系統中進程狀態windows
ps 命令經常使用參數 -a 顯示全部進程 -u 用戶以及其餘詳細信息 -x 顯示沒有控制終端的進程 # 查找進程 ps -ef # 查找python進程 ps -ef | grep python
kill命令用來刪除執行中的程序或工做centos
-a:當處理當前進程時,不限制命令名和進程號的對應關係; -l <信息編號>:若不加<信息編號>選項,則-l參數會列出所有的信息名稱; -p:指定kill 命令只打印相關進程的進程號,而不發送任何信號; -s <信息名稱或編號>:指定要送出的信息; -u:指定用戶。
只有第9種信號(SIGKILL)才能夠無條件終止進程,其餘的信號進程都有權利忽略,下面的經常使用信號:緩存
HUP 1 終端斷線 INT 2 中斷(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 終止 KILL 9 強制終止 CONT 18 繼續(與STOP相反, fg/bg命令) STOP 19 暫停(同 Ctrl + Z)
示例:bash
先用ps查找進程,而後用kill殺掉: ps -ef | grep vim root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log root 3370 2822 0 16:21 pts/0 00:00:00 grep vim kill 3268
# 一般來說,複雜軟件的服務程序會有多個進程協同爲用戶提供服務,若是逐個去結束這 些進程會比較麻煩,
此時可使用 killall 命令來批量結束某個服務程序帶有的所有進程。 # 例如nginx啓動後有2個進程 killall nginx
centos7默認已經使用firewall做爲防火牆了 1.關閉防火牆 systemctl status firewalld #查看防火牆狀態 systemctl stop firewalld #關閉防火牆 systemctl disable firewalld#關閉防火牆開機啓動 systemctl is-enabled firewalld.service#檢查防火牆是否啓動
#查看系統當前字符集 echo $LANG locale #檢查xshell crt的字符集 #命令修改字符集 # vim /etc/profile.d/locale.sh export LC_CTYPE=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 # vim /etc/locale.conf LANG=zh_CN.UTF-8 # vim /etc/sysconfig/i18n LANG=zh_CN.UTF-8 # vim /etc/environment LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 英文版本 # vim /etc/profile.d/locale.sh export LC_CTYPE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 # vim /etc/locale.conf LANG=en_US.UTF-8 # vim /etc/sysconfig/i18n LANG=en_US.UTF-8 # vim /etc/environment LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 # 更改完以後須要保存生效 source /etc/proprofile 2.更改後查看系統語言變量 locale
df命令用於顯示磁盤分區上的可以使用的磁盤空間。默認顯示單位爲KB。能夠利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。
# 語法 df(選項)(參數) -h或--human-readable:以可讀性較高的方式來顯示信息; -k或--kilobytes:指定區塊大小爲1024字節; -T或--print-type:顯示文件系統的類型; --help:顯示幫助; --version:顯示版本信息。
1 1 tree命令以樹狀圖列出目錄的內容。 2 2 3 3 -a:顯示全部文件和目錄; 4 4 -A:使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合; 5 5 -C:在文件和目錄清單加上色彩,便於區分各類類型; 6 6 -d:先是目錄名稱而非內容; 7 7 -D:列出文件或目錄的更改時間; 8 8 -f:在每一個文件或目錄以前,顯示完整的相對路徑名稱; 9 9 -F:在執行文件,目錄,Socket,符號鏈接,管道名稱名稱,各自加上"*","/","@","|"號; 10 10 -g:列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼; 11 11 -i:不以階梯狀列出文件和目錄名稱; 12 12 -l:<範本樣式> 不顯示符號範本樣式的文件或目錄名稱; 13 13 -l:如遇到性質爲符號鏈接的目錄,直接列出該鏈接所指向的原始目錄; 14 14 -n:不在文件和目錄清單加上色彩; 15 15 -N:直接列出文件和目錄名稱,包括控制字符; 16 16 -p:列出權限標示; 17 17 -P:<範本樣式> 只顯示符合範本樣式的文件和目錄名稱; 18 18 -q:用「?」號取代控制字符,列出文件和目錄名稱; 19 19 -s:列出文件和目錄大小; 20 20 -t:用文件和目錄的更改時間排序; 21 21 -u:列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼; 22 22 -x:將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另外一個文件系統上,則將該目錄予以排除在尋找範圍外。 23 24 tree參數
[root@localhost /tmp]#hostnamectl set-hostname xixixi [root@xixixi ~ ]#hostname xixixi
DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,
而不用去記住可以被機器直接讀取的IP數串。 經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。
配置文件 cat /etc/resolv.conf #dns服務器地址 nameserver 119.29.29.29 nameserver 223.5.5.5 # 咱們遇到過qq能上去可是百度上不去的狀況吧,這就是有dns搞的鬼, 咱們須要按照如下作法: vim /etc/resolv.conf nameserver 114.114.114.114 # 這個是114dns服務器 # 223.5.5.5 和 223.6.6.6 是阿里的dns服務器
#解析 nslookup www.baidu.com
其實就是定時任務
crontab命令被用來提交和管理用戶的須要週期性執行的任務,與windows下的計劃任務相似
參數
crontab (選項)(參數) -e:編輯該用戶的計時器設置; -l:列出該用戶的計時器設置; -r:刪除該用戶的計時器設置; -u<用戶名稱>:指定要設定計時器的用戶名稱。 存放定時任務的文件 /var/spool/cron
注意:
1. 查看計劃任務的執行: tail -f /var/log/cron 2.寫計劃任務時,命令必須加上絕對路徑,不然會出現 "從日誌中看,確實觸發了計劃任務的執行,可是命令沒有成功" 的狀況 3.計劃任務執行的命令是否存在,軟件是否安裝 查看:rpm -qa | grep cron 4.確保crontab服務運行
systemctl status cron
ps -ef | grep crond
5.檢查crontab是否開機
systemctl is-enabled crond
crontab配置文件
在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed 分 時 日 月 周
示例:
# 全部命令都要用絕對路徑寫 crontab -e # 進入編輯計時器設置 # 每週一到週五的晚上11點,清空/tmp目錄下的全部文件 00 23 * * 1-5 /user/bin/rm -rf /tmp/* # 清空指令rm也須要找到它的絕對路徑, 而後tmp下的文件也要絕對路徑 # 每週3和周5的凌晨1點,備份/var/log 到 /vmtp/ 00 01 * * 3,5 /usr/bin/cp /var/log /vmtp/ # which cp 找到cp指令的所在位置 # 每隔三分鐘同步一下時間 */3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com - # 表示範圍 3-5 就是3到5 , # 表示和的意思 3,5 就是3和5 / # 表示每多長時間 */3 每3(分,時,日,月,周)
yum解決了依賴關係,提供了查找,安裝,刪除某一個,一組,甚至是所有軟件的命令
yum(選項)(參數) -h:顯示幫助信息; -y:對全部的提問都回答「yes」; -c:指定配置文件; -q:安靜模式; -v:詳細模式; -d:設置調試等級(0-10); -e:設置錯誤等級(0-10); -R:設置yum處理一個命令的最大等待時間; -C:徹底從緩存中運行,而不去下載或者更新任何頭文件
實例
部分經常使用的命令包括: 自動搜索最快鏡像插件 yum install yum-fastestmirror
yum源的目錄
#進入yum源目錄 cd /etc/yum.repos.d/ #查看yum源文件 ls -l
配置阿里雲yum源
1.好習慣,備份yum源 mkdir repo_bak mv *.repo repo_bak/ 2.下載阿里雲repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 3.清空yum緩存而且生成新的yum緩存 yum clean all yum makecache 4.安裝軟件擴展源 yum install -y epel-release
yum repolist all # 列出全部倉庫 yum list all # 列出倉庫全部軟件包 yum info 軟件包名 # 查看軟件包信息 yum install 軟件包名 # 安裝軟件包 yum reinstall 軟件包名 # 從新安裝軟件包 yum update 軟件包名 # 升級軟件包 yum remove 軟件包名 # 移除軟件包 yum clean all # 清楚全部倉庫緩存 yum check-update # 檢查能夠更新的軟件包 yum grouplist # 查看系統中已安裝的軟件包 yum groupinstall 軟件包組 # 安裝軟件包組
/etc: 這個目錄用來存放全部的系統管理所須要的配置文件和子目錄
#網卡配置文件 /etc/sysconfig/network-script/ifcfg-eth0 #修改機器名以及網卡,網管等配置 /etc/sysconfig/network #linux的dns客戶端配置文件,實現域名和ip的互相解析 /etc/resolv.conf #本地dns解析文件,設定ip和域名的對應解析,開發測試最經常使用的臨時域名解析 /etc/hosts/ #系統全局環境變量永久生效的配置文件,如PATH等 /etc/profile #用戶的環境變量 ~/.bash_profile ~/.bashrc #存放可執行程序的目錄,大可能是系統管理命令 /usr/sbin #存放用戶自編譯安裝軟件的目錄 > 等同於C:\Program files (windows) /usr/local #關於處理器的信息,還能夠top指令查看 /proc/cpuinfo #查看內存信息,還能夠free -m /proc/meminfo
rpm -ivh 包名.rpm # 須要手動解決依賴關係 yum install 包名 # yum自動處理依賴關係 編譯安裝(源碼安裝)
1.yum報錯 Error couldn't resolve host 'mirrorlist.centos.org' 2.ping www.baidu.com 看是否能上網 3.若是百度不通,ping ip通了 ping 119.29.29.29 ,說明dns有問題