Linux命令大全
添加用户 useradd 用户名
在添加用户时指定主组 useradd -g 组名 用户名
给用户设置密码 passwd 用户名
修改用户名, 前提 原来的用户名已经退出
usermod -l 新的用户名 原来的用户名
删除用户, 用户的家目录不会被删除
userdel 用户名
-r 选项会同时删除用户的家目录
userdel -r 用户名
新建组groupadd 组名
修改组名 groupmod -n 新组名 原组名
查看用户所属的全部组 groups 用户名
删除组 groupdel 组名
把指定的用户添加到组中 gpasswd -a 用户名 组名
显示当前时间 date
显示字符串中的时间
date -d “时间字符串”
date -d “2020-11-15 12:12:12”
将字符串中的时间设置给系统
date -s “2020-11-14 15:11:50”
显示当前的登录用户 logname
切换用户 su 用户名
以某个用户身份执行命令
su -c 命令 用户
su -c “ls -l” root
查看用户的信息或者组信息
id 用户名
uid=1008(user1) gid=1009(user1) 组=1009(user1),1008(kaifazu)
uid: 用户名id
gid: 用户的主组id
组: 用户所属的所有组的id, 中间用逗号隔开
提升权限, 默认是 root 用户执行命令, 需要输入当前用户的密码
sudo 命令
sudo -u 用户 命令
sudo useradd 用户名
sudo userdel -r 用户名
实时显示进程信息, 需要按 q 键退出
top
PID: 进程的ID号
USER: 进程的启动用户
PR: 优先级
NI: 优先级, 值越小, 优先级越高
S: 进程的状态
%CPU: 进程占用的CPU
%MEM: 进程占用的内存
COMMAND: 进程的启动命令
显示完整的启动命令
top -c
实时显示指定进程的的信息
top -p PID
查看所有的进程信息(详细)ps -ef
查看指定用户的进程信息ps -u 用户名
杀死指定的进程kill PID
强制杀死kill -9 PID
杀死指定用户的全部进程killall -u 用户名
先把指定用户名的进程查出来, 再全部杀死
kill -9 $(ps -ef | grep 用户名)
默认延迟一分钟关机, 可以通过 shutdown -c 取消
shutdown
立马关机
shutdown -h now
自定义延迟时间关机
shutdown +1 “警告信息”
自定义延迟时间重启
shutdown -r +1 “警告信息”
重启 reboot
显示当前有哪些用户登录系统 who
显示标题信息 who -H
显示的信息比 logname 更全面
查看当前时间信息 timedatectl status
查看时区, q 退出 timedatectl list-timezones
设置时区
timedatectl set-timezone “Asia/Shanghai”
开启时间服务器同步, 需要联网, ntp: 网络时间服务, 可以用互联网上的 ntp 服务, 也可以自己公司搭建 ntp 服务
timedatectl set-ntp true
关闭时间同步 timedatectl set-ntp false
清屏 clear
ls
-a 显示隐藏文件, 以. 开头的文件名
-l 显示详细信息,
第一列: 文件的权限 第一位 -: 普通文件 d: 文件夹, 目录
第三列: 文件的属主(所属用户)
第四列: 文件的数组(所属的组)
第五列: 文件的大小, 默认是 Bytes
六-八: 文件的左后依次访问时间
最后: 文件名
-h 转换文件大小, 以 KB MB 的形式查看
选项可以合写
ls -a -l
ls -al
ls -alh
查看当前所在的目录 pwd
切换目录
cd 相对路径 | 绝对路径, 以 / 开头的路径
切换到当前用户的家目录 cd
切换到上一级目录 cd …/
切换到上一次所在的目录 cd -
创建文件夹, 只能创建一级 mkdir 文件夹
创建文件夹, 只能创建多级 mkdir -p 文件夹/文件夹
删除空的文件夹 rmdir 文件夹
删除多级空的文件夹, 要求每一级文件夹都是空的
rmdir -p 文件夹/文件夹
删除文件 rm 文件名
删除文件夹, 非空文件夹也可以删除, 非空文件夹删除时会询问
rm -r 文件夹
强制删除文件夹, 不会询问 rm -rf 文件夹
以下命令禁用 rm -rf /
命令 -h
命令 --help
拷贝文件到指定的文件夹
cp 文件的相对路径 文件夹的路径
拷贝目录中所有的文件(包括目录) 到指定的文件夹
cp -r 文件夹/* 目标文件夹
改名 mv 文件名 文件名
移动 mv 文件名 目录
如果目标目录不存在改名, 如果存在就是移动
mv 源目录 目标目录
ls -l 输出的第一列
共 10 位
1. 文件类型, d: 文件夹 -: 普通文件 l: 链接文件
2. 2-4位: 属主的权限 第一位是读权限 r -: 没有读权限 0 和 1
第二位是写权限 w -: 没有写权限
第三位是执行权限 x -: 没有执行权限;
3. 5-7位: 数组的权限
4. 8-10位: 其他用户的权限
读写执行的三位可以用 0, 1 表示
rwxr-xr-x
111101101 == 755
chgrp 组名 文件或者文件夹
chown 用户名 文件名或者目录名
chown -R 用户名:组名 文件名或者目录名
chmod -R 数字权限(3位0-7) 文件或者目录名
方式一: 数字
0 000
1 001 只能执行
2 010 只能写
3 011 只能写和执行
4 100 只能读
5 101 读和执行
6 110 读和写
7 111 读, 写, 执行
方式二:符号
u: 属主
g: 属组
o: 其他用户
a: 全部
通过符号 +(增加权限 rwx) , -(减少权限 rwx), =(设置权限)
chmod -R a+x 目录名或者文件名
chmod -R g=rx 目录名或者文件名
touch 文件名 如果文件不存在就创建, 如果存在就修改其时间属性
批量创建 touch a{1…10}.txt
查看文件的详细信息 stat 文件名
三种模式:
命令模式
编辑模式
末行模式
命令模式 i,a,o 切换到编辑模式 ESC 退出返回 命令模式
命令模式 : 切换到末行模式 ESC ESC 退出返回命令模式
末行模式退出文件:
- q 直接退出
- q! 强制退出不保存
- wq 退出保存
- wq! 强制退出保存
命令模式的快捷方式:
yy 复制一行
nyy 复制n行, n 是具体的数字
p 粘贴复制的内容在光标的下一行
P 粘贴数值的内容在光标的上一行
dd 删除一行
ndd 删除n行, n 是具体的数字
u 撤销
d$ 从光标处删到行尾
dw 删除一个词
ndw 删除 n 个词, n 是具体的数字
末行模式:
😒 直接定位在最后一行
:n 直接定位在第 n 行, n 也是具体的数字
vim 文件名 +行号(具体的数字)
#打印出这个文件中的所有内容, 如果文件内容过多, 屏幕会装不下
cat 文件名
cat -n 文件 可以显示行号
默认显示最后十行
tail 文件名
指定行数
tail -行数 文件名
动态展示文件内容, 同时也会展示最后10行, 重点
tail -f 文件名
动态展示文件内容, 并输出最后100行, 重点
tail -100f 文件名
默认展示文件前10行
head 文件
less 文件名, 文件内容过多, 会分屏显示
空格 向下翻页
B 向上翻页
/关键字 查找 n 向下找 N 向上找
less -N 文件名
使用关键字过滤文件
grep [选项] 关键字字符串 文件名
grep -n 烟花 a.txt
-i 不区分大小写
-v 关键字 把不包含关键字的行找出来
-c 输出匹配的行数
| 管道, 管道之前 命令的输出 作为 后面命令的输入
ps -ef | grep sshd
ps -ef | grep java
ps -ef | grep sshd | grep -v grep
ps -ef | grep -c sshd
输出字符串到终端 echo “字符串内容”
输入到文件, 此时会覆盖原有的内容
echo “字符串内容” > 文件名
输入到文件, 此时会追加在原有的内容的后面, 如果文件不存在, 会自动创建
echo “字符串内容” >> 文件名
linux系统下: 标准输入 0, 标准输出 1, 错误输出 2
cat c.txt 2>> b.txt 把错误信息写进 b.txt 中
cat c.txt &>> b.txt 把正确输出和错误输出都写进 b.txt 中
cat c.txt >> b.txt 把正确输出写进 b.txt 中
ln -s 源文件路径 快捷方式的路径
find 要查找的目录 -name “文件名”
find 要查找的目录 -ctime -1
要查找的目录:
. 当前目录
/ 代表所有目录
gzip 文件名, 如果文件名的后缀已经是 .gz 不会重复压缩
压缩当前目录中的所有文件 gzip *
解压, 显示详细信息 gzip -dv 压缩文件名
解压命令
gunzip *
gunzip 压缩文件名
tar
-c 创建一个新的包
-v 显示详细信息
-f 文件名 打包文件名
-z 指定 gzip 命令进行压缩
-t 查看压缩包中的内容, 不解压
-x 解压压缩包
tar -cvf a.tar 要打包的文件名或者目录
tar -czvf bbb.tar.gz 要打包压缩的文件名或者目录,压缩后的文件大小会变小
查看压缩包中的文件
tar -ztvf 压缩包文件名
tar -tf 压缩包文件名
解压 tat -zxvf 压缩包文件名
将目录或者文件进行压缩, 在压缩目录是 -r 必须加
zip -q -r 压缩文件名 要压缩的文件或目录
查看压缩包中的内容
unzip -l 压缩文件名
解压到指定文件夹
unzip -d 指定文件夹 要解压的文件
查看激活状态的网卡信息 ifconfig
查看所有网卡信息 ifconfig -a
禁用网卡 ifconfig 网卡名称 down
启用网卡 ifconfig 网卡名称 up
给网卡配置ip地址 ifconfig 网卡名称 ip地址
给网卡配置ip地址和子网掩码
ifconfig 网卡名称 ip地址 netmask 255.255.255.0
子网掩码:
ip 地址由四个段组成, 每个段是 0-255 , 用二进制表示 00000000 - 11111111
每个教室就是一个小的局域网, 都在一个网段中, 固定前面的某几位, 后面的几位随意变化
当前教室的局域网都是 192.168.17. 开头, 前三段固定(24位), 后一段不固定(8位), 掩码就是
11111111.11111111.11111111.00000000
255.255.255.0
ping ip或者域名
ping -c 次数 ip或者域名
查看所有的链接情况 netstat -a
查看所有的网卡信息 netstat -i
netstat
-n 以数字显示
-t tcp协议
-l 监听状态, 主要是服务端
-p 输出PID信息
查看 java 服务的监听状态
netstat -tnlp | grep java
netstat -tnlp | grep redis
netstat -tnlp | grep mysql
需要联网, 并且以 root 用户执行
yum install -y 软件包的名称
卸载
yum remove -y 软件包的名称
- 安装下载工具wget
yum install -y wget - 备份原来的yum源文件
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak - 下载阿里云的Centos-7.repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo - 清理之前的缓存,并重新加载yum
yum clean all - 建立一个缓存文件
yum makecache - 查找软件,验证阿里云的yum源是否可以正常使用
yum search tomcat