① 1、Linux系統基本網路
1.1、伺服器注意事項:
遠程伺服器不允許關機,只能重啟
重啟時應該先關閉服務
不要在伺服器訪問高峰運行高負載命令
遠程配置防火牆時不要把自己踢出伺服器
指定合理的密碼規范並定期更新
合理分配許可權
定期備份重要的數據和日誌
1.2、設置網路橋接命令和(ANT模式):
systemctl restart network------重啟網卡service network restart---------重啟網路服務
systemctl stop NetworkManager 臨時暫停網路管理器systemctl disable NetworkManager 永久關閉網路管理器
systemctl start NetworkManager 擁有root用戶的可執行許可權
systemctl stop NetworkManager 停止並禁用虛擬機 NetworkManager 服務
systemctl disable NetworkManager
注意:修改網路配置文件後,需要重新載入網路連接,如果是通過network.service則使用命令:systemctl restart network;如果是通過NetworkManager.service則使用nmcli命令:nmcli connection reload。
設置網路主要操作(橋接模式和)
[root@localhost network-scripts]# cd etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-ens33
systemctl restart network------重啟網卡
service network restart---------重啟網路服務
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static 設置靜態
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=10c17057-e9c9-4831-a8ff-0757ea0abc0b
DEVICE=ens33
ONBOOT=yes #開機重啟
#IPADDR=192.168.43.168 #ip地址(需要跟主機同一個網段,不同一個IP)
IPADDR=10.63.73.20
#NETMASK=255.255.255.0 #子網掩碼(下面三個都跟主機一樣)
NETMASK=255.255.0.0
#GATEWAY=192.168.43.1 #網關
GATEWAK=10.63.255.254
#GATEWAK=10.200.0.3
#DNS1=192.168.43.1 #DNS服務
設置網路主要步驟(Nat模式)
1.打開Vm,點擊編輯->虛擬網路編輯
2.選擇VMnet8,將VMnet信息改為NAT模式,比如我的本機IP是192.168.138.1,子網掩碼為255.255.255.0
所以我將下面的IP配置成192.168.138.0 子網掩碼配置成255.255.255
3.再點擊NAT設置將網管配置成192.168.138.2(ps:網關不要配置成和自己IP地址一樣)
然後再應用確定
4.右鍵點擊虛擬機設置,網路適配器改為自定義(選擇Vmnet8 Nat模式)
5.接下來開啟虛擬機
cd /etc/sysconfig/network-scripts/
vim ifcfg-eno16777736
然後再執行命令:/etc/init.d/network restart
1.3、設置防火牆
1.3.1、防火牆命令
停止防火牆:
systemctl stop firewalld.service #停止firewall 防火牆
service iptables stop #(centos7版本之前)
永久關閉防火牆:
systemctl disable firewalld.service #禁止firewall開機啟動 ( 永久關閉防火牆 )
chkconfig iptables off #永久關閉防火牆
開始防火牆:
systemctl start firewalld #啟動防火牆
systemctl restart iptables.service #重啟防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啟動(重啟)
查看防火牆狀態:
systemctl status firewalld
service iptables status # (7版本之前)
1.3.2、Linux chkconfig 命令
Linux chkconfig 命令用於檢查,設置系統的各種服務。
這是Red Hat公司遵循GPL規則所開發的程序,它可查詢操作系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。
語法
chkconfig [--add][--del][--list][系統服務] 或 chkconfig [--level <等級代號>][系統服務][on/off/reset]
參數 :
--add 增加所指定的系統服務,讓 chkconfig 指令得以管理它,並同時在系統啟動的敘述文件內增加相關數據。
--del 刪除所指定的系統服務,不再由 chkconfig 指令管理,並同時在系統啟動的敘述文件內刪除相關數據。
--level<等級代號> 指定讀系統服務要在哪一個執行等級中開啟或關畢。
實例
列出chkconfig 所知道的所有命令,可以用chkconfig –list查看所有的服務及其在每個級別的開啟狀態。
# chkconfig --list
開啟服務
# chkconfig telnet on //開啟 Telnet 服務
# chkconfig --list //列出 chkconfig 所知道的所有的服務的情況
關閉服務
# chkconfig telnet off // 關閉 Telnet 服務
# chkconfig --list // 列出 chkconfig 所知道的所有的服務的情況
[root@cent01 sbin]# chkconfig --level 3 network off //關閉3級別的network服務
[root@cent01 sbin]# chkconfig --list //3級別已關閉
network 0:關 1:關 2:開 3:關 4:開 5:開 6:關
[root@cent01 sbin]# chkconfig network on //不輸入級別,默認打開2,3,4,5級別
[root@cent01 sbin]# chkconfig --list
network 0:關 1:關 2:開 3:開 4:開 5:開 6:關
[root@cent01 sbin]# chkconfig --del network //刪除network
[root@cent01 sbin]# chkconfig --list //network已消失
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關
[root@cent01 sbin]# chkconfig --add network //增加network服務
[root@cent01 sbin]# chkconfig --list //network服務又恢復了
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關
network 0:關 1:關 2:開 3:開 4:開 5:開 6:關
[root@cent01 sbin]# chkconfig --list
註:該輸出結果只顯示 SysV 服務,並不包含
原生 systemd 服務。SysV 配置數據
可能被原生 systemd 配置覆蓋。
要列出 systemd 服務,請執行 'systemctl list-unit-files'。
查看在具體 target 啟用的服務請執行
'systemctl list-dependencies [target]'。
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關
注意: 但是這里只顯示了SysV管理的服務,centos6及之前都是這個管理工具,但是在centos7用的是systemd管理,所以systemd管理的服務在這里沒有顯示出來。
運行級別為系統啟動級別,具體含義如下:
0 shutdown關機
1 單用戶模式
2 無NFS支持的多用戶模式
3 完全多用戶模式,常用的命令行模式
4 保留給用戶自定義
5 圖形界面登錄,比3多了一個圖形界面
6 重啟
1.3.2、Linux systemd命令
systemd是管理開機啟動程序的工具(SysV啟動開機進程時一次只能啟動一個,而systemd則一次可以啟動多個服務,這樣就導致systemd的開機速度會更快。)
[root@localhost ~]# systemctl list-units --all --type=service
UNIT LOAD ACTIVE SUB DESCRIPTION
abrt-ccpp.service loaded active exited Install ABRT coremp hook
abrt-oops.service loaded active running ABRT kernel log watcher
UNIT LOAD ACTIVE SUB DESCRIPTION
[root@cent01 sbin]# ls /usr/lib/systemd/system //啟動的腳本文件目錄
[root@cent01 ~]# systemctl list-units //列出正在運行的unit
[root@cent01 ~]# systemctl list-units --all //列出所有的unit,包括active和inactive
[root@cent01 ~]# systemctl list-units --all --state=inactive //列出inactive的unit
[root@cent01 ~]# systemctl list-units --all --type=service //列出所有狀態的service
[root@cent01 ~]# systemctl list-units --type=service //列出active的service
[root@cent01 ~]# systemctl is-active crond.service //查看某個unit是否active
systemctl enable crond.service //開機啟動 .service可以省略
systemctl disable crond.service //禁止開機啟動
systemctl status crond.service //查看服務狀態
systemctl start crond.service //啟動服務
systemctl stop crond.service //停止服務
systemctl restart crond.service //重啟服務
systemctl is-enabled crond.service //查看某個服務是否開機啟動
unit /usr/lib/systemd/system 此目錄下列出了很多文件,這些文件都是unit。類別如下:
service 系統服務target 多個unit組成的組device 硬體設備mount 文件系統掛載點automount 自動掛載點path 文件或路徑scope 不是由systemd啟動的外部進程slice 進程組snapshot systemd快照socket 進程間通信的套接字swap swap文件timer 定時器
target target類似於centos6的啟動級別,target內又包含多個unit的組合,當然target內也可以包含target。啟動target就是啟動多個unit,用target來管理這些unit。
[root@cent01 ~]# systemctl list-units --all --type=target //查看當前所有的target
UNIT LOAD ACTIVE SUB DESCRIPTION
basic.target loaded active active Basic System
bluetooth.target loaded active active Bluetooth
[root@localhost ~]# systemctl list-dependencies multi-user.target
multi-user.target
● ├─abrt-ccpp.service
● ├─abrt-oops.service
● ├─abrt-vmcore.service
● ├─abrt-xorg.service
[root@localhost ~]# systemctl get-default //查看系統默認的target
multi-user.target
systemctl set-default multi-user.target //設置默認的target
multi-user.target等同於centos6的運行級別3。他們的對應關系如下:
SysV運行級別systemd target備注
0poweroff.target關閉系統
1rescure.target單用戶模式
2multiuser.target用戶自定義級別,通常識別為3
3multiuser.target多用戶命令行模式
4multiuser.target用戶自定義級別,通常識別為3
5graphical.target多用戶圖形界面,比級別3隻多一個GUI
6reboot.target重啟
所以總結起來,一個service屬於一種unit,多個unit組成一個target,當然target裡面也可以包含target。
1.4、ifconfig命令配置IP網路參數
格式:
[root@localhost /]#ifconfig [網路設備] [ip地址] [MAC地址] [netmask掩碼地址] [broadcast廣播地址(NDC)] [up/down]
[root@localhost /]#ifconfig eth0 192.168.74.130 netmask 255.255.255.0 up
用ifconfig命令配置eth0別名設備,為eth0綁定多個IP地址。
[root@localhost /]#ifconfig eth0:1 192.168.74.130
[root@localhost /]#ifconfig eth0:2 192.168.73.130
1.5、使用routedel命令添加路由
格式:
[root@localhost /]#routedel [-net|host] [網域或主機] netmask [mask] [gw]
[root@localhost /]#route #查看路由信息
功能:添加路由
-net : 表示後面接的路由為一個網路。
-host : 表示後面接的為連接到單部主機的路由。
netmask : 與網路有關,可以設定netmask決定網路的大小。
gw : gateway (網關)的簡寫,後面接的是ip地址。
1.6、使用hostname命令修改主機名稱
[root@localhost /]#hostname service.jw.com
hostnamectl set-hostname nod1
② linux下工作的腳本,要放在哪裡用
放在環境變數的目錄裡面
比如 /bin
你可以 echo $PATH 查看
③ linux shell 遠程連接腳本怎麼寫 Linux
樓上亂講,你在腳本里 ssh username@遠程主機ip 這樣寫的話會提示你輸入密碼,腳本不能實現自動化還有什麼意義。
直接在shell腳本里是實現不了自動登錄的,你需要藉助expect腳本。
redhat下默認是沒有安裝expect,你可以用yum install expect來安裝。
安裝完成後編寫腳本如下
#!/usr/bin/expect -f
set timeout 30
spawn ssh username@host
expect "*assword:*"
send "password\r"
expect eof
保存後給它加上可執行許可權,就可以用這個腳本登錄了。
解釋一下
set timeout 30 設置超時時間
spawn spawn用來啟動一個新的進程
expect 用來等待你所期望的系統返回的字元串
send 用來向系統發送一個字元串,即你的密碼
expect eof 等待接受文件結束符。
夠詳細了吧。累死我了。
④ linux 如何查看一個軟連接實際指向的文件的位置
linux下查看軟連接的信息使用命令「ls -L」最後一列就是原始地址(實際指向的文件的位置)。ln -s /home/basic/dl/ build/執行完成後,會在build路徑下dl的目錄, 使用ls -l查看會發現build下的dl-〉/home/basic/dl,進入build/dl下即可查看與訪問相應的文件。
⑤ linux shell腳本位置在哪兒
Linux 的shell腳本
說的是用shell語法寫的腳本文件
可放在任何位置
一般用.sh做擴展名,其實任何名字都可以。
運行shell腳本的
一般放在/bin下面
也可以在shell腳本第一行 用
#!指定。
⑥ linux ubuntu中如何用腳本配置自動聯網
這個不需要什麼腳本來連接,只需要在系統右上角的網路圖標上<編輯連接>中勾選<自動連接>即可。
⑦ linux文件系統開機自動掛載的腳本在哪一個目錄下
系統開機自動運行的
腳本文件
:
/etc/rc.local
直接修改這個文件就可以自動
掛載
相關的文件夾。
當然,你也可以修改/etc/fstab來自動掛載。
也可以修改autofs的相關配置自動掛載。
⑧ Linux中的網路配置怎麼設置
設置網路地址:
cat/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=statics
HWADDR=00:0C:29:13:D1:6F
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.0.212
NETMASK=255.255.255.0
BOOTPROTO=statics :表示使用靜態IP地址
ONBOOT=yes:表示開機時,啟動這個網卡。
取動態IP地址地址
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
設置好IP地址,現在還不能生效哦,要重新啟動網卡才可以。
Ifconfig <網路介面名稱> network <子網掩碼>
例:# ifconfig eth0 192.168.1.222 netmask 255.255.255.0
註:手工配置linux網路只限於臨時使用,配置不保存。
擴展:# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一塊網卡配置多個子ip地址。
# ifconfig eth0 hw ether MAC地址 修改網卡的mac地址,
#/etc/rc.d/init.d/networkstart啟動network
#/etc/rc.d/init.d/networkstop停止network
#/etc/rc.d/init.d/networkrestart重啟network
主機名稱配置文件,修改主機名
/etc/sysconfig/network
例:# vi /etc/sysconfig/network 使用vi編輯器打開主機名配置文件。
#vi/etc/sysconfig/network
NETWORKING=yes 網路是否可用。
HOSTNAME=xxxx xxxx為新設置的主機名。
本地主機名稱解析文件
/etc/hosts
Hosts 和 DNS具有類似的主機名稱解析功能
域名伺服器配置文件
/etc/resolv.conf
最多可以設置3行,前面的生效 有些看似很復雜的操作,可能幾個命令就解決了,建議多學習些Linux命令
⑨ Linux對應的安裝腳本怎樣查
在Linux
操作系統中,有一個系統軟體包,它的功能類似於Windows裡面的「添加/刪除程序」,但是功能又比「添加/刪除程序」強很多,它就是
Red
Hat
Package
Manager(簡稱RPM)。此工具包最先是由Red
Hat公司推出的,後來被其他Linux開發商所借用。由於它為Linux使用者省去了很多時間,所以被廣泛應用於在Linux下安裝、刪除軟體。下面就給大家介紹一下它的具體使用方法。
1.我們得到一個新軟體,在安裝之前,一般都要先查看一下這個軟體包里有什麼內容,假設這個文件是:Linux-1.4-6.i368.rpm,我們可以用這條命令查看:
rpm
-qpi
Linux-1.4-6.i368.rpm
系統將會列出這個軟體包的詳細資料,包括含有多少個文件、各文件名稱、文件大小、創建時間、編譯日期等信息。
2.上面列出的所有文件在安裝時不一定全部安裝,就像Windows下程序的安裝方式分為典型、完全、自定義一樣,Linux也會讓你選擇安裝方式,此時我們可以用下面這條命令查看軟體包將會在系統里安裝哪些部分,以方便我們的選擇:
rpm
-qpl
Linux-1.4-6.i368.rpm
3.
選擇安裝方式後,開始安裝。我們可以用rpm-ivh
Linux-1.4-6.i368.rpm命令安裝此軟體。在安裝過程中,若系統提示此軟體已安裝過或因其他原因無法繼續安裝,但若我們確實想執行安裝命令,可以在
-ivh後加一參數「-replacepkgs」:
rpm
-ivh
-replacepkgs
Linux-1.4-6.i368.rpm
4.有時我們卸載某個安裝過的軟體,只需執行rpm-e
<文件名>;命令即可。
5.對低版本軟體進行升級是提高其功能的好辦法,這樣可以省去我們卸載後再安裝新軟體的麻煩,要升級某個軟體,只須執行如下命令:rpm
-uvh
<文件名>;,注意:此時的文件名必須是要升級軟體的升級補丁
6.
另外一個安裝軟體的方法可謂是Linux的獨到之處,同時也是RMP強大功能的一個表現:通過FTP站點直接在線安裝軟體。當找到含有你所需軟體的站點並與此網站連接後,執行下面的命令即可實現在線安裝,譬如在線安裝Linux-1.4-6.i368.rpm,可以用命令:
rpm
-i
ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm
7.
在我們使用電腦過程中,難免會有誤操作,若我們誤刪了幾個文件而影響了系統的性能時,怎樣查找到底少了哪些文件呢?RPM軟體包提供了一個查找損壞文件的功能,執行此命令:rpm
-Va即可,Linux將為你列出所有損壞的文件。你可以通過Linux的安裝光碟進行修復。
8.Linux系統中文件繁多,在使用過程中,難免會碰到我們不認識的文件,在Windows下我們可以用「開始/查找」菜單快速判斷某個文件屬於哪個文件夾,在Linux中,下面這條命令行可以幫助我們快速判定某個文件屬於哪個軟體包:
rpm
-qf
<文件名>;
9.當每個軟體包安裝在Linux系統後,安裝文件都會到RPM資料庫中「報到」,所以,我們要查詢某個已安裝軟體的屬性時,只需到此資料庫中查找即可。注意:此時的查詢命令不同於1和8介紹的查詢,這種方法只適用於已安裝過的軟體包!命令格式:
rpm
-參數<文件名>;