我在工作中用到的Linux命令

大部分程序员可能只停留在写代码阶段。很少有可能接触「Linux」,最多就是看个日志。然而我觉得「Linux」操作对程序员很重要。是提升程序员的一个重要门槛。

Linux初始化

初次安装「Linux」系统,我们需要做一些初始化的操作,我把这些命令写到一个脚本里。每次需要就可以快速执行了。

 echo '\n ------------Linux信息初始化开始--------------------- \n';
 sleep 3;
 
 ##查看系统的信息
 echo '\n 查看CPU核心数 \n';
 lscpu
 sleep 10;
 
 echo '\n 查看内存大小 \n';
 free
 sleep 5;
 
 echo '\n 查看磁盘空间大小 \n';
 df -h | grep '/home'
 sleep 3;
 
 ##安装一些常用的命令工具
 echo '\n ------------------开始安装------------------------ \n';
 sleep 3;
 echo '\n begin to install net-tools \n';
 yum install -y net-tools;
 echo '\n yum finish install net-tools \n';
 sleep 3;
 
 echo '\n begin to install -y tree \n';
 yum install -y tree;
 echo '\n yum finish install -y tree \n';
 sleep 3;
 
 echo '\n begin to install -y wget \n';
 yum install -y wget;
 echo '\n yum finish install -y wget \n';
 sleep 3;
 
 echo '\n begin to install -y man \n';
 yum install -y man;
 echo '\n yum finish install -y man \n';
 sleep 3;
 
 echo '\n begin to install -y telnet \n';
 yum install -y telnet;
 echo '\n yum finish install -y telnet \n';
 sleep 3;
 
 echo '\n begin to install -y ftp \n';
 yum install -y ftp;
 echo '\n yum finish install -y ftp \n';
 sleep 3;
 
 echo '\n begin to install -y lrzsz,dos2unix,bind-utils,gdb,python-devel,python-mako,Deve Tools \n';
 yum install -y lrzsz;
 sleep 3;
 yum install -y dos2unix;
 sleep 3;
 yum install -y bind-utils;
 sleep 3;
 yum install -y gdb;
 sleep 3;
 yum install -y python-devel;
 sleep 3;
 yum install -y python-mako;
 sleep 3;
 yum groupinstall -y 'Development Tools';
 sleep 3;
 echo '\n yum finish install -y lrzsz,dos2unix,bind-utils,gdb,python-devel,python-mako,Deve Tools \n';
 sleep 3;
 
 echo '\n begin to stop&disable service \n';
 systemctl stop firewalld.service;
 systemctl disable firewalld.service
 systemctl stop postfix.service
 systemctl disable postfix.service
 echo '\n yum finish stop&disable service \n';
 sleep 3;
 
 echo '\n -------当前主机ip---------------\n';
 /sbin/ifconfig -a | grep 10.174. | awk '{print $2}'
 sleep 5;
 echo 'all plugin had installed completed';
 
 echo '-----------开始重启系统------------';
 sleep 3;
 reboot
 read;

修改虚拟机为静态ip

「第一步:进入网络配置文件目录」 首先,确保在root用户下进行操作。进入网络配置文件network-scripts目录下。

「第二步:找到我们需要修改的配置文件」 使用ls命令,列出该目录下的文件。其中"ifcfg-ens33"(红框)的文件,为我们需要修改的网络配置文件。

 

「第三步:修改配置文件」 使用vim命令(vi命令也可以),对文件进行配置,我们需要修改BOOTPROTO="static"也就是将dhcp改为static,修改ONBOOT="yes"意思是将网卡设置 为开机启用,同时在文字下方添加

 IPADDR=192.168.0.230 #静态IP
 GATEWAY=192.168.0.1 #默认网关
 NETMASK=255.255.255.0 #子网掩码
 DNS1=192.168.0.1 #DNS 配置
 DNS2=8.8.8.8 #谷歌地址

 

第一个框为修改内容,第二个框为需要添加的内容。ESC+WQ,保存退出!

「第四步:重启网络服务」 使用service network restart命令,重启网络服务。

 

Linux 命令

