Linux- 运维
Linux运维遇到需要使用命令
查看Linux系统有多少用户
cat /etc/passwd | wc -l
查看用户占用的uid,默认情况下,ldap新增的用户和系统本地的用户uid是混在一起。在新建用户时就可以先用一下命令查看哪些uid已经被占用,可以提前做一些计划,不至于创建后发现已经占用,要使用时会出现不能使用的问题。
getent passwd
查看用户的UID、GID及所归属的用户组
[root@srv01 ~]# id root uid=0(root) gid=0(root) groups=0(root)
查看cpu是几核
cat /proc/cpuinfo |grep "cores"|uniq
查看内存是多少
free -gh
查看Linux版本的命令
lsb_release -a
shell脚本调用其他脚本
. /root/mysh.sh
重定向
> 重定向,如果的文件存在,则覆盖文件内容,文件不存在时创建文件
>> 重定向,如果的文件存在,则向文件追加内容,文件不存在时创建文件
查看在线用户
w
创建一个哈希密码
slappasswd
Ubuntu重启网卡
sudo /etc/init.d/networking restart
不输入sudo
执行docker命令时必须使用root权限,所以普通用户总是要输入sudo 。每次都输入sudo很麻烦,还经常忘记。有两种方法可以不用输入sudo
- 一开始就以root账户登陆或者使用sudo su命令切换至root用户
$ sudo su
#
将当前账户包含到docker组。(docker 组与root 权限是一样的,请只包含必需的账户。)
$ sudo usermod -aG docker ${USER}
$ sudo service docker restart
推出当前账户,重新登陆。
给root 用户设置密码,按照提示设置密码
sudo password root
普通用户不用密码切换到其他非root用户
sodo su postgers
后台运行指令
nohub ls >> log.txt & // 将屏幕数据重定向到log.txt
配置环境变量导致大量命令不能使用,漏了:$PATH
export PATH="/opt/cloudera/parcels/Anaconda/bin" >> ./.bashrc
然后就source ./.bashrc了,导致大量命令不能使用。
正确的应该是
export PATH="/opt/cloudera/parcels/Anaconda/bin:$PATH"
补救的方法是
输入命令export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Linux查找占用的端口的进程pid,并杀死进程
netstat -apn | grep 8888
kill -9 pid
Linux后台运行命令
./xxx.sh 1>/xxx/log/xxx.log 2>/xxx/log/xxx.error &
执行xxx.sh 如果正常就把输出重定向到/xxx/log/xxx.log,如果运行不正常就把输出重定向到/xxx/log/xxx.error
如果不想保留日志信息
./xxx.sh 1>/dev/null 2>&1 &
将日志打印到/dev/null,实际上是不存在的文件,就没有保留日志。2>&1意思是如果运行不正常,2输出的地方引用1输出的地方,同样不存在
如果想会话关闭仍然后台继续运行
nohup ./xxx.sh 1>/dev/null 2>&1 &
Linux关闭图形界面:
init 3 关闭图形界面(XServer服务也会关闭)
LInux 开启图形界面:
init 5 或 startx
Linux开机时,不进入 X Window:
vi /etc/inittab id:5:initdefault: 改成 id:3:initdefault:
scp -r ./* hdp:$PWD
设置虚拟机主板时间
hwclock -w
获取T-1 格式化的日期
date -d "-1 day" +%F
将GBK文件转成UTF8
iconv -f GB2312 -t UTF-8 ISO-8859.csv -o UTF-8.csv
看文件是什么格式,UTF8还是GBK
file xxxx.txt
将文件换行符切换
dos2unix xxxx.txt #将\r\n 转为 \n
unix2dos xxxx.txt #将\n转为\r\n