远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
2.1.遠程拷貝
(將/export/servers/hadoop上的文件拷貝到bigdate@192.168.1.1:/export/servers/
)
scp –r /export/servers/hadoop bigdate@192.168.1.1:/export/servers/
?上面的意思是說將 /export/servers/hadoop 拷貝到192.168.1.1這臺服務器下的bigdate用戶下的/export/servers/這個文件夾下
2.2.查看端口
netstat –nltp查看端口號
?
2.3.vim常見快捷操作
一些有用的快捷鍵(在一般模式下使用):
a? 在光標后一位開始插入
A?? 在該行的最后插入
I?? 在該行的最前面插入
gg?? 直接跳到文件的首行
G??? 直接跳到文件的末行
dd??? 刪除一行
3dd??刪除3行
yy??? 復制一行
3yy??復制3行
p???? 粘貼
u???? undo
ctrl + r?? redo
?
v? 進入字符選擇模式,選擇完成后,按y復制,按p粘貼
ctrl+v?進入塊選擇模式,選擇完成后,按y復制,按p粘貼
shift+v?進入行選擇模式,選擇完成后,按y復制,按p粘貼
?
2.4.查找并替換
(在底行命令模式中輸入)
顯示行號
:set nu
隱藏行號
:set nonu
查找關鍵字
(在底行命令模式中輸入)
A:顯示行號
:set nu
B:隱藏行號
:set?nonu
C:查找關鍵字
:/you?????? ## 效果:查找文件中出現的you,并定位到第一個找到的地方,按n可以定位到下一個匹配位置(按N定位到上一個)
?
2.5替換操作
:s/sad/bbb??查找光標所在行的第一個sad,替換為bbb
:%s/sad/bbb?查找文件中所有sad,替換為bbb
?
2.6.查找命令
查找可執行的命令所在的路徑:
which ls
查找可執行的命令和幫助的位置:
whereis ls
從某個文件夾開始查找文件
find / -name"hadooop*"
find / -name "hadooop*" -ls
查找并刪除文件
find / -name "hadooop*" -ok rm {}\;
find / -name "hadooop*" -exec rm{} \;
查找用戶為hadoop的文件
find?/usr? -user? hadoop?-ls
查找用戶為hadoop的文件夾
find /home -user hadoop -type d -ls
查找權限為777的文件
find / -perm -777 -type d -ls
?
**、顯示歷史命令
history
?
2.7.grep命令
1/ 基本使用
查詢包含hadoop的行
grep hadoop /etc/password
查找所有txt文件中含有aaa的文件
grep aaa?./*.txt
?
2/ cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7
?
3/ 查詢不包含hadoop的行
grep -v hadoop ?/etc/passwd
?
4/ 正則表達包含hadoop
grep 'hadoop' /etc/passwd
?
5/ 正則表達(點代表任意一個字符)
grep 'h.*p' /etc/passwd
?
6/ 正則表達以hadoop開頭
grep '^hadoop' /etc/passwd
?
7/ 正則表達以hadoop結尾
grep 'hadoop$' /etc/passwd
8、查找指定目錄下的所有文件中含有特殊字符串的命令
grep -rl "正在登錄" /usr/cms5/UCMSServer/
?
正則表達式的簡單規則:
.? : 任意一個字符
a* : 任意多個a(零個或多個a)
a? : 零個或一個a
a+ : 一個或多個a
.* : 任意多個任意字符
\. : 轉義.
o\{2\} : o重復兩次
?
查找不是以#開頭的行
grep -v '^#' a.txt | grep -v '^$'
?
以h或r開頭的
grep '^[hr]' /etc/passwd
?
不是以h和r開頭的
grep '^[^hr]' /etc/passwd
?
不是以h到r開頭的
grep '^[^h-r]' /etc/passwd
?
注意:grep搜索關鍵詞的時候會把自己也搜索出來,對比以下兩種寫法
[root@localhost ~]# ps -ef | grep sixunhuan root?????? 2857?? 2465 30 02:41 pts/0??? 00:00:07 sh sixunhuan.sh root?????? 2874?? 2858? 0 02:42 pts/1??? 00:00:00 grep sixunhuan [root@localhost ~]# ps -ef | grep sixunhuan | grep -v grep root?????? 2857?? 2465 34 02:41 pts/0??? 00:00:25 sh sixunhuan.sh [root@localhost ~]# kill -9 2857 |
?
2.8.存儲空間查看,統計文件或文件夾的大小
df –h 存儲空間查看
du -sh?/mnt/cdrom/packages??? #統計指定路徑下的所有子目錄和文件的大小
df –h 查看磁盤的剩余空間
du -h --max-depth=1 xxx ? ? 文件夾大小查看
?
系統服務管理
service --status-all?? # 查看系統所有的后臺服務進程
service sshd status?? # 查看指定的后臺服務進程的狀態
service sshd stop ???# 停止sshd服務
service sshd start??? # 開啟sshd服務
service sshd restart? # 重啟sshd服務
?
2.9.配置后臺服務進程的開機自啟(chkconfig)
chkconfig httpd on? ## 讓httpd服務開機自啟
chkconfig httpd off? ## 讓httpd服務開機不要自啟
[root@localhost ~]# chkconfig httpd off [root@localhost ~]# chkconfig --list | grep httpd httpd?????????? 0:off?? 1:off?? 2:off?? 3:off?? 4:off?? 5:off?? 6:off [root@localhost ~]# chkconfig --level 35 httpd on [root@localhost ~]# chkconfig --list | grep httpd httpd?????????? 0:off?? 1:off?? 2:off?? 3:on??? 4:off?? 5:on??? 6:off |
?
2.10.系統啟動級別管理
vi /etc/inittab
? # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: #?? 0 - halt (Do NOT set initdefault to this) #?? 1 - Single user mode #?? 2 - Multiuser, without NFS (The same as 3, if you do not have networking) #?? 3 - Full multiuser mode?? ##沒有圖形界面的全功能的多用戶的啟動級別 #?? 4 - unused #?? 5 - X11??????????????? ##有圖形界面的啟動級別 #?? 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:???????????? ##配置默認啟動級別 ? ## 通常將默認啟動級別設置為:3 |
2.10.主機名配置
查看主機名
hostname
修改主機名(重啟后無效)
hostname hadoop
修改主機名(重啟后永久生效)
vi /ect/sysconfig/network
?
2.11.IP地址配置
修改ip地址
方式一:setup
用root輸入setup命令,進入交互式修改界面
?
方式二:修改配置文件
(重啟后永久生效)
vi ?/etc/sysconfig/network-scripts/ifcfg-eth0
?
方式三:ifconfig命令
(重啟后無效)
ifconfig eth0 192.168.12.22
?
2.12.域名映射
/etc/hosts文件 用于在通過主機名進行訪問時做ip地址解析之用
所以,你想訪問一個什么樣的主機名,就需要把這個主機名和它對應的ip地址配置在/etc/hosts文件中
?
2.13.系統中網絡進程的端口監聽情況
netstat -nltp
?
2.14.防火墻配置
防火墻根據配置文件/etc/sysconfig/iptables來控制本機的“出、入”網絡訪問行為
其對行為的配置策略有四個策略表
?
查看防火墻狀態
service iptables status
關閉防火墻
service iptables stop
啟動防火墻
service iptables start
禁止防火墻自啟
chkconfig iptables off
?
1、列出iptables規則
iptables -L -n
列出iptables規則并顯示規則編號
iptables -L -n --line-numbers
?
2、列出iptables nat表規則(默認是filter表)
iptables -L -n -t nat
?
3、清除默認規則(注意默認是filter表,如果對nat表操作要加-t nat)
#清除所有規則
iptables -F
?
#重啟iptables發現規則依然存在,因為沒有保存
service iptables restart
?
#保存配置
service iptables save
?
4、禁止ssh登陸(若果服務器在機房,一定要小心)
iptables -A INPUT -p tcp--dport 22 -j DROP
?
#刪除規則
iptables -D INPUT -p tcp --dport 22 -j DROP
?
加入一條INPUT規則開放80端口
iptables -I INPUT -p tcp ?--dport 80 -j ACCEPT
?
加入一條NAT規則
iptables -t nat -A PREROUTING -d119.254.228.20 -p tcp -m tcp --dport 8022 -j DNAT --to-destination172.16.0.111:22
?
刪除一條NAT規則
iptables -t nat -D PREROUTING 6
?
其他iptables的相關命令:
#查看幫助 iptables -h man iptables ? 列出iptables規則 iptables -L -n 列出iptables規則并顯示規則編號 iptables -L -n --line-numbers ? 列出iptables nat表規則(默認是filter表) iptables -L -n -t nat ? 清除默認規則(注意默認是filter表,如果對nat表操作要加-t nat) #清楚所有規則 iptables -F ? #重啟iptables發現規則依然存在,因為沒有保存 service iptables restart ? #保存配置 service iptables save ? #禁止ssh登陸(若果服務器在機房,一定要小心) iptables -A INPUT -p tcp --dport 22 -j DROP #刪除規則 iptables -D INPUT -p tcp --dport 22 -j DROP ? iptables -t nat -D PREROUTING 6 ? ? -A, --append chain?? 追加到規則的最后一條 -D, --delete chain [rulenum]??? Delete rule rulenum (1 = first) from chain -I, --insert chain [rulenum]?????? Insert in chain as rulenum (default 1=first) 添加到規則的第一條 -p, --proto? proto?? protocol: by number or name, eg. 'tcp',常用協議有tcp、udp、icmp、all -j, --jump target 常見的行為有ACCEPT、DROP和REJECT三種,但一般不用REJECT,會帶來安全隱患 ? 注意:INPUT和DROP這樣的關鍵字需要大寫 ? #禁止192.168.33.0網段從eth0網卡接入 iptables -A INPUT -p tcp -i eth0 -s 192.168.33.0 -j DROP iptables -A INPUT -p tcp --dport 22 -i eth0 -s 192.168.33.61? -j ACCEPT ? #禁止ip地址非192.168.10.10的所有類型數據接入 iptables -A INPUT ! -s 192.168.10.10 -j DROP ? #禁止ip地址非192.168.10.10的ping請求 iptables -I INPUT -p icmp --icmp-type 8 -s 192.168.50.100 -j DROP ? #擴展匹配:1.隱式擴展 2.顯示擴展 ???????? #隱式擴展 ???????? -p tcp ?????????????????? --sport PORT 源端口 ?????????????????? --dport PORT 目標端口 ? ???????? #顯示擴展:使用額外的匹配規則 ???????? -m EXTENSTION --SUB-OPT ???????? -p tcp --dport 22 與 -p tcp -m tcp --dport 22功能相同 ? ???????? state:狀態擴展,接口ip_contrack追蹤會話狀態 ?????????????????? NEW:新的連接請求 ?????????????????? ESTABLISHED:已建立的連接請求 ?????????????????? INVALID:非法連接 ?????????????????? RELATED:相關聯的連接 ???????? ? #匹配端口范圍 iptables -I INPUT -p tcp --dport 22:80 -j DROP ? #匹配多個端口 iptables -I INPUT -p tcp -m multiport --dport 22,80,3306 -j ACCEPT ? #不允許源端口為80的數據流出 iptables -I OUTPUT -p tcp --sport 80 -j DROP |
總結
以上是生活随笔為你收集整理的远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爱回收递交赴美IPO 股票代码为RE
- 下一篇: Linux中的高级文本处理命令,cut命