前言:Linux作为我们程序员必备的技能包,一些常用到的命令,我们必须熟记,没有借口。因为到公司了,我们大多数都是和Linux打交道。
首先,讲一下,我实习时用的是开发机,就是Linux,只不过这时我的身份是一个用户,不是root,没有root权限,这一点,我想大多数公司都是这样的,root权限在运维那里,其它员工用的只是普通的用户。这一点难转变的,因为,以前,我玩Linux都是root权限直接上去搞。
普通的用户权限,我只能在自己的用户目录下才有,可读、可写、可执行的权限,除了我的用户目录下其它目录下只剩下读的权限了。还有sudo这个命令被禁了。
工作了你会常用到的命令:
下载安装包以及配置环境变量时:
在下载东西时:由于sudo这个命令被禁了,我只能用wget这个命令来下载安装包比如我下载go
wget https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz,对于配置环境变量的话,以前在root权限下是etc/profile进行,现在在普通用户下是**.bashrc**这个文件,这是个隐藏的文件。作用和etc/profile一样。
平时操作Linux时:
1.删除一个文件或者文件夹:
rm -rf 文件名 // 这个是强制删除,比较好用,但是删除需谨慎
1、复制一个文件或者文件夹时:
复制文件时:
要复制的文件**在**当前目录下:
cp 文件名 目标地址 // 把文件复制到哪个地方
cp 文件名 另一个文件名 // 这是复制到当前目录下并且命名成另一个名字
要复制的文件**不在**当前目录下的话:
例如
cp /tmp/jvm.error_log 目标地址 // 如果这个目标地址是"."的话,说明是复制到当前所在的目录下,如果不是“.”则是目标目录下
复制文件夹时:
cp -r 文件名 目标地址 // 在当前目录下复制文件时
cp - r 文件地址/文件名 目标地址 // 不在当前的目录下复制文件时
2、查看某个项目是否运行了,就是查进程号:
ps -ef|grep 项目名
3、删除某个进程时:
kill -9 进程号
4、查看某个目录:
ls /目录名 // 如 ls /tmp
ll // 查看目录下所有的东西
5、查看当前所在路径:
pwd
6、查看挂载信息
df -h
7、进入某个目录:
cd 路径
8、回到上级目录:
cd ..
9、压缩:
tar -cvzf 定义名.tar.gz 文件夹
例如:
tar -cvzf CucPayPerson20130410.tar.gz CucPayPerson
10、解压
tar -xvzf 压缩包名
11、服务器之间传输文件命令
scp 文件 用户@IP地址:路径
例如:
scp server.log_31.13.tar wzf@192.168.8.21:/app/code/
12、将一个文件夹A下的所有文件复制到另一个文件夹B下
cp -rf /../A/* /../B/
13、将a.txt改名为b.txt
mv a.txt b.txt
14、设置密码
passwd username
15、修改某个文本文件
例如CucPay.log,首先进入修改:
vi CucPay.log
此时还是不可以修改的,需要按 i 才能进入修改,修改完成后按 esc 退出修改界面,此时有两种选择:(1)按 :wq 保存内容(2)按 :q! 强制退出,不保存内容。
16、查看端口
lsof -i:端口号
或:
netstat -an|grep 端口号
17、telnet连接测试(我一般用于测一下与某台主机是否连通)
telnet ip(空格)端口号
telnet 192.168.8.1 2012
也可以ping一下看都经过了哪些路由ip
ping ip
18、显示当前用户的环境变量
env
19、查看linux版本的方法
cat /etc/redhat-release(只对Redhat Linux有效)
或者
lsb_release -a
20、查看所有Java进程
ps -ef|grep java
21、查看单个进程
ps -aux|grep 进程id(由上面得出)
也可以根据进程名查看进程:
ps -ef|grep 进程名
22、停止某个进程
根据端口号得到进程号:
lsof -i:端口号
杀进程:
kill -9 进程id
23、查看动态刷新的日志
tail -200f 日志文件 (动态跟踪文件的最后200行)
24、查看当前主机的ip
hostname -i
25、创建一个文件夹
mkdir 文件夹名字
26、查看当前的所有tcp服务
netstat -ntlp //查看当前所有tcp端口·