大部分程序员可能只停留在写代码阶段。很少有可能接触「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)
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终极版)
另:点击【我的福利】有更多惊喜哦。
【linux|我在工作中用到的Linux命令】
文章图片
推荐阅读
- JavaWeb|推荐一款基于SpringBoot+layui后台管理系统
- 运维|VMware 安装 Centos7(超详细教程)
- 每天学一个 Linux 命令(13)(touch)
- 每天学一个 Linux 命令(12)(chown)
- 每天学一个 Linux 命令(14)(cat)
- 每天学一个 Linux 命令(15)(man)
- centos 7.5 安装与卸载docker
- centos 7.5 ntpdate同步更新时间
- 7 款可替代 top 命令的工具!