linux常用命令及操作

时间:2022-12-09 22:07:56

1 JAVA安装和卸载

默认的java安装和卸载(一般全局文件中找不到java安装目录)

apt-get install default-jdk
apt-get autoremove default-jdk

查看版本信息:

Java -version

#如果不能卸载干净,jdk彻底卸载:
apt-get update
apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|Oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
(3) apt-get -y autoremove
# 2、清除配置信息:
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
#3、清除java配置及缓存:
bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
#4、手动清除JVMs: rm -rf /usr/lib/jvm/*

查找java安装路径

which java是定位不到安装路径的。which java(同whereis java)定位到的是java程序的执行路径,但是通过执行路径可以找到安装目录

[root@localhost ~]# which java
/usr/bin/java

[root@localhost ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Aug 17 15:12 /usr/bin/java -> /etc/alternatives/java

[root@localhost ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Aug 17 15:12 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

2 环境变量

Linux变量可分为两类:
1. 永久的:需要修改配置文件(vim ~/.bashrc),变量永久生效。
2. 临时的:使用export命令行声明即可,变量在关闭shell时失效。(直接命令行使用export JAVA_HOME=…)
三个全局变量文件:
/etc/profile
.bash_profile
.bashrc

.bashrc文件主要保存个人的一些个性化设置,如命令别名、路径等。每次修改.bashrc后,使用source ~/.bashrc使修改生效。例如:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
export PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib
#或者另一种格式export PATH="/root/anaconda2/bin:$PATH"

自定义环境变量 工作原理:
.bash_profile文件显式调用.bashrc,登陆linux启动bash时首先会 去读取~/.bash_profile文件,~/.bashrc也就得到执行了。

环境变量其他操作实例

#命令echo显示环境变量
echo $HOME
#使用env命令显示所有的环境变量
env

3 将文件或者目录从一个Linux系统拷贝到另一个Linux系统下

scp用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。其格式如下:

#将远程Linux系统上的某个文件或者目录拷贝到本地Linux系统上来
#scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径
scp /home/ixdba/etc.tar.gz root@192.168.60.168:/tmp
#将本地的某个文件或者目录拷贝到远程Linux系统的某个路径下。
#scp 本地Linux系统文件路径 远程用户名@IP地址:远程系统文件绝对路径名
scp root@192.168.60.133:/home/ixdba/etc.tar.gz /tmp

固定端口的scp两个linux传文件使用,默认远程机器端口为22,此处远程root端口为28488

scp -P 28488 /home/ixdba/etc.tar.gz root@192.168.60.168:/tmp

4 增加普通用户并修改权限

#增加用户组
groupadd es
#增加用户并添加到用户组es
useradd es -g es -p es
#给用户设置密码
passwd es
#chown赋予用户及用户组操作某目录的权限
chown -R es:es elasticsearch-5.3.0
#或增加权限给所有的组 增加权限给当前用户
#chmod +wx filename
#chmod -R 777 /upload

#从root登录到用户es
su es

普通用户加root权限方法:

方法一: 将普通用户es加入root组

usermod -g root es
#或以用户es为例,要加-o选项,不然提示已存在
usermod -u 0 -o es

方法二
1 直接修改passwd文件 ,将普通用户的uid改成0

es:x:500:500:es:/home/tommy:/bin/bash
#修改后如下
es:x:0:500:es:/home/tommy:/bin/bash

添加sudo root权限

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

# Allow root to run any commands anywhere
root ALL=(ALL) ALL
es ALL=(ALL) ALL

修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。

Note:
查看文件权限的语句:
ls -ll
-rw-rw-r–
  一共有10位数
  其中: 最前面那个 - 代表的是类型
  中间那三个 rw- 代表的是所有者(user)
  然后那三个 rw- 代表的是组群(group)
  最后那三个 r– 代表的是其他人(other)
 
  -rw-rw-rw- (666) 每个人都有读写的权限
  -rwxrwxrwx (777) 每个人都有读写和执行的权限

5 终止当前程序的指令

#查看启动的进程
ps -ef |grep java
kill 进程号
#-9为强制执行
kill -9 进程号

相关指令

#终止当前执行程序
Ctrl+c
Ctrl+d

6 Linux 删除文件夹和文件的命令

# 删除文件
rm filename
#删除文件夹
# -r 就是向下递归,不管有多少级目录,一并删除
# -f 就是直接强行删除,不作任何提示的意思
rm -rf filename

切换用户

命令格式:su [参数] [-] [用户名]

#切换到zhidao用户
su zhidao
#切换到root用户
su -l root
#或者直接使用exit,直接使用 su转换到root时,实际上只是 roo-zt 权限,并非登录root账户。

解压命令

#tar可解压 .tar.gz和tgz格式文件
tar -zxvf 文件名
#解压zip文件到当前目录
unzip filename.zip
#仅打包,不压缩 
tar -cvf /usr/local/auto_bak/test.tar /usr/local/test
#打包后,以gzip压缩
tar -zcvf /usr/local/auto_bak/test.tar.gz /usr/local/test