Linux环境常用命令
本文仅记录常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。
扩展博文:
https://www.cnblogs.com/peida/archive/2012/12/05/2803591.html
https://www.cnblogs.com/jiangfeilong/p/9979484.html
https://blog.csdn.net/qq_23329167/article/details/83856430
常用命令
查看内核版本
cat /proc/version
查看发行版本
cat /etc/redhat-release
查看用户组(组: x :组的id)
cat /etc/group
创建用户组
groupadd pikabing
删除用户组
groupdel pikabing
修改用户组(-g:修改组的id号;-n:修改组的名字)
groupmod -g 1000 -n pikaqiu pikabing
更改文件夹所属用户
chown -R es elasticsearch
更改文件夹所属组
chgrp root elasticsearch
查看用户
cat /etc/passwd
创建用户(不指定组)
useradd mjtabu
创建用户(-d:指定创建目录;-m:若指定目录为空则自动创建目录)
useradd -d /usr/pika -m paka
删除用户
userdel -r pika
设置密码
passwd pika
密码置空(置空后用户不可登录)
passwd -d pika
密码锁定
passwd -l pika
切换用户
su mjtabu
硬链接
touch fileA.txt
ln fileA.txt fileB.txt (把fileA.txt引用的文件创建给了fileB.txt,此时fileA.txt和fileB.txt指向的是同一个文件,同一个文件有两个文件名)
echo "123" > fileA.txt
cat fileA.txt
cat fileB.txt
rm fileA.txt
cat fileB.txt
java 方式理解
String fileA = new String("123");
String fileB = fileA;
软链接
touch fileC.txt
echo "234" > fileC.txt
ln -s fileC.txt fileD.txt
cat fileC.txt
cat fileD.txt
rm fileC.txt
cat fileD.txt
windows中的快捷方式来理解
根据名称查找/目录下的filename.txt文件。
find / -name filename.txt
递归查找所有的xml文件
find . -name "*.xml"
递归查找所有文件内容中包含hello world的xml文件
find . -name "*.xml" |xargs grep "hello world"
查找所以有的包含spring的xml文件
grep -H 'spring' *.xml
删除文件大小为零的文件
find ./ -size 0 | xargs rm -f &
查找当前目录中的所有jar文件
ls -l | grep '.jar'
显示所有以d开头的文件中包含test的行。
grep 'test' d*
显示在aa,bb,cc文件中匹配test的行。
grep 'test' aa bb cc
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
grep '[a-z]{5}' aa
查看所有有关tomcat的进程
ps -ef|grep tomcat
查看进程 管道过滤 只显示包含tomcat的进程(-c:count 统计数量)
ps -ef|grep -c tomcat
终止线程
kill -9 19979
查看文件,包含隐藏文件
ls -al
当前工作目录
pwd
复制文件
cp source dest
递归复制整个文件夹
cp -r sourceFolder targetFolder
远程拷贝
scp sourecFile romoteUserName@remoteIp:remoteAddr
创建目录
mkdir newfolder
删除空目录
rmdir deleteEmptyFolder
递归删除目录中所有内容
rm -rf deleteFile
移动文件
mv /temp/movefile /targetFolder
重命名
mv oldNameFile newNameFile
创建文本
touch file.txt
把内容覆盖写入文本
echo "123" > file.txt
把文件追加写入文本
echo "233" >> file.txt
切换用户
su -username
修改文件权限
chmod 777 file.java file.java 的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
给此目录下所有文件及文件夹增加可执行权限
chmod -R +x /usr/local/mjtabu
给此目录下所有文件及文件夹删除可执行权限
chmod -R -x /usr/local/mjtabu
压缩文件
tar -czf test.tar.gz /test1 /test2
列出压缩文件列表
tar -tzf test.tar.gz
解压文件
tar -xvzf test.tar.gz
查看文件头10行
head -n 10 example.txt
查看文件尾10行
tail -n 10 example.txt
查看日志类型文件
tail -f exmaple.log 这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
使用超级管理员身份执行命令
sudo rm a.txt 使用管理员身份删除文件
查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况
查看端口属于哪个程序
lsof -i :8080
查看进程
ps aux|grep
查看所有进程
ps aux
以树状图列出目录的内容
tree a
文件下载
wget http://file.tgz
访问链接
curl http://localhost:8080
curl http://file.tgz
网络检测
ping www.just-ping.com
远程登录
ssh userName@ip
打印信息
echo $JAVA_HOME 打印java home环境变量的值
java 常用命令
java javac jps ,jstat ,jmap, jstack
其他命令
svn git maven
显示当前用户
whoami
创建文件夹
mkdir
进入文件夹
cd
返回上一个文件夹
cd ..
返回根目录
cd //
查看该目录下的所有文件
ll
启动./
./restart.sh
用户服务重启
./userService.sh restart
查看用户服务日志
tail -f 等同于####follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 等同于####follow=name ####retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tailf 等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电
退出用户服务日志
ctrl + c
删除当前目录下的所有文件,所删除的文件,一般都不能恢复!这个命令很危险,应避免使用。
rm -rf *
其中的,f参数 (f ####force ) 忽略不存在的文件,不显示任何信息,不会提示确认信息。
rm -f
命令删除一个目录中的一个或者多个文件或者目录,只用rm命令不会删除目录,通常文件通常可以恢复。
rm
网络文件下载
wget
软件包安装
rpm -ivh jdk1.8-1.8.0.x86_64
软件包查看
rpm -qa | grep -i packagename
卸载已安装包
rpm -e packagename
搜索"命令"所需要的安装包
yum search rz
安装"命令"所需要的安装包(-y:安装过程中所有确认操作默认为y)
yum install -y lrzse.x86_64
使用命令上传文件
rz
压缩命令
tar -zcvf 压缩文件名.tar.gz
解压缩命令
tar -zxvf 压缩文件名.tar.gz
高级解压缩命令(解压缩不会出现层级问题)
压缩命令:
tar -zxvPf 绝对路径+压缩文件名.tar.gz
tar -zcvPf /home/mjtabu/log.tar.gz /home/mjtabu/log
解压命令:
tar -zcvPf 绝对路径+压缩文件名.tar.gz
tar -zxvPf /home/mjtabu/log.tar.gz
查看rabbitmq安装路径
whereis rabbitmq
更新所有软件(慎用)
yum update
复制文件并重命名
cp applogs.config pc.config
查看环境变量
export
添加环境变量
为当前用户永久添加环境变量:
1.编辑 .bashrc 文件
vim ~/.bashrc
2.文件末尾添加
export PATH="/usr/local/nginx/sbin/:$PATH"
3.source ~/.bashrc
为所有用户永久添加某一环境变量
1.编辑 /etc/profile 文件
vim /etc/profile
2.文件末尾添加
export PATH="/usr/local/nginx/sbin/:$PATH"
3.source /etc/profile
编辑文本
vi test.txt 回车,按a或i进入编辑模式,输入 I am a boy,
esc键退出编辑模式,输入:wq保存并退出