我在工作中用到的Linux命令

tech2023-02-04  105

大部分程序员可能只停留在写代码阶段。很少有可能接触「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」脚本。谢谢你的阅读。

往期推荐

我写出这样干净的代码,老板直夸我

云南丽江旅游攻略

使用ThreadLocal怕内存泄漏?

Java进阶之路思维导图

程序员必看书籍推荐

3万字的Java后端面试总结(附PDF)

扫码二维码,获取更多精彩。或微信搜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终极版)

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

最新回复(0)