title: Linux 常用命令
date: 2018-07-01 16:01:33
categories:

  • Linux
  • Linux
    tags: [linux,linux]

  1. whereis java
  2. which java
  3. #看看对应软链接
  4. ls -lrt /usr/bin/java
  5. #看看对应软链接
  6. ls -lrt /etc/alternatives/java

二. 进程查看

#进程
ps -ef|grep java
#内存占用(进程id)(按E切换内存单位)
top -p 8080
#结束进程(进程id)
kill -9 8080

三. 硬件信息

#linux 内核版本
uname -a
cat /proc/version
#系统发行版本
lsb_release -a
cat /etc/os-release
cat /etc/issue
#cpu
lscpu
#内存
free -h
#磁盘空间
df -h
#文件夹大小
du -h --max-depth=1 your_path

四. 用户管理

用户信息存放文件

# 使用cat命令查看
用户名和 UID 被保存在/etc/passwd文件中,文件权限 (-rw-r--r--)
组和GID 被保存在 /etc/group文件中,文件权限(-r--------)
用户口令(密码)被保存在 /etc/shadow文件中 ,文件权限(-rw-r--r-- )
组口令被保存在 /etc/gshadow文件中 ,文件权限 (-r--------)

用户相关的命令

who i am    #显示当前用户的名称
w/who        #显示登录用户及相关信息
id            #显示用户当前的uid、gid和用户所属的组列表
groups        #显示指定用户所属的组列表

用户管理

#新增用户
useradd -m -d /home/ftpuser ftpuser
passwd ftpuser    #为ftpuser设置密码

#新增参数说明
useradd -m -d /home/ftpUser -s /sbin/nologin -g users -G root ftpUser
useradd 选项 用户名
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell(/bin/sh)。

usermod -g root ftpuser    #设置为root用户组
userdel ftpuser            #删除用户

用户组管理

groupadd 用户组    #新建
groupmod 用户组    #修改
groupdel 用户组    #删除

口令管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,比如设置密码

passwd <用户账号名>        #设置用户口令
passwd -l <用户账号名>    #禁用用户账户口令
passwd -S <用户账号名>    #查看用户账户口令状态
passwd -u <用户账号名>    #恢复用户账户口令
passwd -d <用户账号名>    #清除用户账户口令

五. 权限管理

基础命令

#改变文件或目录的属主(所有者)(-R : 处理指定目录以及其子目录下的所有文件)
chown -R ftp1 /home/ftp1
chown -R ftp1:root /home/ftp1
chmod -R 777 /home/ftp1    #改变文件或目录的权限
chgrp                    #改变文件或目录所属的组
umask                    #设置文件的缺省生成掩码

赋予新建用户root权限

方法1:

#修改/etc/sudoers文件,放开注释
%wheel ALL=(ALL) NOPASSWD: ALL
#将用户加入root组
usermod -g root test

方法2:

#修改/etc/sudoers文件,root ALL=(ALL) ALL 下面加一行
test ALL=(ALL) ALL

方法3(靠谱):

#修改/etc/passwd文件,找到test用户那一行,并把用户ID修改为0(用户ID为x后面的那个数字)
test:x:1002:100::/home/test:/bin/bash (1002 改成0)

以上方法都需要重新登录test才行。

六 中文文件乱码

修改当前用户

#vim ~user/.profile
#放开注释
export LANG=es_ES.UTF-8
#或则如下
export LANG=zh_CN.UTF-8

linux 文件乱码

#转换文件编码
convmv -f gbk -t utf-8 -r --notest /home/file.zip

七 定时任务

Linux Crontab

格式:[分] [时] [日] [月] [周] [要运行的命令]
1 * * * * /usr/run.sh    #每分钟执行一次

SpringBoot Scheduled

[秒] [分] [时] [日] [月] [周] [年]
注:[年]不是必须的域,可以省略[年]
1 * * * * *        #每秒执行一次
0/10 * * * * *    #每10秒执行一次
1 * * * * * *    #每秒执行一次

九 全局代理

八 全局代理

  • http临时代理
    export http_proxy=http://127.0.0.1:1087
    export https_proxy=http://127.0.0.1:1087
    
  • sock临时代理
    export http_proxy=socks5://127.0.0.1:1080
    export https_proxy=socks5://127.0.0.1:1080
    

九 解压缩

  1. tar
    • 解压
      # 解压
      tar zxvf temp.tar.gz
      # 解压到指定路径
      tar zxvf temp.tar.gz -C test
      
  • 压缩 ```

    压缩1 (压缩包会包含/root/redis/temp 3层路径)

    tar zcvf temp.tar.gz /root/redis/temp

压缩2 (不要多余路径)

cd /root/redis/temp tar zcvf temp.tar.gz *

压缩2 (不要多余路径,注意最后有个点)

tar zcvf temp.tar.gz -C /root/redis/temp .



2.  zip 
   -  解压

解压

unzip temp.zip

解压到指定路径

unzip temp.zip -d test



   -  压缩

压缩



<a name="40b12cf5"></a>
## 十 软连接(快捷方式)

-  创建 
```shell
#ln  -s  [源文件或目录]  [目标文件或目录]

#创建/var/test 引向/var/www/test 文件夹 
ln –s  /var/www/test   /var/test
  • 删除
    千万不能后面加/, 否则删除时真实的链接文件!!!
    #和删除普通文件一样
    rm -rf test
    #错误删除(会删除链接的真实数据)
    rm -rf test/
    

十一 同步时间

#直接运行
data -s "20220202 22:22:22"

ntpdate命令:
    ntpdate -u 210.72.145.44 :网络时间同步命令

ntp常用服务器:
    中国国家授时中心:210.72.145.44
    NTP服务器(上海) :ntp.api.bz
    美国:time.nist.gov 
    复旦:ntp.fudan.edu.cn 
    微软公司授时主机(美国) :time.windows.com 
    台警大授时中心(台湾):asia.pool.ntp.org