Linux基礎(二)

網卡的啓動與關閉

ipup ens33 啓動網卡
ifdown  關閉網卡
普通用戶沒有該權限

 

root用戶,管理員,普通用戶的權限

root   至高無上的  root用戶所在的組是root組
​
管理員 root給他一些權限
​
普通用戶 只有本身基本的權限
​
經過useradd建立出來的都是普通用戶

 

建立一個普通新用戶

建立一個普通新用戶語法:
useradd 普通用戶名字
​
修改指定用戶的密碼
passwd 名字 
​
passwd  單寫一個passwd是修改當前登陸用戶的密碼
​
root用戶能夠修改其餘全部人的密碼,且不須要驗證

 

查看當前用戶

whoami   查看當前用戶

 

id命令

id命令  查看當前用戶的uid,gid,group
​
id 用戶名  查看該用戶的uid,gid,group
​
/etc/passwd  記錄用戶的密碼信息
/etc/group  記錄用戶的分組信息

 

添加新的group組名

groupadd  組名

 

刪除用戶

userdel 用戶名   
​
參數
-f 強制刪除用戶
-r 同時刪除用戶以及家目錄 

 

切換登陸用戶

su 要切換的用戶名
​
su  -  用戶名  #中間的-表明徹底切換到該用戶下(包括全部環境變量)
​
root用戶切換普通用戶不用密碼,反之須要密碼

 

用戶退出登陸

1.exit
2.logout

 

快捷鍵

1.tab鍵    用於自動補全命令/文件名/目錄名
2.ctrl + l  清理終端顯示 
3.clear/cls  清理終端顯示
4.ctrl + c 終止當前操做

 

命令提示符

Linux命令提示符由PS1環境變量控制
echo $PS1   顯示命令提示符的顯示規則
PS1="[\u@\h \W]\$"    默認命令提示符顯示格式
PS1="[\u@\h \w \t]\s" 設置命令提示符含有絕對路徑和時間
​
能夠自行調整全局變量/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爲#,普通用戶爲$

 

sudo 命令

sudo 命令   #用root用戶的身份執行sudo後面的命令
​
前提
方法1.在/etc/sudoers中添加該用戶
方法2.visudo 也是更改/etc/sudoers/  若是語法錯誤會有提示

 

更改主機名

hostnamectl set-hostname 新主機名
須要從新登陸才能生效

 

文件和目錄的權限

權限:在Linux中,每一個文件都有所屬的全部者,和全部組,而且規定了文件的全部者,全部組以及其餘人對文件的,可讀,可寫,可執行等權限。
​
權限的目的:保護帳戶的資料
​
Linux權限主要依據三種身份來決定:
​
user/owner 文件使用者,文件屬於哪一個用戶
group 屬組,文件屬於哪一個組
others 既不是user,也再也不group,就是other,其餘人
​
查看文件的權限信息:ls -l /var/log/mysqld.log 
以下圖

 權限信息的解釋html

 

解讀上圖:

    權限,第一個字母爲文件類型,後續9個字母,每3個一組,是三種身份的權限
    文件連接數
    文件擁有者-屬主
    文件擁有組-屬組
    文件大小
    最後一次被修改的時間日期
    文件名 
    
文件類型
    -    通常文件
    d    文件夾
    l    軟鏈接(快捷方式)
    b    塊設備,存儲媒體文件爲主
    c    表明鍵盤,鼠標等設備
    
權限類型
    r    read可讀,能夠用cat等命令查看
    w    write寫入,能夠編輯或者刪除這個文件
    x    executable    能夠執行

 

普通文件的權限

可讀 cat more less head tail
可寫 echo "xxx" > 文件
可執行 二進制程序

 

目錄,文件夾的權限

可讀 ls
可寫 能夠在這個目錄建立文件
可執行 cd

 

權限與數字轉化

 

修改權限chmod

1.chmod [身份]     [參數]   [文件]
    u(user)   +(添加)  
    g(group)   -(減去)
    o(other)  =(賦值)
    a(all)
如:chmod o+w aaa.txt
2.用數字的方式修改
如:chmod 777 aaa.txt

 

改變用戶的屬主

chown root aaa.txt

 

更改組

chgrp root aaa.txt

 

軟鏈接:至關於快捷方式

ln -s 目標文件的地址 快捷方式的地址(地址都是絕對地址)

 

環境變量的添加

 

用軟鏈接和path添加環境變量的區別

軟鏈接的更乾淨,更少python

 

tar壓縮解壓文件

語法:  
tar  參數   文件名  想壓縮的內容
tar -cvf   文件名  想壓縮的內容
​
經常使用參數
-c    壓縮
-x  解壓
-v  顯示過程
-f   指定文件  寫在最後
​
其餘參數
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=<日期時間>:只將較指定日期更新的文件保存到備份文件裏;

 

查看網絡端口netstat

ps -ef|grep  查看任務是否運行有進程
netstat -tunlp | grep  查看任務的端口是否啓動
​
netstat的參數
-t或--tcp:顯示TCP傳輸協議的連線情況;
-u或--udp:顯示UDP傳輸協議的連線情況;
-n或--numeric:直接使用ip地址,而不經過域名服務器;
-l或--listening:顯示監控中的服務器的Socket;
-p或--programs:顯示正在使用Socket的程序識別碼和程序名稱;
-a或--all:顯示全部連線中的Socket;

 

一臺服務的三個IP

0.0.0.0    127.0.0.1+192.168.12.13,其餘人訪問192.168.12.13,也能訪問到,同時暴露迴環地址
​
127.0.0.1  本機迴環地址,其餘人訪問不到
​
192.168.12.13  本機對外能夠訪問的IP地址

 

