1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > linux 必须掌握的核心命令

linux 必须掌握的核心命令

时间:2019-04-02 09:35:52

相关推荐

linux 必须掌握的核心命令

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 PORT

3.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打印结束了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。