1 find
用于搜索文件1.1 常用的参数项
-type 根据类型搜索;-name 根据名字搜索;-user 根据文件所有者搜索;-perm 根据文件权限来搜索;-group 根据组查询1.2 命令用法
不指定目录则在当前目录下查询;find 目录 参数
示例
#查询/tmp下,权限为744的文件 .txt文件find /tmp -perm 744 -type f -name '*.txt'
1.3 find的高级用法
exec示例:把/tmp/dir2的txt文件使用find复制到dir1上面去; -exec 执行;\ 转义符;;代表可以执行多条语句;find /tmp/dir2 -name '*.txt' -exec cp -a {} /tmp/dir1 \;
mtime-n 查询n天之内的文件;+n查询n天以前的文件;
示例
#查询一天之内的tmp下的文件find /tmp -type f -mtime -1 -exec ls -lrt{}\;#查询一天之前的tmp下的文件find /tmp -type f -mtime +1 -exec ls -lrt{}\;
2 linux防火墙的相关命令
2.1 防火墙常识
防火墙的作用是守护信息安全;防火墙分类硬件防火墙和软件防火墙;在centos7 之前默认采用的防火墙是iptables,而在centos 7 则是采用firewall;d 一般是 Daemon 的缩写,即幽灵进程(也叫守护进程),指在操作系统后台运行的程序,不会随着用户 Ctrl+C 这种操作而中断;防火墙的程序有很多,firewalld是指其中一个,而firewall是则是firewalld的管理工具;2.2 常用命令
查看防火墙的状态systemctl status firewallfirewall-cmd --fstate
对防火墙进行操作
#关闭防火墙systemctl stop firewalld.service# 启动防火墙systemctl start firewalld.service#重启防火墙systemctl restart firewalld.service
增加一个linux的开放端口
#加上参数permanent永久生效 ,端口必须重载后生效firewall-cmd --permanent --add-port=80/tcp
防火墙的重载
firewall-cmd --reload
查看防火墙开放的所有端口
firewall-cmd --list-ports
查看某个特定的端口是否被开放
firewall-cmd --query-port=80/tcp
关闭某个端口
firewall-cmd --remove-port=80/tcp
selinux 简单介绍
SELinux 的三种工作模式;配置文件路径:/etc/selinux/config
enforcing :强制模式。违反selinux 规则的行为将会被阻止并记录到日志中去
permissive:宽容模式。违反selinux 规则的行为将会记录到日志中去
disabled:关闭模式
3 telent和scp的使用
3.1 telnet
判断服务器上的端口是否通安装telnet命令·;yum -y install xined telnet telnet-server命令格式:telnet IP PORT3.2 scp
2台服务器之间复制文件;加上参数-r 可以复制目录;示例# 在本机上把东西复制其他机器上面去scp /tmp/test/123.txt root@192.168.25.129:/root# 把其他机器上的东西复制到本机上面去scp root@192.168.25.129:/root/258.txt /tmp/test
4 ps
查看系统进程;4.1 ps -ef
[2]+ Stopped ps -ef | more[root@localhost home]# ps -ef | head -10UID PID PPID C STIME TTYTIME CMDroot10 0 15:28 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 23root20 0 15:28 ? 00:00:00 [kthreadd]root32 0 15:28 ? 00:00:00 [ksoftirqd/0]root52 0 15:28 ? 00:00:00 [kworker/0:0H]root72 0 15:28 ? 00:00:00 [migration/0]root82 0 15:28 ? 00:00:00 [rcu_bh]root92 0 15:28 ? 00:00:00 [rcuob/0]root 102 0 15:28 ? 00:00:00 [rcuob/1]root 112 0 15:28 ? 00:00:00 [rcuob/2]
uid 代表启动这个进程了用户;pid 进程号;ppid 父进程号;c cpu的占用率;stime 进程的启动时间;tty tty终端;time 进程占用cpu总的时间;cmd 启动这个进程的命令;
4.2 ps -aux
[root@localhost home]# ps -aux | head -10USER PID %CPU %MEM VSZ RSS TTYSTAT START TIME COMMANDroot1 0.0 0.7 50768 7164 ? Ss 15:28 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 23root2 0.0 0.000 ? S 15:28 0:00 [kthreadd]root3 0.0 0.000 ? S 15:28 0:00 [ksoftirqd/0]root5 0.0 0.000 ? S< 15:28 0:00 [kworker/0:0H]root7 0.0 0.000 ? S 15:28 0:00 [migration/0]root8 0.0 0.000 ? S 15:28 0:00 [rcu_bh]root9 0.0 0.000 ? S 15:28 0:00 [rcuob/0]root 10 0.0 0.000 ? S 15:28 0:00 [rcuob/1]root 11 0.0 0.000 ? S 15:28 0:00 [rcuob/2]
user 启动这个进程的用户;pid 这个进程的进程号;%cpu 占用cpu率是多少;%menu 占用的内存是多少;VSZ 这个进程全部进入内存需要的空间;RSS 当前这个进程所需要的空间;sate 进程的状态(S 代表的是休眠状态;D 代表的是不可中止的状态;Z代表的是僵尸状态; X 代表的是死掉的状态;)time 当前进程占用cpu的总的时间;start 当前进程的开始时间;common 启动这个进程的命令;
5 处理海量数据的命令
5.1 cut
对数据列进行操作的命令 ;参数: -d 指定分隔符;-f 截取指定的列数;-c 根据字符串的位数来截取字符;示例:1#打印数据1到3列cat /etc/passwd | cut -d ':' -f 1-3[root@localhost home]# cat /etc/passwd | cut -d ':' -f 1-3root:x:0bin:x:1daemon:x:2adm:x:3lp:x:4sync:x:5shutdown:x:6halt:x:7mail:x:8operator:x:11games:x:12ftp:x:14nobody:x:99dbus:x:81polkitd:x:999avahi:x:70avahi-autoipd:x:170postfix:x:89sshd:x:74
2
#打印数据1和3行cat /etc/passwd | cut -d ':' -f 1,3[root@localhost home]# cat /etc/passwd | cut -d ':' -f 1,3root:0bin:1daemon:2adm:3lp:4sync:5shutdown:6halt:7mail:8operator:11games:12ftp:14nobody:99dbus:81polkitd:999avahi:70avahi-autoipd:170postfix:89sshd:74
3
#打印数据3到最后一列[root@localhost home]# cat /etc/passwd | cut -d ':' -f 3-0:0:root:/root:/bin/bash1:1:bin:/bin:/sbin/nologin2:2:daemon:/sbin:/sbin/nologin3:4:adm:/var/adm:/sbin/nologin4:7:lp:/var/spool/lpd:/sbin/nologin5:0:sync:/sbin:/bin/sync6:0:shutdown:/sbin:/sbin/shutdown7:0:halt:/sbin:/sbin/halt8:12:mail:/var/spool/mail:/sbin/nologin11:0:operator:/root:/sbin/nologin12:100:games:/usr/games:/sbin/nologin14:50:FTP User:/var/ftp:/sbin/nologin99:99:Nobody:/:/sbin/nologin81:81:System message bus:/:/sbin/nologin999:998:User for polkitd:/:/sbin/nologin70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin89:89::/var/spool/postfix:/sbin/nologin74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
4
#截取1到2字符cat /etc/passwd | cut -c 1-2sshd[root@localhost home]# cat /etc/passwd | cut -c 1-2robidaadlpsyshhamaopgaftnodbpoavavposs
5
#截取除了root用户的所有用户cat /etc/passwd | grep -v 'root' | cut -d ':' -f 1[root@localhost home]# cat /etc/passwd | grep -v 'root' | cut -d ':' -f 1bindaemonadmlpsyncshutdownhaltmailgamesftpnobodydbuspolkitdavahiavahi-autoipdpostfixsshd
5.2 sed
主要是对数据进行操作(新增、删除、查询、替换、选取);*常用的格式;sed 选项 动作 文件
示例:新增
a在行的上进行插入
cat /etc/passwd | sed '2a 12345678'[root@localhost home]# cat /etc/passwd | sed '2a 12345678'root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin12345678daemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
i 在行的下进行插入
cat /etc/passwd | sed '2i sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin[root@localhost home]# cat /etc/passwd | sed '2i 12345678'root:x:0:0:root:/root:/bin/bash12345678bin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
删除
参数 d
sed '2d'[root@localhost home]# cat /etc/passwd | sed '2d'root:x:0:0:root:/root:/bin/bashdaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
修改
参数c整行修改;
sed '2c 5644646465465'[root@localhost home]# cat /etc/passwd | sed '2c 5644646465465'root:x:0:0:root:/root:/bin/bash5644646465465daemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
精确修改s/word1/word2/g
sed 's/root/大哥/g'[root@localhost home]# cat /etc/passwd | sed 's/root/大哥/g'大哥:x:0:0:大哥:/大哥:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/大哥:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
参数i对源文件进行修改
sed -i 's/root/大哥/g' test.txt[root@localhost tmp]# sed -i 's/root/大哥/g' test.txt [root@localhost tmp]# cat test.txt 大哥:x:0:0:大哥:/大哥:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/大哥:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
查询
选项 n 对匹配到字符进行打印
参数p是函数
sed -n '5p' test.txt [root@localhost tmp]# sed -n '5p' test.txt lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
精确查找/word/p
[root@localhost tmp]# sed -n '/root/p' test.txt root:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin
多条命令执行
参数e
sed -e 's/大哥/二哥/g' test.txt -e 's/ftp/三哥/g' test.txt[root@localhost tmp]# sed -e 's/大哥/二哥/g' test.txt -e 's/ftp/三哥/g' test.txt二哥:x:0:0:二哥:/二哥:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/二哥:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologin三哥:x:14:50:FTP User:/var/三哥:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin二哥:x:0:0:二哥:/二哥:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/二哥:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologin三哥:x:14:50:FTP User:/var/三哥:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
5.3 awk
awk 是一个对文本操作的命令支持对判断 、循环、数组等语法awk ‘条件{语句}条件{语句}…’
awk 选项 ‘条件{语句}条件{语句}…’常用运算符符号选项
示例1 :打印出所有的用户名
awk -F ':' '{printf "用户名是:"}{print $1}' test.txt [root@localhost tmp]# awk -F ':' '{printf "用户名是:"}{print $1}' test.txt 用户名是:大哥用户名是:bin用户名是:daemon用户名是:adm用户名是:lp用户名是:sync用户名是:shutdown用户名是:halt用户名是:mail用户名是:operator用户名是:games用户名是:ftp用户名是:nobody用户名是:dbus用户名是:polkitd用户名是:avahi用户名是:avahi-autoipd用户名是:postfix用户名是:sshd
示例2 :打印出所有的用户名、和uid 并增加表头,并告知打印结束
awk -F ':' 'BEGIN{printf "用户名\tuid\n"}{print $1 "\tuid是:" $3}END{print "打印结束了"}' test.txt [root@localhost tmp]# awk -F ':' 'BEGIN{printf "用户名\tuid\n"}{print $1 "\tuid是:" $3}END{print "打印结束了"}' test.txt 用户名 uid大哥 uid是:0binuid是:1daemon uid是:2admuid是:3lpuid是:4sync uid是:5shutdown uid是:6halt uid是:7mail uid是:8operator uid是:11games uid是:12ftpuid是:14nobody uid是:99dbus uid是:81polkitd uid是:999avahi uid是:70avahi-autoipd uid是:170postfix uid是:89sshd uid是:74打印结束了
示例3 :打印出第五行到七行的用户名、和uid 并增加表头,并告知打印结束
awk -F ':' 'BEGIN{printf "用户名\tuid\n"}(NR>=5&&NR<=7){print $1 "\tuid是:" $3}END{print "打印结束了"}' test.txt[root@localhost tmp]# awk -F ':' 'BEGIN{printf "用户名\tuid\n"}(NR>=5&&NR<=7){print $1 "\tuid是:" $3}END{print "打印结束了"}' test.txt 用户名 uidlpuid是:4sync uid是:5shutdown uid是:6打印结束了