一、linux用户及组管理
1.创建一个名字为hadoop的普通用户
dog# useradd hadoop
dog# passwd hadoop
2.给hadoop用户sudo 权限(主要测试时使用)
dog# vi /etc/sudoers # 给指定用户分配权限
设置权限,学习环境可以将hadoop用户的权限设置的大一些,但是生产环境一定要注意普通用户的权限限制。
root ALL=(ALL) ALL
hadoop ALL=(root) NOPASSWD:ALL
3.切换到hadoop用户
dog# su hadoop
4.在hadoop用户下创建文件夹
$ sudo mkdir /opt/modules
5.将hadoop文件夹的所有者指定为hadoop用户
$ sudo chown -R hadoop:hadoop /opt/modules
1.hosts
Hosts文件是一个用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机名映射到相应的IP地址。hosts文件通常用于补充或取代网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。
hosts文件在不同操作系统(甚至不同Windows版本)的位置都有所区别:
- Windows系统
一般在C:\WINDOWS\system32\drivers\etc目录下 - Linux系统
在/etc目录下
修改hostname
- 临时有效 hostname 主机名
dog# hostname xh01
- 永久生效
dog# hostnamectl set-hostname xxx
- 手动修改
dog# vi /etc/sysconfig/network //中 HOSTNAME
手动更新/etc/hosts
dog# vim /etc/hosts
2.远程操作 ssh
前提需开22端口
1.ssh peter@happycasts.net 连接服务器
dog $ ssh-keygen
dog $ cd ~/.ssh
dog $ ls
###id_rsa(private key) id_rsa.pub
dog $ssh-copy-id peter@happycasts.net
3.数据传输 rsync
dog $ rsync -r mydir happycasts.net:
dog $ rsync -r happycasts.net:mydir .
4 sed命令
sed -i
通过选项i可以直接修改文件内容,语法如下。
sed -i 's/要被取代的串/新串/g' filePath
其中s是替换命令,s后包含在斜杠中的文本是正则表达式,后面跟着的是需要替换的文本。可以通过 g 标志对行进行全局替换。
[root@master ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
如果被替换的字符串或新字符串中包含了/,则可以用#替换命令中的/。示例如下
[root@master hadoop]# sed -i 's#export JAVA_HOME=${JAVA_HOME}#export JAVA_HOME=/usr/java/jdk1.8.0_144#' hadoop-env.sh
5 &与nohup
普通进程用&符号放到后台运行,如果启动该程序的控制台(Shell)退出后,则该进程随即终止。
nohup <程序名> &
该方式运行程序,则控制台logout后,进程仍然继续运行,起到守护进程的作用
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。
6 统计目录下的文件或目录数
[root@node1 ~]# ls -l |grep "^-"|wc -l
17
[root@node1 ~]# ls -l |grep "^d"|wc -l
10
[root@ndoe1 ~]#
说明:
(1)ls -l :
列出当前文件夹下文件信息
(2)grep “^-” :
“^-“是正则表达式,以“-”开头的表示文件,也就是查找一般文件;如果查找目录就是 ^d,
(3) wc -l :
统计输出信息的行数
7 查找当前目录下(包含子目录)某类文件个数
[root@node1 ~]# find . -type f -name "*.rar" | wc -l
81
[root@node1 ~]#
8.jps 常用命令
jps -v #使用jps -v命令可以查看启动java应用,分配的内存大小:
20837 Application -Xmx20m -Dflume.root.logger=INFO,console -Djava.library.path=:/home/uplooking/app/hadoop/lib/native:/home/uplooking/app/hadoop/lib/native
9. netstat -lntup
使用netstat -lntup命令查看一下端口监听情况.
10.批量新建文件夹
mkdir -p /data/nginx/{conf,conf.d,html,logs}
11.ab 并发测试命令
ab -n 1000 -c 50 http://localhost:8080/test
12.ls命令按兆查看文件大小
ls -lh
3.快捷使用 ssh 等等命令,使用 tab 键进行信息补全?
当使用 ssh / scp 等等命令操作的时候,其操作对象往往 1.2.3.x 这样的ip显示,如果不能友好点,那确实太累了!我们可以如下操作,以实现 ssh 也能更好的记忆:
# 在文件 /root/.bashrc 中,添加脚本如下,使自动补全添加 ssh
# auto complete ...
complete -W "$(echo $(grep -v '^$|#' .ssh/config | sort -u | sed 's/^ssh //'))" ssh
# 在文件 /root/.ssh/config 中,添加需要自动补全的服务器,
Host 172.2.3.5 server-api-01
Host 172.2.3.6 server-api-02
# 以上服务器名字需要在 /etc/hosts 文件中添加相应解析
# 而登录 server时,只需, ssh server-api-01 即可
curl 命令详解
获取运行应用pid
pid=`ps ax | grep -i 'nacos.nacos' |grep java | grep -v grep | awk '{print $1}'`
if [ -z "$pid" ] ; then
echo "No nacosServer running."
exit -1;
fi