1、查看历史命令:history
查看历史命令:history
使用某条历史命令:!57 #表示执行57条的命令
想清空历史命令: echo "" > ~/.bash_history
[root@hadoop002 ~]# echo "" > ~/.bash_history
[root@hadoop002 ~]# history
重新登陆后历史命令记录没了,但是堡垒机可以记录操作信息
2、用户、用户组:
一个用户可以有多个用户组,但是必须有一个主组。创建的新用户在路径在/home/XX
查看用户所属用户组:id root
查看新用户记录信息: cat /etc/passwd
查看新用户组记录信息: cat /etc/group
添加用户:useradd ruoze
设置密码:passwd ruoze
删除用户:userdel ruoze #删除用户,用户记录信息被擦除,用户组无成员也会被擦除信息,但是/home/ruoze的文件不会被删除
添加用户组:groupadd bigdata
删除用户组:groupdel bigdata
将用户添加新组: usermod -a -G bigdata jepson
[root@hadoop002 ~]# usermod -a -G bigdata jepson
[root@hadoop002 ~]# id jepson
uid=500(jepson) gid=500(jepson) groups=500(jepson),501(bigdata)
更改所属主组:usermod -g bigdata jepson
[root@hadoop002 ~]# usermod -g bigdata jepson
[root@hadoop002 ~]# id jepson
uid=500(jepson) gid=501(bigdata) groups=501(bigdata)
3、切换用户:su
切换用户:su ruoze #切完后不在家目录
切用户并执行该用户环境变量: su -ruoze #切完在该用户家目录,生产推荐这条命令
退出切换的用户:exit
4、临时获取root最大权限:sudo +命令
使用root用户编辑sudoers:vim /etc/sudoers,添加jepson用户临时获取root的配置,用wq!强制保存退出,此时可以使用sudo执行当前用户权限之外的操作
[jepson@hadoop002 ~]$ ll /root/
ls: cannot open directory /root/: Permission denied
[jepson@hadoop002 ~]$ sudo ll /root/ #注意此时的别名ll是无法被别
sudo: ll: command not found
[jepson@hadoop002 ~]$ sudo ls -l /root/
total 108
-rw-------. 1 root root 1383 Jan 25 2019 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Jan 25 16:33 Desktop
drwxr-xr-x. 2 root root 4096 Jan 25 16:33 Documents
drwxr-xr-x. 2 root root 4096 Jan 25 16:33 Downloads
-rw-r--r--. 1 root root 49565 Jan 25 2019 install.log
-rw-r--r--. 1 root root 9 Jan 25 20:18 install.
5、管道符:|
上一个命令的结果作为下一个命令的输入端
[root@hadoop002 ~]# cat install.log | grep log
Installing redhat-logos-60.0.14-12.el6.centos.noarch
Installing logrotate-3.7.8-17.el6.x86_64
Installing libreport-plugin-logger-2.0.9-19.el6.centos.x86_64
Installing xorg-x11-drv-elographics-1.4.1-2.el6.x86_64
Installing rsyslog-5.8.10-8.el6.x86_64
6、(重要)进程、端口号:ps 、netstat
查看进程号:ps -ef | grep XXX #模糊匹配名中含有XXX所有的应用的进程,故不需要添加*
查看进程号过滤当前查询进程:ps -ef | grep XXX |grep -v grep #若搜索的内容有空格可用单引号括起来,shell语言中引号无具体作用,但是引号的内容可以作为一个整体
查看端口号:netstat -nlp|grep 端口或进程id或应用XX #查看端口是否被使用或者查询进程端口号,或查询应用进程和端口号。不是每个进程都有端口号
注意:第四列表示对外提供服务策略,若为 0.0.0.0:或者:::表示对外所有主机提供服务;若为127.0.0.1或者localhost,则表示该服务只能本机访问
7、停止进程:kill
强制杀死进程:kill -9 进程id #注意一定不要误杀错其它进程
杀多个进程:kill -9 1 2 3
模糊匹配杀死进程:kill -9 $(pgrep -f log) #杀死所有有log的进程,这里必须是()
查询僵尸进程:top 查看是否有僵尸进程;ps -A -o stat,ppid,pid,cmd | grep -e '^[zZ]' 查找具体哪些僵尸进程;先杀死父进程才可以杀死僵尸进程
8、常见错误服务拒绝连接处理:Connection refused
现在windows上ping服务器:ping ip
其次检查服务端口是否能通信:telnet ip 端口
其次检查该服务是否启动、端口号是否正确、是否对外访问(:::或0.0.0.0)
9、搜索命令:which
which命令是查找命令是否存在,以及命令的存放位置在哪儿。是从PATH中按顺序搜索,搜索到即返回,命令不存在时可用它先搜索一下是否有结果。若无结果则需要yum安装该命令。
10、搜索文件:find
从根目录模糊查找文件: find / -name '*XXX*' #模糊匹配一定要添加 ''
[root@hadoop002 ~]# find / -name '*jepson*'
/var/spool/mail/jepson
/var/cache/gdm/jepson
/tmp/virtual-jepson.YbywU4
/home/jepson
11、搜索文件并显示文件详细位置:whereis
只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。模糊查找列出所有匹配到文件路径。生产中很少用
[root@hadoop002 ~]# whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
12、软件管理:yum、rpm
yum搜索可供安装的软件:yum search XXXX
查询已安装的软件:rpm -qa | grep XXX
查询某个命令属于哪一个软件:rpm -qf /usr/bin/man
安装软件:yum -y install XXX
删除rpm包:yum remove XXX 或者rpm -e --nodeps XXX
查看命令帮助:yum --help | man yum #man查看命令太详细,生产中一般不用
13、查看文件或文件夹大小:du
查看文件或文件夹大小:du -sh 目录
[root@hadoop002 ~]# du -sh ./*
4.0K ./anaconda-ks.cfg
56K ./Desktop
4.0K ./Documents
4.0K ./Downloads
56K ./install.log
4.0K ./install.log20190125
12K ./install.log.syslog