用yum安裝ifconfig

yum install net-tools -y

 

幫助

命令 --help

 

查詢進程

ps 參數
​
參數
-a     顯示全部進程
-u     用戶以及其餘詳細信息
-x    顯示沒有控制終端的進程

 

殺死進程

kill 參數 進程名(或進程號)
​
參數
-a:當處理當前進程時,不限制命令名和進程號的對應關係;
-l <信息編號>:若不加<信息編號>選項,則-l參數會列出所有的信息名稱;
-p:指定kill 命令只打印相關進程的進程號,而不發送任何信號;
-s <信息名稱或編號>:指定要送出的信息;
-u:指定用戶。
​
HUP     1    終端斷線
INT     2    中斷(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM   15    終止
KILL    9    強制終止
CONT   18    繼續(與STOP相反, fg/bg命令)
STOP   19    暫停(同 Ctrl + Z)

 

SELinux 內置的防火牆

大多數ssh鏈接不上虛擬機,都是由於防火牆和selinux阻擋了
​
關閉SELinux
修改配置文件
/etc/selinux/conf
修改參數
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
​
getenforce命令 查詢SELinux狀態
​
臨時開啓或關閉重啓失效SELinux
setenforce命令
數字0 表示permissive,給出警告,不會阻止,等同disabled
數字1表示enforcing,表示開啓

 

iptablis防火牆

iptables -L查看iptablis規則

關閉防火牆
systemctl status firewalld #查看防火牆狀態
systemctl /start/restart/stop firewalld    #關閉防火牆
systemctl disable firewalld#關閉防火牆開機啓動
systemctl is-enabled firewalld.service#檢查防火牆是否啓動

 

中文顯示設置

#查看系統當前字符集
echo $LANG

#命令修改字符集
export LANG=en_US.utf8

1.修改配置文件/etc/locale.conf
LANG="zh_CN.UTF-8"
2.更改後查看系統語言變量
locale

source 讀取命令,使改變生效

 

查看磁盤空間df命令

df 參數

參數
-h或--human-readable:以可讀性較高的方式來顯示信息;
-k或--kilobytes:指定區塊大小爲1024字節;
-T或--print-type:顯示文件系統的類型;

 

把文件目錄結構以樹狀圖形式顯示出來,tree

若是沒有:yum install tree -y

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

 

 DNS

DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。
經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。

常見的互聯網 dns服務器
8.8.8.8  谷歌的dns服務器
114.114.114.114  114的dns服務器
223.5.5.5/22.6.6.6 阿里巴巴的dns服務器
119.29.29.29 騰訊的dns服務器

Linux的dns配置文件在 /etc/ersolv.conf
本地強制解析的文件  /etc/hosts

自定義dns增長hosts中的內容便可

dns解析順序
/etc/hosts>/etc/ersolv.conf

linux用於解析域名的命令
nslookup  域名

 

定時任務

定時任務:後臺運行,到了預約的時間就會自動執行的任務,前提是:事先手動將計劃任務設定好。
 

crontab命令被用來提交和管理用戶的須要週期性執行的任務,與windows下的計劃任務相似

參數
-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。
 

定時任務在/etc/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
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
 分 時  日 月  周
 
 crontab任務配置基本格式:
*  *  *  *  *  command
分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0表明星期天)  命令



第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。
08 * * *  天天8.30去上班  

逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」

中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」

正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com  每隔三分鐘執行下時間同步

 

Linux軟件包

1.源碼包格式
    1.下載python3的源碼包
    2.解壓縮源碼包,切換目錄
    3.編譯且安裝
    4.配置環境變量
    5.使用python3
2.rpm二進制包格式(這種安裝方式,須要手動解決依賴關係,有可能裝一個mysql,裝個倆小時)
    1.下載軟件的rpm格式包
    2. rpm -ivh lrzsz.rpm 
    3.使用lrzsz工具
3.yum安裝方式
yum工具,自動的搜索下載rpm包,且安裝,且解決依賴關係,自動處理下載其餘的依賴rpm包

    補充:
    1.若是直接安裝mysql5.6.rpm,依賴了不少其餘的軟件包,我就得一個一個解決依賴,
    2.因此rpm安裝方式,須要手動解決依賴關係,很麻煩,不建議使用
yum源的倉庫路徑在
/etc/yum.repos.d/
而後這個目錄底下,只有 以 .repo結尾的文件,纔會被識別爲yum倉庫
配置國內的yum源
1.在/etc/yum.repos.d/目錄底下,定製咱們本身的repo倉庫文件 
2.咱們本身沒有yum倉庫,咱們就去拿阿里巴巴的yum倉庫
3.https://opsx.alibaba.com/mirror  這就是阿里巴巴的鏡像站
4.下載阿里巴巴的yum倉庫文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget下載文件後,-O參數,指定放到某個目錄,且更名
5.清除yum緩存 
yum clean all 
6.生成新的阿里雲的yum軟件緩存
yum makecache


再配置epel額外的倉庫源,這個倉庫裏就存放了不少第三方軟件,例如redis  mysql  nginx 
1.配置epel倉庫
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.最好再生成yum緩存
yum makecache 
3.請爲所欲爲的使用 yum工具

yum示例用法
yum安裝nginx web服務器軟件
1.  yum install nginx  -y       -y 一路都是默認yes
2.啓動nginx  
直接輸入nginx命令
3.修改nginx主頁面 ,文件名字叫作 index.html  
find  /   -name index.html        查找這個文件所在地
vim /usr/share/nginx/html/index.html        修改這個nginx首頁文件
相關文章
相關標籤/搜索