软连接(ln -s

 #创建软连接
 chown -R deploy.deploy deploy/
 ln -s /disk2/deploy deploy

创建用户(useradd

很多人喜欢将程序部署在root用户下面,这样做是不对的,应该自己创建一个用户。

 #创建用户(在指定不目录下创建用户):
 useradd -d /data/home/comet -g ngboss -s /bin/bash comet
 #给创建的用户追加密码:
 echo "1q1w1e1r" | passwd --stdin comet

获取进程数(wc -l

 ps -ef | grep $PROCESS_NAME | grep $PROCESS_PARM | grep -v $0 | grep -v /bin/sh | grep -v grep | wc -l

修改主机名称

 #修改主机名称
 hostnamectl set-hostname test186

对所有用户设置自动注销功能

在该公司连接「Linux」系统时,发现一段时间不操作,就会与系统断开连接。后来了解了是怎么设置的。

 首先,以root用户登录系统,输入 vi /etc/profile 命令,编辑profile文件。
 查找TMOUT,若没有,则可以在文件最后添加如下语句:
   TMOUT=300
   export TOMOUT
 如果查找到了,直接设置时间。
 300表示自动注销的时间为300秒。
 编辑好文件后,保存,退出,重新登录,设置生效。

替换

vim编辑文件中

 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

文件查看

 #【一】从第3000行开始,显示1000行。即显示3000~3999行
 cat filename | tail -n +3000 | head -n 1000
 
 #【二】显示1000行到3000行
 cat filename| head -n 3000 | tail -n +1000
 
 #注意两种方法的顺序
 #分解:
 tail -n 1000:显示最后1000行
 tail -n +1000:从1000行开始显示,显示1000行以后的
 head -n 1000:显示前面1000行
 
 #通过文件内容查找文件名
 find . -name '*.jar' | xargs grep 'com.ailk.mq.client.config.ClientRuntimeEnv'
 
 #搜索文件
 [root@lvshen ~]# locate install.log #find / -name 全盘查找
 /root/install.log
 /root/install.log.syslo

打包解压

 打包:tar –cvf xxx.tar ./* 打包并且压缩:tar –zcvf xxx.tar.gz ./*
 
 解压:tar –xvf xxx.tar

赋权操作(chmod

 chmod 变更文件或目录的权限。
 chmod 755 a.txt
 chmod u=rwx,g=rx,o=rx a.txt
 chmod 000 a.txt / chmod 777 a.txt
 chown 变更文件或目录改文件所属用户和组
 chown u1:public a.txt :变更当前的目录或文件的所属用户和组
 chown -R u1:public dir :变更目录中的所有的子目录及文件的所属用户和组

移动(mv

 #移动目录
 zk@hadoop-node01 ~ $ ls
 jdk-8u152-linux-x64.tar.gz support zk-20171226.tar.gz
 zk@hadoop-node01 ~ $ mv jdk-8u152-linux-x64.tar.gz support
 zk@hadoop-node01 ~ $ ls
 support zk-20171226.tar.gz
 zk@hadoop-node01 ~ $ cd support/
 zk@hadoop-node01 ~/support $ ls
 jdk-8u152-linux-x64.tar.gz
 
 
 #重命名
 zk@hadoop-node01 ~/support $ mv jdk1.8.0_152/ jdk
 zk@hadoop-node01 ~/support $ ls
 jdk

查看命令是否执行成功

 查看命令知否执行成功,会返回1
 echo $?

复制(cp

 #复制文件,复制到one目录下面,/前面的'.'表示当前路径
 [root@lvshen ~]# cp install.log ./one
 
 #将one目录及其下面的文件赋值到two目录下面
 [root@lvshen ~]# cp -r one two

远程拷贝(scp

 #把当前目录的hbase.tar.gz 拷贝到远程机器的hbase用户下面
 scp hbase.tar.gz hbase@10.131.xxx.55:/home/hbase

动态输出日志(tail -f

 动态显示日志,默认显示10行
 tail -f filename

将控制台日志输出到文件里

 nohup ./run.sh > ~/logs/steven-0130.log 2>&1 &

创建ssh公钥

 #在本地生成公钥和密钥:
 ssh-keygen -t rsa
 #将本机生成的公钥发送到服务器上(建立信任关系):
 ssh-copy-id -i C:/Users/UserName/.ssh/id_rsa.pub root@server_ip #UserName是电脑的用户名
 #测试ssh远程登录是否成功:
 ssh root@server_ip

创建目录(mkdir

 mkdir /etc/redis

切换登录(su

 切换登录:
 ssh -l test -p 22 192.168.19.128
 
 su – 用户名

好了,以上就是一些我在工作中所用到的「Linux」命令,下次我会介绍一些有趣的「shell」脚本。谢谢你的阅读。

往期推荐

扫码二维码,获取更多精彩。或微信搜Lvshen_9,可后台回复获取资料

1.回复"java" 获取java电子书;

2.回复"python"获取python电子书;

3.回复"算法"获取算法电子书;

4.回复"大数据"获取大数据电子书;

5.回复"spring"获取SpringBoot的学习视频。

6.回复"面试"获取一线大厂面试资料

7.回复"进阶之路"获取Java进阶之路的思维导图

8.回复"手册"获取阿里巴巴Java开发手册(嵩山终极版)

9.回复"总结"获取Java后端面试经验总结PDF版

10.回复"Redis"获取Redis命令手册,和Redis专项面试习题(PDF)

11.回复"并发导图"获取Java并发编程思维导图(xmind终极版)

另:点击【我的福利】有更多惊喜哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值